tinybase 5.1.0-beta.0 → 5.1.0-beta.1

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 (883) hide show
  1. package/@types/persisters/index.d.cts +3 -1
  2. package/@types/persisters/index.d.ts +3 -1
  3. package/@types/persisters/with-schemas/index.d.cts +3 -1
  4. package/@types/persisters/with-schemas/index.d.ts +3 -1
  5. package/@types/synchronizers/index.d.cts +39 -23
  6. package/@types/synchronizers/index.d.ts +39 -23
  7. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +12 -1
  8. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +12 -1
  9. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +14 -1
  10. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +14 -1
  11. package/@types/synchronizers/synchronizer-local/index.d.cts +12 -3
  12. package/@types/synchronizers/synchronizer-local/index.d.ts +12 -3
  13. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +14 -3
  14. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +14 -3
  15. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +13 -1
  16. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +13 -1
  17. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +15 -1
  18. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +15 -1
  19. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +157 -29
  20. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +157 -29
  21. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +178 -29
  22. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +178 -29
  23. package/@types/synchronizers/with-schemas/index.d.cts +41 -23
  24. package/@types/synchronizers/with-schemas/index.d.ts +41 -23
  25. package/@types/ui-react/index.d.cts +62 -45
  26. package/@types/ui-react/index.d.ts +62 -45
  27. package/@types/ui-react/with-schemas/index.d.cts +83 -59
  28. package/@types/ui-react/with-schemas/index.d.ts +83 -59
  29. package/cjs/es6/index.cjs +101 -86
  30. package/cjs/es6/min/index.cjs +1 -1
  31. package/cjs/es6/min/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  93. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  94. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  95. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  96. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  97. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  98. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  99. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  100. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  101. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  102. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  103. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  104. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  105. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  106. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  107. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  108. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  109. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/ui-react/index.cjs +1 -1
  113. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  114. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  117. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  118. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/persisters/index.cjs +30 -21
  123. package/cjs/es6/persisters/persister-automerge/index.cjs +29 -24
  124. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +29 -24
  125. package/cjs/es6/persisters/persister-browser/index.cjs +35 -30
  126. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +35 -30
  127. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +29 -24
  128. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +29 -24
  129. package/cjs/es6/persisters/persister-electric-sql/index.cjs +29 -24
  130. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +29 -24
  131. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +29 -24
  132. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +29 -24
  133. package/cjs/es6/persisters/persister-file/index.cjs +41 -31
  134. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +41 -31
  135. package/cjs/es6/persisters/persister-indexed-db/index.cjs +29 -24
  136. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +29 -24
  137. package/cjs/es6/persisters/persister-libsql/index.cjs +286 -281
  138. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +286 -281
  139. package/cjs/es6/persisters/persister-partykit-client/index.cjs +29 -24
  140. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +29 -24
  141. package/cjs/es6/persisters/persister-powersync/index.cjs +29 -24
  142. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +29 -24
  143. package/cjs/es6/persisters/persister-remote/index.cjs +35 -30
  144. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +35 -30
  145. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +29 -24
  146. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +29 -24
  147. package/cjs/es6/persisters/persister-sqlite3/index.cjs +29 -24
  148. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +29 -24
  149. package/cjs/es6/persisters/persister-yjs/index.cjs +29 -24
  150. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +29 -24
  151. package/cjs/es6/persisters/with-schemas/index.cjs +30 -21
  152. package/cjs/es6/synchronizers/index.cjs +113 -102
  153. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +109 -104
  154. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +109 -104
  155. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +108 -105
  156. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +108 -105
  157. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +130 -119
  158. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +130 -119
  159. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +691 -37
  160. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +691 -37
  161. package/cjs/es6/synchronizers/with-schemas/index.cjs +113 -102
  162. package/cjs/es6/ui-react/index.cjs +14 -34
  163. package/cjs/es6/ui-react/with-schemas/index.cjs +14 -34
  164. package/cjs/es6/ui-react-inspector/index.cjs +26 -24
  165. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +26 -24
  166. package/cjs/es6/with-schemas/index.cjs +101 -86
  167. package/cjs/index.cjs +105 -91
  168. package/cjs/indexes/index.cjs +1 -1
  169. package/cjs/indexes/with-schemas/index.cjs +1 -1
  170. package/cjs/metrics/index.cjs +3 -3
  171. package/cjs/metrics/with-schemas/index.cjs +3 -3
  172. package/cjs/min/index.cjs +1 -1
  173. package/cjs/min/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/index.cjs +1 -1
  175. package/cjs/min/persisters/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  177. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  233. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/synchronizers/index.cjs +1 -1
  235. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  236. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  237. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  238. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  239. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  241. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  242. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  243. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  245. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  246. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  247. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  249. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  250. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  251. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  253. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  254. package/cjs/min/ui-react/index.cjs +1 -1
  255. package/cjs/min/ui-react/index.cjs.gz +0 -0
  256. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  257. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  259. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  260. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  261. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/with-schemas/index.cjs +1 -1
  263. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/persisters/index.cjs +28 -19
  265. package/cjs/persisters/persister-automerge/index.cjs +27 -22
  266. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +27 -22
  267. package/cjs/persisters/persister-browser/index.cjs +33 -28
  268. package/cjs/persisters/persister-browser/with-schemas/index.cjs +33 -28
  269. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +28 -23
  270. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +28 -23
  271. package/cjs/persisters/persister-electric-sql/index.cjs +28 -23
  272. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +28 -23
  273. package/cjs/persisters/persister-expo-sqlite/index.cjs +28 -23
  274. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +28 -23
  275. package/cjs/persisters/persister-file/index.cjs +39 -29
  276. package/cjs/persisters/persister-file/with-schemas/index.cjs +39 -29
  277. package/cjs/persisters/persister-indexed-db/index.cjs +27 -22
  278. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +27 -22
  279. package/cjs/persisters/persister-libsql/index.cjs +194 -189
  280. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
  281. package/cjs/persisters/persister-partykit-client/index.cjs +27 -22
  282. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +27 -22
  283. package/cjs/persisters/persister-powersync/index.cjs +28 -23
  284. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +28 -23
  285. package/cjs/persisters/persister-remote/index.cjs +33 -28
  286. package/cjs/persisters/persister-remote/with-schemas/index.cjs +33 -28
  287. package/cjs/persisters/persister-sqlite-wasm/index.cjs +28 -23
  288. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +28 -23
  289. package/cjs/persisters/persister-sqlite3/index.cjs +28 -23
  290. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +28 -23
  291. package/cjs/persisters/persister-yjs/index.cjs +29 -24
  292. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +29 -24
  293. package/cjs/persisters/with-schemas/index.cjs +28 -19
  294. package/cjs/queries/index.cjs +2 -2
  295. package/cjs/queries/with-schemas/index.cjs +2 -2
  296. package/cjs/relationships/index.cjs +1 -1
  297. package/cjs/relationships/with-schemas/index.cjs +1 -1
  298. package/cjs/synchronizers/index.cjs +105 -95
  299. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +101 -97
  300. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +101 -97
  301. package/cjs/synchronizers/synchronizer-local/index.cjs +100 -98
  302. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +100 -98
  303. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +119 -112
  304. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +119 -112
  305. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +524 -24
  306. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +524 -24
  307. package/cjs/synchronizers/with-schemas/index.cjs +105 -95
  308. package/cjs/ui-react/index.cjs +12 -12
  309. package/cjs/ui-react/with-schemas/index.cjs +12 -12
  310. package/cjs/ui-react-inspector/index.cjs +24 -22
  311. package/cjs/ui-react-inspector/with-schemas/index.cjs +24 -22
  312. package/cjs/with-schemas/index.cjs +105 -91
  313. package/es6/index.js +101 -86
  314. package/es6/min/index.js +1 -1
  315. package/es6/min/index.js.gz +0 -0
  316. package/es6/min/persisters/index.js +1 -1
  317. package/es6/min/persisters/index.js.gz +0 -0
  318. package/es6/min/persisters/persister-automerge/index.js +1 -1
  319. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  320. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  321. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  322. package/es6/min/persisters/persister-browser/index.js +1 -1
  323. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  324. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  325. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  326. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  327. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  328. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  329. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  330. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  331. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  332. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  333. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  334. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  335. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  337. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-file/index.js +1 -1
  339. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  341. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  343. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  345. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-libsql/index.js +1 -1
  347. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  349. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  351. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-powersync/index.js +1 -1
  355. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  357. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-remote/index.js +1 -1
  359. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  361. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  363. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  365. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  367. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  369. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-yjs/index.js +1 -1
  371. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  373. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  374. package/es6/min/persisters/with-schemas/index.js +1 -1
  375. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  376. package/es6/min/synchronizers/index.js +1 -1
  377. package/es6/min/synchronizers/index.js.gz +0 -0
  378. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  379. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  380. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  381. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  382. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  383. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  384. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  385. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  386. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  387. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  388. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  389. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  390. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  391. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  392. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  393. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  394. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  395. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  396. package/es6/min/ui-react/index.js +1 -1
  397. package/es6/min/ui-react/index.js.gz +0 -0
  398. package/es6/min/ui-react/with-schemas/index.js +1 -1
  399. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  400. package/es6/min/ui-react-inspector/index.js +1 -1
  401. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  402. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  403. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  404. package/es6/min/with-schemas/index.js +1 -1
  405. package/es6/min/with-schemas/index.js.gz +0 -0
  406. package/es6/persisters/index.js +30 -21
  407. package/es6/persisters/persister-automerge/index.js +29 -24
  408. package/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
  409. package/es6/persisters/persister-browser/index.js +35 -30
  410. package/es6/persisters/persister-browser/with-schemas/index.js +35 -30
  411. package/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
  412. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
  413. package/es6/persisters/persister-electric-sql/index.js +29 -24
  414. package/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
  415. package/es6/persisters/persister-expo-sqlite/index.js +29 -24
  416. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
  417. package/es6/persisters/persister-file/index.js +42 -31
  418. package/es6/persisters/persister-file/with-schemas/index.js +42 -31
  419. package/es6/persisters/persister-indexed-db/index.js +29 -24
  420. package/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
  421. package/es6/persisters/persister-libsql/index.js +286 -281
  422. package/es6/persisters/persister-libsql/with-schemas/index.js +286 -281
  423. package/es6/persisters/persister-partykit-client/index.js +29 -24
  424. package/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
  425. package/es6/persisters/persister-powersync/index.js +29 -24
  426. package/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
  427. package/es6/persisters/persister-remote/index.js +35 -30
  428. package/es6/persisters/persister-remote/with-schemas/index.js +35 -30
  429. package/es6/persisters/persister-sqlite-wasm/index.js +29 -24
  430. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
  431. package/es6/persisters/persister-sqlite3/index.js +29 -24
  432. package/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
  433. package/es6/persisters/persister-yjs/index.js +29 -24
  434. package/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
  435. package/es6/persisters/with-schemas/index.js +30 -21
  436. package/es6/synchronizers/index.js +113 -102
  437. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +109 -104
  438. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +109 -104
  439. package/es6/synchronizers/synchronizer-local/index.js +108 -105
  440. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +108 -105
  441. package/es6/synchronizers/synchronizer-ws-client/index.js +130 -119
  442. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +130 -119
  443. package/es6/synchronizers/synchronizer-ws-server/index.js +691 -37
  444. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +691 -37
  445. package/es6/synchronizers/with-schemas/index.js +113 -102
  446. package/es6/ui-react/index.js +14 -34
  447. package/es6/ui-react/with-schemas/index.js +14 -34
  448. package/es6/ui-react-inspector/index.js +26 -24
  449. package/es6/ui-react-inspector/with-schemas/index.js +26 -24
  450. package/es6/with-schemas/index.js +101 -86
  451. package/index.js +105 -91
  452. package/indexes/index.js +1 -1
  453. package/indexes/with-schemas/index.js +1 -1
  454. package/metrics/index.js +3 -3
  455. package/metrics/with-schemas/index.js +3 -3
  456. package/min/index.js +1 -1
  457. package/min/index.js.gz +0 -0
  458. package/min/persisters/index.js +1 -1
  459. package/min/persisters/index.js.gz +0 -0
  460. package/min/persisters/persister-automerge/index.js +1 -1
  461. package/min/persisters/persister-automerge/index.js.gz +0 -0
  462. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  463. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  464. package/min/persisters/persister-browser/index.js +1 -1
  465. package/min/persisters/persister-browser/index.js.gz +0 -0
  466. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  467. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  468. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  469. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  470. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  471. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  472. package/min/persisters/persister-electric-sql/index.js +1 -1
  473. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  474. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  475. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  476. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  477. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  478. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  479. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  480. package/min/persisters/persister-file/index.js +1 -1
  481. package/min/persisters/persister-file/index.js.gz +0 -0
  482. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  483. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  484. package/min/persisters/persister-indexed-db/index.js +1 -1
  485. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  486. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  487. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  488. package/min/persisters/persister-libsql/index.js +1 -1
  489. package/min/persisters/persister-libsql/index.js.gz +0 -0
  490. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  491. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  492. package/min/persisters/persister-partykit-client/index.js +1 -1
  493. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  494. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  495. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  496. package/min/persisters/persister-powersync/index.js +1 -1
  497. package/min/persisters/persister-powersync/index.js.gz +0 -0
  498. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  499. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/persister-remote/index.js +1 -1
  501. package/min/persisters/persister-remote/index.js.gz +0 -0
  502. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  503. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  504. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  505. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  506. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  507. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  508. package/min/persisters/persister-sqlite3/index.js +1 -1
  509. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  510. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  511. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  512. package/min/persisters/persister-yjs/index.js +1 -1
  513. package/min/persisters/persister-yjs/index.js.gz +0 -0
  514. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  515. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  516. package/min/persisters/with-schemas/index.js +1 -1
  517. package/min/persisters/with-schemas/index.js.gz +0 -0
  518. package/min/synchronizers/index.js +1 -1
  519. package/min/synchronizers/index.js.gz +0 -0
  520. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  521. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  522. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  523. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  524. package/min/synchronizers/synchronizer-local/index.js +1 -1
  525. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  526. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  527. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  528. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  529. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  530. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  531. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  532. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  533. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  534. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  535. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  536. package/min/synchronizers/with-schemas/index.js +1 -1
  537. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  538. package/min/ui-react/index.js +1 -1
  539. package/min/ui-react/index.js.gz +0 -0
  540. package/min/ui-react/with-schemas/index.js +1 -1
  541. package/min/ui-react/with-schemas/index.js.gz +0 -0
  542. package/min/ui-react-inspector/index.js +1 -1
  543. package/min/ui-react-inspector/index.js.gz +0 -0
  544. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  545. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  546. package/min/with-schemas/index.js +1 -1
  547. package/min/with-schemas/index.js.gz +0 -0
  548. package/package.json +4 -1
  549. package/persisters/index.js +28 -19
  550. package/persisters/persister-automerge/index.js +27 -22
  551. package/persisters/persister-automerge/with-schemas/index.js +27 -22
  552. package/persisters/persister-browser/index.js +33 -28
  553. package/persisters/persister-browser/with-schemas/index.js +33 -28
  554. package/persisters/persister-cr-sqlite-wasm/index.js +28 -23
  555. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
  556. package/persisters/persister-electric-sql/index.js +28 -23
  557. package/persisters/persister-electric-sql/with-schemas/index.js +28 -23
  558. package/persisters/persister-expo-sqlite/index.js +28 -23
  559. package/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
  560. package/persisters/persister-file/index.js +40 -29
  561. package/persisters/persister-file/with-schemas/index.js +40 -29
  562. package/persisters/persister-indexed-db/index.js +27 -22
  563. package/persisters/persister-indexed-db/with-schemas/index.js +27 -22
  564. package/persisters/persister-libsql/index.js +194 -189
  565. package/persisters/persister-libsql/with-schemas/index.js +194 -189
  566. package/persisters/persister-partykit-client/index.js +27 -22
  567. package/persisters/persister-partykit-client/with-schemas/index.js +27 -22
  568. package/persisters/persister-powersync/index.js +28 -23
  569. package/persisters/persister-powersync/with-schemas/index.js +28 -23
  570. package/persisters/persister-remote/index.js +33 -28
  571. package/persisters/persister-remote/with-schemas/index.js +33 -28
  572. package/persisters/persister-sqlite-wasm/index.js +28 -23
  573. package/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
  574. package/persisters/persister-sqlite3/index.js +28 -23
  575. package/persisters/persister-sqlite3/with-schemas/index.js +28 -23
  576. package/persisters/persister-yjs/index.js +29 -23
  577. package/persisters/persister-yjs/with-schemas/index.js +29 -23
  578. package/persisters/with-schemas/index.js +28 -19
  579. package/queries/index.js +2 -2
  580. package/queries/with-schemas/index.js +2 -2
  581. package/readme.md +14 -14
  582. package/relationships/index.js +1 -1
  583. package/relationships/with-schemas/index.js +1 -1
  584. package/releases.md +21 -21
  585. package/synchronizers/index.js +105 -95
  586. package/synchronizers/synchronizer-broadcast-channel/index.js +101 -97
  587. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +101 -97
  588. package/synchronizers/synchronizer-local/index.js +100 -98
  589. package/synchronizers/synchronizer-local/with-schemas/index.js +100 -98
  590. package/synchronizers/synchronizer-ws-client/index.js +119 -112
  591. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +119 -112
  592. package/synchronizers/synchronizer-ws-server/index.js +524 -24
  593. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +524 -24
  594. package/synchronizers/with-schemas/index.js +105 -95
  595. package/ui-react/index.js +12 -12
  596. package/ui-react/with-schemas/index.js +12 -12
  597. package/ui-react-inspector/index.js +24 -22
  598. package/ui-react-inspector/with-schemas/index.js +24 -22
  599. package/umd/es6/index.js +106 -91
  600. package/umd/es6/min/index.js +1 -1
  601. package/umd/es6/min/index.js.gz +0 -0
  602. package/umd/es6/min/persisters/index.js +1 -1
  603. package/umd/es6/min/persisters/index.js.gz +0 -0
  604. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  605. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  606. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  607. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  608. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  609. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  610. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  611. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  612. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  613. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  614. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  615. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  616. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  617. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  618. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  619. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  620. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  621. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  622. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  623. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  624. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  625. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  626. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  627. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  628. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  629. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  630. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  631. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  632. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  633. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  634. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  635. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  636. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  637. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  638. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  639. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  640. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  641. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  642. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  643. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  644. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  645. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  646. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  647. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  648. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  649. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  650. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  651. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  652. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  653. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  654. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  655. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  656. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  657. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  658. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  659. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  660. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  661. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  662. package/umd/es6/min/synchronizers/index.js +1 -1
  663. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  664. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  665. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  666. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  667. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  668. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  669. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  670. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  671. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  672. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  673. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  674. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  675. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  676. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  677. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  678. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  679. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  680. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  681. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  682. package/umd/es6/min/ui-react/index.js +1 -1
  683. package/umd/es6/min/ui-react/index.js.gz +0 -0
  684. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  685. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  686. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  687. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  688. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  689. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  690. package/umd/es6/min/with-schemas/index.js +1 -1
  691. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  692. package/umd/es6/persisters/index.js +30 -21
  693. package/umd/es6/persisters/persister-automerge/index.js +29 -24
  694. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
  695. package/umd/es6/persisters/persister-browser/index.js +37 -32
  696. package/umd/es6/persisters/persister-browser/with-schemas/index.js +37 -32
  697. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
  698. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
  699. package/umd/es6/persisters/persister-electric-sql/index.js +29 -24
  700. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
  701. package/umd/es6/persisters/persister-expo-sqlite/index.js +29 -24
  702. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
  703. package/umd/es6/persisters/persister-file/index.js +43 -33
  704. package/umd/es6/persisters/persister-file/with-schemas/index.js +43 -33
  705. package/umd/es6/persisters/persister-indexed-db/index.js +29 -24
  706. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
  707. package/umd/es6/persisters/persister-libsql/index.js +291 -286
  708. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +291 -286
  709. package/umd/es6/persisters/persister-partykit-client/index.js +29 -24
  710. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
  711. package/umd/es6/persisters/persister-powersync/index.js +29 -24
  712. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
  713. package/umd/es6/persisters/persister-remote/index.js +35 -30
  714. package/umd/es6/persisters/persister-remote/with-schemas/index.js +35 -30
  715. package/umd/es6/persisters/persister-sqlite-wasm/index.js +29 -24
  716. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
  717. package/umd/es6/persisters/persister-sqlite3/index.js +29 -24
  718. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
  719. package/umd/es6/persisters/persister-yjs/index.js +29 -24
  720. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
  721. package/umd/es6/persisters/with-schemas/index.js +30 -21
  722. package/umd/es6/synchronizers/index.js +118 -107
  723. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +114 -109
  724. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +114 -109
  725. package/umd/es6/synchronizers/synchronizer-local/index.js +118 -110
  726. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +118 -110
  727. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +135 -124
  728. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +135 -124
  729. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +710 -37
  730. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +710 -37
  731. package/umd/es6/synchronizers/with-schemas/index.js +118 -107
  732. package/umd/es6/ui-react/index.js +17 -34
  733. package/umd/es6/ui-react/with-schemas/index.js +17 -34
  734. package/umd/es6/ui-react-inspector/index.js +26 -24
  735. package/umd/es6/ui-react-inspector/with-schemas/index.js +26 -24
  736. package/umd/es6/with-schemas/index.js +106 -91
  737. package/umd/index.js +108 -94
  738. package/umd/indexes/index.js +1 -1
  739. package/umd/indexes/with-schemas/index.js +1 -1
  740. package/umd/metrics/index.js +3 -3
  741. package/umd/metrics/with-schemas/index.js +3 -3
  742. package/umd/min/index.js +1 -1
  743. package/umd/min/index.js.gz +0 -0
  744. package/umd/min/persisters/index.js +1 -1
  745. package/umd/min/persisters/index.js.gz +0 -0
  746. package/umd/min/persisters/persister-automerge/index.js +1 -1
  747. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  748. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  749. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  750. package/umd/min/persisters/persister-browser/index.js +1 -1
  751. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  752. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  753. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  754. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  755. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  756. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  757. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  758. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  759. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  760. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  761. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  762. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  763. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  764. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  765. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  766. package/umd/min/persisters/persister-file/index.js +1 -1
  767. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  768. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  769. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  770. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  771. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  772. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  773. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  774. package/umd/min/persisters/persister-libsql/index.js +1 -1
  775. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  776. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  777. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  778. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  779. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  780. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  781. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  782. package/umd/min/persisters/persister-powersync/index.js +1 -1
  783. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  784. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  785. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  786. package/umd/min/persisters/persister-remote/index.js +1 -1
  787. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  788. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  789. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  790. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  791. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  792. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  793. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  794. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  795. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  796. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  797. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  798. package/umd/min/persisters/persister-yjs/index.js +1 -1
  799. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  800. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  801. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  802. package/umd/min/persisters/with-schemas/index.js +1 -1
  803. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  804. package/umd/min/synchronizers/index.js +1 -1
  805. package/umd/min/synchronizers/index.js.gz +0 -0
  806. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  807. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  808. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  809. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  810. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  811. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  812. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  813. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  814. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  815. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  816. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  817. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  818. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  819. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  820. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  821. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  822. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  823. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  824. package/umd/min/ui-react/index.js +1 -1
  825. package/umd/min/ui-react/index.js.gz +0 -0
  826. package/umd/min/ui-react/with-schemas/index.js +1 -1
  827. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  828. package/umd/min/ui-react-inspector/index.js +1 -1
  829. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  830. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  831. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  832. package/umd/min/with-schemas/index.js +1 -1
  833. package/umd/min/with-schemas/index.js.gz +0 -0
  834. package/umd/persisters/index.js +28 -19
  835. package/umd/persisters/persister-automerge/index.js +27 -22
  836. package/umd/persisters/persister-automerge/with-schemas/index.js +27 -22
  837. package/umd/persisters/persister-browser/index.js +35 -30
  838. package/umd/persisters/persister-browser/with-schemas/index.js +35 -30
  839. package/umd/persisters/persister-cr-sqlite-wasm/index.js +28 -23
  840. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
  841. package/umd/persisters/persister-electric-sql/index.js +28 -23
  842. package/umd/persisters/persister-electric-sql/with-schemas/index.js +28 -23
  843. package/umd/persisters/persister-expo-sqlite/index.js +28 -23
  844. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
  845. package/umd/persisters/persister-file/index.js +41 -31
  846. package/umd/persisters/persister-file/with-schemas/index.js +41 -31
  847. package/umd/persisters/persister-indexed-db/index.js +27 -22
  848. package/umd/persisters/persister-indexed-db/with-schemas/index.js +27 -22
  849. package/umd/persisters/persister-libsql/index.js +196 -191
  850. package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
  851. package/umd/persisters/persister-partykit-client/index.js +27 -22
  852. package/umd/persisters/persister-partykit-client/with-schemas/index.js +27 -22
  853. package/umd/persisters/persister-powersync/index.js +28 -23
  854. package/umd/persisters/persister-powersync/with-schemas/index.js +28 -23
  855. package/umd/persisters/persister-remote/index.js +33 -28
  856. package/umd/persisters/persister-remote/with-schemas/index.js +33 -28
  857. package/umd/persisters/persister-sqlite-wasm/index.js +28 -23
  858. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
  859. package/umd/persisters/persister-sqlite3/index.js +28 -23
  860. package/umd/persisters/persister-sqlite3/with-schemas/index.js +28 -23
  861. package/umd/persisters/persister-yjs/index.js +29 -24
  862. package/umd/persisters/persister-yjs/with-schemas/index.js +29 -24
  863. package/umd/persisters/with-schemas/index.js +28 -19
  864. package/umd/queries/index.js +2 -2
  865. package/umd/queries/with-schemas/index.js +2 -2
  866. package/umd/relationships/index.js +1 -1
  867. package/umd/relationships/with-schemas/index.js +1 -1
  868. package/umd/synchronizers/index.js +108 -98
  869. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +104 -100
  870. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +104 -100
  871. package/umd/synchronizers/synchronizer-local/index.js +108 -101
  872. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +108 -101
  873. package/umd/synchronizers/synchronizer-ws-client/index.js +122 -115
  874. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +122 -115
  875. package/umd/synchronizers/synchronizer-ws-server/index.js +544 -36
  876. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +544 -36
  877. package/umd/synchronizers/with-schemas/index.js +108 -98
  878. package/umd/ui-react/index.js +13 -12
  879. package/umd/ui-react/with-schemas/index.js +13 -12
  880. package/umd/ui-react-inspector/index.js +24 -22
  881. package/umd/ui-react-inspector/with-schemas/index.js +24 -22
  882. package/umd/with-schemas/index.js +108 -94
  883. package/with-schemas/index.js +105 -91
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,n="",a=l(n),r=l(!0),o=l(0),i=l(l),d="type",u="default",c="Has",h="Ids",m="Table",g=m+"s",p=m+h,b="Row",I=b+"Count",f=b+h,y="Cell",w=y+h,C="Value",v=C+"s",k=C+h,S="currentTarget",T="value",x=e=>n+e,V=globalThis.window,R=Math,q=R.min,M=R.floor,N=isFinite,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),z=e=>e==a||e==r,O=e=>l(e)==i,$=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),A=e=>e.length,{PureComponent:F,Fragment:P,createElement:B,useCallback:D,useLayoutEffect:Q,useRef:j,useState:H}=t,W=(e,...t)=>L(e)?{}:e(...t),U=(e,t)=>e.sort(t),G=(e,t)=>e.forEach(t),K=(e,t)=>e.map(t),X=e=>0==A(e),Y=(e,...t)=>e.push(...t),Z=e=>e.shift(),_=Object,ee=e=>_.getPrototypeOf(e),te=_.entries,se=_.isFrozen,le=e=>!L(e)&&E(ee(e),(e=>e==_.prototype||L(ee(e))),(()=>!0)),ne=_.keys,ae=_.freeze,re=(e=[])=>_.fromEntries(e),oe=(e,t)=>t in e,ie=(e,t)=>(delete e[t],e),de=(e,t)=>K(te(e),(([e,s])=>t(s,e))),ue=e=>le(e)&&0==(e=>A(ne(e)))(e),ce=(e,t,s,l=0)=>L(e)||!le(e)||!l&&ue(e)||se(e)?(s?.(),!1):(de(e,((s,l)=>{t(s,l)||ie(e,l)})),!!l||!ue(e)),he=e=>JSON.stringify(e,((e,t)=>t instanceof Map?_.fromEntries([...t]):t)),me=JSON.parse,ge="tinybaseInspector",pe="TinyBase Inspector",be=["left","top","bottom","right","full"],Ie="state",fe="sort",ye="open",we="position",Ce=ye,ve="editable",ke=(...e)=>he(e),Se=(e,t)=>K(U(e),t),Te=(e,t)=>[!!s.useCell(Ie,e,ve,t),D((s=>{t.setCell(Ie,e,ve,(e=>!e)),s.preventDefault()}),[t,e])],xe="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Ve='content:url("',Re=Ve+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",qe='</svg>")',Me=Ve+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Ne=K([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Re+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+qe)),Le=Re+"<path d='M20 20l60 60M20 80l60-60' />"+qe,Ee=Re+`<path d='${xe}' />`+qe,ze=Re+`<path d='${xe}M20 20l60 60' />`+qe,Oe="*::-webkit-scrollbar",$e=((e,t="")=>e.join(t))(de({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Oe]:"width:0.5rem;height:0.5rem;",[Oe+"-track"]:"background:#111",[Oe+"-thumb"]:"background:#999;border:1px solid #111",[Oe+"-thumb:hover"]:"background:#fff",[Oe+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Me,...re(K(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...re(K(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Me,"header>img:nth-of-type(6)":Le,...re(K(Ne,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Ee,"details[open]>summary img.done":ze,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ge} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${ge} ${t}{${e}}`:""))),Je=({s:e})=>{const t=s.useValue(we,e)??1,l=s.useSetValueCallback(Ce,(()=>!0),[],e);return s.useValue(Ce,e)?null:B("img",{onClick:l,title:pe,"data-position":t})},Ae=({uniqueId:e,summary:t,editable:l,handleEditable:n,children:a,s:r})=>{const o=!!s.useCell(Ie,e,ye,r),i=s.useSetCellCallback(Ie,e,ye,(e=>e[S].open),[],r);return B("details",{open:o,onToggle:i},B("summary",null,t,n?B("img",{onClick:n,className:l?"done":"edit"}):null),a)},Fe=e=>{const t=l(e);return z(t)||t==o&&N(e)?t:void 0},Pe=(e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Be=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),De=(e,t,s,l)=>e==a?t:e==o?s:l,{useCallback:Qe,useMemo:je,useState:He}=t,We="editable",Ue=(e,t)=>K(s.useTableCellIds(e,t),(t=>e+"."+t)),Ge=(e,t,s)=>{const l=Qe(e,t);return s?l:void 0},Ke=(...e)=>je((()=>e),e),Xe=(e,t)=>je((()=>({store:e,tableId:t})),[e,t]),Ye=(e,t)=>je((()=>({queries:e,queryId:t})),[e,t]),Ze=(e,t=!1,s,l=0,n,a,r,o)=>{const[[i,d,u],c]=He([e,t,l]),h=Qe((e=>{c(e),o?.(e)}),[o]),m=Ge((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),g=Qe((e=>h([i,d,e])),[h,i,d]),p=!0===r?ct:r;return[[i,d,u],m,je((()=>!1===r?null:B(p,{offset:u,limit:n,total:a,onChange:g})),[r,p,u,n,a,g])]},_e=(e,t,s)=>je((()=>{const n=t??e;return r=$(n)?re(K(n,(e=>[e,e]))):n,o=(e,t)=>{return{label:t,component:s,...(n=e,l(n)==a?{label:e}:e)};var n},re(de(r,((e,t)=>[t,o(e,t)])));var r,o}),[t,s,e]),et=({className:e,headerRow:t,idColumn:s,params:[l,n,a,r,o,i]})=>B("table",{className:e},i?B("caption",null,i):null,!1===t?null:B("thead",null,B("tr",null,!1===s?null:B(tt,{sort:r??[],label:"Id",onClick:o}),de(l,(({label:e},t)=>B(tt,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),B("tbody",null,K(a,(e=>B("tr",{key:e},!1===s?null:B("th",null,e),de(l,(({component:t,getComponentProps:s},l)=>B("td",{key:l},B(t,{...W(s,e,l),...n,rowId:e,cellId:l}))))))))),tt=({cellId:e,sort:[t,s],label:l=e??n,onClick:a})=>B("th",{onClick:Ge((()=>a?.(e)),[a,e],a),className:L(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},L(s)||t!=e?null:(s?"↓":"↑")+" ",l),st=({localRowId:e,params:[l,n,a,r,o,i,d]})=>{const u=s.useRemoteRowId(o,e,i);return B("tr",null,!1===l?null:B(t.Fragment,null,B("th",null,e),B("th",null,u)),de(n,(({component:t,getComponentProps:s},l)=>{const[n,o]=l.split(".",2),i=n===a?e:n===r?u:null;return L(i)?null:B("td",{key:l},B(t,{...W(s,i,o),store:d,tableId:n,rowId:i,cellId:o}))})))},lt=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:n=!0})=>{const[i,d]=He(),[u,c]=He(),[h,m]=He(),[g,p]=He(),[b,I]=He();u!==e&&(d(Fe(e)),c(e),m(e+""),p(Number(e)||0),I(!!e));const f=Qe(((e,s)=>{s(e),c(e),t(e)}),[t]),y=Qe((()=>{if(!l?.()){const e=De(i,o,r,a),s=De(e,h,g,b);d(e),c(s),t(s)}}),[l,t,h,g,b,i]);return B("div",{className:s},n?B("button",{className:i,onClick:y},i):null,De(i,B("input",{key:i,value:h,onChange:Qe((e=>f(e[S][T]+"",m)),[f])}),B("input",{key:i,type:"number",value:g,onChange:Qe((e=>f(Number(e[S][T]||0),p)),[f])}),B("input",{key:i,type:"checkbox",checked:b,onChange:Qe((e=>f(!!e[S].checked,I)),[f])})))},nt=({tableId:e,cellId:t,descending:l,offset:n,limit:a,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,g,p]=Ze(t,l,i,n,a,s.useRowCount(e,r),d,u);return B(et,{...h,params:Ke(_e(s.useTableCellIds(e,r),c,o?dt:s.CellView),Xe(r,e),s.useSortedRowIds(e,...m,a,r),m,g,p)})},at=({store:e,editable:t=!1,valueComponent:l=(t?ut:s.ValueView),getValueComponentProps:n,className:a,headerRow:r,idColumn:o})=>B("table",{className:a},!1===r?null:B("thead",null,B("tr",null,!1===o?null:B("th",null,"Id"),B("th",null,C))),B("tbody",null,K(s.useValueIds(e),(t=>B("tr",{key:t},!1===o?null:B("th",null,t),B("td",null,B(l,{...W(n,t),valueId:t,store:e}))))))),rt=({indexId:e,sliceId:t,indexes:l,editable:n,customCells:a,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return B(et,{...r,params:Ke(_e(s.useTableCellIds(d,i),a,n?dt:s.CellView),Xe(i,d),s.useSliceRowIds(e,t,o))})},ot=({relationshipId:e,relationships:l,editable:n,customCells:a,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=_e([...Ue(c,u),...Ue(h,u)],a,n?dt:s.CellView),g=Ke(i,m,c,h,e,d,u);return B("table",{className:r},!1===o?null:B("thead",null,B("tr",null,!1===i?null:B(t.Fragment,null,B("th",null,c,".Id"),B("th",null,h,".Id")),de(m,(({label:e},t)=>B("th",{key:t},e))))),B("tbody",null,K(s.useRowIds(c,u),(e=>B(st,{key:e,localRowId:e,params:g})))))},it=({queryId:e,cellId:t,descending:l,offset:n,limit:a,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,g]=Ze(t,l,o,n,a,s.useResultRowCount(e,r),i,u);return B(et,{...c,params:Ke(_e(s.useResultTableCellIds(e,r),d,s.ResultCellView),Ye(r,e),s.useResultSortedRowIds(e,...h,a,r),h,m,g)})},dt=({tableId:e,rowId:t,cellId:l,store:n,className:a,showType:r})=>B(lt,{thing:s.useCell(e,t,l,n),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],n),className:a??We+y,showType:r,hasSchema:s.useStoreOrStoreById(n)?.hasTablesSchema}),ut=({valueId:e,store:t,className:l,showType:n})=>B(lt,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??We+C,showType:n,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),ct=({onChange:e,total:s,offset:l=0,limit:n=s,singular:a="row",plural:r=a+"s"})=>{(l>s||l<0)&&(l=0,e(0));const o=Ge((()=>e(l-n)),[e,l,n],l>0),i=Ge((()=>e(l+n)),[e,l,n],l+n<s);return B(t.Fragment,null,s>n&&B(t.Fragment,null,B("button",{className:"previous",disabled:0==l,onClick:o},"←"),B("button",{className:"next",disabled:l+n>=s,onClick:i},"→"),l+1," to ",q(s,l+n)," of "),s," ",1!=s?r:a)},ht=({indexes:e,indexesId:t,indexId:l,s:n})=>B(Ae,{uniqueId:ke("i",t,l),summary:"Index: "+l,s:n},K(s.useSliceIds(l,e),(s=>B(mt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:n,key:s})))),mt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:n})=>{const a=ke("i",t,s,l),[r,o]=Te(a,n);return B(Ae,{uniqueId:a,summary:"Slice: "+l,editable:r,handleEditable:o,s:n},B(rt,{sliceId:l,indexId:s,indexes:e,editable:r}))},gt=({indexesId:e,s:t})=>{const l=s.useIndexes(e),n=s.useIndexIds(l);return L(l)?null:B(Ae,{uniqueId:ke("i",e),summary:"Indexes: "+(e??u),s:t},X(n)?"No indexes defined":Se(n,(s=>B(ht,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},pt=({metrics:e,metricId:t})=>B("tr",null,B("th",null,t),B("td",null,e?.getTableId(t)),B("td",null,s.useMetric(t,e))),bt=({metricsId:e,s:t})=>{const l=s.useMetrics(e),n=s.useMetricIds(l);return L(l)?null:B(Ae,{uniqueId:ke("m",e),summary:"Metrics: "+(e??u),s:t},X(n)?"No metrics defined":B("table",null,B("thead",null,B("th",null,"Metric Id"),B("th",null,"Table Id"),B("th",null,"Metric")),B("tbody",null,K(n,(e=>B(pt,{metrics:l,metricId:e,key:e}))))))},It=({queries:e,queriesId:t,queryId:l,s:n})=>{const a=ke("q",t,l),[r,o,i]=me(s.useCell(Ie,a,fe,n)??"[]"),d=s.useSetCellCallback(Ie,a,fe,he,[],n);return B(Ae,{uniqueId:a,summary:"Query: "+l,s:n},B(it,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ft=({queriesId:e,s:t})=>{const l=s.useQueries(e),n=s.useQueryIds(l);return L(l)?null:B(Ae,{uniqueId:ke("q",e),summary:"Queries: "+(e??u),s:t},X(n)?"No queries defined":Se(n,(s=>B(It,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},yt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const n=ke("r",t,s),[a,r]=Te(n,l);return B(Ae,{uniqueId:n,summary:"Relationship: "+s,editable:a,handleEditable:r,s:l},B(ot,{relationshipId:s,relationships:e,editable:a}))},wt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),n=s.useRelationshipIds(l);return L(l)?null:B(Ae,{uniqueId:ke("r",e),summary:"Relationships: "+(e??u),s:t},X(n)?"No relationships defined":Se(n,(s=>B(yt,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},Ct=({tableId:e,store:t,storeId:l,s:n})=>{const a=ke("t",l,e),[r,o,i]=me(s.useCell(Ie,a,fe,n)??"[]"),d=s.useSetCellCallback(Ie,a,fe,he,[],n),[u,c]=Te(a,n);return B(Ae,{uniqueId:a,summary:m+": "+e,editable:u,handleEditable:c,s:n},B(nt,{tableId:e,store:t,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},vt=({store:e,storeId:t,s:l})=>{const n=ke("v",t),[a,r]=Te(n,l);return X(s.useValueIds(e))?null:B(Ae,{uniqueId:n,summary:v,editable:a,handleEditable:r,s:l},B(at,{store:e,editable:a}))},kt=({storeId:e,s:t})=>{const l=s.useStore(e),n=s.useTableIds(l);return L(l)?null:B(Ae,{uniqueId:ke("s",e),summary:(l.isMergeable()?"Mergeable":"")+"Store: "+(e??u),s:t},B(vt,{storeId:e,store:l,s:t}),Se(n,(s=>B(Ct,{store:l,storeId:e,tableId:s,s:t,key:s}))))},St=({s:e})=>{const t=j(null),l=j(0),[n,a]=H(!1),{scrollLeft:r,scrollTop:o}=s.useValues(e);Q((()=>{const e=t.current;if(e&&!n){const t=new MutationObserver((()=>{e.scrollWidth>=M(r)+e.clientWidth&&e.scrollHeight>=M(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[n,r,o]);const i=D((t=>{const{scrollLeft:s,scrollTop:n}=t[S];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{a(!0),e.setPartialValues({scrollLeft:s,scrollTop:n})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),g=s.useIndexesIds(),p=s.useRelationships(),b=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return L(d)&&X(u)&&L(c)&&X(h)&&L(m)&&X(g)&&L(p)&&X(b)&&L(I)&&X(f)?B("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."):B("article",{ref:t,onScroll:i},B(kt,{s:e}),K(u,(t=>B(kt,{storeId:t,s:e,key:t}))),B(bt,{s:e}),K(h,(t=>B(bt,{metricsId:t,s:e,key:t}))),B(gt,{s:e}),K(g,(t=>B(gt,{indexesId:t,s:e,key:t}))),B(wt,{s:e}),K(b,(t=>B(wt,{relationshipsId:t,s:e,key:t}))),B(ft,{s:e}),K(f,(t=>B(ft,{queriesId:t,s:e,key:t}))))};class Tt extends F{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?B("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const xt=({s:e})=>{const t=s.useValue(we,e)??1,l=s.useSetValueCallback(Ce,(()=>!1),[],e),n=s.useSetValueCallback(we,(e=>Number(e[S].dataset.id)),[],e);return B("header",null,B("img",{title:pe}),B("span",null,pe),K(be,((e,s)=>s==t?null:B("img",{onClick:n,"data-id":s,title:"Dock to "+e,key:s}))),B("img",{onClick:l,title:"Close"}))},Vt=({s:e})=>{const t=s.useValue(we,e)??1;return s.useValue(Ce,e)?B("main",{"data-position":t},B(xt,{s:e}),B(Tt,null,B(St,{s:e}))):null},Rt=e=>t=>{return s=(t,s)=>t+e(s),Ot(t).reduce(s,0);var s},qt=e=>e?.size??0,Mt=Rt(qt),Nt=Rt(Mt),Lt=Rt(Nt),Et=(e,t)=>e?.has(t)??!1,zt=e=>L(e)||0==qt(e),Ot=e=>[...e?.values()??[]],$t=e=>e.clear(),Jt=(e,t)=>e?.forEach(t),At=(e,t)=>e?.delete(t),Ft=e=>new Map(e),Pt=e=>[...e?.keys()??[]],Bt=(e,t)=>e?.get(t),Dt=(e,t)=>Jt(e,((e,s)=>t(s,e))),Qt=(e,t,s)=>L(s)?(At(e,t),e):e?.set(t,s),jt=(e,t,s,l)=>(Et(e,t)?l?.(Bt(e,t)):Qt(e,t,s()),Bt(e,t)),Ht=(e,t,s,l=Qt)=>(de(t,((t,l)=>s(e,l,t))),Dt(e,(s=>oe(t,s)?0:l(e,s))),e),Wt=(e,t,s,l)=>{const n={};return Jt(e,((e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;!l?.(s)&&(n[a]=s)}})),n},Ut=(e,t,s)=>Wt(e,(e=>Wt(e,t,s)),zt,ue),Gt=(e,t,s)=>Wt(e,(e=>Ut(e,t,s)),zt,ue),Kt=(e,t)=>{const s=Ft();return Jt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Xt=e=>Kt(e,Kt),Yt=e=>Kt(e,Xt),Zt=(e,t,s,l,n=0)=>E((s?jt:Bt)(e,t[n],n>A(t)-2?s:Ft),(a=>{if(n>A(t)-2)return l?.(a)&&Qt(e,t[n]),a;const r=Zt(a,t,s,l,n+1);return zt(a)&&Qt(e,t[n]),r})),_t=Ft(),es=Ft(),ts="storage",ss=e=>new Set($(e)||L(e)?e:[e]),ls=(e,t)=>e?.add(t),ns=/^\d+$/,as=()=>{const e=[];let t=0;return[s=>(s?Z(e):null)??n+t++,t=>{ns.test(t)&&A(e)<1e3&&Y(e,t)}]},rs=e=>[e,e],os=(e,t=Mt)=>t(e[0])+t(e[1]),is=()=>[Ft(),Ft()],ds=e=>[...e],us=([e,t])=>e===t;Ft(K("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n),((e,t)=>[e,t])));const cs=(e,t,s)=>Qt(e,t,Bt(e,t)==-s?void 0:s),hs=()=>{let e,t,s=!1,l=!1,a=0,r=[];const i=Ft(),h=Ft(),S=Ft(),T=Ft(),V=Ft(),R=Ft(),q=Ft(),M=Ft(),N=Ft(),$=Ft(),F=Ft(),P=Ft(),B=Ft(),D=Ft(),Q=ss(),j=Ft(),H=Ft(),W=Ft(),X=Ft(),Z=is(),_=is(),ee=is(),te=is(),se=is(),le=is(),ne=is(),re=is(),ge=is(),pe=is(),be=is(),Ie=is(),fe=is(),ye=is(),we=is(),Ce=is(),ve=is(),ke=is(),Se=is(),Te=is(),xe=is(),Ve=is(),Re=Ft(),qe=is(),[Me,Ne,Le,Ee]=(e=>{let t;const[s,l]=as(),a=Ft();return[(e,l,r,o=[],i=(()=>[]))=>{t??=Os;const d=s(1);return Qt(a,d,[e,l,r,o,i]),ls(Zt(l,r??[n],ss),d),d},(e,s,...l)=>G(((e,t=[n])=>{const s=[],l=(e,n)=>n==A(t)?Y(s,e):null===t[n]?Jt(e,(e=>l(e,n+1))):G([t[n],null],(t=>l(Bt(e,t),n+1)));return l(e,0),s})(e,s),(e=>Jt(e,(e=>Bt(a,e)[0](t,...s??[],...l))))),e=>E(Bt(a,e),(([,t,s])=>(Zt(t,s??[n],void 0,(t=>(At(t,e),zt(t)?1:0))),Qt(a,e),l(e),s))),e=>E(Bt(a,e),(([e,,s=[],l,n])=>{const a=(...r)=>{const o=A(r);o==A(s)?e(t,...r,...n(r)):L(s[o])?G(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),ze=e=>{if(!ce(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!z(t)&&t!=o||(Fe(e[u])!=t&&ie(e,u),0))},Oe=(t,s)=>(!e||Et(F,s)||gt(s))&&ce(t,((e,t)=>$e(s,t,e)),(()=>gt(s))),$e=(e,t,s,l)=>ce(l?s:Qe(s,e,t),((l,n)=>E(Je(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>gt(e,t))),Je=(t,s,l,n)=>e?E(Bt(Bt(F,t),l),(e=>Fe(n)!=e[d]?gt(t,s,l,n,e[u]):n),(()=>gt(t,s,l,n))):L(Fe(n))?gt(t,s,l,n):n,Ae=(e,t)=>ce(t?e:je(e),((t,s)=>E(De(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>pt())),De=(e,s)=>t?E(Bt(B,e),(t=>Fe(s)!=t[d]?pt(e,s,t[u]):s),(()=>pt(e,s))):L(Fe(s))?pt(e,s):s,Qe=(e,t,s)=>(E(Bt(P,t),(([l,n])=>{Jt(l,((t,s)=>{oe(e,s)||(e[s]=t)})),Jt(n,(l=>{oe(e,l)||gt(t,s,l)}))})),e),je=e=>(t&&(Jt(D,((t,s)=>{oe(e,s)||(e[s]=t)})),Jt(Q,(t=>{oe(e,t)||pt(t)}))),e),He=e=>Ht(F,e,((e,t,s)=>{const l=Ft(),n=ss();Ht(jt(F,t,Ft),s,((e,t,s)=>{Qt(e,t,s),E(s[u],(e=>Qt(l,t,e)),(()=>ls(n,t)))})),Qt(P,t,[l,n])}),((e,t)=>{Qt(F,t),Qt(P,t)})),We=e=>Ht(B,e,((e,t,s)=>{Qt(B,t,s),E(s[u],(e=>Qt(D,t,e)),(()=>ls(Q,t)))}),((e,t)=>{Qt(B,t),Qt(D,t),At(Q,t)})),Ue=e=>ue(e)?xs():Cs(e),Ge=e=>Ht(W,e,((e,t,s)=>Ke(t,s)),((e,t)=>nt(t))),Ke=(e,t)=>Ht(jt(W,e,(()=>(it(e,1),Qt(j,e,as()),Qt(H,e,Ft()),Ft()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>at(e,t,s))),Xe=(e,t,s,l,n)=>Ht(jt(t,s,(()=>(dt(e,s,1),Ft()))),l,((t,l,n)=>Ye(e,s,t,l,n)),((l,a)=>rt(e,t,s,l,a,n))),Ye=(e,t,s,l,n)=>{Et(s,l)||ut(e,t,l,1);const a=Bt(s,l);n!==a&&(ct(e,t,l,a,n),Qt(s,l,n))},Ze=(e,t,s,l,n)=>E(Bt(t,s),(t=>Ye(e,s,t,l,n)),(()=>Xe(e,t,s,Qe({[l]:n},e,s)))),_e=e=>ue(e)?qs():vs(e),et=e=>Ht(X,e,((e,t,s)=>tt(t,s)),((e,t)=>ot(t))),tt=(e,t)=>{Et(X,e)||ht(e,1);const s=Bt(X,e);t!==s&&(mt(e,s,t),Qt(X,e,t))},st=(e,t)=>{const[s]=Bt(j,e),l=s(t);return Et(Bt(W,e),l)?st(e,t):l},lt=e=>Bt(W,e)??Ke(e,{}),nt=e=>Ke(e,{}),at=(e,t,s)=>{const[,l]=Bt(j,e);l(s),Xe(e,t,s,{},!0)},rt=(e,t,s,l,n,a)=>{const r=Bt(Bt(P,e)?.[0],n);if(!L(r)&&!a)return Ye(e,s,l,n,r);const o=t=>{ct(e,s,t,Bt(l,t)),ut(e,s,t,-1),Qt(l,t)};L(r)?o(n):Dt(l,o),zt(l)&&(dt(e,s,-1),zt(Qt(t,s))&&(it(e,-1),Qt(W,e),Qt(j,e),Qt(H,e)))},ot=e=>{const t=Bt(D,e);if(!L(t))return tt(e,t);mt(e,Bt(X,e)),ht(e,-1),Qt(X,e)},it=(e,t)=>cs(i,e,t),dt=(e,t,s)=>cs(jt(T,e,Ft),t,s)&&Qt(S,e,jt(S,e,(()=>0))+s),ut=(e,t,s,l)=>{const n=Bt(H,e),a=Bt(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&cs(jt(h,e,Ft),s,l),Qt(n,s,a!=-l?a+l:null),cs(jt(jt(V,e,Ft),t,Ft),s,l)},ct=(e,t,s,l,n)=>{jt(jt(jt(R,e,Ft),t,Ft),s,(()=>[l,0]))[1]=n,r[3]?.(e,t,s,n)},ht=(e,t)=>cs(q,e,t),mt=(e,t,s)=>{jt(M,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},gt=(e,t,s,l,n)=>(Y(jt(jt(jt(N,e,Ft),t,Ft),s,(()=>[])),l),n),pt=(e,t,s)=>(Y(jt($,e,(()=>[])),t),s),bt=(e,t,s)=>E(Bt(Bt(Bt(R,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...rs(es(e,t,s))])),It=e=>E(Bt(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...rs(ms(e))])),ft=e=>zt(N)||zt(Ce[e])?0:Jt(e?Yt(N):N,((t,s)=>Jt(t,((t,l)=>Jt(t,((t,n)=>Ne(Ce[e],[s,l,n],t))))))),yt=e=>zt($)||zt(ve[e])?0:Jt(e?Kt($):$,((t,s)=>Ne(ve[e],[s],t))),wt=(e,t,s,l)=>{if(!zt(e))return Ne(t,l,(()=>Wt(e))),Dt(e,((e,t)=>Ne(s,[...l??[],e],1==t))),1},Ct=e=>{const t=gs();t!=s&&Ne(Z[e],void 0,t);const l=zt(pe[e]),n=zt(fe[e])&&zt(ye[e])&&zt(ge[e])&&zt(be[e])&&zt(le[e])&&zt(ne[e])&&zt(re[e])&&l&&zt(ee[e])&&zt(te[e]),a=zt(we[e])&&zt(Ie[e])&&zt(se[e])&&zt(_[e]);if(!n||!a){const t=e?[Kt(i),Xt(h),Kt(S),Xt(T),Yt(V),Yt(R)]:[i,h,S,T,V,R];if(!n){wt(t[0],ee[e],te[e]),Jt(t[1],((t,s)=>wt(t,le[e],ne[e],[s]))),Jt(t[2],((t,s)=>{0!=t&&Ne(re[e],[s],Vt(s))}));const s=ss();Jt(t[3],((t,n)=>{wt(t,ge[e],be[e],[n])&&!l&&(Ne(pe[e],[n,null]),ls(s,n))})),l||Jt(t[5],((t,l)=>{if(!Et(s,l)){const s=ss();Jt(t,(e=>Jt(e,(([t,l],n)=>l!==t?ls(s,n):At(e,n))))),Jt(s,(t=>Ne(pe[e],[l,t])))}})),Jt(t[4],((t,s)=>Jt(t,((t,l)=>wt(t,fe[e],ye[e],[s,l])))))}if(!a){let s;Jt(t[5],((t,l)=>{let n;Jt(t,((t,a)=>{let r;Jt(t,(([t,o],i)=>{o!==t&&(Ne(we[e],[l,a,i],o,t,bt),s=n=r=1)})),r&&Ne(Ie[e],[l,a],bt)})),n&&Ne(se[e],[l],bt)})),s&&Ne(_[e],void 0,bt)}}},vt=e=>{const t=ys();t!=l&&Ne(ke[e],void 0,t);const s=zt(Te[e])&&zt(xe[e]),n=zt(Ve[e])&&zt(Se[e]);if(!s||!n){const t=e?[Kt(q),Kt(M)]:[q,M];if(s||wt(t[0],Te[e],xe[e]),!n){let s;Jt(t[1],(([t,l],n)=>{l!==t&&(Ne(Ve[e],[n],l,t,It),s=1)})),s&&Ne(Se[e],void 0,It)}}},kt=(e,...t)=>(Ls((()=>e(...K(t,x)))),Os),St=()=>Gt(W),Tt=()=>Pt(W),xt=e=>Pt(Bt(H,x(e))),Vt=e=>qt(Bt(W,x(e))),Rt=e=>Pt(Bt(W,x(e))),Ot=(e,t,s,l=0,n)=>{return K(J(U((a=Bt(W,x(e)),r=(e,s)=>[L(t)?s:Bt(e,x(t)),s],K([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,L(n)?n:l+n),(([,e])=>e));var a,r},_t=(e,t)=>Pt(Bt(Bt(W,x(e)),x(t))),es=(e,t,s)=>Bt(Bt(Bt(W,x(e)),x(t)),x(s)),ts=()=>Wt(X),ns=()=>Pt(X),ms=e=>Bt(X,x(e)),gs=()=>!zt(W),ps=e=>Et(W,x(e)),bs=(e,t)=>Et(Bt(H,x(e)),x(t)),Is=(e,t)=>Et(Bt(W,x(e)),x(t)),fs=(e,t,s)=>Et(Bt(Bt(W,x(e)),x(t)),x(s)),ys=()=>!zt(X),ws=e=>Et(X,x(e)),Cs=e=>kt((()=>(e=>ce(e,Oe,gt))(e)?Ge(e):0)),vs=e=>kt((()=>Ae(e)?et(e):0)),ks=e=>{try{Ue(me(e))}catch{}return Os},Ss=t=>kt((()=>{if((e=ce(t,(e=>ce(e,ze))))&&(He(t),!zt(W))){const e=St();xs(),Cs(e)}})),Ts=e=>kt((()=>{if(t=(e=>ce(e,ze))(e)){const s=ts();Ns(),qs(),t=!0,We(e),vs(s)}})),xs=()=>kt((()=>Ge({}))),Vs=e=>kt((e=>Et(W,e)?nt(e):0),e),Rs=(e,t)=>kt(((e,t)=>E(Bt(W,e),(s=>Et(s,t)?at(e,s,t):0))),e,t),qs=()=>kt((()=>et({}))),Ms=()=>kt((()=>{He({}),e=!1})),Ns=()=>kt((()=>{We({}),t=!1})),Ls=(e,t)=>{if(-1!=a){Es();const s=e();return zs(t),s}},Es=()=>(-1!=a&&a++,1==a&&(r[0]?.(),Ne(Re)),Os),zs=e=>(a>0&&(a--,0==a&&(a=1,ft(1),zt(R)||Ct(1),yt(1),zt(M)||vt(1),e?.(Os)&&(Jt(R,((e,t)=>Jt(e,((e,s)=>Jt(e,(([e],l)=>Pe(Os,t,s,l,e))))))),$t(R),Jt(M,(([e],t)=>Be(Os,t,e))),$t(M)),Ne(qe[0],void 0),a=-1,ft(0),zt(R)||Ct(0),yt(0),zt(M)||vt(0),r[1]?.(),Ne(qe[1],void 0),r[2]?.(),a=0,s=gs(),l=ys(),G([i,h,S,T,V,R,N,q,M,$],$t))),Os),Os={getContent:()=>[St(),ts()],getTables:St,getTableIds:Tt,getTable:e=>Ut(Bt(W,x(e))),getTableCellIds:xt,getRowCount:Vt,getRowIds:Rt,getSortedRowIds:Ot,getRow:(e,t)=>Wt(Bt(Bt(W,x(e)),x(t))),getCellIds:_t,getCell:es,getValues:ts,getValueIds:ns,getValue:ms,hasTables:gs,hasTable:ps,hasTableCell:bs,hasRow:Is,hasCell:fs,hasValues:ys,hasValue:ws,getTablesJson:()=>he(W),getValuesJson:()=>he(X),getJson:()=>he([W,X]),getTablesSchemaJson:()=>he(F),getValuesSchemaJson:()=>he(B),getSchemaJson:()=>he([F,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>kt((()=>{(ue(e)?xs:Cs)(e),(ue(t)?qs:vs)(t)})),setTables:Cs,setTable:(e,t)=>kt((e=>Oe(t,e)?Ke(e,t):0),e),setRow:(e,t,s)=>kt(((e,t)=>$e(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let l;return $e(e,l,t)&&(e=x(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>kt(((e,t)=>{if($e(e,t,s,1)){const l=lt(e);de(s,((s,n)=>Ze(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>kt(((e,t,s)=>E(Je(e,t,s,O(l)?l(es(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>kt((()=>Ae(e,1)?de(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>kt((e=>E(De(e,O(t)?t(ms(e)):t),(t=>tt(e,t)))),e),applyChanges:e=>kt((()=>{de(e[0],((e,t)=>L(e)?Vs(t):de(e,((e,s)=>L(e)?Rs(t,s):de(e,((e,l)=>Pe(Os,t,s,l,e))))))),de(e[1],((e,t)=>Be(Os,t,e)))})),setTablesJson:ks,setValuesJson:e=>{try{_e(me(e))}catch{}return Os},setJson:e=>kt((()=>{try{const[t,s]=me(e);Ue(t),_e(s)}catch{ks(e)}})),setTablesSchema:Ss,setValuesSchema:Ts,setSchema:(e,t)=>kt((()=>{Ss(e),Ts(t)})),delTables:xs,delTable:Vs,delRow:Rs,delCell:(e,t,s,l)=>kt(((e,t,s)=>E(Bt(W,e),(n=>E(Bt(n,t),(a=>Et(a,s)?rt(e,n,t,a,s,l):0))))),e,t,s),delValues:qs,delValue:e=>kt((e=>Et(X,e)?ot(e):0),e),delTablesSchema:Ms,delValuesSchema:Ns,delSchema:()=>kt((()=>{Ms(),Ns()})),transaction:Ls,startTransaction:Es,getTransactionChanges:()=>[Wt(R,((e,t)=>-1===Bt(i,t)?void 0:Wt(e,((e,s)=>-1===Bt(Bt(T,t),s)?void 0:Wt(e,(([,e])=>e),(e=>us(e)))),zt,ue)),zt,ue),Wt(M,(([,e])=>e),(e=>us(e))),1],getTransactionLog:()=>[!zt(R),!zt(M),Gt(R,ds,us),Gt(N),Wt(M,ds,us),Wt($),Wt(i),Ut(T),Gt(V),Wt(q)],finishTransaction:zs,forEachTable:e=>Jt(W,((t,s)=>e(s,(e=>Jt(t,((t,s)=>e(s,(e=>Dt(t,e))))))))),forEachTableCell:(e,t)=>Dt(Bt(H,x(e)),t),forEachRow:(e,t)=>Jt(Bt(W,x(e)),((e,s)=>t(s,(t=>Dt(e,t))))),forEachCell:(e,t,s)=>Dt(Bt(Bt(W,x(e)),x(t)),s),forEachValue:e=>Dt(X,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=Ot(e,t,s,l,n);return Me((()=>{const r=Ot(e,t,s,l,n);var i,d,u;d=o,A(i=r)===A(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,a(Os,e,t,s,l,n,o))}),pe[r?1:0],[e,t],[Tt])},addStartTransactionListener:e=>Me(e,Re),addWillFinishTransactionListener:e=>Me(e,qe[0]),addDidFinishTransactionListener:e=>Me(e,qe[1]),callListener:e=>(Ee(e),Os),delListener:e=>(Le(e),Os),getListenerStats:()=>({hasTables:os(Z),tables:os(_),tableIds:os(ee),hasTable:os(te),table:os(se),tableCellIds:os(le),hasTableCell:os(ne,Nt),rowCount:os(re),rowIds:os(ge),sortedRowIds:os(pe),hasRow:os(be,Nt),row:os(Ie,Nt),cellIds:os(fe,Nt),hasCell:os(ye,Lt),cell:os(we,Lt),invalidCell:os(Ce,Lt),hasValues:os(ke),values:os(Se),valueIds:os(Te),hasValue:os(xe),value:os(Ve),invalidValue:os(ve),transaction:Mt(Re)+os(qe)}),isMergeable:()=>!1,createStore:hs,addListener:Me,callListeners:Ne,setInternalListeners:(e,t,s,l,n)=>r=[e,t,s,l,n]};return de({[c+g]:[0,Z,[],()=>[gs()]],[g]:[0,_],[p]:[0,ee],[c+m]:[1,te,[Tt],e=>[ps(...e)]],[m]:[1,se,[Tt]],[m+w]:[1,le,[Tt]],[c+m+y]:[2,ne,[Tt,xt],e=>[bs(...e)]],[I]:[1,re,[Tt]],[f]:[1,ge,[Tt]],[c+b]:[2,be,[Tt,Rt],e=>[Is(...e)]],[b]:[2,Ie,[Tt,Rt]],[w]:[2,fe,[Tt,Rt]],[c+y]:[3,ye,[Tt,Rt,_t],e=>[fs(...e)]],[y]:[3,we,[Tt,Rt,_t],e=>rs(es(...e))],InvalidCell:[3,Ce],[c+v]:[0,ke,[],()=>[ys()]],[v]:[0,Se],[k]:[0,Te],[c+C]:[1,xe,[ns],e=>[ws(...e)]],[C]:[1,Ve,[ns],e=>rs(ms(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],n)=>{Os["add"+n+"Listener"]=(...n)=>Me(n[e],t[n[e+1]?1:0],e>0?J(n,0,e):void 0,s,l)})),ae(Os)};e.Inspector=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(hs),n=be.indexOf(e);return s.useCreatePersister(l,(e=>{return t=ge,s=sessionStorage,((e,t,s,l,n,a,r,o={},i=[])=>{let d,u,c,h=0,m=0,g=0;jt(_t,i,(()=>0)),jt(es,i,(()=>[]));const[p,b,I,f,y]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ue(e)||!ue(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ue(e)||!ue(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(r,e),w=t=>{(p&&$(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},C=async e=>(2!=h&&(h=1,m++,await T((async()=>{try{w(await t())}catch(t){e&&y(e)}h=0}))),x),v=()=>(u&&(n(u),u=void 0),x),k=async e=>(1!=h&&(h=2,g++,await T((async()=>{try{await s(b,e)}catch(e){}h=0}))),x),S=()=>(E(c,e.delListener),c=void 0,x),T=async(...e)=>(Y(Bt(es,i),...e),await(async()=>{if(!Bt(_t,i)){for(Qt(_t,i,1);!L(d=Z(Bt(es,i)));)try{await d()}catch(e){}Qt(_t,i,0)}})(),x),x={load:C,startAutoLoad:async e=>(await v().load(e),u=l((async(e,t)=>{t||e?2!=h&&(h=1,m++,w(t??e),h=0):await C()})),x),stopAutoLoad:v,isAutoLoading:()=>!L(u),save:k,startAutoSave:async()=>(await S().save(),c=e.addDidFinishTransactionListener((()=>{const e=I();f(e)&&k(e)})),x),stopAutoSave:S,isAutoSaving:()=>!L(c),schedule:T,getStore:()=>e,destroy:()=>v().stopAutoSave(),getStats:()=>({loads:m,saves:g}),...o};return ae(x)})(e,(async()=>{return e=s.getItem(t),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return s.setItem(t,(l=e(),JSON.stringify(l,((e,t)=>void 0===t?"":t))));var l}),(e=>{const l=l=>{if(l.storageArea===s&&l.key===t)try{e(me(l.newValue))}catch{e()}};return V.addEventListener(ts,l),l}),(e=>V.removeEventListener(ts,e)),0,3,{getStorageName:()=>t});var t,s}),void 0,(async e=>{await e.load([{},{position:-1==n?1:n,open:!!t}]),await e.startAutoSave()})),B(P,null,B("aside",{id:ge},B(Je,{s:l}),B(Vt,{s:l})),B("style",null,$e))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("../../ui-react/with-schemas/index.js")):"function"==typeof define&&define.amd?define(["exports","react","../ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactInspector={},e.React,e.TinyBaseUiReact);
1
+ var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,n="",a=l(n),r=l(!0),o=l(0),i=l(l),d="type",u="default",c="Has",h="Ids",m="Table",g=m+"s",p=m+h,b="Row",I=b+"Count",f=b+h,y="Cell",w=y+h,C="Value",v=C+"s",k=C+h,S="currentTarget",T="value",x=e=>n+e,V=globalThis.window,R=Math,q=R.min,M=R.floor,N=isFinite,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),z=e=>e==a||e==r,O=e=>l(e)==i,$=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),A=e=>e.length,{PureComponent:F,Fragment:P,createElement:B,useCallback:D,useLayoutEffect:Q,useRef:j,useState:H}=t,W=(e,...t)=>L(e)?{}:e(...t),U=(e,t)=>e.sort(t),G=(e,t)=>e.forEach(t),K=(e,t)=>e.map(t),X=e=>0==A(e),Y=(e,...t)=>e.push(...t),Z=e=>e.shift(),_=Object,ee=e=>_.getPrototypeOf(e),te=_.entries,se=_.isFrozen,le=e=>!L(e)&&E(ee(e),(e=>e==_.prototype||L(ee(e))),(()=>!0)),ne=_.keys,ae=_.freeze,re=(e=[])=>_.fromEntries(e),oe=(e,t)=>t in e,ie=(e,t)=>(delete e[t],e),de=(e,t)=>K(te(e),(([e,s])=>t(s,e))),ue=e=>le(e)&&0==(e=>A(ne(e)))(e),ce=(e,t,s,l=0)=>L(e)||!le(e)||!l&&ue(e)||se(e)?(s?.(),!1):(de(e,((s,l)=>{t(s,l)||ie(e,l)})),!!l||!ue(e)),he=e=>JSON.stringify(e,((e,t)=>t instanceof Map?_.fromEntries([...t]):t)),me=JSON.parse,ge="tinybaseInspector",pe="TinyBase Inspector",be=["left","top","bottom","right","full"],Ie="state",fe="sort",ye="open",we="position",Ce=ye,ve="editable",ke=(...e)=>he(e),Se=(e,t)=>K(U(e),t),Te=(e,t)=>[!!s.useCell(Ie,e,ve,t),D((s=>{t.setCell(Ie,e,ve,(e=>!e)),s.preventDefault()}),[t,e])],xe="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Ve='content:url("',Re=Ve+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",qe='</svg>")',Me=Ve+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Ne=K([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Re+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+qe)),Le=Re+"<path d='M20 20l60 60M20 80l60-60' />"+qe,Ee=Re+`<path d='${xe}' />`+qe,ze=Re+`<path d='${xe}M20 20l60 60' />`+qe,Oe="*::-webkit-scrollbar",$e=((e,t="")=>e.join(t))(de({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Oe]:"width:0.5rem;height:0.5rem;",[Oe+"-track"]:"background:#111",[Oe+"-thumb"]:"background:#999;border:1px solid #111",[Oe+"-thumb:hover"]:"background:#fff",[Oe+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Me,...re(K(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...re(K(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Me,"header>img:nth-of-type(6)":Le,...re(K(Ne,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Ee,"details[open]>summary img.done":ze,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ge} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${ge} ${t}{${e}}`:""))),Je=({s:e})=>{const t=s.useValue(we,e)??1,l=s.useSetValueCallback(Ce,(()=>!0),[],e);return s.useValue(Ce,e)?null:B("img",{onClick:l,title:pe,"data-position":t})},Ae=({uniqueId:e,summary:t,editable:l,handleEditable:n,children:a,s:r})=>{const o=!!s.useCell(Ie,e,ye,r),i=s.useSetCellCallback(Ie,e,ye,(e=>e[S].open),[],r);return B("details",{open:o,onToggle:i},B("summary",null,t,n?B("img",{onClick:n,className:l?"done":"edit"}):null),a)},Fe=e=>{const t=l(e);return z(t)||t==o&&N(e)?t:void 0},Pe=(e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Be=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),De=(e,t,s,l)=>e==a?t:e==o?s:l,{useCallback:Qe,useMemo:je,useState:He}=t,We="editable",Ue=(e,t)=>K(s.useTableCellIds(e,t),(t=>e+"."+t)),Ge=(e,t,s)=>{const l=Qe(e,t);return s?l:void 0},Ke=(...e)=>je((()=>e),e),Xe=(e,t)=>je((()=>({store:e,tableId:t})),[e,t]),Ye=(e,t)=>je((()=>({queries:e,queryId:t})),[e,t]),Ze=(e,t=!1,s,l=0,n,a,r,o)=>{const[[i,d,u],c]=He([e,t,l]),h=Qe((e=>{c(e),o?.(e)}),[o]),m=Ge((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),g=Qe((e=>h([i,d,e])),[h,i,d]),p=!0===r?ct:r;return[[i,d,u],m,je((()=>!1===r?null:B(p,{offset:u,limit:n,total:a,onChange:g})),[r,p,u,n,a,g])]},_e=(e,t,s)=>je((()=>{const n=t??e;return r=$(n)?re(K(n,(e=>[e,e]))):n,o=(e,t)=>{return{label:t,component:s,...(n=e,l(n)==a?{label:e}:e)};var n},re(de(r,((e,t)=>[t,o(e,t)])));var r,o}),[t,s,e]),et=({className:e,headerRow:t,idColumn:s,params:[l,n,a,r,o,i]})=>B("table",{className:e},i?B("caption",null,i):null,!1===t?null:B("thead",null,B("tr",null,!1===s?null:B(tt,{sort:r??[],label:"Id",onClick:o}),de(l,(({label:e},t)=>B(tt,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),B("tbody",null,K(a,(e=>B("tr",{key:e},!1===s?null:B("th",null,e),de(l,(({component:t,getComponentProps:s},l)=>B("td",{key:l},B(t,{...W(s,e,l),...n,rowId:e,cellId:l}))))))))),tt=({cellId:e,sort:[t,s],label:l=e??n,onClick:a})=>B("th",{onClick:Ge((()=>a?.(e)),[a,e],a),className:L(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},L(s)||t!=e?null:(s?"↓":"↑")+" ",l),st=({localRowId:e,params:[l,n,a,r,o,i,d]})=>{const u=s.useRemoteRowId(o,e,i);return B("tr",null,!1===l?null:B(t.Fragment,null,B("th",null,e),B("th",null,u)),de(n,(({component:t,getComponentProps:s},l)=>{const[n,o]=l.split(".",2),i=n===a?e:n===r?u:null;return L(i)?null:B("td",{key:l},B(t,{...W(s,i,o),store:d,tableId:n,rowId:i,cellId:o}))})))},lt=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:n=!0})=>{const[i,d]=He(),[u,c]=He(),[h,m]=He(),[g,p]=He(),[b,I]=He();u!==e&&(d(Fe(e)),c(e),m(e+""),p(Number(e)||0),I(!!e));const f=Qe(((e,s)=>{s(e),c(e),t(e)}),[t]),y=Qe((()=>{if(!l?.()){const e=De(i,o,r,a),s=De(e,h,g,b);d(e),c(s),t(s)}}),[l,t,h,g,b,i]);return B("div",{className:s},n?B("button",{className:i,onClick:y},i):null,De(i,B("input",{key:i,value:h,onChange:Qe((e=>f(e[S][T]+"",m)),[f])}),B("input",{key:i,type:"number",value:g,onChange:Qe((e=>f(Number(e[S][T]||0),p)),[f])}),B("input",{key:i,type:"checkbox",checked:b,onChange:Qe((e=>f(!!e[S].checked,I)),[f])})))},nt=({tableId:e,cellId:t,descending:l,offset:n,limit:a,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,g,p]=Ze(t,l,i,n,a,s.useRowCount(e,r),d,u);return B(et,{...h,params:Ke(_e(s.useTableCellIds(e,r),c,o?dt:s.CellView),Xe(r,e),s.useSortedRowIds(e,...m,a,r),m,g,p)})},at=({store:e,editable:t=!1,valueComponent:l=(t?ut:s.ValueView),getValueComponentProps:n,className:a,headerRow:r,idColumn:o})=>B("table",{className:a},!1===r?null:B("thead",null,B("tr",null,!1===o?null:B("th",null,"Id"),B("th",null,C))),B("tbody",null,K(s.useValueIds(e),(t=>B("tr",{key:t},!1===o?null:B("th",null,t),B("td",null,B(l,{...W(n,t),valueId:t,store:e}))))))),rt=({indexId:e,sliceId:t,indexes:l,editable:n,customCells:a,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return B(et,{...r,params:Ke(_e(s.useTableCellIds(d,i),a,n?dt:s.CellView),Xe(i,d),s.useSliceRowIds(e,t,o))})},ot=({relationshipId:e,relationships:l,editable:n,customCells:a,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=_e([...Ue(c,u),...Ue(h,u)],a,n?dt:s.CellView),g=Ke(i,m,c,h,e,d,u);return B("table",{className:r},!1===o?null:B("thead",null,B("tr",null,!1===i?null:B(t.Fragment,null,B("th",null,c,".Id"),B("th",null,h,".Id")),de(m,(({label:e},t)=>B("th",{key:t},e))))),B("tbody",null,K(s.useRowIds(c,u),(e=>B(st,{key:e,localRowId:e,params:g})))))},it=({queryId:e,cellId:t,descending:l,offset:n,limit:a,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,g]=Ze(t,l,o,n,a,s.useResultRowCount(e,r),i,u);return B(et,{...c,params:Ke(_e(s.useResultTableCellIds(e,r),d,s.ResultCellView),Ye(r,e),s.useResultSortedRowIds(e,...h,a,r),h,m,g)})},dt=({tableId:e,rowId:t,cellId:l,store:n,className:a,showType:r})=>B(lt,{thing:s.useCell(e,t,l,n),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],n),className:a??We+y,showType:r,hasSchema:s.useStoreOrStoreById(n)?.hasTablesSchema}),ut=({valueId:e,store:t,className:l,showType:n})=>B(lt,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??We+C,showType:n,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),ct=({onChange:e,total:s,offset:l=0,limit:n=s,singular:a="row",plural:r=a+"s"})=>{(l>s||l<0)&&(l=0,e(0));const o=Ge((()=>e(l-n)),[e,l,n],l>0),i=Ge((()=>e(l+n)),[e,l,n],l+n<s);return B(t.Fragment,null,s>n&&B(t.Fragment,null,B("button",{className:"previous",disabled:0==l,onClick:o},"←"),B("button",{className:"next",disabled:l+n>=s,onClick:i},"→"),l+1," to ",q(s,l+n)," of "),s," ",1!=s?r:a)},ht=({indexes:e,indexesId:t,indexId:l,s:n})=>B(Ae,{uniqueId:ke("i",t,l),summary:"Index: "+l,s:n},K(s.useSliceIds(l,e),(s=>B(mt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:n,key:s})))),mt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:n})=>{const a=ke("i",t,s,l),[r,o]=Te(a,n);return B(Ae,{uniqueId:a,summary:"Slice: "+l,editable:r,handleEditable:o,s:n},B(rt,{sliceId:l,indexId:s,indexes:e,editable:r}))},gt=({indexesId:e,s:t})=>{const l=s.useIndexes(e),n=s.useIndexIds(l);return L(l)?null:B(Ae,{uniqueId:ke("i",e),summary:"Indexes: "+(e??u),s:t},X(n)?"No indexes defined":Se(n,(s=>B(ht,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},pt=({metrics:e,metricId:t})=>B("tr",null,B("th",null,t),B("td",null,e?.getTableId(t)),B("td",null,s.useMetric(t,e))),bt=({metricsId:e,s:t})=>{const l=s.useMetrics(e),n=s.useMetricIds(l);return L(l)?null:B(Ae,{uniqueId:ke("m",e),summary:"Metrics: "+(e??u),s:t},X(n)?"No metrics defined":B("table",null,B("thead",null,B("th",null,"Metric Id"),B("th",null,"Table Id"),B("th",null,"Metric")),B("tbody",null,K(n,(e=>B(pt,{metrics:l,metricId:e,key:e}))))))},It=({queries:e,queriesId:t,queryId:l,s:n})=>{const a=ke("q",t,l),[r,o,i]=me(s.useCell(Ie,a,fe,n)??"[]"),d=s.useSetCellCallback(Ie,a,fe,he,[],n);return B(Ae,{uniqueId:a,summary:"Query: "+l,s:n},B(it,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ft=({queriesId:e,s:t})=>{const l=s.useQueries(e),n=s.useQueryIds(l);return L(l)?null:B(Ae,{uniqueId:ke("q",e),summary:"Queries: "+(e??u),s:t},X(n)?"No queries defined":Se(n,(s=>B(It,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},yt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const n=ke("r",t,s),[a,r]=Te(n,l);return B(Ae,{uniqueId:n,summary:"Relationship: "+s,editable:a,handleEditable:r,s:l},B(ot,{relationshipId:s,relationships:e,editable:a}))},wt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),n=s.useRelationshipIds(l);return L(l)?null:B(Ae,{uniqueId:ke("r",e),summary:"Relationships: "+(e??u),s:t},X(n)?"No relationships defined":Se(n,(s=>B(yt,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},Ct=({tableId:e,store:t,storeId:l,s:n})=>{const a=ke("t",l,e),[r,o,i]=me(s.useCell(Ie,a,fe,n)??"[]"),d=s.useSetCellCallback(Ie,a,fe,he,[],n),[u,c]=Te(a,n);return B(Ae,{uniqueId:a,summary:m+": "+e,editable:u,handleEditable:c,s:n},B(nt,{tableId:e,store:t,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},vt=({store:e,storeId:t,s:l})=>{const n=ke("v",t),[a,r]=Te(n,l);return X(s.useValueIds(e))?null:B(Ae,{uniqueId:n,summary:v,editable:a,handleEditable:r,s:l},B(at,{store:e,editable:a}))},kt=({storeId:e,s:t})=>{const l=s.useStore(e),n=s.useTableIds(l);return L(l)?null:B(Ae,{uniqueId:ke("s",e),summary:(l.isMergeable()?"Mergeable":"")+"Store: "+(e??u),s:t},B(vt,{storeId:e,store:l,s:t}),Se(n,(s=>B(Ct,{store:l,storeId:e,tableId:s,s:t,key:s}))))},St=({s:e})=>{const t=j(null),l=j(0),[n,a]=H(!1),{scrollLeft:r,scrollTop:o}=s.useValues(e);Q((()=>{const e=t.current;if(e&&!n){const t=new MutationObserver((()=>{e.scrollWidth>=M(r)+e.clientWidth&&e.scrollHeight>=M(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[n,r,o]);const i=D((t=>{const{scrollLeft:s,scrollTop:n}=t[S];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{a(!0),e.setPartialValues({scrollLeft:s,scrollTop:n})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),g=s.useIndexesIds(),p=s.useRelationships(),b=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return L(d)&&X(u)&&L(c)&&X(h)&&L(m)&&X(g)&&L(p)&&X(b)&&L(I)&&X(f)?B("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."):B("article",{ref:t,onScroll:i},B(kt,{s:e}),K(u,(t=>B(kt,{storeId:t,s:e,key:t}))),B(bt,{s:e}),K(h,(t=>B(bt,{metricsId:t,s:e,key:t}))),B(gt,{s:e}),K(g,(t=>B(gt,{indexesId:t,s:e,key:t}))),B(wt,{s:e}),K(b,(t=>B(wt,{relationshipsId:t,s:e,key:t}))),B(ft,{s:e}),K(f,(t=>B(ft,{queriesId:t,s:e,key:t}))))};class Tt extends F{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?B("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const xt=({s:e})=>{const t=s.useValue(we,e)??1,l=s.useSetValueCallback(Ce,(()=>!1),[],e),n=s.useSetValueCallback(we,(e=>Number(e[S].dataset.id)),[],e);return B("header",null,B("img",{title:pe}),B("span",null,pe),K(be,((e,s)=>s==t?null:B("img",{onClick:n,"data-id":s,title:"Dock to "+e,key:s}))),B("img",{onClick:l,title:"Close"}))},Vt=({s:e})=>{const t=s.useValue(we,e)??1;return s.useValue(Ce,e)?B("main",{"data-position":t},B(xt,{s:e}),B(Tt,null,B(St,{s:e}))):null},Rt=e=>t=>{return s=(t,s)=>t+e(s),Ot(t).reduce(s,0);var s},qt=e=>e?.size??0,Mt=Rt(qt),Nt=Rt(Mt),Lt=Rt(Nt),Et=(e,t)=>e?.has(t)??!1,zt=e=>L(e)||0==qt(e),Ot=e=>[...e?.values()??[]],$t=e=>e.clear(),Jt=(e,t)=>e?.forEach(t),At=(e,t)=>e?.delete(t),Ft=e=>new Map(e),Pt=e=>[...e?.keys()??[]],Bt=(e,t)=>e?.get(t),Dt=(e,t)=>Jt(e,((e,s)=>t(s,e))),Qt=(e,t,s)=>L(s)?(At(e,t),e):e?.set(t,s),jt=(e,t,s,l)=>(Et(e,t)?l?.(Bt(e,t)):Qt(e,t,s()),Bt(e,t)),Ht=(e,t,s,l=Qt)=>(de(t,((t,l)=>s(e,l,t))),Dt(e,(s=>oe(t,s)?0:l(e,s))),e),Wt=(e,t,s,l)=>{const n={};return Jt(e,((e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;!l?.(s)&&(n[a]=s)}})),n},Ut=(e,t,s)=>Wt(e,(e=>Wt(e,t,s)),zt,ue),Gt=(e,t,s)=>Wt(e,(e=>Ut(e,t,s)),zt,ue),Kt=(e,t)=>{const s=Ft();return Jt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Xt=e=>Kt(e,Kt),Yt=e=>Kt(e,Xt),Zt=(e,t,s,l,n=0)=>E((s?jt:Bt)(e,t[n],n>A(t)-2?s:Ft),(a=>{if(n>A(t)-2)return l?.(a)&&Qt(e,t[n]),a;const r=Zt(a,t,s,l,n+1);return zt(a)&&Qt(e,t[n]),r})),_t=Ft(),es=Ft(),ts="storage",ss=e=>new Set($(e)||L(e)?e:[e]),ls=(e,t)=>e?.add(t),ns=/^\d+$/,as=()=>{const e=[];let t=0;return[s=>(s?Z(e):null)??n+t++,t=>{ns.test(t)&&A(e)<1e3&&Y(e,t)}]},rs=e=>[e,e],os=(e,t=Mt)=>t(e[0])+t(e[1]),is=()=>[Ft(),Ft()],ds=e=>[...e],us=([e,t])=>e===t;Ft(K("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n),((e,t)=>[e,t])));const cs=(e,t,s)=>Qt(e,t,Bt(e,t)==-s?void 0:s),hs=()=>{let e,t,s=!1,l=!1,a=0,r=[];const i=Ft(),h=Ft(),S=Ft(),T=Ft(),V=Ft(),R=Ft(),q=Ft(),M=Ft(),N=Ft(),$=Ft(),F=Ft(),P=Ft(),B=Ft(),D=Ft(),Q=ss(),j=Ft(),H=Ft(),W=Ft(),X=Ft(),Z=is(),_=is(),ee=is(),te=is(),se=is(),le=is(),ne=is(),re=is(),ge=is(),pe=is(),be=is(),Ie=is(),fe=is(),ye=is(),we=is(),Ce=is(),ve=is(),ke=is(),Se=is(),Te=is(),xe=is(),Ve=is(),Re=Ft(),qe=is(),[Me,Ne,Le,Ee]=(e=>{let t;const[s,l]=as(),a=Ft();return[(e,l,r,o=[],i=(()=>[]))=>{t??=Os;const d=s(1);return Qt(a,d,[e,l,r,o,i]),ls(Zt(l,r??[n],ss),d),d},(e,s,...l)=>G(((e,t=[n])=>{const s=[],l=(e,n)=>n==A(t)?Y(s,e):null===t[n]?Jt(e,(e=>l(e,n+1))):G([t[n],null],(t=>l(Bt(e,t),n+1)));return l(e,0),s})(e,s),(e=>Jt(e,(e=>Bt(a,e)[0](t,...s??[],...l))))),e=>E(Bt(a,e),(([,t,s])=>(Zt(t,s??[n],void 0,(t=>(At(t,e),zt(t)?1:0))),Qt(a,e),l(e),s))),e=>E(Bt(a,e),(([e,,s=[],l,n])=>{const a=(...r)=>{const o=A(r);o==A(s)?e(t,...r,...n(r)):L(s[o])?G(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),ze=e=>{if(!ce(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!z(t)&&t!=o||(Fe(e[u])!=t&&ie(e,u),0))},Oe=(t,s)=>(!e||Et(F,s)||gt(s))&&ce(t,((e,t)=>$e(s,t,e)),(()=>gt(s))),$e=(e,t,s,l)=>ce(l?s:Qe(s,e,t),((l,n)=>E(Je(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>gt(e,t))),Je=(t,s,l,n)=>e?E(Bt(Bt(F,t),l),(e=>Fe(n)!=e[d]?gt(t,s,l,n,e[u]):n),(()=>gt(t,s,l,n))):L(Fe(n))?gt(t,s,l,n):n,Ae=(e,t)=>ce(t?e:je(e),((t,s)=>E(De(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>pt())),De=(e,s)=>t?E(Bt(B,e),(t=>Fe(s)!=t[d]?pt(e,s,t[u]):s),(()=>pt(e,s))):L(Fe(s))?pt(e,s):s,Qe=(e,t,s)=>(E(Bt(P,t),(([l,n])=>{Jt(l,((t,s)=>{oe(e,s)||(e[s]=t)})),Jt(n,(l=>{oe(e,l)||gt(t,s,l)}))})),e),je=e=>(t&&(Jt(D,((t,s)=>{oe(e,s)||(e[s]=t)})),Jt(Q,(t=>{oe(e,t)||pt(t)}))),e),He=e=>Ht(F,e,((e,t,s)=>{const l=Ft(),n=ss();Ht(jt(F,t,Ft),s,((e,t,s)=>{Qt(e,t,s),E(s[u],(e=>Qt(l,t,e)),(()=>ls(n,t)))})),Qt(P,t,[l,n])}),((e,t)=>{Qt(F,t),Qt(P,t)})),We=e=>Ht(B,e,((e,t,s)=>{Qt(B,t,s),E(s[u],(e=>Qt(D,t,e)),(()=>ls(Q,t)))}),((e,t)=>{Qt(B,t),Qt(D,t),At(Q,t)})),Ue=e=>ue(e)?xs():Cs(e),Ge=e=>Ht(W,e,((e,t,s)=>Ke(t,s)),((e,t)=>nt(t))),Ke=(e,t)=>Ht(jt(W,e,(()=>(it(e,1),Qt(j,e,as()),Qt(H,e,Ft()),Ft()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>at(e,t,s))),Xe=(e,t,s,l,n)=>Ht(jt(t,s,(()=>(dt(e,s,1),Ft()))),l,((t,l,n)=>Ye(e,s,t,l,n)),((l,a)=>rt(e,t,s,l,a,n))),Ye=(e,t,s,l,n)=>{Et(s,l)||ut(e,t,l,1);const a=Bt(s,l);n!==a&&(ct(e,t,l,a,n),Qt(s,l,n))},Ze=(e,t,s,l,n)=>E(Bt(t,s),(t=>Ye(e,s,t,l,n)),(()=>Xe(e,t,s,Qe({[l]:n},e,s)))),_e=e=>ue(e)?qs():vs(e),et=e=>Ht(X,e,((e,t,s)=>tt(t,s)),((e,t)=>ot(t))),tt=(e,t)=>{Et(X,e)||ht(e,1);const s=Bt(X,e);t!==s&&(mt(e,s,t),Qt(X,e,t))},st=(e,t)=>{const[s]=Bt(j,e),l=s(t);return Et(Bt(W,e),l)?st(e,t):l},lt=e=>Bt(W,e)??Ke(e,{}),nt=e=>Ke(e,{}),at=(e,t,s)=>{const[,l]=Bt(j,e);l(s),Xe(e,t,s,{},!0)},rt=(e,t,s,l,n,a)=>{const r=Bt(Bt(P,e)?.[0],n);if(!L(r)&&!a)return Ye(e,s,l,n,r);const o=t=>{ct(e,s,t,Bt(l,t)),ut(e,s,t,-1),Qt(l,t)};L(r)?o(n):Dt(l,o),zt(l)&&(dt(e,s,-1),zt(Qt(t,s))&&(it(e,-1),Qt(W,e),Qt(j,e),Qt(H,e)))},ot=e=>{const t=Bt(D,e);if(!L(t))return tt(e,t);mt(e,Bt(X,e)),ht(e,-1),Qt(X,e)},it=(e,t)=>cs(i,e,t),dt=(e,t,s)=>cs(jt(T,e,Ft),t,s)&&Qt(S,e,jt(S,e,(()=>0))+s),ut=(e,t,s,l)=>{const n=Bt(H,e),a=Bt(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&cs(jt(h,e,Ft),s,l),Qt(n,s,a!=-l?a+l:null),cs(jt(jt(V,e,Ft),t,Ft),s,l)},ct=(e,t,s,l,n)=>{jt(jt(jt(R,e,Ft),t,Ft),s,(()=>[l,0]))[1]=n,r[3]?.(e,t,s,n)},ht=(e,t)=>cs(q,e,t),mt=(e,t,s)=>{jt(M,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},gt=(e,t,s,l,n)=>(Y(jt(jt(jt(N,e,Ft),t,Ft),s,(()=>[])),l),n),pt=(e,t,s)=>(Y(jt($,e,(()=>[])),t),s),bt=(e,t,s)=>E(Bt(Bt(Bt(R,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...rs(es(e,t,s))])),It=e=>E(Bt(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...rs(ms(e))])),ft=e=>zt(N)||zt(Ce[e])?0:Jt(e?Yt(N):N,((t,s)=>Jt(t,((t,l)=>Jt(t,((t,n)=>Ne(Ce[e],[s,l,n],t))))))),yt=e=>zt($)||zt(ve[e])?0:Jt(e?Kt($):$,((t,s)=>Ne(ve[e],[s],t))),wt=(e,t,s,l)=>{if(!zt(e))return Ne(t,l,(()=>Wt(e))),Dt(e,((e,t)=>Ne(s,[...l??[],e],1==t))),1},Ct=e=>{const t=gs();t!=s&&Ne(Z[e],void 0,t);const l=zt(pe[e]),n=zt(fe[e])&&zt(ye[e])&&zt(ge[e])&&zt(be[e])&&zt(le[e])&&zt(ne[e])&&zt(re[e])&&l&&zt(ee[e])&&zt(te[e]),a=zt(we[e])&&zt(Ie[e])&&zt(se[e])&&zt(_[e]);if(!n||!a){const t=e?[Kt(i),Xt(h),Kt(S),Xt(T),Yt(V),Yt(R)]:[i,h,S,T,V,R];if(!n){wt(t[0],ee[e],te[e]),Jt(t[1],((t,s)=>wt(t,le[e],ne[e],[s]))),Jt(t[2],((t,s)=>{0!=t&&Ne(re[e],[s],Vt(s))}));const s=ss();Jt(t[3],((t,n)=>{wt(t,ge[e],be[e],[n])&&!l&&(Ne(pe[e],[n,null]),ls(s,n))})),l||Jt(t[5],((t,l)=>{if(!Et(s,l)){const s=ss();Jt(t,(e=>Jt(e,(([t,l],n)=>l!==t?ls(s,n):At(e,n))))),Jt(s,(t=>Ne(pe[e],[l,t])))}})),Jt(t[4],((t,s)=>Jt(t,((t,l)=>wt(t,fe[e],ye[e],[s,l])))))}if(!a){let s;Jt(t[5],((t,l)=>{let n;Jt(t,((t,a)=>{let r;Jt(t,(([t,o],i)=>{o!==t&&(Ne(we[e],[l,a,i],o,t,bt),s=n=r=1)})),r&&Ne(Ie[e],[l,a],bt)})),n&&Ne(se[e],[l],bt)})),s&&Ne(_[e],void 0,bt)}}},vt=e=>{const t=ys();t!=l&&Ne(ke[e],void 0,t);const s=zt(Te[e])&&zt(xe[e]),n=zt(Ve[e])&&zt(Se[e]);if(!s||!n){const t=e?[Kt(q),Kt(M)]:[q,M];if(s||wt(t[0],Te[e],xe[e]),!n){let s;Jt(t[1],(([t,l],n)=>{l!==t&&(Ne(Ve[e],[n],l,t,It),s=1)})),s&&Ne(Se[e],void 0,It)}}},kt=(e,...t)=>(Ls((()=>e(...K(t,x)))),Os),St=()=>Gt(W),Tt=()=>Pt(W),xt=e=>Pt(Bt(H,x(e))),Vt=e=>qt(Bt(W,x(e))),Rt=e=>Pt(Bt(W,x(e))),Ot=(e,t,s,l=0,n)=>{return K(J(U((a=Bt(W,x(e)),r=(e,s)=>[L(t)?s:Bt(e,x(t)),s],K([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,L(n)?n:l+n),(([,e])=>e));var a,r},_t=(e,t)=>Pt(Bt(Bt(W,x(e)),x(t))),es=(e,t,s)=>Bt(Bt(Bt(W,x(e)),x(t)),x(s)),ts=()=>Wt(X),ns=()=>Pt(X),ms=e=>Bt(X,x(e)),gs=()=>!zt(W),ps=e=>Et(W,x(e)),bs=(e,t)=>Et(Bt(H,x(e)),x(t)),Is=(e,t)=>Et(Bt(W,x(e)),x(t)),fs=(e,t,s)=>Et(Bt(Bt(W,x(e)),x(t)),x(s)),ys=()=>!zt(X),ws=e=>Et(X,x(e)),Cs=e=>kt((()=>(e=>ce(e,Oe,gt))(e)?Ge(e):0)),vs=e=>kt((()=>Ae(e)?et(e):0)),ks=e=>{try{Ue(me(e))}catch{}return Os},Ss=t=>kt((()=>{if((e=ce(t,(e=>ce(e,ze))))&&(He(t),!zt(W))){const e=St();xs(),Cs(e)}})),Ts=e=>kt((()=>{if(t=(e=>ce(e,ze))(e)){const s=ts();Ns(),qs(),t=!0,We(e),vs(s)}})),xs=()=>kt((()=>Ge({}))),Vs=e=>kt((e=>Et(W,e)?nt(e):0),e),Rs=(e,t)=>kt(((e,t)=>E(Bt(W,e),(s=>Et(s,t)?at(e,s,t):0))),e,t),qs=()=>kt((()=>et({}))),Ms=()=>kt((()=>{He({}),e=!1})),Ns=()=>kt((()=>{We({}),t=!1})),Ls=(e,t)=>{if(-1!=a){Es();const s=e();return zs(t),s}},Es=()=>(-1!=a&&a++,1==a&&(r[0]?.(),Ne(Re)),Os),zs=e=>(a>0&&(a--,0==a&&(a=1,ft(1),zt(R)||Ct(1),yt(1),zt(M)||vt(1),e?.(Os)&&(Jt(R,((e,t)=>Jt(e,((e,s)=>Jt(e,(([e],l)=>Pe(Os,t,s,l,e))))))),$t(R),Jt(M,(([e],t)=>Be(Os,t,e))),$t(M)),Ne(qe[0],void 0),a=-1,ft(0),zt(R)||Ct(0),yt(0),zt(M)||vt(0),r[1]?.(),Ne(qe[1],void 0),r[2]?.(),a=0,s=gs(),l=ys(),G([i,h,S,T,V,R,N,q,M,$],$t))),Os),Os={getContent:()=>[St(),ts()],getTables:St,getTableIds:Tt,getTable:e=>Ut(Bt(W,x(e))),getTableCellIds:xt,getRowCount:Vt,getRowIds:Rt,getSortedRowIds:Ot,getRow:(e,t)=>Wt(Bt(Bt(W,x(e)),x(t))),getCellIds:_t,getCell:es,getValues:ts,getValueIds:ns,getValue:ms,hasTables:gs,hasTable:ps,hasTableCell:bs,hasRow:Is,hasCell:fs,hasValues:ys,hasValue:ws,getTablesJson:()=>he(W),getValuesJson:()=>he(X),getJson:()=>he([W,X]),getTablesSchemaJson:()=>he(F),getValuesSchemaJson:()=>he(B),getSchemaJson:()=>he([F,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>kt((()=>{(ue(e)?xs:Cs)(e),(ue(t)?qs:vs)(t)})),setTables:Cs,setTable:(e,t)=>kt((e=>Oe(t,e)?Ke(e,t):0),e),setRow:(e,t,s)=>kt(((e,t)=>$e(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let l;return $e(e,l,t)&&(e=x(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>kt(((e,t)=>{if($e(e,t,s,1)){const l=lt(e);de(s,((s,n)=>Ze(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>kt(((e,t,s)=>E(Je(e,t,s,O(l)?l(es(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>kt((()=>Ae(e,1)?de(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>kt((e=>E(De(e,O(t)?t(ms(e)):t),(t=>tt(e,t)))),e),applyChanges:e=>kt((()=>{de(e[0],((e,t)=>L(e)?Vs(t):de(e,((e,s)=>L(e)?Rs(t,s):de(e,((e,l)=>Pe(Os,t,s,l,e))))))),de(e[1],((e,t)=>Be(Os,t,e)))})),setTablesJson:ks,setValuesJson:e=>{try{_e(me(e))}catch{}return Os},setJson:e=>kt((()=>{try{const[t,s]=me(e);Ue(t),_e(s)}catch{ks(e)}})),setTablesSchema:Ss,setValuesSchema:Ts,setSchema:(e,t)=>kt((()=>{Ss(e),Ts(t)})),delTables:xs,delTable:Vs,delRow:Rs,delCell:(e,t,s,l)=>kt(((e,t,s)=>E(Bt(W,e),(n=>E(Bt(n,t),(a=>Et(a,s)?rt(e,n,t,a,s,l):0))))),e,t,s),delValues:qs,delValue:e=>kt((e=>Et(X,e)?ot(e):0),e),delTablesSchema:Ms,delValuesSchema:Ns,delSchema:()=>kt((()=>{Ms(),Ns()})),transaction:Ls,startTransaction:Es,getTransactionChanges:()=>[Wt(R,((e,t)=>-1===Bt(i,t)?void 0:Wt(e,((e,s)=>-1===Bt(Bt(T,t),s)?void 0:Wt(e,(([,e])=>e),(e=>us(e)))),zt,ue)),zt,ue),Wt(M,(([,e])=>e),(e=>us(e))),1],getTransactionLog:()=>[!zt(R),!zt(M),Gt(R,ds,us),Gt(N),Wt(M,ds,us),Wt($),Wt(i),Ut(T),Gt(V),Wt(q)],finishTransaction:zs,forEachTable:e=>Jt(W,((t,s)=>e(s,(e=>Jt(t,((t,s)=>e(s,(e=>Dt(t,e))))))))),forEachTableCell:(e,t)=>Dt(Bt(H,x(e)),t),forEachRow:(e,t)=>Jt(Bt(W,x(e)),((e,s)=>t(s,(t=>Dt(e,t))))),forEachCell:(e,t,s)=>Dt(Bt(Bt(W,x(e)),x(t)),s),forEachValue:e=>Dt(X,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=Ot(e,t,s,l,n);return Me((()=>{const r=Ot(e,t,s,l,n);var i,d,u;d=o,A(i=r)===A(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,a(Os,e,t,s,l,n,o))}),pe[r?1:0],[e,t],[Tt])},addStartTransactionListener:e=>Me(e,Re),addWillFinishTransactionListener:e=>Me(e,qe[0]),addDidFinishTransactionListener:e=>Me(e,qe[1]),callListener:e=>(Ee(e),Os),delListener:e=>(Le(e),Os),getListenerStats:()=>({hasTables:os(Z),tables:os(_),tableIds:os(ee),hasTable:os(te),table:os(se),tableCellIds:os(le),hasTableCell:os(ne,Nt),rowCount:os(re),rowIds:os(ge),sortedRowIds:os(pe),hasRow:os(be,Nt),row:os(Ie,Nt),cellIds:os(fe,Nt),hasCell:os(ye,Lt),cell:os(we,Lt),invalidCell:os(Ce,Lt),hasValues:os(ke),values:os(Se),valueIds:os(Te),hasValue:os(xe),value:os(Ve),invalidValue:os(ve),transaction:Mt(Re)+os(qe)}),isMergeable:()=>!1,createStore:hs,addListener:Me,callListeners:Ne,setInternalListeners:(e,t,s,l,n)=>r=[e,t,s,l,n]};return de({[c+g]:[0,Z,[],()=>[gs()]],[g]:[0,_],[p]:[0,ee],[c+m]:[1,te,[Tt],e=>[ps(...e)]],[m]:[1,se,[Tt]],[m+w]:[1,le,[Tt]],[c+m+y]:[2,ne,[Tt,xt],e=>[bs(...e)]],[I]:[1,re,[Tt]],[f]:[1,ge,[Tt]],[c+b]:[2,be,[Tt,Rt],e=>[Is(...e)]],[b]:[2,Ie,[Tt,Rt]],[w]:[2,fe,[Tt,Rt]],[c+y]:[3,ye,[Tt,Rt,_t],e=>[fs(...e)]],[y]:[3,we,[Tt,Rt,_t],e=>rs(es(...e))],InvalidCell:[3,Ce],[c+v]:[0,ke,[],()=>[ys()]],[v]:[0,Se],[k]:[0,Te],[c+C]:[1,xe,[ns],e=>[ws(...e)]],[C]:[1,Ve,[ns],e=>rs(ms(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],n)=>{Os["add"+n+"Listener"]=(...n)=>Me(n[e],t[n[e+1]?1:0],e>0?J(n,0,e):void 0,s,l)})),ae(Os)};e.Inspector=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(hs),n=be.indexOf(e);return s.useCreatePersister(l,(e=>{return t=ge,s=sessionStorage,((e,t,s,l,n,a,r,o={},i=[])=>{let d,u,c,h=0,m=0,g=0;jt(_t,i,(()=>0)),jt(es,i,(()=>[]));const[p,b,I,f,y]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ue(e)||!ue(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ue(e)||!ue(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(r,e),w=t=>{(p&&$(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},C=async e=>(2!=h&&(h=1,m++,await T((async()=>{try{w(await t())}catch(t){e&&y(e)}h=0}))),x),v=()=>(u&&(n(u),u=void 0),x),k=async e=>(1!=h&&(h=2,g++,await T((async()=>{try{await s(b,e)}catch(e){}h=0}))),x),S=()=>(E(c,e.delListener),c=void 0,x),T=async(...e)=>(Y(Bt(es,i),...e),await(async()=>{if(!Bt(_t,i)){for(Qt(_t,i,1);!L(d=Z(Bt(es,i)));)try{await d()}catch(e){}Qt(_t,i,0)}})(),x),x={load:C,startAutoLoad:async e=>{await v().load(e);try{u=l((async(e,t)=>{t||e?2!=h&&(h=1,m++,w(t??e),h=0):await C()}))}catch(e){}return x},stopAutoLoad:v,isAutoLoading:()=>!L(u),save:k,startAutoSave:async()=>(await S().save(),c=e.addDidFinishTransactionListener((()=>{const e=I();f(e)&&k(e)})),x),stopAutoSave:S,isAutoSaving:()=>!L(c),schedule:T,getStore:()=>e,destroy:()=>(Bt(es,i).splice(0,void 0),v().stopAutoSave()),getStats:()=>({loads:m,saves:g}),...o};return ae(x)})(e,(async()=>{return e=s.getItem(t),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return s.setItem(t,(l=e(),JSON.stringify(l,((e,t)=>void 0===t?"":t))));var l}),(e=>{const l=l=>{if(l.storageArea===s&&l.key===t)try{e(me(l.newValue))}catch{e()}};return V.addEventListener(ts,l),l}),(e=>V.removeEventListener(ts,e)),0,3,{getStorageName:()=>t});var t,s}),void 0,(async e=>{await e.load([{},{position:-1==n?1:n,open:!!t}]),await e.startAutoSave()})),B(P,null,B("aside",{id:ge},B(Je,{s:l}),B(Vt,{s:l})),B("style",null,$e))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("../../ui-react/with-schemas/index.js")):"function"==typeof define&&define.amd?define(["exports","react","../ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactInspector={},e.React,e.TinyBaseUiReact);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",C=f+h,w="Row",p=w+"Count",y=w+h,L="Sorted"+w+h,v="Cell",S=v+h,T="Value",R=T+"s",I=T+h,M=e=>s+e,D=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),m=Promise,H=globalThis,E=Math,k=E.max,A=E.min,G=E.floor,x=isFinite,J=e=>null==e,O=(e,t,s)=>J(e)?s?.():t(e),F=e=>e==n||e==a,P=e=>t(e)==n,Q=e=>t(e)==r,z=e=>Array.isArray(e),N=(e,t,s)=>e.slice(t,s),W=e=>e.length,j=()=>{},_=(e,t)=>e.includes(t),B=(e,t)=>e.every(t),U=(e,t)=>W(e)===W(t)&&B(e,((e,s)=>t[s]===e)),$=(e,t)=>B(e,((s,n)=>0==n||t(e[n-1],s)<=0)),q=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),X=(e,t)=>e.map(t),Y=e=>ee(e,((e,t)=>e+t),0),Z=e=>0==W(e),ee=(e,t,s)=>e.reduce(t,s),te=(e,...t)=>e.push(...t),se=e=>e.pop(),ne=e=>e.shift(),ae=Object,oe=e=>ae.getPrototypeOf(e),re=ae.entries,le=ae.isFrozen,ie=e=>!J(e)&&O(oe(e),(e=>e==ae.prototype||J(oe(e))),(()=>!0)),ce=ae.keys,de=ae.freeze,ue=(e=[])=>ae.fromEntries(e),ge=(e,t)=>t in e,he=(e,t)=>(delete e[t],e),fe=(e,t)=>K(re(e),(([e,s])=>t(s,e))),be=(e,t)=>X(re(e),(([e,s])=>t(s,e))),Ce=e=>ie(e)&&0==(e=>W(ce(e)))(e),we=(e,t,s)=>(ge(e,t)||(e[t]=s()),e[t]),pe=(e,t,s,n=0)=>J(e)||!ie(e)||!n&&Ce(e)||le(e)?(s?.(),!1):(be(e,((s,n)=>{t(s,n)||he(e,n)})),!!n||!Ce(e)),ye=e=>t=>ee(Me(t),((t,s)=>t+e(s)),0),Le=e=>e?.size??0,ve=ye(Le),Se=ye(ve),Te=ye(Se),Re=(e,t)=>e?.has(t)??!1,Ie=e=>J(e)||0==Le(e),Me=e=>[...e?.values()??[]],De=e=>e.clear(),Ve=(e,t)=>e?.forEach(t),me=(e,t)=>e?.delete(t),He=e=>new Map(e),Ee=e=>[...e?.keys()??[]],ke=(e,t)=>e?.get(t),Ae=(e,t)=>Ve(e,((e,s)=>t(s,e))),Ge=(e,t,s)=>J(s)?(me(e,t),e):e?.set(t,s),xe=(e,t,s,n)=>(Re(e,t)?n?.(ke(e,t)):Ge(e,t,s()),ke(e,t)),Je=(e,t,s,n=Ge)=>(be(t,((t,n)=>s(e,n,t))),Ae(e,(s=>ge(t,s)?0:n(e,s))),e),Oe=(e,t,s,n)=>{const a={};return Ve(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},Fe=(e,t,s)=>Oe(e,(e=>Oe(e,t,s)),Ie,Ce),Pe=(e,t,s)=>Oe(e,(e=>Fe(e,t,s)),Ie,Ce),Qe=(e,t)=>{const s=He();return Ve(e,((e,n)=>s.set(n,t?.(e)??e))),s},ze=e=>Qe(e,Qe),Ne=e=>Qe(e,ze),We=(e,t,s,n,a=0)=>O((s?xe:ke)(e,t[a],a>W(t)-2?s:He),(o=>{if(a>W(t)-2)return n?.(o)&&Ge(e,t[a]),o;const r=We(o,t,s,n,a+1);return Ie(o)&&Ge(e,t[a]),r})),je=e=>{const s=t(e);return F(s)||s==o&&x(e)?s:void 0},_e=e=>J(e)||!J(je(e)),Be=(e,t,s,n,a)=>J(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ue=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),$e=e=>new Set(z(e)||J(e)?e:[e]),qe=(e,t)=>e?.add(t),Ke=(e,t,s,n,a)=>{const o=e.hasRow,r=He(),l=He(),i=He(),c=He(),d=He(),u=He(),g=(t,s,...n)=>{const a=xe(u,t,$e);return K(n,(t=>qe(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>O(ke(u,t),(n=>{K(Z(s)?Me(n):s,(t=>{e.delListener(t),me(n,t)})),Ie(n)&&Ge(u,t)})),f=(e,s)=>{Ge(r,e,s),Re(l,e)||(Ge(l,e,t()),Ge(c,e,He()),Ge(d,e,He()),a(i))},b=e=>{Ge(r,e),Ge(l,e),Ge(c,e),Ge(d,e),h(e),a(i)};return[()=>e,()=>Ee(r),e=>Ae(l,e),e=>Re(l,e),e=>ke(r,e),e=>ke(l,e),(e,t)=>Ge(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=He(),u=He(),b=ke(c,t),C=ke(d,t),w=t=>{const a=s=>e.getCell(n,t,s),c=ke(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||z(c)&&z(d)&&U(c,d)||Ge(i,t,[c,d]),!J(l)){const e=ke(C,t),s=o(n,t)?l(a,t):void 0;e!=s&&Ge(u,t,s)}},p=e=>{a((()=>{Ve(i,(([,e],t)=>Ge(b,t,e))),Ve(u,((e,t)=>Ge(C,t,e)))}),i,u,b,C,e),De(i),De(u)};Ae(b,w),e.hasTable(n)&&K(e.getRowIds(n),(e=>{Re(b,e)||w(e)})),p(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>p())))},b,e=>n(e,i),()=>Ae(u,b),g,h]},Xe=(e,t)=>P(e)?t=>t(e):e??(()=>t??s),Ye=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},Ze=/^\d+$/,et=()=>{const e=[];let t=0;return[n=>(n?ne(e):null)??s+t++,t=>{Ze.test(t)&&W(e)<1e3&&te(e,t)}]},tt=e=>{let t;const[n,a]=et(),o=He();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ge(o,d,[a,r,l,i,c]),qe(We(r,l??[s],$e),d),d},(e,n,...a)=>K(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?te(n,e):null===t[s]?Ve(e,(e=>a(e,s+1))):K([t[s],null],(t=>a(ke(e,t),s+1)));return a(e,0),n})(e,n),(e=>Ve(e,(e=>ke(o,e)[0](t,...n??[],...a))))),e=>O(ke(o,e),(([,t,n])=>(We(t,n??[s],void 0,(t=>(me(t,e),Ie(t)?1:0))),Ge(o,e),a(e),n))),e=>O(ke(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):J(s[l])?K(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},st=Ye((e=>{let t,n,a,o=100,r=He(),l=He(),i=1;const c=He(),d=He(),[u,g,h]=tt((()=>A)),f=He(),b=He(),C=[],w=[],p=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ke(f,s);Ve(n,((s,n)=>Ve(s,((s,a)=>Ve(s,((s,o)=>Be(e,n,a,o,s[t]))))))),Ve(a,((s,n)=>Ue(e,n,s[t])))})),i=1},y=e=>{Ge(f,e),Ge(b,e),g(d,[e])},L=(e,t)=>K(((e,t)=>e.splice(0,t))(e,t??W(e)),y),v=()=>L(C,W(C)-o),S=()=>O(t,(()=>{te(C,t),v(),L(w),t=void 0,a=1})),T=()=>{t=se(C),a=1};let R,I;const M=(e=s)=>(J(t)&&(t=s+n++,Ge(f,t,[r,l]),E(t,e),r=He(),l=He(),a=1),t),D=()=>{Z(C)||(((e,...t)=>{e.unshift(...t)})(w,M()),p(0,t),t=se(C),a=1)},V=()=>{Z(w)||(te(C,t),t=ne(w),p(1,t),a=1)},m=()=>{a&&(g(c),a=0)},H=e=>{const t=M(e);return m(),t},E=(e,t)=>(k(e)&&ke(b,e)!==t&&(Ge(b,e,t),g(d,[e])),A),k=e=>Re(f,e),A={setSize:e=>(o=e,v(),A),addCheckpoint:H,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...C],t,[...w]],forEachCheckpoint:e=>Ae(b,e),hasCheckpoint:k,getCheckpoint:e=>ke(b,e),goBackward:()=>(D(),m(),A),goForward:()=>(V(),m(),A),goTo:e=>{const s=_(C,e)?D:_(w,e)?V:null;for(;!J(s)&&e!=t;)s();return m(),A},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),A),clear:()=>(L(C),L(w),J(t)||y(t),t=void 0,n=0,H(),A),clearForward:()=>(Z(w)||(L(w),g(c)),A),destroy:()=>{e.delListener(R),e.delListener(I)},getListenerStats:()=>({checkpointIds:ve(c),checkpoint:ve(d)}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){S();const e=xe(r,t,He),l=xe(e,s,He),i=xe(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Ie(Ge(l,n))&&Ie(Ge(e,s))&&Ie(Ge(r,t))&&T(),m()}})),I=e.addValueListener(null,((e,t,s,n)=>{if(i){S();const e=xe(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Ie(Ge(l,t))&&T(),m()}}))}};return de(A.clear())}),(e=>e._registerListeners())),nt="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(s),at=He(X(nt,((e,t)=>[e,t]))),ot=e=>nt[63&e],rt=(e,t)=>ke(at,e[t])??0,lt=H.crypto?e=>H.crypto.getRandomValues(e):e=>X(e,(()=>G(256*E.random()))),it=(e,t)=>(e??0)<(t??0)?-1:1,ct=(e=16)=>ee(lt(new Uint8Array(e)),((e,t)=>e+ot(t)),""),dt=Ye((e=>{const t=He(),n=He(),[a,o,r]=tt((()=>y)),[l,i,c,d,u,g,h,,f,b,C,w]=Ke(e,He,(e=>J(e)?s:z(e)?X(e,M):M(e)),a,o),p=(t,s,n)=>{const a=u(t);Ve(n,((t,n)=>s(n,(s=>Ve(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},y={setIndexDefinition:(e,s,a,r,l,i=it)=>{const c=J(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let b=0;const C=$e(),w=$e(),p=g(e);if(Ve(a,(([e,t],s)=>{const n=$e(e),a=$e(t);Ve(n,(e=>me(a,e)?me(n,e):0)),Ve(n,(e=>{qe(C,e),O(ke(p,e),(t=>{me(t,s),Ie(t)&&(Ge(p,e),b=1)}))})),Ve(a,(e=>{qe(C,e),Re(p,e)||(Ge(p,e,$e()),b=1),qe(ke(p,e),s),J(r)||qe(w,e)}))})),s(),Ie(u)||(f?Ae(p,(e=>qe(w,e))):Ae(l,(e=>O(ke(d,e),(e=>qe(w,e))))),Ve(w,(e=>{const t=(t,s)=>i(ke(u,t),ke(u,s),e),s=[...ke(p,e)];$(s,t)||(Ge(p,e,$e(q(s,t))),qe(C,e))}))),(b||f)&&!J(c)){const t=[...p];$(t,c)||(h(e,He(q(t,c))),b=1)}b&&o(t,[e]),Ve(C,(t=>o(n,[e,t])))}),Xe(a),O(r,Xe)),y},delIndexDefinition:e=>(b(e),y),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Re(g(e),t),getTableId:u,getSliceIds:e=>Ee(g(e)),getSliceRowIds:(e,t)=>Me(ke(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),y),destroy:w,getListenerStats:()=>({sliceIds:ve(t),sliceRowIds:Se(n)})};return de(y)})),ut=He([["avg",[(e,t)=>Y(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>k(...e),(e,t)=>k(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:k(t,e)]],["min",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:A(t,e)]],["sum",[e=>Y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),gt=(e,t,s,n,a,o=!1)=>{if(Ie(s))return;const[r,l,i,c]=a;return o||=J(e),Ve(n,(([s,n])=>{o||(e=J(s)?l?.(e,n,t++):J(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=J(e))})),o?r(Me(s),Le(s)):e},ht=Ye((e=>{const t=He(),[n,a,o]=tt((()=>w)),[r,l,i,c,d,u,g,,h,f,b,C]=Ke(e,j,(e=>isNaN(e)||J(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),w={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=Q(n)?[n,r,l,i]:ke(ut,n)??ke(ut,"sum");return h(e,s,((s,n,o,r,l,i)=>{const d=u(e),h=Le(r);i||=J(d),s();let f=gt(d,h,r,n,c,i);x(f)||(f=void 0),f!=d&&(g(e,f),a(t,[e],f,d))}),Xe(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),w),destroy:C,getListenerStats:()=>({metric:ve(t)})};return de(w)})),ft={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},bt=He(),Ct=He(),wt=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0,h=0,f=0;xe(bt,i,(()=>0)),xe(Ct,i,(()=>[]));const[b,C,w,p,y]=((e=ft.StoreOnly,t)=>e!=ft.StoreOnly&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!Ce(e)||!Ce(t),t.setDefaultContent]:e!=ft.MergeableStoreOnly?[0,t.getContent,t.getTransactionChanges,([e,t])=>!Ce(e)||!Ce(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(r,e),L=t=>{(b&&z(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v=async e=>(2!=g&&(g=1,h++,await I((async()=>{try{L(await t())}catch(t){o?.(t),e&&y(e)}g=0}))),M),S=()=>(d&&(a(d),d=void 0),M),T=async e=>(1!=g&&(g=2,f++,await I((async()=>{try{await s(C,e)}catch(e){o?.(e)}g=0}))),M),R=()=>(O(u,e.delListener),u=void 0,M),I=async(...e)=>(te(ke(Ct,i),...e),await(async()=>{if(!ke(bt,i)){for(Ge(bt,i,1);!J(c=ne(ke(Ct,i)));)try{await c()}catch(e){o?.(e)}Ge(bt,i,0)}})(),M),M={load:v,startAutoLoad:async e=>(await S().load(e),d=n((async(e,t)=>{t||e?2!=g&&(g=1,h++,L(t??e),g=0):await v()})),M),stopAutoLoad:S,isAutoLoading:()=>!J(d),save:T,startAutoSave:async()=>(await R().save(),u=e.addDidFinishTransactionListener((()=>{const e=w();p(e)&&T(e)})),M),stopAutoSave:R,isAutoSaving:()=>!J(u),schedule:I,getStore:()=>e,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:h,saves:f}),...l};return de(M)},pt=new H.TextEncoder,yt=e=>{let t=2166136261;return K(pt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},Lt=([e,t,s])=>[e,t,s],vt=([e,t])=>St(e,t),St=(e,t)=>t?[e,t]:[e],Tt=e=>e[2],Rt=(e,t)=>yt(e+":"+t),It=(e,t)=>t>e?(e?yt(e):0)^yt(t):0,Mt=(e,t)=>((e??"")>(t??"")?e:t)??"",Dt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},Vt=(e=s)=>St(ue(),e),mt=(e=s)=>[He(),e,0],Ht=([e,t,s],n=Lt)=>[Oe(e,n),t,s],Et=([e,t],s=vt)=>St(Oe(e,s),t),kt=(e,s)=>z(e)&&3==W(e)&&P(e[1])&&t(e[2])==o&&x(e[2])&&s(e[0]),At={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},Gt=Ye((e=>{const t=e.createStore,n=t(),a=t(),o=He(),{addListener:r,callListeners:l,delListener:i}=a,[g,h,b,C,T,,,R,,I,M,D,V,m]=Ke(e,(()=>!0),j,r,l),H=(e,t,...s)=>K(s,(s=>qe(xe(xe(o,t,He),e,$e),s))),E=e=>{O(ke(o,e),(e=>{Ae(e,((e,t)=>Ve(t,(t=>e.delListener(t))))),De(e)})),K([a,n],(t=>t.delTable(e)))},k=(e,t,s)=>H(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),A={setQueryDefinition:(t,o,r)=>{R(t,o),E(t);const l=[],i=[[null,[o,null,null,[],He()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=Q(e)?[W(l)+s,e]:[J(t)?e:t,s=>s(e,t)];return te(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=J(s)||Q(t)?null:t,a=J(n)?t:s,o=[e,[e,n,Q(a)?a:e=>e(a),[],He()]];return te(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>te(c,Q(e)?e:J(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,Q(t)?[t,s,n,a]:ke(ut,t)??[(e,t)=>t]]];return te(d,o),{as:e=>o[0]=e}},having:(e,t)=>te(u,Q(e)?e:s=>s(e)===t)});const g=He(l);if(Ie(g))return A;const h=He(i);Ae(h,((e,[,t])=>O(ke(h,t),(({3:t})=>J(e)?0:te(t,e)))));const f=He(d);let b=n;if(Ie(f)&&Z(u))b=a;else{k(t,b,a);const e=He();Ae(f,((t,[s,n])=>qe(xe(e,s,$e),[t,n])));const s=$e();Ae(g,(t=>Re(e,t)?0:qe(s,t)));const n=He(),o=(s,n,o,r)=>O(s,(([l,i,c,d])=>{Ae(n,((t,[s])=>{const n=xe(l,t,He),a=ke(n,o),i=r?void 0:s;if(a!==i){const s=$e([[a,i]]),r=Le(n);Ge(n,o,i),Ve(ke(e,t),(([e,t])=>{const a=gt(d[e],r,n,s,t);d[e]=J(je(a))?null:a}))}})),Ie(i)||!B(u,(e=>e((e=>d[e]))))?a.delRow(t,c):J(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));H(b,t,b.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=He(),g=b.hasRow(t,l);let h=!g;Ve(s,(e=>{const[s,n,a]=i(t,l,e);te(c,n),te(d,a),h||=s})),Ae(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&Ge(u,e,[n])})),h&&o(We(n,c,void 0,(([,e])=>(me(e,l),Ie(e)))),u,l,1),g&&o(We(n,d,(()=>{const e={};return Ve(s,(s=>e[s]=b.getCell(t,l,s))),[He(),$e(),void 0,e]}),(([,e])=>{qe(e,l)})),u,l)})))}k(t,e,b);const C=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);K(r,(n=>{const[a,,o,r,i]=ke(h,n),c=o?.(l,s),[d,u]=ke(i,s)??[];c!=d&&(J(u)||m(t,u),Ge(i,s,J(c)?null:[c,...V(t,1,e.addRowListener(a,c,(()=>C(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...J(n)?[o,s,t]:t===o?[o,s,n]:[ke(h,t)?.[0],ke(ke(h,t)?.[4],s)?.[0],n]);b.transaction((()=>B(c,(e=>e(n)))?Ae(g,((e,a)=>Be(b,t,s,e,a(n,s)))):b.delRow(t,s)))})(s)},{3:w}=ke(h,null);return b.transaction((()=>V(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?C(a,o,a,w):(b.delRow(t,a),Ve(h,(({4:e})=>O(ke(e,a),(([,s])=>{m(t,s),Ge(e,a)})))))}))))),A},delQueryDefinition:e=>(E(e),I(e),A),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:C,getTableId:T,addQueryIdsListener:e=>M((()=>e(A))),delListener:e=>(i(e),A),destroy:D,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return be({[f]:[1,1],[f+S]:[0,1],[p]:[0,1],[y]:[0,1],[L]:[0,5],[w]:[1,2],[S]:[0,2],[v]:[1,3]},(([e,t],s)=>{K(e?["get","has","forEach"]:["get"],(e=>A[e+d+s]=(...t)=>a[e+s](...t))),A[u+d+s+c]=(...e)=>a[u+s+c](...N(e,0,t),((s,...n)=>e[t](A,...n)),!0)})),de(A)})),xt=Ye((e=>{const t=He(),n=He(),a=He(),o=He(),[r,l,i]=tt((()=>S)),[c,d,u,g,h,f,,,b,C,w,p]=Ke(e,(()=>[He(),He(),He(),He()]),(e=>J(e)?void 0:e+s),r,l),y=(e,t,s)=>O(f(e),(([n,,a])=>{if(!Re(a,t)){const o=$e();if(h(e)!=v(e))qe(o,t);else{let e=t;for(;!J(e)&&!Re(o,e);)qe(o,e),e=ke(n,e)}if(s)return o;Ge(a,t,o)}return ke(a,t)})),L=(e,t)=>O(f(e),(([,,e])=>Ge(e,t))),v=e=>ke(t,e),S={setRelationshipDefinition:(e,s,r,i)=>(Ge(t,e,r),b(e,s,((t,s)=>{const r=$e(),i=$e(),c=$e(),[d,u]=f(e);Ve(s,(([t,s],n)=>{J(t)||(qe(i,t),O(ke(u,t),(e=>{me(e,n),Ie(e)&&Ge(u,t)}))),J(s)||(qe(i,s),Re(u,s)||Ge(u,s,$e()),qe(ke(u,s),n)),qe(r,n),Ge(d,n,s),Ae(ke(o,e),(t=>{Re(y(e,t),n)&&qe(c,t)}))})),t(),Ve(r,(t=>l(n,[e,t]))),Ve(i,(t=>l(a,[e,t]))),Ve(c,(t=>{L(e,t),l(o,[e,t])}))}),Xe(i)),S),delRelationshipDefinition:e=>(Ge(t,e),C(e),S),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:v,getRemoteRowId:(e,t)=>ke(f(e)?.[0],t),getLocalRowIds:(e,t)=>Me(ke(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>J(f(e))?[t]:Me(y(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(y(e,t),r(s,o,[e,t])),delListener:e=>(L(...i(e)??[]),S),destroy:p,getListenerStats:()=>({remoteRowId:Se(n),localRowIds:Se(a),linkedRowIds:Se(o)})};return de(S)})),Jt=e=>[e,e],Ot=(e,t=ve)=>t(e[0])+t(e[1]),Ft=()=>[He(),He()],Pt=e=>[...e],Qt=([e,t])=>e===t,zt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ae.fromEntries([...t]):t)),Nt=JSON.parse,Wt=(e,t,s)=>Ge(e,t,ke(e,t)==-s?void 0:s),jt=()=>{let e,t,s=!1,n=!1,a=0,r=[];const d=He(),h=He(),L=He(),D=He(),V=He(),m=He(),H=He(),E=He(),k=He(),A=He(),G=He(),x=He(),P=He(),z=He(),W=$e(),j=He(),B=He(),$=He(),Y=He(),Z=Ft(),ee=Ft(),se=Ft(),ne=Ft(),ae=Ft(),oe=Ft(),re=Ft(),le=Ft(),ie=Ft(),ce=Ft(),ue=Ft(),fe=Ft(),we=Ft(),ye=Ft(),Me=Ft(),We=Ft(),_e=Ft(),Ke=Ft(),Xe=Ft(),Ye=Ft(),Ze=Ft(),st=Ft(),nt=He(),at=Ft(),[ot,rt,lt,ct]=tt((()=>Fs)),dt=e=>{if(!pe(e,((e,t)=>_([l,i],t))))return!1;const t=e[l];return!(!F(t)&&t!=o||(je(e[i])!=t&&he(e,i),0))},ut=(t,s)=>(!e||Re(G,s)||Kt(s))&&pe(t,((e,t)=>gt(s,t,e)),(()=>Kt(s))),gt=(e,t,s,n)=>pe(n?s:Ct(s,e,t),((n,a)=>O(ht(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Kt(e,t))),ht=(t,s,n,a)=>e?O(ke(ke(G,t),n),(e=>je(a)!=e[l]?Kt(t,s,n,a,e[i]):a),(()=>Kt(t,s,n,a))):J(je(a))?Kt(t,s,n,a):a,ft=(e,t)=>pe(t?e:wt(e),((t,s)=>O(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),bt=(e,s)=>t?O(ke(P,e),(t=>je(s)!=t[l]?Xt(e,s,t[i]):s),(()=>Xt(e,s))):J(je(s))?Xt(e,s):s,Ct=(e,t,s)=>(O(ke(x,t),(([n,a])=>{Ve(n,((t,s)=>{ge(e,s)||(e[s]=t)})),Ve(a,(n=>{ge(e,n)||Kt(t,s,n)}))})),e),wt=e=>(t&&(Ve(z,((t,s)=>{ge(e,s)||(e[s]=t)})),Ve(W,(t=>{ge(e,t)||Xt(t)}))),e),pt=e=>Je(G,e,((e,t,s)=>{const n=He(),a=$e();Je(xe(G,t,He),s,((e,t,s)=>{Ge(e,t,s),O(s[i],(e=>Ge(n,t,e)),(()=>qe(a,t)))})),Ge(x,t,[n,a])}),((e,t)=>{Ge(G,t),Ge(x,t)})),yt=e=>Je(P,e,((e,t,s)=>{Ge(P,t,s),O(s[i],(e=>Ge(z,t,e)),(()=>qe(W,t)))}),((e,t)=>{Ge(P,t),Ge(z,t),me(W,t)})),Lt=e=>Ce(e)?ms():Rs(e),vt=e=>Je($,e,((e,t,s)=>St(t,s)),((e,t)=>Et(t))),St=(e,t)=>Je(xe($,e,(()=>(xt(e,1),Ge(j,e,et()),Ge(B,e,He()),He()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>kt(e,t,s))),Tt=(e,t,s,n,a)=>Je(xe(t,s,(()=>(_t(e,s,1),He()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,o)=>At(e,t,s,n,o,a))),Rt=(e,t,s,n,a)=>{Re(s,n)||Bt(e,t,n,1);const o=ke(s,n);a!==o&&(Ut(e,t,n,o,a),Ge(s,n,a))},It=(e,t,s,n,a)=>O(ke(t,s),(t=>Rt(e,s,t,n,a)),(()=>Tt(e,t,s,Ct({[n]:a},e,s)))),Mt=e=>Ce(e)?ks():Is(e),Dt=e=>Je(Y,e,((e,t,s)=>Vt(t,s)),((e,t)=>Gt(t))),Vt=(e,t)=>{Re(Y,e)||$t(e,1);const s=ke(Y,e);t!==s&&(qt(e,s,t),Ge(Y,e,t))},mt=(e,t)=>{const[s]=ke(j,e),n=s(t);return Re(ke($,e),n)?mt(e,t):n},Ht=e=>ke($,e)??St(e,{}),Et=e=>St(e,{}),kt=(e,t,s)=>{const[,n]=ke(j,e);n(s),Tt(e,t,s,{},!0)},At=(e,t,s,n,a,o)=>{const r=ke(ke(x,e)?.[0],a);if(!J(r)&&!o)return Rt(e,s,n,a,r);const l=t=>{Ut(e,s,t,ke(n,t)),Bt(e,s,t,-1),Ge(n,t)};J(r)?l(a):Ae(n,l),Ie(n)&&(_t(e,s,-1),Ie(Ge(t,s))&&(xt(e,-1),Ge($,e),Ge(j,e),Ge(B,e)))},Gt=e=>{const t=ke(z,e);if(!J(t))return Vt(e,t);qt(e,ke(Y,e)),$t(e,-1),Ge(Y,e)},xt=(e,t)=>Wt(d,e,t),_t=(e,t,s)=>Wt(xe(D,e,He),t,s)&&Ge(L,e,xe(L,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=ke(B,e),o=ke(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Wt(xe(h,e,He),s,n),Ge(a,s,o!=-n?o+n:null),Wt(xe(xe(V,e,He),t,He),s,n)},Ut=(e,t,s,n,a)=>{xe(xe(xe(m,e,He),t,He),s,(()=>[n,0]))[1]=a,r[3]?.(e,t,s,a)},$t=(e,t)=>Wt(H,e,t),qt=(e,t,s)=>{xe(E,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},Kt=(e,t,s,n,a)=>(te(xe(xe(xe(k,e,He),t,He),s,(()=>[])),n),a),Xt=(e,t,s)=>(te(xe(A,e,(()=>[])),t),s),Yt=(e,t,s)=>O(ke(ke(ke(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Jt(hs(e,t,s))])),Zt=e=>O(ke(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Jt(Cs(e))])),es=e=>Ie(k)||Ie(We[e])?0:Ve(e?Ne(k):k,((t,s)=>Ve(t,((t,n)=>Ve(t,((t,a)=>rt(We[e],[s,n,a],t))))))),ts=e=>Ie(A)||Ie(_e[e])?0:Ve(e?Qe(A):A,((t,s)=>rt(_e[e],[s],t))),ss=(e,t,s,n)=>{if(!Ie(e))return rt(t,n,(()=>Oe(e))),Ae(e,((e,t)=>rt(s,[...n??[],e],1==t))),1},ns=e=>{const t=ws();t!=s&&rt(Z[e],void 0,t);const n=Ie(ce[e]),a=Ie(we[e])&&Ie(ye[e])&&Ie(ie[e])&&Ie(ue[e])&&Ie(oe[e])&&Ie(re[e])&&Ie(le[e])&&n&&Ie(se[e])&&Ie(ne[e]),o=Ie(Me[e])&&Ie(fe[e])&&Ie(ae[e])&&Ie(ee[e]);if(!a||!o){const t=e?[Qe(d),ze(h),Qe(L),ze(D),Ne(V),Ne(m)]:[d,h,L,D,V,m];if(!a){ss(t[0],se[e],ne[e]),Ve(t[1],((t,s)=>ss(t,oe[e],re[e],[s]))),Ve(t[2],((t,s)=>{0!=t&&rt(le[e],[s],cs(s))}));const s=$e();Ve(t[3],((t,a)=>{ss(t,ie[e],ue[e],[a])&&!n&&(rt(ce[e],[a,null]),qe(s,a))})),n||Ve(t[5],((t,n)=>{if(!Re(s,n)){const s=$e();Ve(t,(e=>Ve(e,(([t,n],a)=>n!==t?qe(s,a):me(e,a))))),Ve(s,(t=>rt(ce[e],[n,t])))}})),Ve(t[4],((t,s)=>Ve(t,((t,n)=>ss(t,we[e],ye[e],[s,n])))))}if(!o){let s;Ve(t[5],((t,n)=>{let a;Ve(t,((t,o)=>{let r;Ve(t,(([t,l],i)=>{l!==t&&(rt(Me[e],[n,o,i],l,t,Yt),s=a=r=1)})),r&&rt(fe[e],[n,o],Yt)})),a&&rt(ae[e],[n],Yt)})),s&&rt(ee[e],void 0,Yt)}}},as=e=>{const t=Ss();t!=n&&rt(Ke[e],void 0,t);const s=Ie(Ye[e])&&Ie(Ze[e]),a=Ie(st[e])&&Ie(Xe[e]);if(!s||!a){const t=e?[Qe(H),Qe(E)]:[H,E];if(s||ss(t[0],Ye[e],Ze[e]),!a){let s;Ve(t[1],(([t,n],a)=>{n!==t&&(rt(st[e],[a],n,t,Zt),s=1)})),s&&rt(Xe[e],void 0,Zt)}}},os=(e,...t)=>(xs((()=>e(...X(t,M)))),Fs),rs=()=>Pe($),ls=()=>Ee($),is=e=>Ee(ke(B,M(e))),cs=e=>Le(ke($,M(e))),ds=e=>Ee(ke($,M(e))),us=(e,t,s,n=0,a)=>{return X(N(q((o=ke($,M(e)),r=(e,s)=>[J(t)?s:ke(e,M(t)),s],X([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>it(e,t)*(s?-1:1))),n,J(a)?a:n+a),(([,e])=>e));var o,r},gs=(e,t)=>Ee(ke(ke($,M(e)),M(t))),hs=(e,t,s)=>ke(ke(ke($,M(e)),M(t)),M(s)),fs=()=>Oe(Y),bs=()=>Ee(Y),Cs=e=>ke(Y,M(e)),ws=()=>!Ie($),ps=e=>Re($,M(e)),ys=(e,t)=>Re(ke(B,M(e)),M(t)),Ls=(e,t)=>Re(ke($,M(e)),M(t)),vs=(e,t,s)=>Re(ke(ke($,M(e)),M(t)),M(s)),Ss=()=>!Ie(Y),Ts=e=>Re(Y,M(e)),Rs=e=>os((()=>(e=>pe(e,ut,Kt))(e)?vt(e):0)),Is=e=>os((()=>ft(e)?Dt(e):0)),Ms=e=>{try{Lt(Nt(e))}catch{}return Fs},Ds=t=>os((()=>{if((e=pe(t,(e=>pe(e,dt))))&&(pt(t),!Ie($))){const e=rs();ms(),Rs(e)}})),Vs=e=>os((()=>{if(t=(e=>pe(e,dt))(e)){const s=fs();Gs(),ks(),t=!0,yt(e),Is(s)}})),ms=()=>os((()=>vt({}))),Hs=e=>os((e=>Re($,e)?Et(e):0),e),Es=(e,t)=>os(((e,t)=>O(ke($,e),(s=>Re(s,t)?kt(e,s,t):0))),e,t),ks=()=>os((()=>Dt({}))),As=()=>os((()=>{pt({}),e=!1})),Gs=()=>os((()=>{yt({}),t=!1})),xs=(e,t)=>{if(-1!=a){Js();const s=e();return Os(t),s}},Js=()=>(-1!=a&&a++,1==a&&(r[0]?.(),rt(nt)),Fs),Os=e=>(a>0&&(a--,0==a&&(a=1,es(1),Ie(m)||ns(1),ts(1),Ie(E)||as(1),e?.(Fs)&&(Ve(m,((e,t)=>Ve(e,((e,s)=>Ve(e,(([e],n)=>Be(Fs,t,s,n,e))))))),De(m),Ve(E,(([e],t)=>Ue(Fs,t,e))),De(E)),rt(at[0],void 0),a=-1,es(0),Ie(m)||ns(0),ts(0),Ie(E)||as(0),r[1]?.(),rt(at[1],void 0),r[2]?.(),a=0,s=ws(),n=Ss(),K([d,h,L,D,V,m,k,H,E,A],De))),Fs),Fs={getContent:()=>[rs(),fs()],getTables:rs,getTableIds:ls,getTable:e=>Fe(ke($,M(e))),getTableCellIds:is,getRowCount:cs,getRowIds:ds,getSortedRowIds:us,getRow:(e,t)=>Oe(ke(ke($,M(e)),M(t))),getCellIds:gs,getCell:hs,getValues:fs,getValueIds:bs,getValue:Cs,hasTables:ws,hasTable:ps,hasTableCell:ys,hasRow:Ls,hasCell:vs,hasValues:Ss,hasValue:Ts,getTablesJson:()=>zt($),getValuesJson:()=>zt(Y),getJson:()=>zt([$,Y]),getTablesSchemaJson:()=>zt(G),getValuesSchemaJson:()=>zt(P),getSchemaJson:()=>zt([G,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>os((()=>{(Ce(e)?ms:Rs)(e),(Ce(t)?ks:Is)(t)})),setTables:Rs,setTable:(e,t)=>os((e=>ut(t,e)?St(e,t):0),e),setRow:(e,t,s)=>os(((e,t)=>gt(e,t,s)?Tt(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>xs((()=>{let n;return gt(e,n,t)&&(e=M(e),Tt(e,Ht(e),n=mt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>os(((e,t)=>{if(gt(e,t,s,1)){const n=Ht(e);be(s,((s,a)=>It(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>os(((e,t,s)=>O(ht(e,t,s,Q(n)?n(hs(e,t,s)):n),(n=>It(e,Ht(e),t,s,n)))),e,t,s),setValues:Is,setPartialValues:e=>os((()=>ft(e,1)?be(e,((e,t)=>Vt(t,e))):0)),setValue:(e,t)=>os((e=>O(bt(e,Q(t)?t(Cs(e)):t),(t=>Vt(e,t)))),e),applyChanges:e=>os((()=>{be(e[0],((e,t)=>J(e)?Hs(t):be(e,((e,s)=>J(e)?Es(t,s):be(e,((e,n)=>Be(Fs,t,s,n,e))))))),be(e[1],((e,t)=>Ue(Fs,t,e)))})),setTablesJson:Ms,setValuesJson:e=>{try{Mt(Nt(e))}catch{}return Fs},setJson:e=>os((()=>{try{const[t,s]=Nt(e);Lt(t),Mt(s)}catch{Ms(e)}})),setTablesSchema:Ds,setValuesSchema:Vs,setSchema:(e,t)=>os((()=>{Ds(e),Vs(t)})),delTables:ms,delTable:Hs,delRow:Es,delCell:(e,t,s,n)=>os(((e,t,s)=>O(ke($,e),(a=>O(ke(a,t),(o=>Re(o,s)?At(e,a,t,o,s,n):0))))),e,t,s),delValues:ks,delValue:e=>os((e=>Re(Y,e)?Gt(e):0),e),delTablesSchema:As,delValuesSchema:Gs,delSchema:()=>os((()=>{As(),Gs()})),transaction:xs,startTransaction:Js,getTransactionChanges:()=>[Oe(m,((e,t)=>-1===ke(d,t)?void 0:Oe(e,((e,s)=>-1===ke(ke(D,t),s)?void 0:Oe(e,(([,e])=>e),(e=>Qt(e)))),Ie,Ce)),Ie,Ce),Oe(E,(([,e])=>e),(e=>Qt(e))),1],getTransactionLog:()=>[!Ie(m),!Ie(E),Pe(m,Pt,Qt),Pe(k),Oe(E,Pt,Qt),Oe(A),Oe(d),Fe(D),Pe(V),Oe(H)],finishTransaction:Os,forEachTable:e=>Ve($,((t,s)=>e(s,(e=>Ve(t,((t,s)=>e(s,(e=>Ae(t,e))))))))),forEachTableCell:(e,t)=>Ae(ke(B,M(e)),t),forEachRow:(e,t)=>Ve(ke($,M(e)),((e,s)=>t(s,(t=>Ae(e,t))))),forEachCell:(e,t,s)=>Ae(ke(ke($,M(e)),M(t)),s),forEachValue:e=>Ae(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=us(e,t,s,n,a);return ot((()=>{const r=us(e,t,s,n,a);U(r,l)||(l=r,o(Fs,e,t,s,n,a,l))}),ce[r?1:0],[e,t],[ls])},addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,at[0]),addDidFinishTransactionListener:e=>ot(e,at[1]),callListener:e=>(ct(e),Fs),delListener:e=>(lt(e),Fs),getListenerStats:()=>({hasTables:Ot(Z),tables:Ot(ee),tableIds:Ot(se),hasTable:Ot(ne),table:Ot(ae),tableCellIds:Ot(oe),hasTableCell:Ot(re,Se),rowCount:Ot(le),rowIds:Ot(ie),sortedRowIds:Ot(ce),hasRow:Ot(ue,Se),row:Ot(fe,Se),cellIds:Ot(we,Se),hasCell:Ot(ye,Te),cell:Ot(Me,Te),invalidCell:Ot(We,Te),hasValues:Ot(Ke),values:Ot(Xe),valueIds:Ot(Ye),hasValue:Ot(Ze),value:Ot(st),invalidValue:Ot(_e),transaction:ve(nt)+Ot(at)}),isMergeable:()=>!1,createStore:jt,addListener:ot,callListeners:rt,setInternalListeners:(e,t,s,n,a)=>r=[e,t,s,n,a]};return be({[g+b]:[0,Z,[],()=>[ws()]],[b]:[0,ee],[C]:[0,se],[g+f]:[1,ne,[ls],e=>[ps(...e)]],[f]:[1,ae,[ls]],[f+S]:[1,oe,[ls]],[g+f+v]:[2,re,[ls,is],e=>[ys(...e)]],[p]:[1,le,[ls]],[y]:[1,ie,[ls]],[g+w]:[2,ue,[ls,ds],e=>[Ls(...e)]],[w]:[2,fe,[ls,ds]],[S]:[2,we,[ls,ds]],[g+v]:[3,ye,[ls,ds,gs],e=>[vs(...e)]],[v]:[3,Me,[ls,ds,gs],e=>Jt(hs(...e))],InvalidCell:[3,We],[g+R]:[0,Ke,[],()=>[Ss()]],[R]:[0,Xe],[I]:[0,Ye],[g+T]:[1,Ze,[bs],e=>[Ts(...e)]],[T]:[1,st,[bs],e=>Jt(Cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs[u+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?N(a,0,e):void 0,s,n)})),de(Fs)},_t=2**36,Bt=2**30,Ut=2**24,$t=2**18,qt=4096,Kt={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},Xt=(e=s)=>[mt(e),mt(e)];e.Message=At,e.Persists=ft,e.createCheckpoints=st,e.createCustomPersister=wt,e.createCustomSynchronizer=(e,t,n,a,o,r,l={})=>{let i,c=0,d=0;const u=He();n(((s,n,a,o)=>{d++,a==At.Response?O(ke(u,n),(([e,t])=>J(e)||e==s?t(o,s):0)):a==At.ContentHashes&&b.isAutoLoading()?f(s,o).then((e=>{i?.(void 0,e)})):a==At.ContentDiff&&b.isAutoLoading()?i?.(void 0,o):O(a==At.GetContentHashes&&b.isAutoSaving()?e.getMergeableContentHashes():a==At.GetTableDiff?e.getMergeableTableDiff(o):a==At.GetRowDiff?e.getMergeableRowDiff(o):a==At.GetCellDiff?e.getMergeableCellDiff(o):a==At.GetValueDiff?e.getMergeableValueDiff(o):void 0,(e=>{c++,t(s,n,At.Response,e)}))}));const g=async(e,n,a=s)=>new m(((s,r)=>{const l=ct(),i=setTimeout((()=>{me(u,l),r(`No response from ${e??"anyone"} to '${n}'`)}),1e3*o);Ge(u,l,[e,(e,t)=>{clearTimeout(i),me(u,l),s([e,t])}]),c++,t(e,l,n,a)})),h=(e,[t,s])=>{fe(t,(([t,s],n)=>{const a=we(e[0],n,Vt);fe(t,(([e,t],s)=>{const n=we(a[0],s,Vt);fe(e,(([e,t],s)=>n[0][s]=St(e,t))),n[1]=Mt(n[1],t)})),a[1]=Mt(a[1],s)})),e[1]=Mt(e[1],s)},f=async(t=null,s)=>{J(s)&&([s,t]=await g(t,At.GetContentHashes));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=Vt();if(o!=n){const[s,n]=(await g(t,At.GetTableDiff,e.getMergeableTableHashes()))[0];if(l=s,!Ce(n)){const[s,a]=(await g(t,At.GetRowDiff,e.getMergeableRowHashes(n)))[0];if(h(l,s),!Ce(a)){const s=(await g(t,At.GetCellDiff,e.getMergeableCellHashes(a)))[0];h(l,s)}}}return[l,r==a?Vt():(await g(t,At.GetValueDiff,e.getMergeableValueHashes()))[0],1]},b=wt(e,(async()=>{const e=await f();return Ce(e[0][0])&&Ce(e[1][0])?void 0:e}),(async(s,n)=>{c++,n?t(null,null,At.ContentDiff,n):t(null,null,At.ContentHashes,e.getMergeableContentHashes())}),(e=>i=e),(()=>i=void 0),r,ft.MergeableStoreOnly,{startSync:async e=>await(await b.startAutoLoad(e)).startAutoSave(),stopSync:()=>b.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),b.stopSync()),getSynchronizerStats:()=>({sends:c,receives:d}),...l});return b},e.createIndexes=dt,e.createMergeableStore=e=>{let t=1,n=Xt(),a=0;const o=He(),r=$e(),[l,i]=(e=>{let t=0,s=-1;const n=O(e,(e=>{const t=yt(e);return ot(t/Ut)+ot(t/$t)+ot(t/qt)+ot(t/64)+ot(t)}),(()=>ct(5))),a=e=>{const n=t,[a,o]=J(e)||""==e?[0,0]:[rt(r=e,0)*_t+rt(r,1)*Bt+rt(r,2)*Ut+rt(r,3)*$t+rt(r,4)*qt+64*rt(r,5)+rt(r,6),rt(r,7)*$t+rt(r,8)*qt+64*rt(r,9)+rt(r,10)];var r;t=k(n,a,H.HLC_TIME??Date.now()),s=t==n?t==a?k(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,ot((e=t)/_t)+ot(e/Bt)+ot(e/Ut)+ot(e/$t)+ot(e/qt)+ot(e/64)+ot(e)+ot(o/$t)+ot(o/qt)+ot(o/64)+ot(o)+n;var e,o},a]})(e),c=jt(),d=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const a={},o={},[[r,l=s,c=0],d]=e,[u,h]=n,[f,b,C]=u;let w=t?c:C,p=l;fe(r,(([e,n=s,o=0],r)=>{const l=xe(f,r,mt),[i,c,d]=l;let u=t?o:d,h=n;fe(e,((e,s)=>{const[n,o,l]=g(e,xe(i,s,mt),we(we(a,r,ue),s,ue),t);u^=t?0:(o?Rt(s,o):0)^Rt(s,l),h=Mt(h,n)})),u^=t?0:It(c,n),Dt(l,u,n),w^=t?0:(d?Rt(r,d):0)^Rt(r,l[2]),p=Mt(p,h)})),w^=t?0:It(b,l),Dt(u,w,l);const[y]=g(d,h,o,t);return i(Mt(p,y)),[a,o,1]},g=(e,t,n,a)=>{const[o,r=s,l=0]=e,[i,c,d]=t;let u=r,g=a?l:d;return fe(o,(([e,t,o=0],r)=>{const l=xe(i,r,(()=>[void 0,s,0])),[,c,d]=l;(!c||t>c)&&(Dt(l,a?o:yt(zt(e??null)+":"+t),t),l[0]=e,n[r]=e,g^=a?0:Rt(r,d)^Rt(r,l[2]),u=Mt(u,t))})),g^=a?0:It(c,r),Dt(t,g,r),[u,d,t[2]]},h=()=>[Ht(n[0],(e=>Ht(e,(e=>Ht(e))))),Ht(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Oe(n[0][0],Tt),getMergeableTableDiff:e=>{const t=Vt(n[0][1]),s={};return Ae(n[0][0],((n,[a,o,r])=>ge(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=Et([a,o],(e=>Et(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return fe(e,((e,s)=>O(ke(n[0][0],s),(([n,,a])=>a!=e?Ae(n,((e,[,,n])=>we(t,s,ue)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Vt(n[0][1]),s={};return fe(e,((e,a)=>Ae(ke(n[0][0],a)?.[0],((n,[o,r,l])=>ge(e,n)?l!==e[n]?we(s,a,ue)[n]=l:0:we(t[0],a,Vt)[0][n]=Et([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return fe(e,((e,s)=>O(ke(n[0][0],s),(([n])=>fe(e,((e,a)=>O(ke(n,a),(([n,,o])=>o!==e?Ae(n,((e,[,,n])=>we(we(t,s,ue),a,ue)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return fe(e,((e,s)=>fe(e,((e,n)=>O(ke(t,s),(([t,o])=>O(ke(t,n),(([t,r])=>Ae(t,((t,[l,i,c])=>c!==e[t]?we(we(a,s,(()=>Vt(o)))[0],n,(()=>Vt(r)))[0][t]=[l,i]:0)))))))))),St(a,s)},getMergeableValueHashes:()=>Oe(n[1][0],Tt),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Oe(t,vt,(([,,t],s)=>t==e?.[s]));return St(a,s)},setMergeableContent:e=>d((()=>(e=>z(e)&&2==W(e)&&kt(e[0],(e=>pe(e,(e=>kt(e,(e=>pe(e,(e=>kt(e,(e=>pe(e,(e=>kt(e,_e)),void 0,1)))),void 0,1)))),void 0,1)))&&kt(e[1],(e=>pe(e,(e=>kt(e,_e)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Xt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};Ve(o,((t,s)=>O(ke(e,s),(([e,n])=>{const a={};Ve(t,((t,s)=>O(ke(e,s),(([e,n])=>{const o={};Ve(t,(t=>{O(ke(e,t),(([e,s])=>o[t]=St(e,s)))})),a[s]=St(o,n)})))),l[s]=St(a,n)}))));const i={};return Ve(r,(e=>O(ke(s,e),(([t,s])=>i[e]=St(t,s))))),[St(l,t),St(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{De(o),De(r)}),((e,n,r,i)=>{qe(xe(xe(o,e,He),n,$e),r),t&&u([[{[e]:[{[n]:[{[r]:[i,a?s:l()]}]}]}],[{}],1])}),((e,n)=>{qe(r,e),t&&u([[{}],[{[e]:[n,a?s:l()]}],1])})),be(c,((e,t)=>b[t]=D(t,"set")||D(t,"del")||D(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):D(t,"add")&&V(t,"Listener")?(...s)=>{const n=Kt[N(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),de(b)},e.createMetrics=ht,e.createQueries=Gt,e.createRelationships=xt,e.createStore=jt,e.defaultSorter=it,e.getUniqueId=ct},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",w=f+h,C="Row",L=C+"Count",p=C+h,y="Sorted"+C+h,v="Cell",I=v+h,T="Value",S=T+"s",R=T+h,M=e=>s+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),D=Promise,E=globalThis,H=Math,k=H.max,A=H.min,x=H.floor,J=isFinite,F=e=>null==e,O=(e,t,s)=>F(e)?s?.():t(e),P=e=>e==n||e==a,Q=e=>t(e)==n,z=e=>t(e)==r,G=e=>Array.isArray(e),N=(e,t,s)=>e.slice(t,s),W=e=>e.length,j=()=>{},_=(e,t)=>e.includes(t),B=(e,t)=>e.every(t),U=(e,t)=>W(e)===W(t)&&B(e,((e,s)=>t[s]===e)),$=(e,t)=>B(e,((s,n)=>0==n||t(e[n-1],s)<=0)),q=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),X=(e,t)=>e.map(t),Y=e=>ee(e,((e,t)=>e+t),0),Z=e=>0==W(e),ee=(e,t,s)=>e.reduce(t,s),te=(e,t)=>e.splice(0,t),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),ae=e=>e.shift(),oe=Object,re=e=>oe.getPrototypeOf(e),le=oe.entries,ie=oe.isFrozen,ce=e=>!F(e)&&O(re(e),(e=>e==oe.prototype||F(re(e))),(()=>!0)),de=oe.keys,ue=oe.freeze,ge=(e=[])=>oe.fromEntries(e),he=(e,t)=>t in e,fe=(e,t)=>(delete e[t],e),be=(e,t)=>K(le(e),(([e,s])=>t(s,e))),we=(e,t)=>X(le(e),(([e,s])=>t(s,e))),Ce=e=>ce(e)&&0==(e=>W(de(e)))(e),Le=(e,t,s)=>(he(e,t)||(e[t]=s()),e[t]),pe=(e,t,s,n=0)=>F(e)||!ce(e)||!n&&Ce(e)||ie(e)?(s?.(),!1):(we(e,((s,n)=>{t(s,n)||fe(e,n)})),!!n||!Ce(e)),ye=e=>t=>ee(me(t),((t,s)=>t+e(s)),0),ve=e=>e?.size??0,Ie=ye(ve),Te=ye(Ie),Se=ye(Te),Re=(e,t)=>e?.has(t)??!1,Me=e=>F(e)||0==ve(e),me=e=>[...e?.values()??[]],Ve=e=>e.clear(),De=(e,t)=>e?.forEach(t),Ee=(e,t)=>e?.delete(t),He=e=>new Map(e),ke=e=>[...e?.keys()??[]],Ae=(e,t)=>e?.get(t),xe=(e,t)=>De(e,((e,s)=>t(s,e))),Je=(e,t,s)=>F(s)?(Ee(e,t),e):e?.set(t,s),Fe=(e,t,s,n)=>(Re(e,t)?n?.(Ae(e,t)):Je(e,t,s()),Ae(e,t)),Oe=(e,t,s,n=Je)=>(we(t,((t,n)=>s(e,n,t))),xe(e,(s=>he(t,s)?0:n(e,s))),e),Pe=(e,t,s,n)=>{const a={};return De(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},Qe=(e,t,s)=>Pe(e,(e=>Pe(e,t,s)),Me,Ce),ze=(e,t,s)=>Pe(e,(e=>Qe(e,t,s)),Me,Ce),Ge=(e,t)=>{const s=He();return De(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ne=e=>Ge(e,Ge),We=e=>Ge(e,Ne),je=(e,t,s,n,a=0)=>O((s?Fe:Ae)(e,t[a],a>W(t)-2?s:He),(o=>{if(a>W(t)-2)return n?.(o)&&Je(e,t[a]),o;const r=je(o,t,s,n,a+1);return Me(o)&&Je(e,t[a]),r})),_e=e=>{const s=t(e);return P(s)||s==o&&J(e)?s:void 0},Be=e=>F(e)||!F(_e(e)),Ue=(e,t,s,n,a)=>F(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),$e=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),qe=e=>new Set(G(e)||F(e)?e:[e]),Ke=(e,t)=>e?.add(t),Xe=(e,t,s,n,a)=>{const o=e.hasRow,r=He(),l=He(),i=He(),c=He(),d=He(),u=He(),g=(t,s,...n)=>{const a=Fe(u,t,qe);return K(n,(t=>Ke(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>O(Ae(u,t),(n=>{K(Z(s)?me(n):s,(t=>{e.delListener(t),Ee(n,t)})),Me(n)&&Je(u,t)})),f=(e,s)=>{Je(r,e,s),Re(l,e)||(Je(l,e,t()),Je(c,e,He()),Je(d,e,He()),a(i))},b=e=>{Je(r,e),Je(l,e),Je(c,e),Je(d,e),h(e),a(i)};return[()=>e,()=>ke(r),e=>xe(l,e),e=>Re(l,e),e=>Ae(r,e),e=>Ae(l,e),(e,t)=>Je(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=He(),u=He(),b=Ae(c,t),w=Ae(d,t),C=t=>{const a=s=>e.getCell(n,t,s),c=Ae(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||G(c)&&G(d)&&U(c,d)||Je(i,t,[c,d]),!F(l)){const e=Ae(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Je(u,t,s)}},L=e=>{a((()=>{De(i,(([,e],t)=>Je(b,t,e))),De(u,((e,t)=>Je(w,t,e)))}),i,u,b,w,e),Ve(i),Ve(u)};xe(b,C),e.hasTable(n)&&K(e.getRowIds(n),(e=>{Re(b,e)||C(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>C(s))),e.addTableListener(n,(()=>L())))},b,e=>n(e,i),()=>xe(u,b),g,h]},Ye=(e,t)=>Q(e)?t=>t(e):e??(()=>t??s),Ze=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},et=/^\d+$/,tt=()=>{const e=[];let t=0;return[n=>(n?ae(e):null)??s+t++,t=>{et.test(t)&&W(e)<1e3&&se(e,t)}]},st=e=>{let t;const[n,a]=tt(),o=He();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Je(o,d,[a,r,l,i,c]),Ke(je(r,l??[s],qe),d),d},(e,n,...a)=>K(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?se(n,e):null===t[s]?De(e,(e=>a(e,s+1))):K([t[s],null],(t=>a(Ae(e,t),s+1)));return a(e,0),n})(e,n),(e=>De(e,(e=>Ae(o,e)[0](t,...n??[],...a))))),e=>O(Ae(o,e),(([,t,n])=>(je(t,n??[s],void 0,(t=>(Ee(t,e),Me(t)?1:0))),Je(o,e),a(e),n))),e=>O(Ae(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):F(s[l])?K(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},nt=Ze((e=>{let t,n,a,o=100,r=He(),l=He(),i=1;const c=He(),d=He(),[u,g,h]=st((()=>A)),f=He(),b=He(),w=[],C=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Ae(f,s);De(n,((s,n)=>De(s,((s,a)=>De(s,((s,o)=>Ue(e,n,a,o,s[t]))))))),De(a,((s,n)=>$e(e,n,s[t])))})),i=1},p=e=>{Je(f,e),Je(b,e),g(d,[e])},y=(e,t)=>K(te(e,t??W(e)),p),v=()=>y(w,W(w)-o),I=()=>O(t,(()=>{se(w,t),v(),y(C),t=void 0,a=1})),T=()=>{t=ne(w),a=1};let S,R;const M=(e=s)=>(F(t)&&(t=s+n++,Je(f,t,[r,l]),H(t,e),r=He(),l=He(),a=1),t),m=()=>{Z(w)||(((e,...t)=>{e.unshift(...t)})(C,M()),L(0,t),t=ne(w),a=1)},V=()=>{Z(C)||(se(w,t),t=ae(C),L(1,t),a=1)},D=()=>{a&&(g(c),a=0)},E=e=>{const t=M(e);return D(),t},H=(e,t)=>(k(e)&&Ae(b,e)!==t&&(Je(b,e,t),g(d,[e])),A),k=e=>Re(f,e),A={setSize:e=>(o=e,v(),A),addCheckpoint:E,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...C]],forEachCheckpoint:e=>xe(b,e),hasCheckpoint:k,getCheckpoint:e=>Ae(b,e),goBackward:()=>(m(),D(),A),goForward:()=>(V(),D(),A),goTo:e=>{const s=_(w,e)?m:_(C,e)?V:null;for(;!F(s)&&e!=t;)s();return D(),A},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),A),clear:()=>(y(w),y(C),F(t)||p(t),t=void 0,n=0,E(),A),clearForward:()=>(Z(C)||(y(C),g(c)),A),destroy:()=>{e.delListener(S),e.delListener(R)},getListenerStats:()=>({checkpointIds:Ie(c),checkpoint:Ie(d)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Fe(r,t,He),l=Fe(e,s,He),i=Fe(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Me(Je(l,n))&&Me(Je(e,s))&&Me(Je(r,t))&&T(),D()}})),R=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Fe(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Me(Je(l,t))&&T(),D()}}))}};return ue(A.clear())}),(e=>e._registerListeners())),at="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(s),ot=He(X(at,((e,t)=>[e,t]))),rt=e=>at[63&e],lt=(e,t)=>Ae(ot,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>X(e,(()=>x(256*H.random()))),ct=(e,t)=>(e??0)<(t??0)?-1:1,dt=(e=16)=>ee(it(new Uint8Array(e)),((e,t)=>e+rt(t)),""),ut=Ze((e=>{const t=He(),n=He(),[a,o,r]=st((()=>p)),[l,i,c,d,u,g,h,,f,b,w,C]=Xe(e,He,(e=>F(e)?s:G(e)?X(e,M):M(e)),a,o),L=(t,s,n)=>{const a=u(t);De(n,((t,n)=>s(n,(s=>De(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},p={setIndexDefinition:(e,s,a,r,l,i=ct)=>{const c=F(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let b=0;const w=qe(),C=qe(),L=g(e);if(De(a,(([e,t],s)=>{const n=qe(e),a=qe(t);De(n,(e=>Ee(a,e)?Ee(n,e):0)),De(n,(e=>{Ke(w,e),O(Ae(L,e),(t=>{Ee(t,s),Me(t)&&(Je(L,e),b=1)}))})),De(a,(e=>{Ke(w,e),Re(L,e)||(Je(L,e,qe()),b=1),Ke(Ae(L,e),s),F(r)||Ke(C,e)}))})),s(),Me(u)||(f?xe(L,(e=>Ke(C,e))):xe(l,(e=>O(Ae(d,e),(e=>Ke(C,e))))),De(C,(e=>{const t=(t,s)=>i(Ae(u,t),Ae(u,s),e),s=[...Ae(L,e)];$(s,t)||(Je(L,e,qe(q(s,t))),Ke(w,e))}))),(b||f)&&!F(c)){const t=[...L];$(t,c)||(h(e,He(q(t,c))),b=1)}b&&o(t,[e]),De(w,(t=>o(n,[e,t])))}),Ye(a),O(r,Ye)),p},delIndexDefinition:e=>(b(e),p),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Re(g(e),t),getTableId:u,getSliceIds:e=>ke(g(e)),getSliceRowIds:(e,t)=>me(Ae(g(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),p),destroy:C,getListenerStats:()=>({sliceIds:Ie(t),sliceRowIds:Te(n)})};return ue(p)})),gt=He([["avg",[(e,t)=>Y(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>k(...e),(e,t)=>k(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:k(t,e)]],["min",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:A(t,e)]],["sum",[e=>Y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ht=(e,t,s,n,a,o=!1)=>{if(Me(s))return;const[r,l,i,c]=a;return o||=F(e),De(n,(([s,n])=>{o||(e=F(s)?l?.(e,n,t++):F(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=F(e))})),o?r(me(s),ve(s)):e},ft=Ze((e=>{const t=He(),[n,a,o]=st((()=>C)),[r,l,i,c,d,u,g,,h,f,b,w]=Xe(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),C={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=z(n)?[n,r,l,i]:Ae(gt,n)??Ae(gt,"sum");return h(e,s,((s,n,o,r,l,i)=>{const d=u(e),h=ve(r);i||=F(d),s();let f=ht(d,h,r,n,c,i);J(f)||(f=void 0),f!=d&&(g(e,f),a(t,[e],f,d))}),Ye(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Ie(t)})};return ue(C)})),bt=He(),wt=He(),Ct=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0,h=0,f=0;Fe(bt,i,(()=>0)),Fe(wt,i,(()=>[]));const[b,w,C,L,p]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!Ce(e)||!Ce(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!Ce(e)||!Ce(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(r,e),y=t=>{(b&&G(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v=async e=>(2!=g&&(g=1,h++,await R((async()=>{try{y(await t())}catch(t){o?.(t),e&&p(e)}g=0}))),M),I=()=>(d&&(a(d),d=void 0),M),T=async e=>(1!=g&&(g=2,f++,await R((async()=>{try{await s(w,e)}catch(e){o?.(e)}g=0}))),M),S=()=>(O(u,e.delListener),u=void 0,M),R=async(...e)=>(se(Ae(wt,i),...e),await(async()=>{if(!Ae(bt,i)){for(Je(bt,i,1);!F(c=ae(Ae(wt,i)));)try{await c()}catch(e){o?.(e)}Je(bt,i,0)}})(),M),M={load:v,startAutoLoad:async e=>{await I().load(e);try{d=n((async(e,t)=>{t||e?2!=g&&(g=1,h++,y(t??e),g=0):await v()}))}catch(e){o?.(e)}return M},stopAutoLoad:I,isAutoLoading:()=>!F(d),save:T,startAutoSave:async()=>(await S().save(),u=e.addDidFinishTransactionListener((()=>{const e=C();L(e)&&T(e)})),M),stopAutoSave:S,isAutoSaving:()=>!F(u),schedule:R,getStore:()=>e,destroy:()=>(te(Ae(wt,i)),I().stopAutoSave()),getStats:()=>({loads:h,saves:f}),...l};return ue(M)},Lt=new E.TextEncoder,pt=e=>{let t=2166136261;return K(Lt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},yt=([e,t,s])=>[e,t,s],vt=([e,t])=>It(e,t),It=(e,t)=>t?[e,t]:[e],Tt=e=>e[2],St=(e,t)=>pt(e+":"+t),Rt=(e,t)=>t>e?(e?pt(e):0)^pt(t):0,Mt=(e,t)=>((e??"")>(t??"")?e:t)??"",mt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},Vt=(e=s)=>It(ge(),e),Dt=(e=s)=>[He(),e,0],Et=([e,t,s],n=yt)=>[Pe(e,n),t,s],Ht=([e,t],s=vt)=>It(Pe(e,s),t),kt=(e,s)=>G(e)&&3==W(e)&&Q(e[1])&&t(e[2])==o&&J(e[2])&&s(e[0]),At=Ze((e=>{const t=e.createStore,n=t(),a=t(),o=He(),{addListener:r,callListeners:l,delListener:i}=a,[g,h,b,w,T,,,S,,R,M,m,V,D]=Xe(e,(()=>!0),j,r,l),E=(e,t,...s)=>K(s,(s=>Ke(Fe(Fe(o,t,He),e,qe),s))),H=e=>{O(Ae(o,e),(e=>{xe(e,((e,t)=>De(t,(t=>e.delListener(t))))),Ve(e)})),K([a,n],(t=>t.delTable(e)))},k=(e,t,s)=>E(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),A={setQueryDefinition:(t,o,r)=>{S(t,o),H(t);const l=[],i=[[null,[o,null,null,[],He()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=z(e)?[W(l)+s,e]:[F(t)?e:t,s=>s(e,t)];return se(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||z(t)?null:t,a=F(n)?t:s,o=[e,[e,n,z(a)?a:e=>e(a),[],He()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(c,z(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,z(t)?[t,s,n,a]:Ae(gt,t)??[(e,t)=>t]]];return se(d,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,z(e)?e:s=>s(e)===t)});const g=He(l);if(Me(g))return A;const h=He(i);xe(h,((e,[,t])=>O(Ae(h,t),(({3:t})=>F(e)?0:se(t,e)))));const f=He(d);let b=n;if(Me(f)&&Z(u))b=a;else{k(t,b,a);const e=He();xe(f,((t,[s,n])=>Ke(Fe(e,s,qe),[t,n])));const s=qe();xe(g,(t=>Re(e,t)?0:Ke(s,t)));const n=He(),o=(s,n,o,r)=>O(s,(([l,i,c,d])=>{xe(n,((t,[s])=>{const n=Fe(l,t,He),a=Ae(n,o),i=r?void 0:s;if(a!==i){const s=qe([[a,i]]),r=ve(n);Je(n,o,i),De(Ae(e,t),(([e,t])=>{const a=ht(d[e],r,n,s,t);d[e]=F(_e(a))?null:a}))}})),Me(i)||!B(u,(e=>e((e=>d[e]))))?a.delRow(t,c):F(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));E(b,t,b.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=He(),g=b.hasRow(t,l);let h=!g;De(s,(e=>{const[s,n,a]=i(t,l,e);se(c,n),se(d,a),h||=s})),xe(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&Je(u,e,[n])})),h&&o(je(n,c,void 0,(([,e])=>(Ee(e,l),Me(e)))),u,l,1),g&&o(je(n,d,(()=>{const e={};return De(s,(s=>e[s]=b.getCell(t,l,s))),[He(),qe(),void 0,e]}),(([,e])=>{Ke(e,l)})),u,l)})))}k(t,e,b);const w=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);K(r,(n=>{const[a,,o,r,i]=Ae(h,n),c=o?.(l,s),[d,u]=Ae(i,s)??[];c!=d&&(F(u)||D(t,u),Je(i,s,F(c)?null:[c,...V(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...F(n)?[o,s,t]:t===o?[o,s,n]:[Ae(h,t)?.[0],Ae(Ae(h,t)?.[4],s)?.[0],n]);b.transaction((()=>B(c,(e=>e(n)))?xe(g,((e,a)=>Ue(b,t,s,e,a(n,s)))):b.delRow(t,s)))})(s)},{3:C}=Ae(h,null);return b.transaction((()=>V(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,C):(b.delRow(t,a),De(h,(({4:e})=>O(Ae(e,a),(([,s])=>{D(t,s),Je(e,a)})))))}))))),A},delQueryDefinition:e=>(H(e),R(e),A),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:w,getTableId:T,addQueryIdsListener:e=>M((()=>e(A))),delListener:e=>(i(e),A),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return we({[f]:[1,1],[f+I]:[0,1],[L]:[0,1],[p]:[0,1],[y]:[0,5],[C]:[1,2],[I]:[0,2],[v]:[1,3]},(([e,t],s)=>{K(e?["get","has","forEach"]:["get"],(e=>A[e+d+s]=(...t)=>a[e+s](...t))),A[u+d+s+c]=(...e)=>a[u+s+c](...N(e,0,t),((s,...n)=>e[t](A,...n)),!0)})),ue(A)})),xt=Ze((e=>{const t=He(),n=He(),a=He(),o=He(),[r,l,i]=st((()=>I)),[c,d,u,g,h,f,,,b,w,C,L]=Xe(e,(()=>[He(),He(),He(),He()]),(e=>F(e)?void 0:e+s),r,l),p=(e,t,s)=>O(f(e),(([n,,a])=>{if(!Re(a,t)){const o=qe();if(h(e)!=v(e))Ke(o,t);else{let e=t;for(;!F(e)&&!Re(o,e);)Ke(o,e),e=Ae(n,e)}if(s)return o;Je(a,t,o)}return Ae(a,t)})),y=(e,t)=>O(f(e),(([,,e])=>Je(e,t))),v=e=>Ae(t,e),I={setRelationshipDefinition:(e,s,r,i)=>(Je(t,e,r),b(e,s,((t,s)=>{const r=qe(),i=qe(),c=qe(),[d,u]=f(e);De(s,(([t,s],n)=>{F(t)||(Ke(i,t),O(Ae(u,t),(e=>{Ee(e,n),Me(e)&&Je(u,t)}))),F(s)||(Ke(i,s),Re(u,s)||Je(u,s,qe()),Ke(Ae(u,s),n)),Ke(r,n),Je(d,n,s),xe(Ae(o,e),(t=>{Re(p(e,t),n)&&Ke(c,t)}))})),t(),De(r,(t=>l(n,[e,t]))),De(i,(t=>l(a,[e,t]))),De(c,(t=>{y(e,t),l(o,[e,t])}))}),Ye(i)),I),delRelationshipDefinition:e=>(Je(t,e),w(e),I),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:v,getRemoteRowId:(e,t)=>Ae(f(e)?.[0],t),getLocalRowIds:(e,t)=>me(Ae(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:me(p(e,t,!0)),addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(p(e,t),r(s,o,[e,t])),delListener:e=>(y(...i(e)??[]),I),destroy:L,getListenerStats:()=>({remoteRowId:Te(n),localRowIds:Te(a),linkedRowIds:Te(o)})};return ue(I)})),Jt=e=>[e,e],Ft=(e,t=Ie)=>t(e[0])+t(e[1]),Ot=()=>[He(),He()],Pt=e=>[...e],Qt=([e,t])=>e===t,zt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Gt=JSON.parse,Nt=(e,t,s)=>Je(e,t,Ae(e,t)==-s?void 0:s),Wt=()=>{let e,t,s=!1,n=!1,a=0,r=[];const d=He(),h=He(),y=He(),m=He(),V=He(),D=He(),E=He(),H=He(),k=He(),A=He(),x=He(),J=He(),Q=He(),G=He(),W=qe(),j=He(),B=He(),$=He(),Y=He(),Z=Ot(),ee=Ot(),te=Ot(),ne=Ot(),ae=Ot(),oe=Ot(),re=Ot(),le=Ot(),ie=Ot(),ce=Ot(),de=Ot(),ge=Ot(),be=Ot(),Le=Ot(),ye=Ot(),me=Ot(),je=Ot(),Be=Ot(),Xe=Ot(),Ye=Ot(),Ze=Ot(),et=Ot(),nt=He(),at=Ot(),[ot,rt,lt,it]=st((()=>Ps)),dt=e=>{if(!pe(e,((e,t)=>_([l,i],t))))return!1;const t=e[l];return!(!P(t)&&t!=o||(_e(e[i])!=t&&fe(e,i),0))},ut=(t,s)=>(!e||Re(x,s)||Kt(s))&&pe(t,((e,t)=>gt(s,t,e)),(()=>Kt(s))),gt=(e,t,s,n)=>pe(n?s:wt(s,e,t),((n,a)=>O(ht(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Kt(e,t))),ht=(t,s,n,a)=>e?O(Ae(Ae(x,t),n),(e=>_e(a)!=e[l]?Kt(t,s,n,a,e[i]):a),(()=>Kt(t,s,n,a))):F(_e(a))?Kt(t,s,n,a):a,ft=(e,t)=>pe(t?e:Ct(e),((t,s)=>O(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),bt=(e,s)=>t?O(Ae(Q,e),(t=>_e(s)!=t[l]?Xt(e,s,t[i]):s),(()=>Xt(e,s))):F(_e(s))?Xt(e,s):s,wt=(e,t,s)=>(O(Ae(J,t),(([n,a])=>{De(n,((t,s)=>{he(e,s)||(e[s]=t)})),De(a,(n=>{he(e,n)||Kt(t,s,n)}))})),e),Ct=e=>(t&&(De(G,((t,s)=>{he(e,s)||(e[s]=t)})),De(W,(t=>{he(e,t)||Xt(t)}))),e),Lt=e=>Oe(x,e,((e,t,s)=>{const n=He(),a=qe();Oe(Fe(x,t,He),s,((e,t,s)=>{Je(e,t,s),O(s[i],(e=>Je(n,t,e)),(()=>Ke(a,t)))})),Je(J,t,[n,a])}),((e,t)=>{Je(x,t),Je(J,t)})),pt=e=>Oe(Q,e,((e,t,s)=>{Je(Q,t,s),O(s[i],(e=>Je(G,t,e)),(()=>Ke(W,t)))}),((e,t)=>{Je(Q,t),Je(G,t),Ee(W,t)})),yt=e=>Ce(e)?Ds():Ss(e),vt=e=>Oe($,e,((e,t,s)=>It(t,s)),((e,t)=>Ht(t))),It=(e,t)=>Oe(Fe($,e,(()=>(jt(e,1),Je(j,e,tt()),Je(B,e,He()),He()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>kt(e,t,s))),Tt=(e,t,s,n,a)=>Oe(Fe(t,s,(()=>(_t(e,s,1),He()))),n,((t,n,a)=>St(e,s,t,n,a)),((n,o)=>At(e,t,s,n,o,a))),St=(e,t,s,n,a)=>{Re(s,n)||Bt(e,t,n,1);const o=Ae(s,n);a!==o&&(Ut(e,t,n,o,a),Je(s,n,a))},Rt=(e,t,s,n,a)=>O(Ae(t,s),(t=>St(e,s,t,n,a)),(()=>Tt(e,t,s,wt({[n]:a},e,s)))),Mt=e=>Ce(e)?ks():Rs(e),mt=e=>Oe(Y,e,((e,t,s)=>Vt(t,s)),((e,t)=>xt(t))),Vt=(e,t)=>{Re(Y,e)||$t(e,1);const s=Ae(Y,e);t!==s&&(qt(e,s,t),Je(Y,e,t))},Dt=(e,t)=>{const[s]=Ae(j,e),n=s(t);return Re(Ae($,e),n)?Dt(e,t):n},Et=e=>Ae($,e)??It(e,{}),Ht=e=>It(e,{}),kt=(e,t,s)=>{const[,n]=Ae(j,e);n(s),Tt(e,t,s,{},!0)},At=(e,t,s,n,a,o)=>{const r=Ae(Ae(J,e)?.[0],a);if(!F(r)&&!o)return St(e,s,n,a,r);const l=t=>{Ut(e,s,t,Ae(n,t)),Bt(e,s,t,-1),Je(n,t)};F(r)?l(a):xe(n,l),Me(n)&&(_t(e,s,-1),Me(Je(t,s))&&(jt(e,-1),Je($,e),Je(j,e),Je(B,e)))},xt=e=>{const t=Ae(G,e);if(!F(t))return Vt(e,t);qt(e,Ae(Y,e)),$t(e,-1),Je(Y,e)},jt=(e,t)=>Nt(d,e,t),_t=(e,t,s)=>Nt(Fe(m,e,He),t,s)&&Je(y,e,Fe(y,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=Ae(B,e),o=Ae(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Nt(Fe(h,e,He),s,n),Je(a,s,o!=-n?o+n:null),Nt(Fe(Fe(V,e,He),t,He),s,n)},Ut=(e,t,s,n,a)=>{Fe(Fe(Fe(D,e,He),t,He),s,(()=>[n,0]))[1]=a,r[3]?.(e,t,s,a)},$t=(e,t)=>Nt(E,e,t),qt=(e,t,s)=>{Fe(H,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},Kt=(e,t,s,n,a)=>(se(Fe(Fe(Fe(k,e,He),t,He),s,(()=>[])),n),a),Xt=(e,t,s)=>(se(Fe(A,e,(()=>[])),t),s),Yt=(e,t,s)=>O(Ae(Ae(Ae(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Jt(hs(e,t,s))])),Zt=e=>O(Ae(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Jt(ws(e))])),es=e=>Me(k)||Me(me[e])?0:De(e?We(k):k,((t,s)=>De(t,((t,n)=>De(t,((t,a)=>rt(me[e],[s,n,a],t))))))),ts=e=>Me(A)||Me(je[e])?0:De(e?Ge(A):A,((t,s)=>rt(je[e],[s],t))),ss=(e,t,s,n)=>{if(!Me(e))return rt(t,n,(()=>Pe(e))),xe(e,((e,t)=>rt(s,[...n??[],e],1==t))),1},ns=e=>{const t=Cs();t!=s&&rt(Z[e],void 0,t);const n=Me(ce[e]),a=Me(be[e])&&Me(Le[e])&&Me(ie[e])&&Me(de[e])&&Me(oe[e])&&Me(re[e])&&Me(le[e])&&n&&Me(te[e])&&Me(ne[e]),o=Me(ye[e])&&Me(ge[e])&&Me(ae[e])&&Me(ee[e]);if(!a||!o){const t=e?[Ge(d),Ne(h),Ge(y),Ne(m),We(V),We(D)]:[d,h,y,m,V,D];if(!a){ss(t[0],te[e],ne[e]),De(t[1],((t,s)=>ss(t,oe[e],re[e],[s]))),De(t[2],((t,s)=>{0!=t&&rt(le[e],[s],cs(s))}));const s=qe();De(t[3],((t,a)=>{ss(t,ie[e],de[e],[a])&&!n&&(rt(ce[e],[a,null]),Ke(s,a))})),n||De(t[5],((t,n)=>{if(!Re(s,n)){const s=qe();De(t,(e=>De(e,(([t,n],a)=>n!==t?Ke(s,a):Ee(e,a))))),De(s,(t=>rt(ce[e],[n,t])))}})),De(t[4],((t,s)=>De(t,((t,n)=>ss(t,be[e],Le[e],[s,n])))))}if(!o){let s;De(t[5],((t,n)=>{let a;De(t,((t,o)=>{let r;De(t,(([t,l],i)=>{l!==t&&(rt(ye[e],[n,o,i],l,t,Yt),s=a=r=1)})),r&&rt(ge[e],[n,o],Yt)})),a&&rt(ae[e],[n],Yt)})),s&&rt(ee[e],void 0,Yt)}}},as=e=>{const t=Is();t!=n&&rt(Be[e],void 0,t);const s=Me(Ye[e])&&Me(Ze[e]),a=Me(et[e])&&Me(Xe[e]);if(!s||!a){const t=e?[Ge(E),Ge(H)]:[E,H];if(s||ss(t[0],Ye[e],Ze[e]),!a){let s;De(t[1],(([t,n],a)=>{n!==t&&(rt(et[e],[a],n,t,Zt),s=1)})),s&&rt(Xe[e],void 0,Zt)}}},os=(e,...t)=>(Js((()=>e(...X(t,M)))),Ps),rs=()=>ze($),ls=()=>ke($),is=e=>ke(Ae(B,M(e))),cs=e=>ve(Ae($,M(e))),ds=e=>ke(Ae($,M(e))),us=(e,t,s,n=0,a)=>{return X(N(q((o=Ae($,M(e)),r=(e,s)=>[F(t)?s:Ae(e,M(t)),s],X([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>ct(e,t)*(s?-1:1))),n,F(a)?a:n+a),(([,e])=>e));var o,r},gs=(e,t)=>ke(Ae(Ae($,M(e)),M(t))),hs=(e,t,s)=>Ae(Ae(Ae($,M(e)),M(t)),M(s)),fs=()=>Pe(Y),bs=()=>ke(Y),ws=e=>Ae(Y,M(e)),Cs=()=>!Me($),Ls=e=>Re($,M(e)),ps=(e,t)=>Re(Ae(B,M(e)),M(t)),ys=(e,t)=>Re(Ae($,M(e)),M(t)),vs=(e,t,s)=>Re(Ae(Ae($,M(e)),M(t)),M(s)),Is=()=>!Me(Y),Ts=e=>Re(Y,M(e)),Ss=e=>os((()=>(e=>pe(e,ut,Kt))(e)?vt(e):0)),Rs=e=>os((()=>ft(e)?mt(e):0)),Ms=e=>{try{yt(Gt(e))}catch{}return Ps},ms=t=>os((()=>{if((e=pe(t,(e=>pe(e,dt))))&&(Lt(t),!Me($))){const e=rs();Ds(),Ss(e)}})),Vs=e=>os((()=>{if(t=(e=>pe(e,dt))(e)){const s=fs();xs(),ks(),t=!0,pt(e),Rs(s)}})),Ds=()=>os((()=>vt({}))),Es=e=>os((e=>Re($,e)?Ht(e):0),e),Hs=(e,t)=>os(((e,t)=>O(Ae($,e),(s=>Re(s,t)?kt(e,s,t):0))),e,t),ks=()=>os((()=>mt({}))),As=()=>os((()=>{Lt({}),e=!1})),xs=()=>os((()=>{pt({}),t=!1})),Js=(e,t)=>{if(-1!=a){Fs();const s=e();return Os(t),s}},Fs=()=>(-1!=a&&a++,1==a&&(r[0]?.(),rt(nt)),Ps),Os=e=>(a>0&&(a--,0==a&&(a=1,es(1),Me(D)||ns(1),ts(1),Me(H)||as(1),e?.(Ps)&&(De(D,((e,t)=>De(e,((e,s)=>De(e,(([e],n)=>Ue(Ps,t,s,n,e))))))),Ve(D),De(H,(([e],t)=>$e(Ps,t,e))),Ve(H)),rt(at[0],void 0),a=-1,es(0),Me(D)||ns(0),ts(0),Me(H)||as(0),r[1]?.(),rt(at[1],void 0),r[2]?.(),a=0,s=Cs(),n=Is(),K([d,h,y,m,V,D,k,E,H,A],Ve))),Ps),Ps={getContent:()=>[rs(),fs()],getTables:rs,getTableIds:ls,getTable:e=>Qe(Ae($,M(e))),getTableCellIds:is,getRowCount:cs,getRowIds:ds,getSortedRowIds:us,getRow:(e,t)=>Pe(Ae(Ae($,M(e)),M(t))),getCellIds:gs,getCell:hs,getValues:fs,getValueIds:bs,getValue:ws,hasTables:Cs,hasTable:Ls,hasTableCell:ps,hasRow:ys,hasCell:vs,hasValues:Is,hasValue:Ts,getTablesJson:()=>zt($),getValuesJson:()=>zt(Y),getJson:()=>zt([$,Y]),getTablesSchemaJson:()=>zt(x),getValuesSchemaJson:()=>zt(Q),getSchemaJson:()=>zt([x,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>os((()=>{(Ce(e)?Ds:Ss)(e),(Ce(t)?ks:Rs)(t)})),setTables:Ss,setTable:(e,t)=>os((e=>ut(t,e)?It(e,t):0),e),setRow:(e,t,s)=>os(((e,t)=>gt(e,t,s)?Tt(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Js((()=>{let n;return gt(e,n,t)&&(e=M(e),Tt(e,Et(e),n=Dt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>os(((e,t)=>{if(gt(e,t,s,1)){const n=Et(e);we(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>os(((e,t,s)=>O(ht(e,t,s,z(n)?n(hs(e,t,s)):n),(n=>Rt(e,Et(e),t,s,n)))),e,t,s),setValues:Rs,setPartialValues:e=>os((()=>ft(e,1)?we(e,((e,t)=>Vt(t,e))):0)),setValue:(e,t)=>os((e=>O(bt(e,z(t)?t(ws(e)):t),(t=>Vt(e,t)))),e),applyChanges:e=>os((()=>{we(e[0],((e,t)=>F(e)?Es(t):we(e,((e,s)=>F(e)?Hs(t,s):we(e,((e,n)=>Ue(Ps,t,s,n,e))))))),we(e[1],((e,t)=>$e(Ps,t,e)))})),setTablesJson:Ms,setValuesJson:e=>{try{Mt(Gt(e))}catch{}return Ps},setJson:e=>os((()=>{try{const[t,s]=Gt(e);yt(t),Mt(s)}catch{Ms(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>os((()=>{ms(e),Vs(t)})),delTables:Ds,delTable:Es,delRow:Hs,delCell:(e,t,s,n)=>os(((e,t,s)=>O(Ae($,e),(a=>O(Ae(a,t),(o=>Re(o,s)?At(e,a,t,o,s,n):0))))),e,t,s),delValues:ks,delValue:e=>os((e=>Re(Y,e)?xt(e):0),e),delTablesSchema:As,delValuesSchema:xs,delSchema:()=>os((()=>{As(),xs()})),transaction:Js,startTransaction:Fs,getTransactionChanges:()=>[Pe(D,((e,t)=>-1===Ae(d,t)?void 0:Pe(e,((e,s)=>-1===Ae(Ae(m,t),s)?void 0:Pe(e,(([,e])=>e),(e=>Qt(e)))),Me,Ce)),Me,Ce),Pe(H,(([,e])=>e),(e=>Qt(e))),1],getTransactionLog:()=>[!Me(D),!Me(H),ze(D,Pt,Qt),ze(k),Pe(H,Pt,Qt),Pe(A),Pe(d),Qe(m),ze(V),Pe(E)],finishTransaction:Os,forEachTable:e=>De($,((t,s)=>e(s,(e=>De(t,((t,s)=>e(s,(e=>xe(t,e))))))))),forEachTableCell:(e,t)=>xe(Ae(B,M(e)),t),forEachRow:(e,t)=>De(Ae($,M(e)),((e,s)=>t(s,(t=>xe(e,t))))),forEachCell:(e,t,s)=>xe(Ae(Ae($,M(e)),M(t)),s),forEachValue:e=>xe(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=us(e,t,s,n,a);return ot((()=>{const r=us(e,t,s,n,a);U(r,l)||(l=r,o(Ps,e,t,s,n,a,l))}),ce[r?1:0],[e,t],[ls])},addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,at[0]),addDidFinishTransactionListener:e=>ot(e,at[1]),callListener:e=>(it(e),Ps),delListener:e=>(lt(e),Ps),getListenerStats:()=>({hasTables:Ft(Z),tables:Ft(ee),tableIds:Ft(te),hasTable:Ft(ne),table:Ft(ae),tableCellIds:Ft(oe),hasTableCell:Ft(re,Te),rowCount:Ft(le),rowIds:Ft(ie),sortedRowIds:Ft(ce),hasRow:Ft(de,Te),row:Ft(ge,Te),cellIds:Ft(be,Te),hasCell:Ft(Le,Se),cell:Ft(ye,Se),invalidCell:Ft(me,Se),hasValues:Ft(Be),values:Ft(Xe),valueIds:Ft(Ye),hasValue:Ft(Ze),value:Ft(et),invalidValue:Ft(je),transaction:Ie(nt)+Ft(at)}),isMergeable:()=>!1,createStore:Wt,addListener:ot,callListeners:rt,setInternalListeners:(e,t,s,n,a)=>r=[e,t,s,n,a]};return we({[g+b]:[0,Z,[],()=>[Cs()]],[b]:[0,ee],[w]:[0,te],[g+f]:[1,ne,[ls],e=>[Ls(...e)]],[f]:[1,ae,[ls]],[f+I]:[1,oe,[ls]],[g+f+v]:[2,re,[ls,is],e=>[ps(...e)]],[L]:[1,le,[ls]],[p]:[1,ie,[ls]],[g+C]:[2,de,[ls,ds],e=>[ys(...e)]],[C]:[2,ge,[ls,ds]],[I]:[2,be,[ls,ds]],[g+v]:[3,Le,[ls,ds,gs],e=>[vs(...e)]],[v]:[3,ye,[ls,ds,gs],e=>Jt(hs(...e))],InvalidCell:[3,me],[g+S]:[0,Be,[],()=>[Is()]],[S]:[0,Xe],[R]:[0,Ye],[g+T]:[1,Ze,[bs],e=>[Ts(...e)]],[T]:[1,et,[bs],e=>Jt(ws(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],a)=>{Ps[u+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?N(a,0,e):void 0,s,n)})),ue(Ps)},jt=2**36,_t=2**30,Bt=2**24,Ut=2**18,$t=4096,qt={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},Kt=(e=s)=>[Dt(e),Dt(e)];e.Message={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},e.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},e.createCheckpoints=nt,e.createCustomPersister=Ct,e.createCustomSynchronizer=(e,t,n,a,o,r,l,i,c={})=>{let d,u=0,g=0;const h=He(),f=(e,s,n,a)=>{u++,r?.(e,s,n,a),t(e,s,n,a)},b=async(e,t,n=s)=>new D(((s,a)=>{const r=dt(),l=setTimeout((()=>{Ee(h,r),a(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);Je(h,r,[e,(e,t)=>{clearTimeout(l),Ee(h,r),s([e,t])}]),f(e,r,t,n)})),w=(e,[t,s])=>{be(t,(([t,s],n)=>{const a=Le(e[0],n,Vt);be(t,(([e,t],s)=>{const n=Le(a[0],s,Vt);be(e,(([e,t],s)=>n[0][s]=It(e,t))),n[1]=Mt(n[1],t)})),a[1]=Mt(a[1],s)})),e[1]=Mt(e[1],s)},C=async(t=null,s)=>{F(s)&&([s,t]=await b(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=Vt();if(o!=n){const[s,n]=(await b(t,4,e.getMergeableTableHashes()))[0];if(l=s,!Ce(n)){const[s,a]=(await b(t,5,e.getMergeableRowHashes(n)))[0];if(w(l,s),!Ce(a)){const s=(await b(t,6,e.getMergeableCellHashes(a)))[0];w(l,s)}}}return[l,r==a?Vt():(await b(t,7,e.getMergeableValueHashes()))[0],1]},L=Ct(e,(async()=>{const e=await C();return Ce(e[0][0])&&Ce(e[1][0])?void 0:e}),(async(t,s)=>s?f(null,null,3,s):f(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),i,2,{startSync:async e=>await(await L.startAutoLoad(e)).startAutoSave(),stopSync:()=>L.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),L.stopSync()),getSynchronizerStats:()=>({sends:u,receives:g}),...c});return n(((t,s,n,a)=>{g++,l?.(t,s,n,a),0==n?O(Ae(h,s),(([e,s])=>F(e)||e==t?s(a,t):0)):2==n&&L.isAutoLoading()?C(t,a).then((e=>{d?.(void 0,e)})):3==n&&L.isAutoLoading()?d?.(void 0,a):O(1==n&&L.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(a):5==n?e.getMergeableRowDiff(a):6==n?e.getMergeableCellDiff(a):7==n?e.getMergeableValueDiff(a):void 0,(e=>{f(t,s,0,e)}))})),L},e.createIndexes=ut,e.createMergeableStore=e=>{let t=1,n=Kt(),a=0;const o=He(),r=qe(),[l,i]=(e=>{let t=0,s=-1;const n=O(e,(e=>{const t=pt(e);return rt(t/Bt)+rt(t/Ut)+rt(t/$t)+rt(t/64)+rt(t)}),(()=>dt(5))),a=e=>{const n=t,[a,o]=F(e)||""==e?[0,0]:[lt(r=e,0)*jt+lt(r,1)*_t+lt(r,2)*Bt+lt(r,3)*Ut+lt(r,4)*$t+64*lt(r,5)+lt(r,6),lt(r,7)*Ut+lt(r,8)*$t+64*lt(r,9)+lt(r,10)];var r;t=k(n,a,E.HLC_TIME??Date.now()),s=t==n?t==a?k(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,rt((e=t)/jt)+rt(e/_t)+rt(e/Bt)+rt(e/Ut)+rt(e/$t)+rt(e/64)+rt(e)+rt(o/Ut)+rt(o/$t)+rt(o/64)+rt(o)+n;var e,o},a]})(e),c=Wt(),d=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const a={},o={},[[r,l=s,c=0],d]=e,[u,h]=n,[f,b,w]=u;let C=t?c:w,L=l;be(r,(([e,n=s,o=0],r)=>{const l=Fe(f,r,Dt),[i,c,d]=l;let u=t?o:d,h=n;be(e,((e,s)=>{const[n,o,l]=g(e,Fe(i,s,Dt),Le(Le(a,r,ge),s,ge),t);u^=t?0:(o?St(s,o):0)^St(s,l),h=Mt(h,n)})),u^=t?0:Rt(c,n),mt(l,u,n),C^=t?0:(d?St(r,d):0)^St(r,l[2]),L=Mt(L,h)})),C^=t?0:Rt(b,l),mt(u,C,l);const[p]=g(d,h,o,t);return i(Mt(L,p)),[a,o,1]},g=(e,t,n,a)=>{const[o,r=s,l=0]=e,[i,c,d]=t;let u=r,g=a?l:d;return be(o,(([e,t,o=0],r)=>{const l=Fe(i,r,(()=>[void 0,s,0])),[,c,d]=l;(!c||t>c)&&(mt(l,a?o:pt(zt(e??null)+":"+t),t),l[0]=e,n[r]=e,g^=a?0:St(r,d)^St(r,l[2]),u=Mt(u,t))})),g^=a?0:Rt(c,r),mt(t,g,r),[u,d,t[2]]},h=()=>[Et(n[0],(e=>Et(e,(e=>Et(e))))),Et(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Pe(n[0][0],Tt),getMergeableTableDiff:e=>{const t=Vt(n[0][1]),s={};return xe(n[0][0],((n,[a,o,r])=>he(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=Ht([a,o],(e=>Ht(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return be(e,((e,s)=>O(Ae(n[0][0],s),(([n,,a])=>a!=e?xe(n,((e,[,,n])=>Le(t,s,ge)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Vt(n[0][1]),s={};return be(e,((e,a)=>xe(Ae(n[0][0],a)?.[0],((n,[o,r,l])=>he(e,n)?l!==e[n]?Le(s,a,ge)[n]=l:0:Le(t[0],a,Vt)[0][n]=Ht([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return be(e,((e,s)=>O(Ae(n[0][0],s),(([n])=>be(e,((e,a)=>O(Ae(n,a),(([n,,o])=>o!==e?xe(n,((e,[,,n])=>Le(Le(t,s,ge),a,ge)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return be(e,((e,s)=>be(e,((e,n)=>O(Ae(t,s),(([t,o])=>O(Ae(t,n),(([t,r])=>xe(t,((t,[l,i,c])=>c!==e[t]?Le(Le(a,s,(()=>Vt(o)))[0],n,(()=>Vt(r)))[0][t]=[l,i]:0)))))))))),It(a,s)},getMergeableValueHashes:()=>Pe(n[1][0],Tt),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Pe(t,vt,(([,,t],s)=>t==e?.[s]));return It(a,s)},setMergeableContent:e=>d((()=>(e=>G(e)&&2==W(e)&&kt(e[0],(e=>pe(e,(e=>kt(e,(e=>pe(e,(e=>kt(e,(e=>pe(e,(e=>kt(e,Be)),void 0,1)))),void 0,1)))),void 0,1)))&&kt(e[1],(e=>pe(e,(e=>kt(e,Be)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Kt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};De(o,((t,s)=>O(Ae(e,s),(([e,n])=>{const a={};De(t,((t,s)=>O(Ae(e,s),(([e,n])=>{const o={};De(t,(t=>{O(Ae(e,t),(([e,s])=>o[t]=It(e,s)))})),a[s]=It(o,n)})))),l[s]=It(a,n)}))));const i={};return De(r,(e=>O(Ae(s,e),(([t,s])=>i[e]=It(t,s))))),[It(l,t),It(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{Ve(o),Ve(r)}),((e,n,r,i)=>{Ke(Fe(Fe(o,e,He),n,qe),r),t&&u([[{[e]:[{[n]:[{[r]:[i,a?s:l()]}]}]}],[{}],1])}),((e,n)=>{Ke(r,e),t&&u([[{}],[{[e]:[n,a?s:l()]}],1])})),we(c,((e,t)=>b[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):m(t,"add")&&V(t,"Listener")?(...s)=>{const n=qt[N(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),ue(b)},e.createMetrics=ft,e.createQueries=At,e.createRelationships=xt,e.createStore=Wt,e.defaultSorter=ct,e.getUniqueId=dt},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
@@ -18,6 +18,7 @@
18
18
  throw new Error(message);
