tinybase 5.0.0-beta.5 → 5.0.0-beta.6

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 (353) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-sync.cjs +1 -0
  32. package/lib/cjs/persisters/persister-sync.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  34. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  35. package/lib/cjs/persisters.cjs +1 -1
  36. package/lib/cjs/persisters.cjs.gz +0 -0
  37. package/lib/cjs/store.cjs +1 -1
  38. package/lib/cjs/store.cjs.gz +0 -0
  39. package/lib/cjs/tinybase.cjs +1 -1
  40. package/lib/cjs/tinybase.cjs.gz +0 -0
  41. package/lib/cjs/tools.cjs +1 -1
  42. package/lib/cjs/tools.cjs.gz +0 -0
  43. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  44. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  45. package/lib/cjs/ui-react.cjs +1 -1
  46. package/lib/cjs/ui-react.cjs.gz +0 -0
  47. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  48. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  70. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sync.cjs +1 -0
  78. package/lib/cjs-es6/persisters/persister-sync.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters.cjs +1 -1
  82. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  83. package/lib/cjs-es6/store.cjs +1 -1
  84. package/lib/cjs-es6/store.cjs.gz +0 -0
  85. package/lib/cjs-es6/tinybase.cjs +1 -1
  86. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  87. package/lib/cjs-es6/tools.cjs +1 -1
  88. package/lib/cjs-es6/tools.cjs.gz +0 -0
  89. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  90. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  91. package/lib/cjs-es6/ui-react.cjs +1 -1
  92. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  93. package/lib/debug/mergeable-store.js +287 -130
  94. package/lib/debug/persisters/persister-automerge.js +39 -46
  95. package/lib/debug/persisters/persister-browser.js +39 -46
  96. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
  97. package/lib/debug/persisters/persister-electric-sql.js +64 -60
  98. package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
  99. package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
  100. package/lib/debug/persisters/persister-file.js +39 -46
  101. package/lib/debug/persisters/persister-indexed-db.js +39 -46
  102. package/lib/debug/persisters/persister-libsql.js +64 -60
  103. package/lib/debug/persisters/persister-partykit-client.js +39 -46
  104. package/lib/debug/persisters/persister-powersync.js +917 -0
  105. package/lib/debug/persisters/persister-remote.js +39 -46
  106. package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
  107. package/lib/debug/persisters/persister-sqlite3.js +64 -60
  108. package/lib/debug/persisters/persister-sync.js +594 -0
  109. package/lib/debug/persisters/persister-yjs.js +41 -48
  110. package/lib/debug/persisters.js +38 -45
  111. package/lib/debug/store.js +44 -32
  112. package/lib/debug/tinybase.js +322 -173
  113. package/lib/debug/tools.js +2 -2
  114. package/lib/debug/ui-react-dom.js +81 -76
  115. package/lib/debug/ui-react.js +1 -1
  116. package/lib/es6/mergeable-store.js +1 -1
  117. package/lib/es6/mergeable-store.js.gz +0 -0
  118. package/lib/es6/persisters/persister-automerge.js +1 -1
  119. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  120. package/lib/es6/persisters/persister-browser.js +1 -1
  121. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  122. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  123. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  124. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  125. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  126. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  127. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  128. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  129. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  130. package/lib/es6/persisters/persister-file.js +1 -1
  131. package/lib/es6/persisters/persister-file.js.gz +0 -0
  132. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  133. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  134. package/lib/es6/persisters/persister-libsql.js +1 -1
  135. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  136. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  137. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  138. package/lib/es6/persisters/persister-powersync.js +1 -0
  139. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  140. package/lib/es6/persisters/persister-remote.js +1 -1
  141. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  142. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  143. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  144. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  145. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  146. package/lib/es6/persisters/persister-sync.js +1 -0
  147. package/lib/es6/persisters/persister-sync.js.gz +0 -0
  148. package/lib/es6/persisters/persister-yjs.js +1 -1
  149. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  150. package/lib/es6/persisters.js +1 -1
  151. package/lib/es6/persisters.js.gz +0 -0
  152. package/lib/es6/store.js +1 -1
  153. package/lib/es6/store.js.gz +0 -0
  154. package/lib/es6/tinybase.js +1 -1
  155. package/lib/es6/tinybase.js.gz +0 -0
  156. package/lib/es6/tools.js +1 -1
  157. package/lib/es6/tools.js.gz +0 -0
  158. package/lib/es6/ui-react-dom-debug.js +1 -1
  159. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  160. package/lib/es6/ui-react.js +1 -1
  161. package/lib/es6/ui-react.js.gz +0 -0
  162. package/lib/mergeable-store.js +1 -1
  163. package/lib/mergeable-store.js.gz +0 -0
  164. package/lib/persisters/persister-automerge.js +1 -1
  165. package/lib/persisters/persister-automerge.js.gz +0 -0
  166. package/lib/persisters/persister-browser.js +1 -1
  167. package/lib/persisters/persister-browser.js.gz +0 -0
  168. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  169. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  170. package/lib/persisters/persister-electric-sql.js +1 -1
  171. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  172. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  173. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  174. package/lib/persisters/persister-expo-sqlite.js +1 -1
  175. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  176. package/lib/persisters/persister-file.js +1 -1
  177. package/lib/persisters/persister-file.js.gz +0 -0
  178. package/lib/persisters/persister-indexed-db.js +1 -1
  179. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  180. package/lib/persisters/persister-libsql.js +1 -1
  181. package/lib/persisters/persister-libsql.js.gz +0 -0
  182. package/lib/persisters/persister-partykit-client.js +1 -1
  183. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  184. package/lib/persisters/persister-powersync.js +1 -0
  185. package/lib/persisters/persister-powersync.js.gz +0 -0
  186. package/lib/persisters/persister-remote.js +1 -1
  187. package/lib/persisters/persister-remote.js.gz +0 -0
  188. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  189. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  190. package/lib/persisters/persister-sqlite3.js +1 -1
  191. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  192. package/lib/persisters/persister-sync.js +1 -0
  193. package/lib/persisters/persister-sync.js.gz +0 -0
  194. package/lib/persisters/persister-yjs.js +1 -1
  195. package/lib/persisters/persister-yjs.js.gz +0 -0
  196. package/lib/persisters.js +1 -1
  197. package/lib/persisters.js.gz +0 -0
  198. package/lib/store.js +1 -1
  199. package/lib/store.js.gz +0 -0
  200. package/lib/tinybase.js +1 -1
  201. package/lib/tinybase.js.gz +0 -0
  202. package/lib/tools.js +1 -1
  203. package/lib/tools.js.gz +0 -0
  204. package/lib/types/checkpoints.d.ts +2 -2
  205. package/lib/types/indexes.d.ts +2 -2
  206. package/lib/types/mergeable-store.d.ts +121 -59
  207. package/lib/types/metrics.d.ts +2 -2
  208. package/lib/types/persisters/persister-automerge.d.ts +3 -0
  209. package/lib/types/persisters/persister-browser.d.ts +9 -2
  210. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
  211. package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
  212. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
  213. package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
  214. package/lib/types/persisters/persister-file.d.ts +5 -1
  215. package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
  216. package/lib/types/persisters/persister-libsql.d.ts +3 -0
  217. package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
  218. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  219. package/lib/types/persisters/persister-remote.d.ts +3 -0
  220. package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
  221. package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
  222. package/lib/types/persisters/persister-sync.d.ts +182 -0
  223. package/lib/types/persisters/persister-yjs.d.ts +5 -2
  224. package/lib/types/persisters.d.ts +60 -3
  225. package/lib/types/queries.d.ts +2 -2
  226. package/lib/types/relationships.d.ts +2 -2
  227. package/lib/types/store.d.ts +36 -3
  228. package/lib/types/tinybase.d.ts +9 -9
  229. package/lib/types/tools.d.ts +2 -2
  230. package/lib/types/ui-react.d.ts +8 -8
  231. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  232. package/lib/types/with-schemas/indexes.d.ts +2 -2
  233. package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
  234. package/lib/types/with-schemas/metrics.d.ts +2 -2
  235. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
  236. package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
  237. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
  238. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
  239. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
  240. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
  241. package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
  242. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
  243. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
  244. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
  245. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  246. package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
  247. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
  248. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
  249. package/lib/types/with-schemas/persisters/persister-sync.d.ts +195 -0
  250. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
  251. package/lib/types/with-schemas/persisters.d.ts +79 -7
  252. package/lib/types/with-schemas/queries.d.ts +3 -3
  253. package/lib/types/with-schemas/relationships.d.ts +2 -2
  254. package/lib/types/with-schemas/store.d.ts +100 -3
  255. package/lib/types/with-schemas/tinybase.d.ts +9 -9
  256. package/lib/types/with-schemas/tools.d.ts +2 -2
  257. package/lib/types/with-schemas/ui-react.d.ts +8 -8
  258. package/lib/ui-react.js +1 -1
  259. package/lib/ui-react.js.gz +0 -0
  260. package/lib/umd/mergeable-store.js +1 -1
  261. package/lib/umd/mergeable-store.js.gz +0 -0
  262. package/lib/umd/persisters/persister-automerge.js +1 -1
  263. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  264. package/lib/umd/persisters/persister-browser.js +1 -1
  265. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  266. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  267. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  268. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  269. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  270. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  271. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  272. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  273. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  274. package/lib/umd/persisters/persister-file.js +1 -1
  275. package/lib/umd/persisters/persister-file.js.gz +0 -0
  276. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  277. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  278. package/lib/umd/persisters/persister-libsql.js +1 -1
  279. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  280. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  281. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  282. package/lib/umd/persisters/persister-powersync.js +1 -0
  283. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  284. package/lib/umd/persisters/persister-remote.js +1 -1
  285. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  286. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  287. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  288. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  289. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  290. package/lib/umd/persisters/persister-sync.js +1 -0
  291. package/lib/umd/persisters/persister-sync.js.gz +0 -0
  292. package/lib/umd/persisters/persister-yjs.js +1 -1
  293. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  294. package/lib/umd/persisters.js +1 -1
  295. package/lib/umd/persisters.js.gz +0 -0
  296. package/lib/umd/store.js +1 -1
  297. package/lib/umd/store.js.gz +0 -0
  298. package/lib/umd/tinybase.js +1 -1
  299. package/lib/umd/tinybase.js.gz +0 -0
  300. package/lib/umd/tools.js +1 -1
  301. package/lib/umd/tools.js.gz +0 -0
  302. package/lib/umd/ui-react-dom-debug.js +1 -1
  303. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  304. package/lib/umd/ui-react.js +1 -1
  305. package/lib/umd/ui-react.js.gz +0 -0
  306. package/lib/umd-es6/mergeable-store.js +1 -1
  307. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  308. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  309. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  310. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  311. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  313. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  314. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  315. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  316. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  317. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  318. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  319. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  320. package/lib/umd-es6/persisters/persister-file.js +1 -1
  321. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  322. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  323. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  324. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  325. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  326. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  327. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  328. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  329. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  330. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  331. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  332. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  333. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  334. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  335. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  336. package/lib/umd-es6/persisters/persister-sync.js +1 -0
  337. package/lib/umd-es6/persisters/persister-sync.js.gz +0 -0
  338. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  339. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  340. package/lib/umd-es6/persisters.js +1 -1
  341. package/lib/umd-es6/persisters.js.gz +0 -0
  342. package/lib/umd-es6/store.js +1 -1
  343. package/lib/umd-es6/store.js.gz +0 -0
  344. package/lib/umd-es6/tinybase.js +1 -1
  345. package/lib/umd-es6/tinybase.js.gz +0 -0
  346. package/lib/umd-es6/tools.js +1 -1
  347. package/lib/umd-es6/tools.js.gz +0 -0
  348. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  349. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  350. package/lib/umd-es6/ui-react.js +1 -1
  351. package/lib/umd-es6/ui-react.js.gz +0 -0
  352. package/package.json +37 -26
  353. package/readme.md +2 -2
@@ -23,6 +23,7 @@
23
23
  * |persister-expo-sqlite-next|createExpoSqliteNextPersister|SQLite in React Native, via [expo-sqlite/next](https://github.com/expo/expo/tree/main/packages/expo-sqlite/next)|
24
24
  * |persister-electric-sql|createElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|
25
25
  * |persister-libsql|createLibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|
26
+ * |persister-powersync|createPowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|
26
27
  * |persister-yjs|createYjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|
27
28
  * |persister-automerge|createSqliteWasmPersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|
28
29
  *
@@ -47,8 +48,12 @@ import {
47
48
  Store,
48
49
  Tables,
49
50
  Values,
50
- } from './store.d';
51
- import {MergeableContent, MergeableStore} from './mergeable-store';
51
+ } from './store.d.ts';
52
+ import {
53
+ MergeableChanges,
54
+ MergeableContent,
55
+ MergeableStore,
56
+ } from './mergeable-store';
52
57
  import {TableIdFromSchema} from './internal/store';
53
58
 
54
59
  /**
@@ -100,9 +105,16 @@ export type PersisterStats = {
100
105
  * @category Creation
101
106
  * @since v4.0.0
102
107
  */