19
19
  };
20
20
 
21
+ const arrayClear = (array, to) => array.splice(0, to);
21
22
  const arrayPush = (array, ...values) => array.push(...values);
22
23
  const arrayShift = (array) => array.shift();
23
24
 
@@ -54,14 +55,14 @@
54
55
  };
55
56
 
56
57
  const Persists = {
57
- StoreOnly: 1,
58
- MergeableStoreOnly: 2,
59
- StoreOrMergeableStore: 3,
58
+ StoreOnly: 1 /* StoreOnly */,
59
+ MergeableStoreOnly: 2 /* MergeableStoreOnly */,
60
+ StoreOrMergeableStore: 3 /* StoreOrMergeableStore */,
60
61
  };
61
62
  const scheduleRunning = mapNew();
62
63
  const scheduleActions = mapNew();
63
- const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
64
- persist != Persists.StoreOnly && store.isMergeable()
64
+ const getStoreFunctions = (persist = 1 /* StoreOnly */, store) =>
65
+ persist != 1 /* StoreOnly */ && store.isMergeable()
65
66
  ? [
66
67
  1,
67
68
  store.getMergeableContent,
@@ -70,7 +71,7 @@
70
71
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
71
72
  store.setDefaultContent,
72
73
  ]
73
- : persist != Persists.MergeableStoreOnly
74
+ : persist != 2 /* MergeableStoreOnly */
74
75
  ? [
75
76
  0,
76
77
  store.getContent,
@@ -155,19 +156,24 @@
155
156
  };
156
157
  const startAutoLoad = async (initialContent) => {
157
158
  await stopAutoLoad().load(initialContent);
158
- autoLoadHandle = addPersisterListener(async (content, changes) => {
159
- if (changes || content) {
160
- /* istanbul ignore else */
161
- if (loadSave != 2) {
162
- loadSave = 1;
163
- loads++;
164
- setContentOrChanges(changes ?? content);
165
- loadSave = 0;
159
+ try {
160
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
161
+ if (changes || content) {
162
+ /* istanbul ignore else */
163
+ if (loadSave != 2) {
164
+ loadSave = 1;
165
+ loads++;
166
+ setContentOrChanges(changes ?? content);
167
+ loadSave = 0;
168
+ }
169
+ } else {
170
+ await load();
166
171
  }
167
- } else {
168
- await load();
169
- }
170
- });
172
+ });
173
+ } catch (error) {
174
+ /* istanbul ignore next */
175
+ onIgnoredError?.(error);
176
+ }
171
177
  return persister;
172
178
  };
173
179
  const stopAutoLoad = () => {
@@ -217,7 +223,10 @@
217
223
  return persister;
218
224
  };
219
225
  const getStore = () => store;
220
- const destroy = () => stopAutoLoad().stopAutoSave();
226
+ const destroy = () => {
227
+ arrayClear(mapGet(scheduleActions, scheduleId));
228
+ return stopAutoLoad().stopAutoSave();
229
+ };
221
230
  const getStats = () => ({loads, saves});