103
- export type PersisterListener<Schemas extends OptionalSchemas> = (
104
- getContent?: () => Content<Schemas, true>,
105
- getChanges?: () => Changes<Schemas>,
108
+ export type PersisterListener<
109
+ Schemas extends OptionalSchemas,
110
+ SupportsMergeableStore extends boolean = false,
111
+ > = (
112
+ getContent?: () =>
113
+ | Content<Schemas, true>
114
+ | (SupportsMergeableStore extends true ? MergeableContent<Schemas> : never),
115
+ getChanges?: () =>
116
+ | Changes<Schemas>
117
+ | (SupportsMergeableStore extends true ? MergeableChanges<Schemas> : never),
106
118
  ) => void;
107
119
 
108
120
  /**
@@ -865,6 +877,33 @@ export interface Persister<
865
877
  */
866
878
  stopAutoLoad(): Persister<Schemas, SupportsMergeableStore>;
867
879
 
880
+ /**
881
+ * The isAutoLoading method lets you find out if the Persister is currently
882
+ * automatically loading its content.
883
+ * @returns A boolean indicating whether the Persister is currently
884
+ * autoLoading.
885
+ * @example
886
+ * This example creates a Persister and queries whether it is autoLoading.
887
+ *
888
+ * ```js
889
+ * const persister = createSessionPersister(createStore(), 'pets');
890
+ *
891
+ * console.log(persister.isAutoLoading());
892
+ * // -> false
893
+ *
894
+ * await persister.startAutoLoad();
895
+ * console.log(persister.isAutoLoading());
896
+ * // -> true
897
+ *
898
+ * await persister.stopAutoLoad();
899
+ * console.log(persister.isAutoLoading());
900
+ * // -> false
901
+ * ```
902
+ * @category Load
903
+ * @since v5.0.0
904
+ */
905
+ isAutoLoading(): boolean;
906
+
868
907
  /**
869
908
  * The save method takes data from the Store with which the Persister is
870
909
  * associated and persists it into storage, once.
@@ -985,6 +1024,33 @@ export interface Persister<
985
1024
  */
986
1025
  stopAutoSave(): Persister<Schemas, SupportsMergeableStore>;
987
1026
 
1027
+ /**
1028
+ * The isAutoSaving method lets you find out if the Persister is currently
1029
+ * automatically saving its content.
1030
+ * @returns A boolean indicating whether the Persister is currently
1031
+ * autoSaving.
1032
+ * @example
1033
+ * This example creates a Persister and queries whether it is autoSaving.
1034
+ *
1035
+ * ```js
1036
+ * const persister = createSessionPersister(createStore(), 'pets');
1037
+ *
1038
+ * console.log(persister.isAutoSaving());
1039
+ * // -> false
1040
+ *
1041
+ * await persister.startAutoSave();
1042
+ * console.log(persister.isAutoSaving());
1043
+ * // -> true
1044
+ *
1045
+ * await persister.stopAutoSave();
1046
+ * console.log(persister.isAutoSaving());
1047
+ * // -> false
1048
+ * ```
1049
+ * @category Save
1050
+ * @since v5.0.0
1051
+ */
1052
+ isAutoSaving(): boolean;
1053
+
988
1054
  /**
989
1055
  * The schedule method allows you to queue up a series of asynchronous actions
990
1056
  * that must run in sequence during persistence.
@@ -1171,7 +1237,9 @@ export interface Persister<
1171
1237
  * getContent: () =>
1172
1238
  * | Content
1173
1239
  * | (SupportsMergeableStore extends true ? MergeableContent : never),
1174
- * getChanges?: () => Changes,
1240
+ * getChanges?: () =>
1241
+ * | Changes
1242
+ * | (SupportsMergeableStore extends true ? MergeableChanges : never),
1175
1243
  * ) => Promise<void>,
1176
1244
  * addPersisterListener: (
1177
1245
  * listener: PersisterListener<SupportsMergeableStore>,
@@ -1275,7 +1343,11 @@ export function createCustomPersister<
1275
1343
  | (SupportsMergeableStore extends true
1276
1344
  ? MergeableContent<Schemas>
1277
1345
  : never),
1278
- getChanges?: () => Changes<Schemas>,
1346
+ getChanges?: () =>
1347
+ | Changes<Schemas>
1348
+ | (SupportsMergeableStore extends true
1349
+ ? MergeableChanges<Schemas>
1350
+ : never),
1279
1351
  ) => Promise<void>,
1280
1352
  addPersisterListener: (
1281
1353
  listener: PersisterListener<Schemas>,
@@ -19,11 +19,11 @@ import {
19
19
  OptionalSchemas,
20
20
  OptionalTablesSchema,
21
21
  Store,
22
- } from './store.d';
22
+ } from './store.d.ts';
23
23
  import {CellIdFromSchema, TableIdFromSchema} from './internal/store';
24
24
  import {GetResultCell, JoinedCellIdOrId} from './internal/queries';
25
- import {Id, IdOrNull, Ids} from './common.d';
26
- import {GetIdChanges} from '../store.d';
25
+ import {Id, IdOrNull, Ids} from './common.d.ts';
26
+ import {GetIdChanges} from '../store.d.ts';
27
27
 
28
28
  /**
29
29
  * The ResultTable type is the data structure representing the results of a
@@ -17,8 +17,8 @@ import {
17
17
  OptionalTablesSchema,
18
18
  RowCallback,
19
19
  Store,
20
- } from './store.d';
21
- import {Id, IdOrNull, Ids} from './common.d';
20
+ } from './store.d.ts';
21
+ import {Id, IdOrNull, Ids} from './common.d.ts';
22
22
 
23
23
  /**
24
24
  * The Relationship type represents the concept of a map that connects one Row
@@ -22,7 +22,7 @@ import {
22
22
  Truncate,
23
23
  ValueIdFromSchema,
24
24
  } from './internal/store';
25
- import {Id, IdOrNull, Ids, Json} from './common.d';
25
+ import {Id, IdOrNull, Ids, Json} from './common.d.ts';
26
26
 
27
27
  /**
28
28
  * The TablesSchema type describes the tabular structure of a Store in terms of
@@ -167,7 +167,41 @@ export type OptionalSchemas = [OptionalTablesSchema, OptionalValuesSchema];
167
167
  */
168
168
  export type NoSchemas = [NoTablesSchema, NoValuesSchema];
169
169
 
170
- // Content
170
+ /**
171
+ * The Content type describes both the Tables and Values in a Store.
172
+ *
173
+ * This has schema-based typing. The following is a simplified representation:
174
+ *
175
+ * ```ts override
176
+ * [Tables, Values];
177
+ * ```
178
+ *
179
+ * It is an array of two objects, representing tabular and keyed value content.
180
+ * @example
181
+ * The following is a valid Content array:
182
+ * ```json
183
+ * [
184
+ * {
185
+ * "pets": {
186
+ * "fido": {
187
+ * "sold": false,
188
+ * "price": 4,
189
+ * },
190
+ * "felix": {
191
+ * "sold": true,
192
+ * "price": 5,
193
+ * },
194
+ * },
195
+ * },
196
+ * {
197
+ * open: true,
198
+ * employees: 3,
199
+ * },
200
+ * ]
201
+ * ```
202
+ * @category Store
203
+ * @since v5.0.0
204
+ */
171
205
  export type Content<
172
206
  Schemas extends OptionalSchemas,
173
207
  WhenSet extends boolean = false,
@@ -2207,7 +2241,69 @@ export type ChangedValue<
2207
2241
  */
2208
2242
  export type InvalidValues = {[valueId: Id]: any[]};
2209
2243
 
2210
- //
2244
+ /**
2245
+ * The Changes type describes the net meaningful changes that were made to a
2246
+ * Store during a transaction.
2247
+ *
2248
+ * This has schema-based typing. The following is a simplified representation:
2249
+ *
2250
+ * ```ts override
2251
+ * [
2252
+ * changedTables: {
2253
+ * [tableId: Id]:
2254
+ * | {[rowId: Id]: {[cellId: Id]: CellOrUndefined} | undefined}
2255
+ * | undefined;
2256
+ * },
2257
+ * changedValues: {[valueId: Id]: ValueOrUndefined},
2258
+ * isChanges: 1,
2259
+ * ];
2260
+ * ```
2261
+ *
2262
+ * This contains mostly equivalent information to a TransactionLog, but in a
2263
+ * form that can be more efficiently parsed and serialized (for example in the
2264
+ * case of synchronization between systems).
2265
+ *
2266
+ * It is an array of two objects, representing tabular and keyed value changes.
2267
+ * If the first item is an empty object, it means no tabular changes were made.
2268
+ * If the second item is an empty object, it means no keyed value changes were
2269
+ * made.
2270
+ *
2271
+ * If not empty, the first object has an entry for each Table in a Store that
2272
+ * has had a change within it. If the entry is null, it means that whole Table
2273
+ * was deleted. Otherwise, the entry will be an object with an entry for each
2274
+ * Row in that Table that had a change within it. In turn, if that entry is
2275
+ * null, it means the Row was deleted. Otherwise, the entry will be an object
2276
+ * with an entry for each Cell in that Row that had a change within it. If the
2277
+ * entry is null, the Cell was deleted, otherwise it will contain the new value
2278
+ * the Cell was changed to during the transaction.
2279
+ *
2280
+ * If not empty, the second object has an entry for each Value in a Store that
2281
+ * has had a change. If the entry is null, the Value was deleted, otherwise it
2282
+ * will contain the new Value it was changed to during the transaction.
2283
+ *
2284
+ * A third, required, item in the array is the digit `1`, so that instances of
2285
+ * Content and Changes types can be disambiguated.
2286
+ * @example
2287
+ * The following is a valid Changes array that conveys the following:
2288
+ * ```json
2289
+ * [
2290
+ * { // changes to tabular data in the Store
2291
+ * "pets": { // this Table was changed
2292
+ * "fido": null, // this Row was deleted
2293
+ * "felix": { // this Row was changed
2294
+ * "sold": true, // this Cell was changed
2295
+ * "price": null, // this Cell was deleted
2296
+ * },
2297
+ * },
2298
+ * "pendingSales": null, // this Table was deleted
2299
+ * },
2300
+ * {}, // no changes to keyed value data in the Store
2301
+ * 1, // indicates that this is a Changes array
2302
+ * ]
2303
+ * ```
2304
+ * @category Transaction
2305
+ * @since v4.0.0
2306
+ */
2211
2307
  export type Changes<Schemas extends OptionalSchemas> = [
2212
2308
  {
2213
2309
  [TableId in TableIdFromSchema<Schemas[0]>]?:
@@ -2226,6 +2322,7 @@ export type Changes<Schemas extends OptionalSchemas> = [
2226
2322
  {
2227
2323
  [ValueId in ValueIdFromSchema<Schemas[1]>]?: Value<Schemas[1], ValueId>;
2228
2324
  },
2325
+ isChanges: 1,
2229
2326
  ];
2230
2327
 
2231
2328
  /**
@@ -3,12 +3,12 @@
3
3
  * @packageDocumentation
4
4
  */
5
5
 
6
- export * from './checkpoints.d';
7
- export * from './common.d';
8
- export * from './indexes.d';
9
- export * from './metrics.d';
10
- export * from './persisters.d';
11
- export * from './queries.d';
12
- export * from './relationships.d';
13
- export * from './mergeable-store.d';
14
- export * from './store.d';
6
+ export * from './checkpoints.d.ts';
7
+ export * from './common.d.ts';
8
+ export * from './indexes.d.ts';
9
+ export * from './metrics.d.ts';
10
+ export * from './persisters.d.ts';
11
+ export * from './queries.d.ts';
12
+ export * from './relationships.d.ts';
13
+ export * from './mergeable-store.d.ts';
14
+ export * from './store.d.ts';
@@ -9,8 +9,8 @@
9
9
  * @since v2.2.0
10
10
  */
11
11
 
12
- import {OptionalSchemas, Store} from './store.d';
13
- import {Id} from './common.d';
12
+ import {OptionalSchemas, Store} from './store.d.ts';
13
+ import {Id} from './common.d.ts';
14
14
 
15
15
  /**
16
16
  * The StoreStats type describes a set of statistics about the Store, and
@@ -64,7 +64,7 @@ import {
64
64
  ValueProps,
65
65
  ValuesProps,
66
66
  } from './internal/ui-react';
67
- import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d';
67
+ import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d.ts';
68
68
  import {
69
69
  Cell,
70
70
  CellIdsListener,
@@ -98,21 +98,21 @@ import {
98
98
  ValueListener,
99
99
  Values,
100
100
  ValuesListener,
101
- } from './store.d';
101
+ } from './store.d.ts';
102
102
  import {
103
103
  CheckpointIds,
104
104
  CheckpointIdsListener,
105
105
  CheckpointListener,
106
106
  Checkpoints,
107
- } from './checkpoints.d';
108
- import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d';
107
+ } from './checkpoints.d.ts';
108
+ import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d.ts';
109
109
  import {
110
110
  LinkedRowIdsListener,
111
111
  LocalRowIdsListener,
112
112
  Relationships,
113
113
  RemoteRowIdListener,
114
- } from './relationships.d';
115
- import {MetricListener, Metrics} from './metrics.d';
114
+ } from './relationships.d.ts';
115
+ import {MetricListener, Metrics} from './metrics.d.ts';
116
116
  import {
117
117
  Queries,
118
118
  ResultCell,
@@ -126,8 +126,8 @@ import {
126
126
  ResultTable,
127
127
  ResultTableCellIdsListener,
128
128
  ResultTableListener,
129
- } from './queries.d';
130
- import {Persister} from './persisters.d';
129
+ } from './queries.d.ts';
130
+ import {Persister} from './persisters.d.ts';
131
131
  import {ReactElement} from 'react';
132
132
 
133
133
  export type WithSchemas<Schemas extends OptionalSchemas> = {
package/lib/ui-react.js CHANGED
@@ -1 +1 @@
1
- import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",l=I+"s",i=I+c,a="Row",p=a+"Count",g=a+c,b="Sorted"+a+c,C="Cell",m=C+c,y="Value",k=y+"s",w=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=B.keys,F=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(M(t))&&x(o,(([e,o])=>F(o)?!!F(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>M(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:le,useState:ie,useSyncExternalStore:ae}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=ie(),[r,d]=ie();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},ke=(e,t,s,r=pe)=>{const d=le(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ae(c,n)},we=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=()=>G(1),ve=e=>ke(l,K(e),4,[]),xe=e=>ke(l,K(e),0),Se=e=>ke(i,K(e),1),Le=(e,t)=>ke(I,K(t),4,[e]),Be=(e,t)=>ke(I,K(t),0,[e]),Te=(e,t)=>ke(I+m,K(t),1,[e]),Ee=(e,t,o)=>ke(I+C,K(o),4,[e,t]),Me=(e,t)=>ke(p,K(t),5,[e]),Fe=(e,t)=>ke(g,K(t),1,[e]),Ve=(e,t,o,s=0,r,d)=>ke(b,K(d),1,[e,t,o,s,r]),Ae=(e,t,o)=>ke(a,K(o),4,[e,t]),Oe=(e,t,o)=>ke(a,K(o),0,[e,t]),je=(e,t,o)=>ke(m,K(o),1,[e,t]),De=(e,t,o,s)=>ke(C,K(s),4,[e,t,o]),He=(e,t,o,s)=>ke(C,K(s),3,[e,t,o]),Qe=e=>ke(k,K(e),4,[]),We=e=>ke(k,K(e),0),ze=e=>ke(w,K(e),1),Ge=(e,t)=>ke(y,K(t),4,[e]),Je=(e,t)=>ke(y,K(t),3,[e]),Ke=(e,t,o,s,r)=>he(o,l,e,t,s,r),Ne=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Ue=(e,t,o,s,r,d,n)=>he(r,a,o,s,d,n,e,t),Xe=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ye=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),Ze=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),$e=(e,t,o,s,r)=>he(o,k,e,t,s,r),_e=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),et=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),tt=(e,t,o)=>Re(e,l,t,o),ot=(e,t,o,s)=>Re(t,I,o,s,e),st=(e,t,o,s,r)=>Re(o,a,s,r,e,t),rt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),dt=(e,t,o)=>Re(e,k,t,o),nt=(e,t,o,s)=>Re(t,y,o,s,e),ut=(e,t,o,s)=>we(u+l,K(s),e,t,[],o),ct=(e,t,o,s)=>we(l,K(s),e,t,pe,o),It=(e,t,o,s)=>we(i,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>we(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>we(I,K(r),t,o,[e],s),at=(e,t,o,s,r)=>we(I+m,K(r),t,o,[e],s),pt=(e,t,o,s,r,d)=>we(u+I+C,K(d),o,s,[e,t],r),gt=(e,t,o,s,r)=>we(p,K(r),t,o,[e],s),bt=(e,t,o,s,r)=>we(g,K(r),t,o,[e],s),Ct=(e,t,o,s,r,d,n,u,c)=>we(b,K(c),d,n,[e,t,o,s,r],u),mt=(e,t,o,s,r,d)=>we(u+a,K(d),o,s,[e,t],r),yt=(e,t,o,s,r,d)=>we(a,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>we(m,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d,n)=>we(u+C,K(n),s,r,[e,t,o],d),ht=(e,t,o,s,r,d,n)=>we(C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s)=>we(u+k,K(s),e,t,[],o),ft=(e,t,o,s)=>we(k,K(s),e,t,pe,o),qt=(e,t,o,s)=>we(w,K(s),e,t,pe,o),Pt=(e,t,o,s,r)=>we(u+y,K(r),t,o,[e],s),vt=(e,t,o,s,r)=>we(y,K(r),t,o,[e],s),xt=(e,t,o)=>we("Start"+de,K(o),e,t),St=(e,t,o)=>we("WillFinish"+de,K(o),e,t),Lt=(e,t,o)=>we("DidFinish"+de,K(o),e,t),Bt=(e,t,o)=>me(e,t,o),Tt=()=>G(3),Et=e=>ke("MetricIds",X(e),1),Mt=(e,t)=>ke("Metric",X(t),3,[e]),Ft=(e,t,o,s)=>we("Metric",X(s),t,o,[e]),Vt=(e,t,o)=>me(e,t,o),At=()=>G(5),Ot=(e,t)=>ke("SliceIds",Z(t),1,[e]),jt=e=>ke("IndexIds",Z(e),1),Dt=(e,t,o)=>ke("Slice"+g,Z(o),1,[e,t]),Ht=(e,t,o,s)=>we("SliceIds",Z(s),t,o,[e]),Qt=(e,t,o,s,r)=>we("Slice"+g,Z(r),o,s,[e,t]),Wt=(e,t,o)=>me(e,t,o),zt=()=>G(7),Gt=e=>ke("RelationshipIds",_(e),1),Jt=(e,t,o)=>ke("RemoteRowId",_(o),3,[e,t]),Kt=(e,t,o)=>ke("Local"+g,_(o),1,[e,t]),Nt=(e,t,o)=>ke("Linked"+g,_(o),1,[e,t]),Ut=(e,t,o,s,r)=>we("RemoteRowId",_(r),o,s,[e,t]),Xt=(e,t,o,s,r)=>we("Local"+g,_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>we("Linked"+g,_(r),o,s,[e,t]),Zt=(e,t,o)=>me(e,t,o),$t=()=>G(9),_t=e=>ke("QueryIds",te(e),1),eo=(e,t)=>ke(n+I,te(t),0,[e]),to=(e,t)=>ke(n+I+m,te(t),1,[e]),oo=(e,t)=>ke(n+p,te(t),5,[e]),so=(e,t)=>ke(n+g,te(t),1,[e]),ro=(e,t,o,s=0,r,d)=>ke(n+b,te(d),1,[e,t,o,s,r]),no=(e,t,o)=>ke(n+a,te(o),0,[e,t]),uo=(e,t,o)=>ke(n+m,te(o),1,[e,t]),co=(e,t,o,s)=>ke(n+C,te(s),3,[e,t,o]),Io=(e,t,o,s)=>we(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>we(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>we(n+p,te(s),t,o,[e]),ao=(e,t,o,s)=>we(n+g,te(s),t,o,[e]),po=(e,t,o,s,r,d,u,c)=>we(n+b,te(c),d,u,[e,t,o,s,r]),go=(e,t,o,s,r)=>we(n+a,te(r),o,s,[e,t]),bo=(e,t,o,s,r)=>we(n+m,te(r),o,s,[e,t]),Co=(e,t,o,s,r,d)=>we(n+C,te(d),s,r,[e,t,o]),mo=(e,t,o)=>me(e,t,o),yo=()=>G(11),ko=e=>ke("CheckpointIds",se(e),2),wo=(e,t)=>ke("Checkpoint",se(t),3,[e]),ho=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Ro=e=>fe(e,"goBackward"),fo=e=>fe(e,"goForward"),qo=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},Po=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),Ro(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},vo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),fo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},xo=(e,t,o)=>we("CheckpointIds",se(o),e,t),So=(e,t,o,s)=>we("Checkpoint",se(s),t,o,[e]),Lo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=ie(),[c,I]=ie();return ue((()=>{const o=t(e);if(I(o),o)return s&&(async()=>{await s(o),u([])})(),()=>{o.destroy(),d?.(o)}}),[e,...o,...r,...n]),c},{PureComponent:Bo,Fragment:To,createElement:Eo,useCallback:Mo,useLayoutEffect:Fo,useRef:Vo,useState:Ao}=e,Oo=(e,...t)=>h(e)?{}:e(...t),jo=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Do,useContext:Ho,useMemo:Qo,useState:Wo}=e,zo=({tableId:e,store:t,rowComponent:o=Yo,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Uo(L(u,(d=>Eo(o,{...Oo(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Go=({queryId:e,queries:t,resultRowComponent:o=Is,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Uo(L(n,(r=>Eo(o,{...Oo(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Jo=({relationshipId:e,relationships:t,rowComponent:o=Yo,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,l]=jo(_(t),e),i=n(e,u,c);return Uo(L(i,(e=>Eo(o,{...Oo(s,e),key:e,tableId:l,rowId:e,store:I,debugIds:d}))),r,d,u)},Ko=e=>({checkpoints:t,checkpointComponent:o=as,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Uo(L(e(ko(n)),(e=>Eo(o,{...Oo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},No=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:l,checkpointsById:i,children:a})=>{const p=Ho(Q),[g,b]=Wo({}),C=Do(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Do((e=>b((t=>({...A(t,e)})))),[]);return Eo(Q.Provider,{value:Qo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},l??p[10],{...p[11],...i},C,m]),[e,t,g,o,s,r,d,n,u,c,I,l,i,p,C,m])},a)},Uo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Xo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Uo(o+(He(e,t,s,r)??o),void 0,d,s),Yo=({tableId:e,rowId:t,store:o,cellComponent:s=Xo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Uo(L(((e,t,o,s)=>{const r=je(t,o,s);return e??r})(d,e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),Zo=e=>zo(e,Fe(e.tableId,e.store)),$o=({cellId:e,descending:t,offset:o,limit:s,...r})=>zo(r,Ve(r.tableId,e,t,o,s,r.store)),_o=({store:e,tableComponent:t=Zo,getTableComponentProps:o,separator:s,debugIds:r})=>Uo(L(Se(e),(s=>Eo(t,{...Oo(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),es=({valueId:e,store:t,debugIds:s})=>Uo(o+(Je(e,t)??o),void 0,s,e),ts=({store:e,valueComponent:t=es,getValueComponentProps:o,separator:s,debugIds:r})=>Uo(L(ze(e),(s=>Eo(t,{...Oo(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),os=({metricId:e,metrics:t,debugIds:s})=>Uo(Mt(e,t)??o,void 0,s,e),ss=({indexId:e,sliceId:t,indexes:o,rowComponent:s=Yo,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),l=Dt(e,t,u);return Uo(L(l,(e=>Eo(s,{...Oo(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},rs=({indexId:e,indexes:t,sliceComponent:o=ss,getSliceComponentProps:s,separator:r,debugIds:d})=>Uo(L(Ot(e,t),(r=>Eo(o,{...Oo(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),ds=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=Yo,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=jo(_(o),e),I=Jt(e,t,n);return Uo(h(c)||h(I)?null:Eo(s,{...Oo(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},ns=e=>Jo(e,Kt,e.remoteRowId),us=e=>Jo(e,Nt,e.firstRowId),cs=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Uo(o+(co(e,t,s,r)??o),void 0,d,s),Is=({queryId:e,rowId:t,queries:o,resultCellComponent:s=cs,getResultCellComponentProps:r,separator:d,debugIds:n})=>Uo(L(uo(e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),ls=e=>Go(e,so(e.queryId,e.queries)),is=({cellId:e,descending:t,offset:o,limit:s,...r})=>Go(r,ro(r.queryId,e,t,o,s,r.queries)),as=({checkpoints:e,checkpointId:t,debugIds:s})=>Uo(wo(t,e)??o,void 0,s,t),ps=Ko((e=>e[0])),gs=Ko((e=>h(e[1])?[]:[e[1]])),bs=Ko((e=>e[2]));export{ps as BackwardCheckpointsView,Xo as CellView,as as CheckpointView,gs as CurrentCheckpointView,bs as ForwardCheckpointsView,rs as IndexView,us as LinkedRowsView,ns as LocalRowsView,os as MetricView,No as Provider,ds as RemoteRowView,cs as ResultCellView,Is as ResultRowView,is as ResultSortedTableView,ls as ResultTableView,Yo as RowView,ss as SliceView,$o as SortedTableView,Zo as TableView,_o as TablesView,es as ValueView,ts as ValuesView,Xe as useAddRowCallback,He as useCell,je as useCellIds,kt as useCellIdsListener,ht as useCellListener,wo as useCheckpoint,ko as useCheckpointIds,xo as useCheckpointIdsListener,So as useCheckpointListener,oe as useCheckpoints,yo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,mo as useCreateCheckpoints,Vt as useCreateIndexes,Bt as useCreateMetrics,Lo as useCreatePersister,Zt as useCreateQueries,Wt as useCreateRelationships,qe as useCreateStore,rt as useDelCellCallback,st as useDelRowCallback,ot as useDelTableCallback,tt as useDelTablesCallback,nt as useDelValueCallback,dt as useDelValuesCallback,Lt as useDidFinishTransactionListener,Ro as useGoBackwardCallback,fo as useGoForwardCallback,qo as useGoToCallback,De as useHasCell,wt as useHasCellListener,Ae as useHasRow,mt as useHasRowListener,Le as useHasTable,Ee as useHasTableCell,pt as useHasTableCellListener,lt as useHasTableListener,ve as useHasTables,ut as useHasTablesListener,Ge as useHasValue,Pt as useHasValueListener,Qe as useHasValues,Rt as useHasValuesListener,jt as useIndexIds,Y as useIndexes,At as useIndexesIds,Z as useIndexesOrIndexesById,Nt as useLinkedRowIds,Yt as useLinkedRowIdsListener,Kt as useLocalRowIds,Xt as useLocalRowIdsListener,Mt as useMetric,Et as useMetricIds,Ft as useMetricListener,U as useMetrics,Tt as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,$t as useQueriesIds,te as useQueriesOrQueriesById,_t as useQueryIds,vo as useRedoInformation,Gt as useRelationshipIds,$ as useRelationships,zt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Jt as useRemoteRowId,Ut as useRemoteRowIdListener,co as useResultCell,uo as useResultCellIds,bo as useResultCellIdsListener,Co as useResultCellListener,no as useResultRow,oo as useResultRowCount,io as useResultRowCountListener,so as useResultRowIds,ao as useResultRowIdsListener,go as useResultRowListener,ro as useResultSortedRowIds,po as useResultSortedRowIdsListener,eo as useResultTable,to as useResultTableCellIds,lo as useResultTableCellIdsListener,Io as useResultTableListener,Oe as useRow,Me as useRowCount,gt as useRowCountListener,Fe as useRowIds,bt as useRowIdsListener,yt as useRowListener,Ze as useSetCellCallback,ho as useSetCheckpointCallback,Ye as useSetPartialRowCallback,_e as useSetPartialValuesCallback,Ue as useSetRowCallback,Ne as useSetTableCallback,Ke as useSetTablesCallback,et as useSetValueCallback,$e as useSetValuesCallback,Ot as useSliceIds,Ht as useSliceIdsListener,Dt as useSliceRowIds,Qt as useSliceRowIdsListener,Ve as useSortedRowIds,Ct as useSortedRowIdsListener,xt as useStartTransactionListener,J as useStore,Pe as useStoreIds,K as useStoreOrStoreById,Be as useTable,Te as useTableCellIds,at as useTableCellIdsListener,Se as useTableIds,It as useTableIdsListener,it as useTableListener,xe as useTables,ct as useTablesListener,Po as useUndoInformation,Je as useValue,ze as useValueIds,qt as useValueIdsListener,vt as useValueListener,We as useValues,ft as useValuesListener,St as useWillFinishTransactionListener};
1
+ import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",l=I+"s",i=I+c,a="Row",p=a+"Count",g=a+c,b="Sorted"+a+c,C="Cell",m=C+c,y="Value",k=y+"s",w=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),F=B.keys,V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(F(t))&&x(o,(([e,o])=>M(o)?!!M(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>F(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:le,useState:ie,useSyncExternalStore:ae}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=ie(),[r,d]=ie();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},ke=(e,t,s,r=pe)=>{const d=le(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ae(c,n)},we=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=()=>G(1),ve=e=>ke(l,K(e),4,[]),xe=e=>ke(l,K(e),0),Se=e=>ke(i,K(e),1),Le=(e,t)=>ke(I,K(t),4,[e]),Be=(e,t)=>ke(I,K(t),0,[e]),Te=(e,t)=>ke(I+m,K(t),1,[e]),Ee=(e,t,o)=>ke(I+C,K(o),4,[e,t]),Me=(e,t)=>ke(p,K(t),5,[e]),Fe=(e,t)=>ke(g,K(t),1,[e]),Ve=(e,t,o,s=0,r,d)=>ke(b,K(d),1,[e,t,o,s,r]),Ae=(e,t,o)=>ke(a,K(o),4,[e,t]),Oe=(e,t,o)=>ke(a,K(o),0,[e,t]),je=(e,t,o)=>ke(m,K(o),1,[e,t]),De=(e,t,o,s)=>ke(C,K(s),4,[e,t,o]),He=(e,t,o,s)=>ke(C,K(s),3,[e,t,o]),Qe=e=>ke(k,K(e),4,[]),We=e=>ke(k,K(e),0),ze=e=>ke(w,K(e),1),Ge=(e,t)=>ke(y,K(t),4,[e]),Je=(e,t)=>ke(y,K(t),3,[e]),Ke=(e,t,o,s,r)=>he(o,l,e,t,s,r),Ne=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Ue=(e,t,o,s,r,d,n)=>he(r,a,o,s,d,n,e,t),Xe=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ye=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),Ze=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),$e=(e,t,o,s,r)=>he(o,k,e,t,s,r),_e=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),et=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),tt=(e,t,o)=>Re(e,l,t,o),ot=(e,t,o,s)=>Re(t,I,o,s,e),st=(e,t,o,s,r)=>Re(o,a,s,r,e,t),rt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),dt=(e,t,o)=>Re(e,k,t,o),nt=(e,t,o,s)=>Re(t,y,o,s,e),ut=(e,t,o,s)=>we(u+l,K(s),e,t,[],o),ct=(e,t,o,s)=>we(l,K(s),e,t,pe,o),It=(e,t,o,s)=>we(i,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>we(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>we(I,K(r),t,o,[e],s),at=(e,t,o,s,r)=>we(I+m,K(r),t,o,[e],s),pt=(e,t,o,s,r,d)=>we(u+I+C,K(d),o,s,[e,t],r),gt=(e,t,o,s,r)=>we(p,K(r),t,o,[e],s),bt=(e,t,o,s,r)=>we(g,K(r),t,o,[e],s),Ct=(e,t,o,s,r,d,n,u,c)=>we(b,K(c),d,n,[e,t,o,s,r],u),mt=(e,t,o,s,r,d)=>we(u+a,K(d),o,s,[e,t],r),yt=(e,t,o,s,r,d)=>we(a,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>we(m,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d,n)=>we(u+C,K(n),s,r,[e,t,o],d),ht=(e,t,o,s,r,d,n)=>we(C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s)=>we(u+k,K(s),e,t,[],o),ft=(e,t,o,s)=>we(k,K(s),e,t,pe,o),qt=(e,t,o,s)=>we(w,K(s),e,t,pe,o),Pt=(e,t,o,s,r)=>we(u+y,K(r),t,o,[e],s),vt=(e,t,o,s,r)=>we(y,K(r),t,o,[e],s),xt=(e,t,o)=>we("Start"+de,K(o),e,t),St=(e,t,o)=>we("WillFinish"+de,K(o),e,t),Lt=(e,t,o)=>we("DidFinish"+de,K(o),e,t),Bt=(e,t,o)=>me(e,t,o),Tt=()=>G(3),Et=e=>ke("MetricIds",X(e),1),Mt=(e,t)=>ke("Metric",X(t),3,[e]),Ft=(e,t,o,s)=>we("Metric",X(s),t,o,[e]),Vt=(e,t,o)=>me(e,t,o),At=()=>G(5),Ot=(e,t)=>ke("SliceIds",Z(t),1,[e]),jt=e=>ke("IndexIds",Z(e),1),Dt=(e,t,o)=>ke("Slice"+g,Z(o),1,[e,t]),Ht=(e,t,o,s)=>we("SliceIds",Z(s),t,o,[e]),Qt=(e,t,o,s,r)=>we("Slice"+g,Z(r),o,s,[e,t]),Wt=(e,t,o)=>me(e,t,o),zt=()=>G(7),Gt=e=>ke("RelationshipIds",_(e),1),Jt=(e,t,o)=>ke("RemoteRowId",_(o),3,[e,t]),Kt=(e,t,o)=>ke("Local"+g,_(o),1,[e,t]),Nt=(e,t,o)=>ke("Linked"+g,_(o),1,[e,t]),Ut=(e,t,o,s,r)=>we("RemoteRowId",_(r),o,s,[e,t]),Xt=(e,t,o,s,r)=>we("Local"+g,_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>we("Linked"+g,_(r),o,s,[e,t]),Zt=(e,t,o)=>me(e,t,o),$t=()=>G(9),_t=e=>ke("QueryIds",te(e),1),eo=(e,t)=>ke(n+I,te(t),0,[e]),to=(e,t)=>ke(n+I+m,te(t),1,[e]),oo=(e,t)=>ke(n+p,te(t),5,[e]),so=(e,t)=>ke(n+g,te(t),1,[e]),ro=(e,t,o,s=0,r,d)=>ke(n+b,te(d),1,[e,t,o,s,r]),no=(e,t,o)=>ke(n+a,te(o),0,[e,t]),uo=(e,t,o)=>ke(n+m,te(o),1,[e,t]),co=(e,t,o,s)=>ke(n+C,te(s),3,[e,t,o]),Io=(e,t,o,s)=>we(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>we(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>we(n+p,te(s),t,o,[e]),ao=(e,t,o,s)=>we(n+g,te(s),t,o,[e]),po=(e,t,o,s,r,d,u,c)=>we(n+b,te(c),d,u,[e,t,o,s,r]),go=(e,t,o,s,r)=>we(n+a,te(r),o,s,[e,t]),bo=(e,t,o,s,r)=>we(n+m,te(r),o,s,[e,t]),Co=(e,t,o,s,r,d)=>we(n+C,te(d),s,r,[e,t,o]),mo=(e,t,o)=>me(e,t,o),yo=()=>G(11),ko=e=>ke("CheckpointIds",se(e),2),wo=(e,t)=>ke("Checkpoint",se(t),3,[e]),ho=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Ro=e=>fe(e,"goBackward"),fo=e=>fe(e,"goForward"),qo=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},Po=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),Ro(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},vo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),fo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},xo=(e,t,o)=>we("CheckpointIds",se(o),e,t),So=(e,t,o,s)=>we("Checkpoint",se(s),t,o,[e]),Lo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=ie(),[c,I]=ie();return ue((()=>{const o=t(e);if(I(o),o)return s&&(async()=>{await s(o),u([])})(),()=>{o.destroy(),d?.(o)}}),[e,...o,...r,...n]),c},{PureComponent:Bo,Fragment:To,createElement:Eo,useCallback:Mo,useLayoutEffect:Fo,useRef:Vo,useState:Ao}=e,Oo=(e,...t)=>h(e)?{}:e(...t),jo=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Do,useContext:Ho,useMemo:Qo,useState:Wo}=e,zo=({tableId:e,store:t,rowComponent:o=Yo,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Uo(L(u,(d=>Eo(o,{...Oo(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Go=({queryId:e,queries:t,resultRowComponent:o=Is,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Uo(L(n,(r=>Eo(o,{...Oo(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Jo=({relationshipId:e,relationships:t,rowComponent:o=Yo,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,l]=jo(_(t),e),i=n(e,u,c);return Uo(L(i,(e=>Eo(o,{...Oo(s,e),key:e,tableId:l,rowId:e,store:I,debugIds:d}))),r,d,u)},Ko=e=>({checkpoints:t,checkpointComponent:o=as,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Uo(L(e(ko(n)),(e=>Eo(o,{...Oo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},No=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:l,checkpointsById:i,children:a})=>{const p=Ho(Q),[g,b]=Wo({}),C=Do(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Do((e=>b((t=>({...A(t,e)})))),[]);return Eo(Q.Provider,{value:Qo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},l??p[10],{...p[11],...i},C,m]),[e,t,g,o,s,r,d,n,u,c,I,l,i,p,C,m])},a)},Uo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Xo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Uo(o+(He(e,t,s,r)??o),void 0,d,s),Yo=({tableId:e,rowId:t,store:o,cellComponent:s=Xo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Uo(L(((e,t,o,s)=>{const r=je(t,o,s);return e??r})(d,e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),Zo=e=>zo(e,Fe(e.tableId,e.store)),$o=({cellId:e,descending:t,offset:o,limit:s,...r})=>zo(r,Ve(r.tableId,e,t,o,s,r.store)),_o=({store:e,tableComponent:t=Zo,getTableComponentProps:o,separator:s,debugIds:r})=>Uo(L(Se(e),(s=>Eo(t,{...Oo(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),es=({valueId:e,store:t,debugIds:s})=>Uo(o+(Je(e,t)??o),void 0,s,e),ts=({store:e,valueComponent:t=es,getValueComponentProps:o,separator:s,debugIds:r})=>Uo(L(ze(e),(s=>Eo(t,{...Oo(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),os=({metricId:e,metrics:t,debugIds:s})=>Uo(Mt(e,t)??o,void 0,s,e),ss=({indexId:e,sliceId:t,indexes:o,rowComponent:s=Yo,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),l=Dt(e,t,u);return Uo(L(l,(e=>Eo(s,{...Oo(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},rs=({indexId:e,indexes:t,sliceComponent:o=ss,getSliceComponentProps:s,separator:r,debugIds:d})=>Uo(L(Ot(e,t),(r=>Eo(o,{...Oo(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),ds=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=Yo,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=jo(_(o),e),I=Jt(e,t,n);return Uo(h(c)||h(I)?null:Eo(s,{...Oo(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},ns=e=>Jo(e,Kt,e.remoteRowId),us=e=>Jo(e,Nt,e.firstRowId),cs=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Uo(o+(co(e,t,s,r)??o),void 0,d,s),Is=({queryId:e,rowId:t,queries:o,resultCellComponent:s=cs,getResultCellComponentProps:r,separator:d,debugIds:n})=>Uo(L(uo(e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),ls=e=>Go(e,so(e.queryId,e.queries)),is=({cellId:e,descending:t,offset:o,limit:s,...r})=>Go(r,ro(r.queryId,e,t,o,s,r.queries)),as=({checkpoints:e,checkpointId:t,debugIds:s})=>Uo(wo(t,e)??o,void 0,s,t),ps=Ko((e=>e[0])),gs=Ko((e=>h(e[1])?[]:[e[1]])),bs=Ko((e=>e[2]));export{ps as BackwardCheckpointsView,Xo as CellView,as as CheckpointView,gs as CurrentCheckpointView,bs as ForwardCheckpointsView,rs as IndexView,us as LinkedRowsView,ns as LocalRowsView,os as MetricView,No as Provider,ds as RemoteRowView,cs as ResultCellView,Is as ResultRowView,is as ResultSortedTableView,ls as ResultTableView,Yo as RowView,ss as SliceView,$o as SortedTableView,Zo as TableView,_o as TablesView,es as ValueView,ts as ValuesView,Xe as useAddRowCallback,He as useCell,je as useCellIds,kt as useCellIdsListener,ht as useCellListener,wo as useCheckpoint,ko as useCheckpointIds,xo as useCheckpointIdsListener,So as useCheckpointListener,oe as useCheckpoints,yo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,mo as useCreateCheckpoints,Vt as useCreateIndexes,Bt as useCreateMetrics,Lo as useCreatePersister,Zt as useCreateQueries,Wt as useCreateRelationships,qe as useCreateStore,rt as useDelCellCallback,st as useDelRowCallback,ot as useDelTableCallback,tt as useDelTablesCallback,nt as useDelValueCallback,dt as useDelValuesCallback,Lt as useDidFinishTransactionListener,Ro as useGoBackwardCallback,fo as useGoForwardCallback,qo as useGoToCallback,De as useHasCell,wt as useHasCellListener,Ae as useHasRow,mt as useHasRowListener,Le as useHasTable,Ee as useHasTableCell,pt as useHasTableCellListener,lt as useHasTableListener,ve as useHasTables,ut as useHasTablesListener,Ge as useHasValue,Pt as useHasValueListener,Qe as useHasValues,Rt as useHasValuesListener,jt as useIndexIds,Y as useIndexes,At as useIndexesIds,Z as useIndexesOrIndexesById,Nt as useLinkedRowIds,Yt as useLinkedRowIdsListener,Kt as useLocalRowIds,Xt as useLocalRowIdsListener,Mt as useMetric,Et as useMetricIds,Ft as useMetricListener,U as useMetrics,Tt as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,$t as useQueriesIds,te as useQueriesOrQueriesById,_t as useQueryIds,vo as useRedoInformation,Gt as useRelationshipIds,$ as useRelationships,zt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Jt as useRemoteRowId,Ut as useRemoteRowIdListener,co as useResultCell,uo as useResultCellIds,bo as useResultCellIdsListener,Co as useResultCellListener,no as useResultRow,oo as useResultRowCount,io as useResultRowCountListener,so as useResultRowIds,ao as useResultRowIdsListener,go as useResultRowListener,ro as useResultSortedRowIds,po as useResultSortedRowIdsListener,eo as useResultTable,to as useResultTableCellIds,lo as useResultTableCellIdsListener,Io as useResultTableListener,Oe as useRow,Me as useRowCount,gt as useRowCountListener,Fe as useRowIds,bt as useRowIdsListener,yt as useRowListener,Ze as useSetCellCallback,ho as useSetCheckpointCallback,Ye as useSetPartialRowCallback,_e as useSetPartialValuesCallback,Ue as useSetRowCallback,Ne as useSetTableCallback,Ke as useSetTablesCallback,et as useSetValueCallback,$e as useSetValuesCallback,Ot as useSliceIds,Ht as useSliceIdsListener,Dt as useSliceRowIds,Qt as useSliceRowIdsListener,Ve as useSortedRowIds,Ct as useSortedRowIdsListener,xt as useStartTransactionListener,J as useStore,Pe as useStoreIds,K as useStoreOrStoreById,Be as useTable,Te as useTableCellIds,at as useTableCellIdsListener,Se as useTableIds,It as useTableIdsListener,it as useTableListener,xe as useTables,ct as useTablesListener,Po as useUndoInformation,Je as useValue,ze as useValueIds,qt as useValueIdsListener,vt as useValueListener,We as useValues,ft as useValuesListener,St as useWillFinishTransactionListener};
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",T=f+"Count",b=f+d,C="Cell",p=C+d,V="Value",v=V+"s",y=V+d,S=e=>s+e,w=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),I=Math.max,R=isFinite,L=e=>null==e,H=(e,t,s)=>L(e)?s?.():t(e),J=e=>e==n||e==a,M=e=>t(e)==o,E=(e,t,s)=>e.slice(t,s),x=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.keys,k=A.isFrozen,D=A.freeze,N=e=>!L(e)&&H(P(e),(e=>e==A.prototype||L(P(e))),(()=>!0)),B=(e=[])=>A.fromEntries(e),$=(e,t)=>t in e,q=(e,t)=>(delete e[t],e),G=(e,t)=>F(W(e),(([e,s])=>t(s,e))),K=(e,t)=>O(W(e),(([e,s])=>t(s,e))),Q=e=>N(e)&&0==(e=>x(j(e)))(e),U=(e,t,s)=>($(e,t)||(e[t]=s()),e[t]),X=e=>e?.size??0,Y=(e,t)=>e?.has(t)??!1,Z=e=>L(e)||0==X(e),_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ne=e=>[...e?.keys()??[]],ae=(e,t)=>e?.get(t),le=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>L(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s,n)=>(Y(e,t)?n?.(ae(e,t)):oe(e,t,s()),ae(e,t)),ie=(e,t,s,n=oe)=>(K(t,((t,n)=>s(e,n,t))),le(e,(s=>$(t,s)?0:n(e,s))),e),ce=(e,t,s)=>{const n={};return ee(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},de=(e,t,s)=>ce(e,(e=>ce(e,t,s)),Q),ue=(e,t,s)=>ce(e,(e=>de(e,t,s)),Q),ge=(e,t)=>{const s=se();return ee(e,((e,n)=>s.set(n,t?.(e)??e))),s},he=e=>ge(e,ge),fe=e=>ge(e,he),Te=(e,t,s,n,a=0)=>H((s?re:ae)(e,t[a],a>x(t)-2?s:se),(l=>{if(a>x(t)-2)return n?.(l)&&oe(e,t[a]),l;const o=Te(l,t,s,n,a+1);return Z(l)&&oe(e,t[a]),o})),be=new globalThis.TextEncoder,Ce=e=>{let t=2166136261;return F(be.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},pe=([e,t,s])=>[e,t,s],Ve=(e,t)=>[e,t],ve=(e,t)=>Ce(e+":"+t),ye=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},Se=e=>Ve(e,B()),we=(e="")=>[e,se(),0],me=()=>[s,void 0,0],Ie=([e,t,s],n)=>[e,n(t,e),s],Re=(e,t=pe)=>Ie(e,(e=>ce(e,t))),Le=e=>new Set(Array.isArray(e)||L(e)?e:[e]),He=(e,t)=>e?.add(t),Je=/^\d+$/,Me=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{Je.test(t)&&x(e)<1e3&&z(e,t)}]},Ee=e=>[e,e],xe=()=>[se(),se()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=e=>{const s=t(e);return J(s)||s==l&&R(e)?s:void 0},Ae=(e,t,s,n,a)=>L(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Pe=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),We=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),je=JSON.parse,ke=(e,t,s)=>L(e)||!N(e)||Q(e)||k(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||q(e,n)})),!Q(e)),De=(e,t,s)=>oe(e,t,ae(e,t)==-s?void 0:s),Ne=()=>{let e,t,n=!1,a=!1,o=0,d=[];const w=se(),m=se(),I=se(),R=se(),A=se(),P=se(),W=se(),j=se(),k=se(),N=se(),B=se(),G=se(),U=se(),be=se(),Ce=Le(),pe=se(),Ve=se(),ve=se(),ye=se(),Se=xe(),we=xe(),me=xe(),Ie=xe(),Re=xe(),Je=xe(),Be=xe(),$e=xe(),qe=xe(),Ge=xe(),Ke=xe(),Qe=xe(),Ue=xe(),Xe=xe(),Ye=xe(),Ze=xe(),_e=xe(),et=xe(),tt=xe(),st=xe(),nt=xe(),at=xe(),lt=se(),ot=xe(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=Me(),l=se();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Ms;const c=n(1);return oe(l,c,[e,a,o,r,i]),He(Te(a,o??[s],Le),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==x(t)?z(n,e):null===t[s]?ee(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(ae(e,t),s+1)));return a(e,0),n})(e,n),(e=>ee(e,(e=>ae(l,e)[0](t,...n??[],...a))))),e=>H(ae(l,e),(([,t,n])=>(Te(t,n??[s],void 0,(t=>(te(t,e),Z(t)?1:0))),oe(l,e),a(e),n))),e=>H(ae(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=x(o);r==x(s)?e(t,...o,...a(o)):L(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!ke(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!J(t)&&t!=l||(ze(e[i])!=t&&q(e,i),0))},gt=(t,s)=>(!e||Y(B,s)||Nt(s))&&ke(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>ke(n?s:Ct(s,e,t),((n,a)=>H(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?H(ae(ae(B,t),n),(e=>ze(a)!=e[r]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):L(ze(a))?Nt(t,s,n,a):a,Tt=(e,t)=>ke(t?e:pt(e),((t,s)=>H(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),bt=(e,s)=>t?H(ae(U,e),(t=>ze(s)!=t[r]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):L(ze(s))?Bt(e,s):s,Ct=(e,t,s)=>(H(ae(G,t),(([n,a])=>{ee(n,((t,s)=>{$(e,s)||(e[s]=t)})),ee(a,(n=>{$(e,n)||Nt(t,s,n)}))})),e),pt=e=>(t&&(ee(be,((t,s)=>{$(e,s)||(e[s]=t)})),ee(Ce,(t=>{$(e,t)||Bt(t)}))),e),Vt=e=>ie(B,e,((e,t,s)=>{const n=se(),a=Le();ie(re(B,t,se),s,((e,t,s)=>{oe(e,t,s),H(s[i],(e=>oe(n,t,e)),(()=>He(a,t)))})),oe(G,t,[n,a])}),((e,t)=>{oe(B,t),oe(G,t)})),vt=e=>ie(U,e,((e,t,s)=>{oe(U,t,s),H(s[i],(e=>oe(be,t,e)),(()=>He(Ce,t)))}),((e,t)=>{oe(U,t),oe(be,t),te(Ce,t)})),yt=e=>Q(e)?ys():bs(e),St=e=>ie(ve,e,((e,t,s)=>wt(t,s)),((e,t)=>xt(t))),wt=(e,t)=>ie(re(ve,e,(()=>(At(e,1),oe(pe,e,Me()),oe(Ve,e,se()),se()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Ft(e,t,s))),mt=(e,t,s,n,a)=>ie(re(t,s,(()=>(Pt(e,s,1),se()))),n,((t,n,a)=>It(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),It=(e,t,s,n,a)=>{Y(s,n)||Wt(e,t,n,1);const l=ae(s,n);a!==l&&(jt(e,t,n,l,a),oe(s,n,a))},Rt=(e,t,s,n,a)=>H(ae(t,s),(t=>It(e,s,t,n,a)),(()=>mt(e,t,s,Ct({[n]:a},e,s)))),Lt=e=>Q(e)?ms():Cs(e),Ht=e=>ie(ye,e,((e,t,s)=>Jt(t,s)),((e,t)=>zt(t))),Jt=(e,t)=>{Y(ye,e)||kt(e,1);const s=ae(ye,e);t!==s&&(Dt(e,s,t),oe(ye,e,t))},Mt=(e,t)=>{const[s]=ae(pe,e),n=s(t);return Y(ae(ve,e),n)?Mt(e,t):n},Et=e=>ae(ve,e)??wt(e,{}),xt=e=>wt(e,{}),Ft=(e,t,s)=>{const[,n]=ae(pe,e);n(s),mt(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const o=ae(ae(G,e)?.[0],a);if(!L(o)&&!l)return It(e,s,n,a,o);const r=t=>{jt(e,s,t,ae(n,t)),Wt(e,s,t,-1),oe(n,t)};L(o)?r(a):le(n,r),Z(n)&&(Pt(e,s,-1),Z(oe(t,s))&&(At(e,-1),oe(ve,e),oe(pe,e),oe(Ve,e)))},zt=e=>{const t=ae(be,e);if(!L(t))return Jt(e,t);Dt(e,ae(ye,e)),kt(e,-1),oe(ye,e)},At=(e,t)=>De(w,e,t),Pt=(e,t,s)=>De(re(R,e,se),t,s)&&oe(I,e,re(I,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ae(Ve,e),l=ae(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&De(re(m,e,se),s,n),oe(a,s,l!=-n?l+n:null),De(re(re(A,e,se),t,se),s,n)},jt=(e,t,s,n,a)=>re(re(re(P,e,se),t,se),s,(()=>[n,0]))[1]=a,kt=(e,t)=>De(W,e,t),Dt=(e,t,s)=>re(j,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(re(re(re(k,e,se),t,se),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(re(N,e,(()=>[])),t),s),$t=(e,t,s)=>H(ae(ae(ae(P,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(ls(e,t,s))])),qt=e=>H(ae(j,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(is(e))])),Gt=e=>Z(k)||Z(Ze[e])?0:ee(e?fe(k):k,((t,s)=>ee(t,((t,n)=>ee(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>Z(N)||Z(_e[e])?0:ee(e?ge(N):N,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!Z(e))return it(t,n,(()=>ce(e))),le(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=Z(Ge[e]),a=Z(Ue[e])&&Z(Xe[e])&&Z(qe[e])&&Z(Ke[e])&&Z(Je[e])&&Z(Be[e])&&Z($e[e])&&s&&Z(me[e])&&Z(Ie[e]),l=Z(Ye[e])&&Z(Qe[e])&&Z(Re[e])&&Z(we[e]);if(!a||!l){const t=e?[ge(w),he(m),ge(I),he(R),fe(A),fe(P)]:[w,m,I,R,A,P];if(!a){Qt(t[0],me[e],Ie[e]),ee(t[1],((t,s)=>Qt(t,Je[e],Be[e],[s]))),ee(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=Le();ee(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),He(n,a))})),s||ee(t[5],((t,s)=>{if(!Y(n,s)){const n=Le();ee(t,(e=>ee(e,(([t,s],a)=>s!==t?He(n,a):te(e,a))))),ee(n,(t=>it(Ge[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ee(t[5],((t,n)=>{let a;ee(t,((t,l)=>{let o;ee(t,(([t,r],i)=>{r!==t&&(it(Ye[e],[n,l,i],r,t,$t),s=a=o=1)})),o&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(we[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=Z(st[e])&&Z(nt[e]),n=Z(at[e])&&Z(tt[e]);if(!s||!n){const t=e?[ge(W),ge(j)]:[W,j];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ee(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Ls((()=>e(...O(t,S)))),Ms),Zt=()=>ue(ve),_t=()=>ne(ve),es=e=>ne(ae(Ve,S(e))),ts=e=>X(ae(ve,S(e))),ss=e=>ne(ae(ve,S(e))),ns=(e,t,s,n=0,a)=>{return O(E((o=ae(ve,S(e)),r=(e,s)=>[L(t)?s:ae(e,S(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,L(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>ne(ae(ae(ve,S(e)),S(t))),ls=(e,t,s)=>ae(ae(ae(ve,S(e)),S(t)),S(s)),os=()=>ce(ye),rs=()=>ne(ye),is=e=>ae(ye,S(e)),cs=()=>!Z(ve),ds=e=>Y(ve,S(e)),us=(e,t)=>Y(ae(Ve,S(e)),S(t)),gs=(e,t)=>Y(ae(ve,S(e)),S(t)),hs=(e,t,s)=>Y(ae(ae(ve,S(e)),S(t)),S(s)),fs=()=>!Z(ye),Ts=e=>Y(ye,S(e)),bs=e=>Yt((()=>(e=>ke(e,gt,Nt))(e)?St(e):0)),Cs=e=>Yt((()=>Tt(e)?Ht(e):0)),ps=e=>{try{yt(je(e))}catch{}return Ms},Vs=t=>Yt((()=>{if((e=ke(t,(e=>ke(e,ut))))&&(Vt(t),!Z(ve))){const e=Zt();ys(),bs(e)}})),vs=e=>Yt((()=>{if(t=(e=>ke(e,ut))(e)){const s=os();Rs(),ms(),t=!0,vt(e),Cs(s)}})),ys=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>Y(ve,e)?xt(e):0),e),ws=(e,t)=>Yt(((e,t)=>H(ae(ve,e),(s=>Y(s,t)?Ft(e,s,t):0))),e,t),ms=()=>Yt((()=>Ht({}))),Is=()=>Yt((()=>{Vt({}),e=!1})),Rs=()=>Yt((()=>{vt({}),t=!1})),Ls=(e,t)=>{if(-1!=o){Hs();const s=e();return Js(t),s}},Hs=()=>(-1!=o&&o++,1==o&&it(lt,void 0),Ms),Js=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),Z(P)||Ut(1),Kt(1),Z(j)||Xt(1),e?.(Ms)&&(ee(P,((e,t)=>ee(e,((e,s)=>ee(e,(([e],n)=>Ae(Ms,t,s,n,e))))))),_(P),ee(j,(([e],t)=>Pe(Ms,t,e))),_(j)),it(ot[0],void 0),o=-1,Gt(0),Z(P)||Ut(0),Kt(0),Z(j)||Xt(0),d[0]?.(Ms),it(ot[1],void 0),d[1]?.(Ms),o=0,n=cs(),a=fs(),F([w,m,I,R,A,P,k,W,j,N],_))),Ms),Ms={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>de(ae(ve,S(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ce(ae(ae(ve,S(e)),S(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:Ts,getTablesJson:()=>We(ve),getValuesJson:()=>We(ye),getJson:()=>We([ve,ye]),getTablesSchemaJson:()=>We(B),getValuesSchemaJson:()=>We(U),getSchemaJson:()=>We([B,U]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(Q(e)?ys:bs)(e),(Q(t)?ms:Cs)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>gt(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?mt(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return ht(e,n,t)&&(e=S(e),mt(e,Et(e),n=Mt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);K(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>H(ft(e,t,s,M(n)?n(ls(e,t,s)):n),(n=>Rt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>Tt(e,1)?K(e,((e,t)=>Jt(t,e))):0)),setValue:(e,t)=>Yt((e=>H(bt(e,M(t)?t(is(e)):t),(t=>Jt(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>L(e)?Ss(t):K(e,((e,s)=>L(e)?ws(t,s):K(e,((e,n)=>Ae(Ms,t,s,n,e))))))),K(e[1],((e,t)=>Pe(Ms,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{Lt(je(e))}catch{}return Ms},setJson:e=>Yt((()=>{try{const[t,s]=je(e);yt(t),Lt(s)}catch{ps(e)}})),setTablesSchema:Vs,setValuesSchema:vs,setSchema:(e,t)=>Yt((()=>{Vs(e),vs(t)})),delTables:ys,delTable:Ss,delRow:ws,delCell:(e,t,s,n)=>Yt(((e,t,s)=>H(ae(ve,e),(a=>H(ae(a,t),(l=>Y(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:ms,delValue:e=>Yt((e=>Y(ye,e)?zt(e):0),e),delTablesSchema:Is,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Is(),Rs()})),transaction:Ls,startTransaction:Hs,getTransactionChanges:()=>[ce(P,((e,t)=>-1===ae(w,t)?void 0:ce(e,((e,s)=>-1===ae(ae(R,t),s)?void 0:ce(e,(([,e])=>e),((e,t)=>Oe(t)))),Q)),Q),ce(j,(([,e])=>e),((e,t)=>Oe(t)))],getTransactionLog:()=>[!Z(P),!Z(j),ue(P,Fe,Oe),ue(k),ce(j,Fe,Oe),ce(N),ce(w),de(R),ue(A),ce(W)],finishTransaction:Js,forEachTable:e=>ee(ve,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(ae(Ve,S(e)),t),forEachRow:(e,t)=>ee(ae(ve,S(e)),((e,s)=>t(s,(t=>le(e,t))))),forEachCell:(e,t,s)=>le(ae(ae(ve,S(e)),S(t)),s),forEachValue:e=>le(ye,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var i,c,d;c=r,x(i=o)===x(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Ms,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Ms),delListener:e=>(ct(e),Ms),getListenerStats:()=>({}),createStore:Ne,addListener:rt,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return K({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,we],[h]:[0,me],[c+u]:[1,Ie,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+p]:[1,Je,[_t]],[c+u+C]:[2,Be,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[p]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Ee(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[fs()]],[v]:[0,tt],[y]:[0,st],[c+V]:[1,nt,[rs],e=>[Ts(...e)]],[V]:[1,at,[rs],e=>Ee(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Ms["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),D(Ms)},Be=2**36,$e=2**30,qe=2**24,Ge=2**18,Ke=4096,Qe=64,Ue=e=>String.fromCharCode(48+(63&e)),Xe=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,Ye={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Ze=(e="")=>[e,[we(e),we(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=Ze();const[o,r]=(e=>{let t=0,s=-1;const n=Ce(e),a=e=>{const n=t,[a,l]=L(e)?[0,0]:[Xe(o=e,0)*Be+Xe(o,1)*$e+Xe(o,2)*qe+Xe(o,3)*Ge+Xe(o,4)*Ke+Xe(o,5)*Qe+Xe(o,6),Xe(o,7)*Ge+Xe(o,8)*Ke+Xe(o,9)*Qe+Xe(o,10),Xe(o,11)*qe+Xe(o,12)*Ge+Xe(o,13)*Ke+Xe(o,14)*Qe+Xe(o,15)];var o;t=I(n,a,Date.now()),s=t==n?t==a?I(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,o=n,Ue((e=t)/Be)+Ue(e/$e)+Ue(e/qe)+Ue(e/Ge)+Ue(e/Ke)+Ue(e/Qe)+Ue(e)+Ue(l/Ge)+Ue(l/Ke)+Ue(l/Qe)+Ue(l)+Ue(o/qe)+Ue(o/Ge)+Ue(o/Ke)+Ue(o/Qe)+Ue(o);var e,l,o},a]})(e),i=Ne(),c=e=>{const t=a;a=0,e(),a=t},d=(e,t=0)=>{const s={},n={},[a,[[o,r,i],c],d]=e,[,[g,h]]=l,[f,T,b]=g;if(o){let e=t?i:b^(o>f?(f?Ce(f):0)^Ce(o):0);G(r,(([n,a,l],o)=>{const r=re(T,o,we),[i,c,d]=r;let g=t?l:d^(n>i?(i?Ce(i):0)^Ce(n):0);G(a,((e,n)=>{const[a,l]=u(e,re(c,n,we),U(U(s,o,B),n,B),t);g^=t?0:(a?ve(n,a):0)^ve(n,l)})),ye(r,g,n),e^=t?0:(d?ve(o,d):0)^ve(o,r[2])})),ye(g,e,o)}return u(c,h,n,t),ye(l,t?d:g[2]^h[2],a),[s,n]},u=(e,t,s,n)=>{const[a,l,o]=e,[r,i,c]=t;if(a){let e=n?o:c^(a>r?(r?Ce(r):0)^Ce(a):0);G(l,(([t,a,l],o)=>{const r=re(i,o,me),[c,,d]=r;t>c&&(ye(r,n?l:Ce(We(a??null)+":"+t),t),r[1]=a,s[o]=a,e^=n?0:ve(o,d)^ve(o,r[2]))})),ye(t,e,a)}return[c,t[2]]},g=()=>Ie(l,(([e,t])=>[Re(e,(e=>Re(e,(e=>Re(e))))),Re(t)])),h=()=>{if(L(n)){const[,,e,,n]=i.getTransactionLog(),a=Q(e)&&Q(n)?s:t??(t=o()),l=Ve(a,[Se(Q(e)?s:a),Se(Q(n)?s:a)]),[[,r],[,c]]=l[1];return K(e,((e,t)=>{const[,s]=r[t]=Se(a);K(e,((e,t)=>{const[,n]=s[t]=Se(a);K(e,(([,e],t)=>n[t]=Ve(a,e)))}))})),K(n,(([,e],t)=>c[t]=Ve(a,e))),l}return n},f=e=>(r(e[0]),c((()=>i.applyChanges(d(e)))),T),T={getMergeableContent:g,setMergeableContent:e=>(c((()=>i.transaction((()=>{i.delTables().delValues(),l=Ze()})))),r(e[0]),c((()=>i.applyChanges(d(e,1)))),T),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)},getContentHash:()=>l[2],getTablesHash:()=>l[1][0][2],getTableHash:e=>ae(l[1][0][1],e)?.[2]??0,getRowHash:(e,t)=>ae(ae(l[1][0][1],e)?.[1],t)?.[2]??0,getCellHash:(e,t,s)=>ae(ae(ae(l[1][0][1],e)?.[1],t)?.[1],s)?.[2]??0,getValuesHash:()=>l[1][1][2],getValueHash:e=>ae(l[1][1][1],e)?.[2]??0};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),K(i,((e,t)=>T[t]=w(t,"set")||w(t,"del")||w(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),T):w(t,"add")&&m(t,"Listener")?(...s)=>{const n=Ye[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(T,...t),e(...s)}:e)),D(T)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",i="default",c="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",T=f+d,C="Cell",v=C+d,p="Value",V=p+"s",y=p+d,w=e=>s+e,S=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),M=Math.max,m=isFinite,R=e=>null==e,L=(e,t,s)=>R(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!R(e)&&L(P(e),(e=>e==A.prototype||R(P(e))),(()=>!0)),N=A.keys,B=A.freeze,$=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),U=(e,t)=>$(Q(e,((e,s)=>[s,t(e,s)]))),X=e=>k(e)&&0==(e=>D(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>R(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>R(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ie=(e,t)=>ne(e,((e,s)=>t(s,e))),ce=(e,t,s)=>R(s)?(ae(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ce(e,t,s()),oe(e,t)),ue=(e,t,s,n=ce)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,X),fe=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,X),be=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Te=e=>be(e,be),Ce=e=>be(e,Te),ve=(e,t,s,n,a=0)=>L((s?de:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ce(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ce(e,t[a]),r})),pe=new globalThis.TextEncoder,Ve=e=>{let t=2166136261;return F(pe.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ye=([e,t,s])=>[e,t,s],we=([e,t])=>[e,t],Se=e=>e[2],Ie=(e,t)=>Ve(e+":"+t),Me=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},me=e=>[e,$()],Re=(e="")=>[e,le(),0],Le=([e,t,s],n=ye)=>[e,ge(t,n),s],He=(e,s)=>{return E(e)&&3==D(e)&&(a=e[0],t(a)==n)&&s(e[1])&&t(e[2])==l&&m(e[2]);var a},Je=e=>new Set(E(e)||R(e)?e:[e]),Ee=(e,t)=>e?.add(t),xe=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{xe.test(t)&&D(e)<1e3&&z(e,t)}]},Fe=e=>[e,e],Oe=()=>[le(),le()],ze=e=>[...e],Ae=([e,t])=>e===t,Pe=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},We=e=>null===e||!R(Pe(e)),je=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ne=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),Be=JSON.parse,$e=(e,t,s)=>ce(e,t,oe(e,t)==-s?void 0:s),qe=()=>{let e,t,n=!1,a=!1,r=0,d=[];const S=le(),I=le(),M=le(),m=le(),E=le(),A=le(),P=le(),W=le(),j=le(),k=le(),N=le(),$=le(),K=le(),U=le(),Y=Je(),pe=le(),Ve=le(),ye=le(),we=le(),Se=Oe(),Ie=Oe(),Me=Oe(),me=Oe(),Re=Oe(),Le=Oe(),He=Oe(),xe=Oe(),We=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),et=Oe(),tt=Oe(),st=Oe(),nt=Oe(),at=Oe(),lt=le(),rt=Oe(),[ot,it,ct,dt]=(e=>{let t;const[n,a]=De(),l=le();return[(e,a,r,o=[],i=(()=>[]))=>{t??=Js;const c=n(1);return ce(l,c,[e,a,r,o,i]),Ee(ve(a,r??[s],Je),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==D(t)?z(n,e):null===t[s]?ne(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(oe(e,t),s+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](t,...n??[],...a))))),e=>L(oe(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(ae(t,e),te(t)?1:0))),ce(l,e),a(e),n))),e=>L(oe(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(s)?e(t,...r,...a(r)):R(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),ut=e=>{if(!Z(e,((e,t)=>[o,i].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(Pe(e[i])!=t&&G(e,i),0))},gt=(t,s)=>(!e||ee(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Ct(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(oe(oe(N,t),n),(e=>Pe(a)!=e[o]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):R(Pe(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:vt(e),((t,s)=>L(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?L(oe(K,e),(t=>Pe(s)!=t[o]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):R(Pe(s))?Bt(e,s):s,Ct=(e,t,s)=>(L(oe($,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),vt=e=>(t&&(ne(U,((t,s)=>{q(e,s)||(e[s]=t)})),ne(Y,(t=>{q(e,t)||Bt(t)}))),e),pt=e=>ue(N,e,((e,t,s)=>{const n=le(),a=Je();ue(de(N,t,le),s,((e,t,s)=>{ce(e,t,s),L(s[i],(e=>ce(n,t,e)),(()=>Ee(a,t)))})),ce($,t,[n,a])}),((e,t)=>{ce(N,t),ce($,t)})),Vt=e=>ue(K,e,((e,t,s)=>{ce(K,t,s),L(s[i],(e=>ce(U,t,e)),(()=>Ee(Y,t)))}),((e,t)=>{ce(K,t),ce(U,t),ae(Y,t)})),yt=e=>X(e)?ys():Ts(e),wt=e=>ue(ye,e,((e,t,s)=>St(t,s)),((e,t)=>xt(t))),St=(e,t)=>ue(de(ye,e,(()=>(zt(e,1),ce(pe,e,De()),ce(Ve,e,le()),le()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Dt(e,t,s))),It=(e,t,s,n,a)=>ue(de(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ce(s,n,a))},mt=(e,t,s,n,a)=>L(oe(t,s),(t=>Mt(e,s,t,n,a)),(()=>It(e,t,s,Ct({[n]:a},e,s)))),Rt=e=>X(e)?Is():Cs(e),Lt=e=>ue(we,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{ee(we,e)||jt(e,1);const s=oe(we,e);t!==s&&(kt(e,s,t),ce(we,e,t))},Jt=(e,t)=>{const[s]=oe(pe,e),n=s(t);return ee(oe(ye,e),n)?Jt(e,t):n},Et=e=>oe(ye,e)??St(e,{}),xt=e=>St(e,{}),Dt=(e,t,s)=>{const[,n]=oe(pe,e);n(s),It(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=oe(oe($,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ce(n,t)};R(r)?o(a):ie(n,o),te(n)&&(At(e,s,-1),te(ce(t,s))&&(zt(e,-1),ce(ye,e),ce(pe,e),ce(Ve,e)))},Ot=e=>{const t=oe(U,e);if(!R(t))return Ht(e,t);kt(e,oe(we,e)),jt(e,-1),ce(we,e)},zt=(e,t)=>$e(S,e,t),At=(e,t,s)=>$e(de(m,e,le),t,s)&&ce(M,e,de(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(Ve,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&$e(de(I,e,le),s,n),ce(a,s,l!=-n?l+n:null),$e(de(de(E,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>de(de(de(A,e,le),t,le),s,(()=>[n,0]))[1]=a,jt=(e,t)=>$e(P,e,t),kt=(e,t,s)=>de(W,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,le),t,le),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),$t=(e,t,s)=>L(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(ls(e,t,s))])),qt=e=>L(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(is(e))])),Gt=e=>te(j)||te(Ze[e])?0:ne(e?Ce(j):j,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>te(k)||te(_e[e])?0:ne(e?be(k):k,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return it(t,n,(()=>ge(e))),ie(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=te(Ge[e]),a=te(Ue[e])&&te(Xe[e])&&te(We[e])&&te(Ke[e])&&te(Le[e])&&te(He[e])&&te(xe[e])&&s&&te(Me[e])&&te(me[e]),l=te(Ye[e])&&te(Qe[e])&&te(Re[e])&&te(Ie[e]);if(!a||!l){const t=e?[be(S),Te(I),be(M),Te(m),Ce(E),Ce(A)]:[S,I,M,m,E,A];if(!a){Qt(t[0],Me[e],me[e]),ne(t[1],((t,s)=>Qt(t,Le[e],He[e],[s]))),ne(t[2],((t,s)=>{0!=t&&it(xe[e],[s],ts(s))}));const n=Je();ne(t[3],((t,a)=>{Qt(t,We[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),Ee(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Je();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?Ee(n,a):ae(e,a))))),ne(n,(t=>it(Ge[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],i)=>{o!==t&&(it(Ye[e],[n,l,i],o,t,$t),s=a=r=1)})),r&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(Ie[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[be(P),be(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Rs((()=>e(...O(t,w)))),Js),Zt=()=>fe(ye),_t=()=>re(ye),es=e=>re(oe(Ve,w(e))),ts=e=>_(oe(ye,w(e))),ss=e=>re(oe(ye,w(e))),ns=(e,t,s,n=0,a)=>{return O(x((r=oe(ye,w(e)),o=(e,s)=>[R(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(ye,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(ye,w(e)),w(t)),w(s)),rs=()=>ge(we),os=()=>re(we),is=e=>oe(we,w(e)),cs=()=>!te(ye),ds=e=>ee(ye,w(e)),us=(e,t)=>ee(oe(Ve,w(e)),w(t)),gs=(e,t)=>ee(oe(ye,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(ye,w(e)),w(t)),w(s)),fs=()=>!te(we),bs=e=>ee(we,w(e)),Ts=e=>Yt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Cs=e=>Yt((()=>bt(e)?Lt(e):0)),vs=e=>{try{yt(Be(e))}catch{}return Js},ps=t=>Yt((()=>{if((e=Z(t,(e=>Z(e,ut))))&&(pt(t),!te(ye))){const e=Zt();ys(),Ts(e)}})),Vs=e=>Yt((()=>{if(t=(e=>Z(e,ut))(e)){const s=rs();ms(),Is(),t=!0,Vt(e),Cs(s)}})),ys=()=>Yt((()=>wt({}))),ws=e=>Yt((e=>ee(ye,e)?xt(e):0),e),Ss=(e,t)=>Yt(((e,t)=>L(oe(ye,e),(s=>ee(s,t)?Dt(e,s,t):0))),e,t),Is=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{pt({}),e=!1})),ms=()=>Yt((()=>{Vt({}),t=!1})),Rs=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&it(lt,void 0),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),te(A)||Ut(1),Kt(1),te(W)||Xt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>ke(Js,t,e))),se(W)),it(rt[0],void 0),r=-1,Gt(0),te(A)||Ut(0),Kt(0),te(W)||Xt(0),d[0]?.(Js),it(rt[1],void 0),d[1]?.(Js),r=0,n=cs(),a=fs(),F([S,I,M,m,E,A,j,P,W,k],se))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>he(oe(ye,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(ye,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ne(ye),getValuesJson:()=>Ne(we),getJson:()=>Ne([ye,we]),getTablesSchemaJson:()=>Ne(N),getValuesSchemaJson:()=>Ne(K),getSchemaJson:()=>Ne([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(X(e)?ys:Ts)(e),(X(t)?Is:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Yt((e=>gt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Rs((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>L(Tt(e,J(t)?t(is(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>R(e)?ws(t):Q(e,((e,s)=>R(e)?Ss(t,s):Q(e,((e,n)=>je(Js,t,s,n,e))))))),Q(e[1],((e,t)=>ke(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{Rt(Be(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=Be(e);yt(t),Rt(s)}catch{vs(e)}})),setTablesSchema:ps,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{ps(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ss,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(oe(ye,e),(a=>L(oe(a,t),(l=>ee(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>ee(we,e)?Ot(e):0),e),delTablesSchema:Ms,delValuesSchema:ms,delSchema:()=>Yt((()=>{Ms(),ms()})),transaction:Rs,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(S,t)?void 0:ge(e,((e,s)=>-1===oe(oe(m,t),s)?void 0:ge(e,(([,e])=>e),(e=>Ae(e)))),te,X)),te,X),ge(W,(([,e])=>e),(e=>Ae(e))),1],getTransactionLog:()=>[!te(A),!te(W),fe(A,ze,Ae),fe(j),ge(W,ze,Ae),ge(k),ge(S),he(m),fe(E),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(ye,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(oe(Ve,w(e)),t),forEachRow:(e,t)=>ne(oe(ye,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(oe(oe(ye,w(e)),w(t)),s),forEachValue:e=>ie(we,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var i,c,d;c=o,D(i=r)===D(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Js),delListener:e=>(ct(e),Js),getListenerStats:()=>({}),createStore:qe,addListener:ot,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return Q({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,Ie],[h]:[0,Me],[c+u]:[1,me,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+v]:[1,Le,[_t]],[c+u+C]:[2,He,[_t,es],e=>[us(...e)]],[b]:[1,xe,[_t]],[T]:[1,We,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[v]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Fe(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[os],e=>[bs(...e)]],[p]:[1,at,[os],e=>Fe(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),B(Js)},Ge=2**36,Ke=2**30,Qe=2**24,Ue=2**18,Xe=4096,Ye=64,Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,et={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},tt=(e="")=>[e,[Re(e),Re(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=tt();const[r,o]=(e=>{let t=0,s=-1;const n=Ve(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[_e(r=e,0)*Ge+_e(r,1)*Ke+_e(r,2)*Qe+_e(r,3)*Ue+_e(r,4)*Xe+_e(r,5)*Ye+_e(r,6),_e(r,7)*Ue+_e(r,8)*Xe+_e(r,9)*Ye+_e(r,10),_e(r,11)*Qe+_e(r,12)*Ue+_e(r,13)*Xe+_e(r,14)*Ye+_e(r,15)];var r;t=M(n,a,Date.now()),s=t==n?t==a?M(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Ze((e=t)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(l/Ue)+Ze(l/Xe)+Ze(l/Ye)+Ze(l)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,l,r},a]})(e),i=qe(),c=e=>{const t=a;return a=0,e(),a=t,b},d=(e,t=0)=>{const s={},n={},[a,[[r,o,i],c],d]=e,[,[g,h]]=l,[f,b,T]=g;if(r){let e=t?i:T^(r>f?(f?Ve(f):0)^Ve(r):0);K(o,(([n,a,l],r)=>{const o=de(b,r,Re),[i,c,d]=o;let g=t?l:d^(n>i?(i?Ve(i):0)^Ve(n):0);K(a,((e,n)=>{const[a,l]=u(e,de(c,n,Re),Y(Y(s,r,$),n,$),t);g^=t?0:(a?Ie(n,a):0)^Ie(n,l)})),Me(o,g,n),e^=t?0:(d?Ie(r,d):0)^Ie(r,o[2])})),Me(g,e,r)}return u(c,h,n,t),Me(l,t?d:g[2]^h[2],a),[s,n,1]},u=(e,t,n,a)=>{const[l,r,o]=e,[i,c,d]=t;if(l){let e=a?o:d^(l>i?(i?Ve(i):0)^Ve(l):0);K(r,(([t,l,r],o)=>{const i=de(c,o,(()=>[s,void 0,0])),[d,,u]=i;t>d&&(Me(i,a?r:Ve(Ne(l??null)+":"+t),t),i[1]=l,n[o]=l,e^=a?0:Ie(o,u)^Ie(o,i[2]))})),Me(t,e,l)}return[d,t[2]]},g=()=>[l[0],[Le(l[1][0],(e=>Le(e,(e=>Le(e))))),Le(l[1][1])],l[2]],h=()=>{if(R(n)){const[,,e,,n]=i.getTransactionLog(),a=X(e)&&X(n)?s:t??(t=r()),l=[a,[me(X(e)?s:a),me(X(n)?s:a),1]],[[,o],[,c]]=l[1];return Q(e,((e,t)=>{const[,s]=o[t]=me(a);Q(e,((e,t)=>{const[,n]=s[t]=me(a);Q(e,(([,e],t)=>n[t]=[a,e]))}))})),Q(n,(([,e],t)=>c[t]=[a,e])),l}return n},f=e=>c((()=>{o(e[0]),i.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[l[0],[l[1][0][2],l[1][1][2]]],getMergeableTableHashes:()=>ge(l[1][0][1],Se),getMergeableTableIdsDiff:e=>{const t=[];return ie(l[1][0][1],((s,[,,n])=>{n!==e?.[s]&&z(t,s)})),t},getMergeableRowHashes:e=>$(O(e,(e=>[e,ge(oe(l[1][0][1],e)?.[1],Se)]))),getMergeableRowIdsDiff:e=>U(e,((e,t)=>{const s=[];return ie(oe(l[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&z(s,t)})),s})),getMergeableCellHashes:e=>U(e,((e,t)=>$(O(e,(e=>[e,ge(oe(oe(l[1][0][1],t)?.[1],e)?.[1],Se)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=l,n={};return K(e,((e,t)=>L(oe(s,t),(([s,a])=>{const l={};K(e,((e,t)=>L(oe(a,t),(([s,n])=>{const a=ge(n,we,(([,,t],s)=>t==e?.[s]));X(a)||(l[t]=[s,a])})))),X(l)||(n[t]=[s,l])})))),[t,n]},getMergeableValuesHashes:()=>ge(l[1][1][1],Se),getMergeableValuesChanges:e=>[l[1][1][0],ge(l[1][1][1],we,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>c((()=>(e=>He(e,(e=>E(e)&&2==D(e)&&He(e[0],(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,We)),void 0,1)))),void 0,1)))),void 0,1)))&&He(e[1],(e=>Z(e,(e=>He(e,We)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),l=tt(),o(e[0]),i.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),Q(i,((e,t)=>b[t]=S(t,"set")||S(t,"del")||S(t,"apply")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):S(t,"add")&&I(t,"Listener")?(...s)=>{const n=et[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),c=o.entries,i=o.keys,d=o.freeze,y=(e,t)=>s(e,(e=>e[t])),l=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),u=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,a])=>t(a,e))),p=e=>i(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(v(e,t)):w(e,t,a()),v(e,t)},b=f(),A=f(),L=e=>{return n=e?.[0],t(n)==a;var n},M=(e,t)=>[e[t].t,e[t].v],m=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(l(e,t)||(e[t]={}),e[t]))(e,t);let r;return u(a,((e,t)=>{s(o,t,e)&&(r=1)})),u(o,((e,t)=>{l(a,t)||(g(o,t),r=1)})),!n(t)&&h(o)&&g(e,t),r};e.createAutomergePersister=(e,t,a="tinybase",o)=>(t.change((e=>e[a]={})),((e,t,a,o,r,c,i,[y,l]=[],g=[])=>{let u,p,f,M=0,m=0;C(b,g,(()=>0)),C(A,g,(()=>[]));const[S,T,x,P]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),j=async e=>(2!=M&&(M=1,await D.schedule((async()=>{await e(),M=0}))),D),D={load:async(a,n)=>await j((async()=>{try{const a=await t();(S&&L(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},n={})=>(D.stopAutoLoad(),await D.load(a,n),m=1,f=o((async(a,n)=>{if(n){const t=n();await j((async()=>(S&&L(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await j((async()=>{try{const n=a?.()??await t();(S&&L(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),D),stopAutoLoad:()=>(m&&(r(f),f=void 0,m=0),D),save:async e=>(1!=M&&(M=2,await D.schedule((async()=>{try{await a(T,e)}catch(e){c?.(e)}M=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=x();P(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(s(u,e.delListener),u=void 0,D),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(b,g)){for(w(b,g,1);!n((e=v(A,g),p=e.shift()));)try{await p()}catch(e){c?.(e)}w(b,g,0)}var e})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(D[y]=()=>l),d(D)})(e,(async()=>{const e=await t.doc();return 2==p(e[a])?M(e,a):void 0}),(async(e,o)=>t.change((t=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,c]=M(e,t),i=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,u(e,((e,t)=>d?0:n(e)?g(r,t):s(r[t],(t=>u(e,((e,a)=>d?0:n(e)?g(t,a):s(y(t,a),(t=>u(e,((e,a)=>n(e)?g(t,a):t[a]=e))),i)))),i))),u(t,((e,t)=>d?0:n(e)?g(c,t):c[t]=e))})),d){const[e,t]=a();m(r,void 0,e,((e,t,a)=>m(r,t,a,((e,t,a)=>m(e,t,a,((e,t,a)=>{if(y(e,t)!==a)return e[t]=a,1})))))),m(c,void 0,t,((e,t,a)=>{y(c,t)!==a&&(c[t]=a)}))}})(t,a,e,o)))),(e=>{const n=({doc:t})=>e((()=>M(t,a)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),o,!1,["getDocHandle",t]))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,c=o.keys,d=o.freeze,y=(e,t)=>s(e,(e=>e[t])),g=(e,t)=>t in e,u=(e,t)=>(delete e[t],e),l=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,a])=>t(a,e))),p=e=>c(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),v=e=>new Map(e),f=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},A=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(f(e,t)):w(e,t,a()),f(e,t)},b=v(),C=v(),L=(e,t)=>[e[t].t,e[t].v],S=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(g(e,t)||(e[t]={}),e[t]))(e,t);let r;return l(a,((e,t)=>{s(o,t,e)&&(r=1)})),l(o,((e,t)=>{g(a,t)||(u(o,t),r=1)})),!n(t)&&h(o)&&u(e,t),r};e.createAutomergePersister=(e,o,r="tinybase",i)=>(o.change((e=>e[r]={})),((e,o,r,i,c,y,g,u={},l=[])=>{let p,v,L,S=0;A(b,l,(()=>0)),A(C,l,(()=>[]));const[m,M,T,x]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(g,e),P=async e=>(2!=S&&(S=1,await D.schedule((async()=>{await e(),S=0}))),D),j=n=>{var s;(m&&(s=n?.[0],t(s)==a)?1===n?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===n?.[2]?e.applyChanges:e.setContent)(n)},D={load:async(t,a)=>await P((async()=>{try{j(await o())}catch(n){y?.(n),e.setContent([t,a])}})),startAutoLoad:async(e={},t={})=>(await D.stopAutoLoad().load(e,t),v=i((async(e,t)=>{const a=t?.();await P((async()=>{try{j(a??e?.()??await o())}catch(e){y?.(e)}}))})),D),stopAutoLoad:()=>(v&&(c(v),v=void 0),D),isAutoLoading:()=>!n(v),save:async e=>(1!=S&&(S=2,await D.schedule((async()=>{try{await r(M,e)}catch(e){y?.(e)}S=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),L=e.addDidFinishTransactionListener((()=>{const e=T();x(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(s(L,e.delListener),L=void 0,D),isAutoSaving:()=>!n(L),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(f(C,l),...e),await(async()=>{if(!f(b,l)){for(w(b,l,1);!n((e=f(C,l),p=e.shift()));)try{await p()}catch(e){y?.(e)}w(b,l,0)}var e})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return d(D)})(e,(async()=>{const e=await o.doc();return 2==p(e[r])?L(e,r):void 0}),(async(e,t)=>o.change((a=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,i]=L(e,t),c=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,l(e,((e,t)=>d?0:n(e)?u(r,t):s(r[t],(t=>l(e,((e,a)=>d?0:n(e)?u(t,a):s(y(t,a),(t=>l(e,((e,a)=>n(e)?u(t,a):t[a]=e))),c)))),c))),l(t,((e,t)=>d?0:n(e)?u(i,t):i[t]=e))})),d){const[e,t]=a();S(r,void 0,e,((e,t,a)=>S(r,t,a,((e,t,a)=>S(e,t,a,((e,t,a)=>{if(y(e,t)!==a)return e[t]=a,1})))))),S(i,void 0,t,((e,t,a)=>{y(i,t)!==a&&(i[t]=a)}))}})(a,r,e,t)))),(e=>{const t=({doc:t})=>e((()=>L(t,r)));return o.on("change",t),t}),(e=>{o.removeListener("change",e)}),i,!1,{getDocHandle:()=>o}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,y=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),l=JSON.parse,g=e=>new Map(e),d=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(d(e,t)):u(e,t,a()),d(e,t)},f=g(),h=g(),v=e=>{return s=e?.[0],t(s)==a;var s},w="storage",C=globalThis.window,S=(e,t,a,r)=>((e,t,a,o,r,i,l,[g,w]=[],C=[])=>{let S,b,A,L=0,M=0;p(f,C,(()=>0)),p(h,C,(()=>[]));const[m,T,O,P]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!y(e)||!y(t)])(l,e),x=async e=>(2!=L&&(L=1,await E.schedule((async()=>{await e(),L=0}))),E),E={load:async(a,s)=>await x((async()=>{try{const a=await t();(m&&v(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(E.stopAutoLoad(),await E.load(a,s),M=1,A=o((async(a,s)=>{if(s){const t=s();await x((async()=>(m&&v(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await x((async()=>{try{const s=a?.()??await t();(m&&v(s)?e.setMergeableContent:e.setContent)(s)}catch(e){i?.(e)}}))})),E),stopAutoLoad:()=>(M&&(r(A),A=void 0,M=0),E),save:async e=>(1!=L&&(L=2,await E.schedule((async()=>{try{await a(T,e)}catch(e){i?.(e)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=e.addDidFinishTransactionListener((()=>{const e=O();P(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(n(S,e.delListener),S=void 0,E),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,C),...e),await(async()=>{if(!d(f,C)){for(u(f,C,1);!s((e=d(h,C),b=e.shift()));)try{await b()}catch(e){i?.(e)}u(f,C,0)}var e})(),E),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(E[g]=()=>w),c(E)})(e,(async()=>l(a.getItem(t))),(async e=>{return a.setItem(t,(s=e(),JSON.stringify(s,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var s}),(e=>{const s=s=>{s.storageArea===a&&s.key===t&&e((()=>l(s.newValue)))};return C.addEventListener(w,s),s}),(e=>C.removeEventListener(w,e)),r,!0,["getStorageName",t]);e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,g=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),y=JSON.parse,d=e=>new Map(e),l=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(l(e,t)):u(e,t,a()),l(e,t)},f=d(),h=d(),v="storage",w=globalThis.window,S=(e,r,i,d)=>((e,o,r,i,y,d,v,w={},S=[])=>{let A,b,C,L=0;p(f,S,(()=>0)),p(h,S,(()=>[]));const[m,M,T,O]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!g(e)||!g(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!g(e)||!g(t)])(v,e),P=async e=>(2!=L&&(L=1,await E.schedule((async()=>{await e(),L=0}))),E),x=s=>{var n;(m&&(n=s?.[0],t(n)==a)?1===s?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===s?.[2]?e.applyChanges:e.setContent)(s)},E={load:async(t,a)=>await P((async()=>{try{x(await o())}catch(s){d?.(s),e.setContent([t,a])}})),startAutoLoad:async(e={},t={})=>(await E.stopAutoLoad().load(e,t),b=i((async(e,t)=>{const a=t?.();await P((async()=>{try{x(a??e?.()??await o())}catch(e){d?.(e)}}))})),E),stopAutoLoad:()=>(b&&(y(b),b=void 0),E),isAutoLoading:()=>!s(b),save:async e=>(1!=L&&(L=2,await E.schedule((async()=>{try{await r(M,e)}catch(e){d?.(e)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),C=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(n(C,e.delListener),C=void 0,E),isAutoSaving:()=>!s(C),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(l(h,S),...e),await(async()=>{if(!l(f,S)){for(u(f,S,1);!s((e=l(h,S),A=e.shift()));)try{await A()}catch(e){d?.(e)}u(f,S,0)}var e})(),E),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...w};return c(E)})(e,(async()=>y(i.getItem(r))),(async e=>{return i.setItem(r,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var t}),(e=>{const t=t=>{t.storageArea===i&&t.key===r&&e((()=>y(t.newValue)))};return w.addEventListener(v,t),t}),(e=>w.removeEventListener(v,e)),d,!0,{getStorageName:()=>r});e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});