222
231
  const persister = {
223
232
  load,
@@ -21,6 +21,7 @@
21
21
  };
22
22
 
23
23
  const arrayMap = (array, cb) => array.map(cb);
24
+ const arrayClear = (array, to) => array.splice(0, to);
24
25
  const arrayPush = (array, ...values) => array.push(...values);
25
26
  const arrayShift = (array) => array.shift();
26
27
 
@@ -71,15 +72,10 @@
71
72
  return mapGet(map, key);
72
73
  };
73
74
 
74
- const Persists = {
75
- StoreOnly: 1,
76
- MergeableStoreOnly: 2,
77
- StoreOrMergeableStore: 3,
78
- };
79
75
  const scheduleRunning = mapNew();
80
76
  const scheduleActions = mapNew();
81
- const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
82
- persist != Persists.StoreOnly && store.isMergeable()
77
+ const getStoreFunctions = (persist = 1 /* StoreOnly */, store) =>
78
+ persist != 1 /* StoreOnly */ && store.isMergeable()
83
79
  ? [
84
80
  1,
85
81
  store.getMergeableContent,
@@ -88,7 +84,7 @@
88
84
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
89
85
  store.setDefaultContent,
90
86
  ]
91
- : persist != Persists.MergeableStoreOnly
87
+ : persist != 2 /* MergeableStoreOnly */
92
88
  ? [
93
89
  0,
94
90
  store.getContent,
@@ -173,19 +169,24 @@
173
169
  };
174
170
  const startAutoLoad = async (initialContent) => {
175
171
  await stopAutoLoad().load(initialContent);
176
- autoLoadHandle = addPersisterListener(async (content, changes) => {
177
- if (changes || content) {
178
- /* istanbul ignore else */
179
- if (loadSave != 2) {
180
- loadSave = 1;
181
- loads++;
182
- setContentOrChanges(changes ?? content);
183
- loadSave = 0;
172
+ try {
173
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
174
+ if (changes || content) {
175
+ /* istanbul ignore else */
176
+ if (loadSave != 2) {
177
+ loadSave = 1;
178
+ loads++;
179
+ setContentOrChanges(changes ?? content);
180
+ loadSave = 0;
181
+ }
182
+ } else {
183
+ await load();
184
184
  }
185
- } else {
186
- await load();
187
- }
188
- });
185
+ });
186
+ } catch (error) {
187
+ /* istanbul ignore next */
188
+ onIgnoredError?.(error);
189
+ }
189
190
  return persister;
190
191
  };
191
192
  const stopAutoLoad = () => {
@@ -235,7 +236,10 @@
235
236
  return persister;
236
237
  };
237
238
  const getStore = () => store;
238
- const destroy = () => stopAutoLoad().stopAutoSave();
239
+ const destroy = () => {
240
+ arrayClear(mapGet(scheduleActions, scheduleId));
241
+ return stopAutoLoad().stopAutoSave();
242
+ };
239
243
  const getStats = () => ({loads, saves});
240
244
  const persister = {
241
245
  load,
@@ -380,7 +384,8 @@
380
384
  addPersisterListener,
381
385
  delPersisterListener,
382
386
  onIgnoredError,
383
- Persists.StoreOnly,
387
+ 1,
388
+ // StoreOnly,
384
389
  {getDocHandle: () => docHandle},
385
390
  );
386
391
  };
@@ -21,6 +21,7 @@
21
21
  };
22
22
 
23
23
  const arrayMap = (array, cb) => array.map(cb);
24
+ const arrayClear = (array, to) => array.splice(0, to);
24
25
  const arrayPush = (array, ...values) => array.push(...values);
25
26
  const arrayShift = (array) => array.shift();
26
27
 
@@ -71,15 +72,10 @@
71
72
  return mapGet(map, key);
72
73
  };
73
74
 
74
- const Persists = {
75
- StoreOnly: 1,
76
- MergeableStoreOnly: 2,
77
- StoreOrMergeableStore: 3,
78
- };
79
75
  const scheduleRunning = mapNew();
80
76
  const scheduleActions = mapNew();
81
- const getStoreFunctions = (persist = Persists.StoreOnly, store) =>
82
- persist != Persists.StoreOnly && store.isMergeable()
77
+ const getStoreFunctions = (persist = 1 /* StoreOnly */, store) =>
78
+ persist != 1 /* StoreOnly */ && store.isMergeable()
83
79
  ? [
84
80
  1,
85
81
  store.getMergeableContent,
@@ -88,7 +84,7 @@
88
84
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
89
85
  store.setDefaultContent,
90
86
  ]
91
- : persist != Persists.MergeableStoreOnly
87
+ : persist != 2 /* MergeableStoreOnly */
92
88
  ? [
93
89
  0,
94
90
  store.getContent,
@@ -173,19 +169,24 @@
173
169
  };
174
170
  const startAutoLoad = async (initialContent) => {
175
171
  await stopAutoLoad().load(initialContent);
176
- autoLoadHandle = addPersisterListener(async (content, changes) => {
177
- if (changes || content) {
178
- /* istanbul ignore else */
179
- if (loadSave != 2) {
180
- loadSave = 1;
181
- loads++;
182
- setContentOrChanges(changes ?? content);
183
- loadSave = 0;
172
+ try {
173
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
174
+ if (changes || content) {
175
+ /* istanbul ignore else */
176
+ if (loadSave != 2) {
177
+ loadSave = 1;
178
+ loads++;
179
+ setContentOrChanges(changes ?? content);
180
+ loadSave = 0;
181
+ }
182
+ } else {
183
+ await load();
184
184
  }
185
- } else {
186
- await load();
187
- }
188
- });
185
+ });
186
+ } catch (error) {
187
+ /* istanbul ignore next */
188
+ onIgnoredError?.(error);
189
+ }
189
190
  return persister;
190
191
  };
191
192
  const stopAutoLoad = () => {
@@ -235,7 +236,10 @@
235
236
  return persister;
236
237
  };
237
238
  const getStore = () => store;
238
- const destroy = () => stopAutoLoad().stopAutoSave();
239
+ const destroy = () => {
240
+ arrayClear(mapGet(scheduleActions, scheduleId));
241
+ return stopAutoLoad().stopAutoSave();
242
+ };
239
243
  const getStats = () => ({loads, saves});
240
244
  const persister = {
241
245
  load,
@@ -380,7 +384,8 @@
380
384
  addPersisterListener,
381
385
  delPersisterListener,
382
386
  onIgnoredError,
383
- Persists.StoreOnly,
387
+ 1,
388
+ // StoreOnly,
384
389
  {getDocHandle: () => docHandle},
385
390
  );
386
391
  };