tinybase 5.0.0-beta.4 → 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 (418) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/mergeable-store.cjs +1 -1
  8. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  9. package/lib/cjs/metrics.cjs +1 -1
  10. package/lib/cjs/metrics.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  12. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  14. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  18. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-file.cjs +1 -1
  24. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  26. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  30. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  32. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  34. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  35. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  36. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  37. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  38. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  39. package/lib/cjs/persisters/persister-sync.cjs +1 -0
  40. package/lib/cjs/persisters/persister-sync.cjs.gz +0 -0
  41. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  42. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  43. package/lib/cjs/persisters.cjs +1 -1
  44. package/lib/cjs/persisters.cjs.gz +0 -0
  45. package/lib/cjs/queries.cjs +1 -1
  46. package/lib/cjs/queries.cjs.gz +0 -0
  47. package/lib/cjs/relationships.cjs +1 -1
  48. package/lib/cjs/relationships.cjs.gz +0 -0
  49. package/lib/cjs/store.cjs +1 -1
  50. package/lib/cjs/store.cjs.gz +0 -0
  51. package/lib/cjs/tinybase.cjs +1 -1
  52. package/lib/cjs/tinybase.cjs.gz +0 -0
  53. package/lib/cjs/tools.cjs +1 -1
  54. package/lib/cjs/tools.cjs.gz +0 -0
  55. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  56. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  57. package/lib/cjs/ui-react.cjs +1 -1
  58. package/lib/cjs/ui-react.cjs.gz +0 -0
  59. package/lib/cjs-es6/checkpoints.cjs +1 -1
  60. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  61. package/lib/cjs-es6/indexes.cjs +1 -1
  62. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  63. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  64. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  65. package/lib/cjs-es6/metrics.cjs +1 -1
  66. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  84. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  86. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  87. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  88. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  89. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  90. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  91. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  92. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  93. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  94. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  95. package/lib/cjs-es6/persisters/persister-sync.cjs +1 -0
  96. package/lib/cjs-es6/persisters/persister-sync.cjs.gz +0 -0
  97. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  98. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  99. package/lib/cjs-es6/persisters.cjs +1 -1
  100. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  101. package/lib/cjs-es6/queries.cjs +1 -1
  102. package/lib/cjs-es6/queries.cjs.gz +0 -0
  103. package/lib/cjs-es6/relationships.cjs +1 -1
  104. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  105. package/lib/cjs-es6/store.cjs +1 -1
  106. package/lib/cjs-es6/store.cjs.gz +0 -0
  107. package/lib/cjs-es6/tinybase.cjs +1 -1
  108. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  109. package/lib/cjs-es6/tools.cjs +1 -1
  110. package/lib/cjs-es6/tools.cjs.gz +0 -0
  111. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  112. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  113. package/lib/cjs-es6/ui-react.cjs +1 -1
  114. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  115. package/lib/debug/checkpoints.js +3 -1
  116. package/lib/debug/indexes.js +3 -1
  117. package/lib/debug/mergeable-store.js +403 -179
  118. package/lib/debug/metrics.js +3 -1
  119. package/lib/debug/persisters/persister-automerge.js +42 -47
  120. package/lib/debug/persisters/persister-browser.js +42 -47
  121. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +67 -61
  122. package/lib/debug/persisters/persister-electric-sql.js +67 -61
  123. package/lib/debug/persisters/persister-expo-sqlite-next.js +67 -61
  124. package/lib/debug/persisters/persister-expo-sqlite.js +67 -61
  125. package/lib/debug/persisters/persister-file.js +42 -47
  126. package/lib/debug/persisters/persister-indexed-db.js +42 -47
  127. package/lib/debug/persisters/persister-libsql.js +902 -0
  128. package/lib/debug/persisters/persister-partykit-client.js +42 -47
  129. package/lib/debug/persisters/persister-powersync.js +917 -0
  130. package/lib/debug/persisters/persister-remote.js +42 -47
  131. package/lib/debug/persisters/persister-sqlite-wasm.js +67 -61
  132. package/lib/debug/persisters/persister-sqlite3.js +67 -61
  133. package/lib/debug/persisters/persister-sync.js +594 -0
  134. package/lib/debug/persisters/persister-yjs.js +44 -49
  135. package/lib/debug/persisters.js +41 -46
  136. package/lib/debug/queries.js +7 -4
  137. package/lib/debug/relationships.js +3 -1
  138. package/lib/debug/store.js +51 -36
  139. package/lib/debug/tinybase.js +439 -223
  140. package/lib/debug/tools.js +9 -6
  141. package/lib/debug/ui-react-dom.js +88 -80
  142. package/lib/debug/ui-react.js +1 -1
  143. package/lib/es6/checkpoints.js +1 -1
  144. package/lib/es6/checkpoints.js.gz +0 -0
  145. package/lib/es6/indexes.js +1 -1
  146. package/lib/es6/indexes.js.gz +0 -0
  147. package/lib/es6/mergeable-store.js +1 -1
  148. package/lib/es6/mergeable-store.js.gz +0 -0
  149. package/lib/es6/metrics.js +1 -1
  150. package/lib/es6/metrics.js.gz +0 -0
  151. package/lib/es6/persisters/persister-automerge.js +1 -1
  152. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  153. package/lib/es6/persisters/persister-browser.js +1 -1
  154. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  155. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  156. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  157. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  158. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  159. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  160. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  161. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  162. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  163. package/lib/es6/persisters/persister-file.js +1 -1
  164. package/lib/es6/persisters/persister-file.js.gz +0 -0
  165. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  166. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  167. package/lib/es6/persisters/persister-libsql.js +1 -0
  168. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  169. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  170. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  171. package/lib/es6/persisters/persister-powersync.js +1 -0
  172. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  173. package/lib/es6/persisters/persister-remote.js +1 -1
  174. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  175. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  176. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  177. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  178. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  179. package/lib/es6/persisters/persister-sync.js +1 -0
  180. package/lib/es6/persisters/persister-sync.js.gz +0 -0
  181. package/lib/es6/persisters/persister-yjs.js +1 -1
  182. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  183. package/lib/es6/persisters.js +1 -1
  184. package/lib/es6/persisters.js.gz +0 -0
  185. package/lib/es6/queries.js +1 -1
  186. package/lib/es6/queries.js.gz +0 -0
  187. package/lib/es6/relationships.js +1 -1
  188. package/lib/es6/relationships.js.gz +0 -0
  189. package/lib/es6/store.js +1 -1
  190. package/lib/es6/store.js.gz +0 -0
  191. package/lib/es6/tinybase.js +1 -1
  192. package/lib/es6/tinybase.js.gz +0 -0
  193. package/lib/es6/tools.js +1 -1
  194. package/lib/es6/tools.js.gz +0 -0
  195. package/lib/es6/ui-react-dom-debug.js +1 -1
  196. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  197. package/lib/es6/ui-react.js +1 -1
  198. package/lib/es6/ui-react.js.gz +0 -0
  199. package/lib/indexes.js +1 -1
  200. package/lib/indexes.js.gz +0 -0
  201. package/lib/mergeable-store.js +1 -1
  202. package/lib/mergeable-store.js.gz +0 -0
  203. package/lib/metrics.js +1 -1
  204. package/lib/metrics.js.gz +0 -0
  205. package/lib/persisters/persister-automerge.js +1 -1
  206. package/lib/persisters/persister-automerge.js.gz +0 -0
  207. package/lib/persisters/persister-browser.js +1 -1
  208. package/lib/persisters/persister-browser.js.gz +0 -0
  209. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  210. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  211. package/lib/persisters/persister-electric-sql.js +1 -1
  212. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  213. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  214. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  215. package/lib/persisters/persister-expo-sqlite.js +1 -1
  216. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  217. package/lib/persisters/persister-file.js +1 -1
  218. package/lib/persisters/persister-file.js.gz +0 -0
  219. package/lib/persisters/persister-indexed-db.js +1 -1
  220. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  221. package/lib/persisters/persister-libsql.js +1 -0
  222. package/lib/persisters/persister-libsql.js.gz +0 -0
  223. package/lib/persisters/persister-partykit-client.js +1 -1
  224. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  225. package/lib/persisters/persister-powersync.js +1 -0
  226. package/lib/persisters/persister-powersync.js.gz +0 -0
  227. package/lib/persisters/persister-remote.js +1 -1
  228. package/lib/persisters/persister-remote.js.gz +0 -0
  229. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  230. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  231. package/lib/persisters/persister-sqlite3.js +1 -1
  232. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  233. package/lib/persisters/persister-sync.js +1 -0
  234. package/lib/persisters/persister-sync.js.gz +0 -0
  235. package/lib/persisters/persister-yjs.js +1 -1
  236. package/lib/persisters/persister-yjs.js.gz +0 -0
  237. package/lib/persisters.js +1 -1
  238. package/lib/persisters.js.gz +0 -0
  239. package/lib/queries.js +1 -1
  240. package/lib/queries.js.gz +0 -0
  241. package/lib/relationships.js +1 -1
  242. package/lib/relationships.js.gz +0 -0
  243. package/lib/store.js +1 -1
  244. package/lib/store.js.gz +0 -0
  245. package/lib/tinybase.js +1 -1
  246. package/lib/tinybase.js.gz +0 -0
  247. package/lib/tools.js +1 -1
  248. package/lib/tools.js.gz +0 -0
  249. package/lib/types/checkpoints.d.ts +2 -2
  250. package/lib/types/indexes.d.ts +2 -2
  251. package/lib/types/mergeable-store.d.ts +143 -20
  252. package/lib/types/metrics.d.ts +2 -2
  253. package/lib/types/persisters/persister-automerge.d.ts +3 -0
  254. package/lib/types/persisters/persister-browser.d.ts +9 -2
  255. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
  256. package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
  257. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
  258. package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
  259. package/lib/types/persisters/persister-file.d.ts +5 -1
  260. package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
  261. package/lib/types/persisters/persister-libsql.d.ts +142 -0
  262. package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
  263. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  264. package/lib/types/persisters/persister-remote.d.ts +3 -0
  265. package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
  266. package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
  267. package/lib/types/persisters/persister-sync.d.ts +182 -0
  268. package/lib/types/persisters/persister-yjs.d.ts +5 -2
  269. package/lib/types/persisters.d.ts +61 -3
  270. package/lib/types/queries.d.ts +2 -2
  271. package/lib/types/relationships.d.ts +2 -2
  272. package/lib/types/store.d.ts +36 -3
  273. package/lib/types/tinybase.d.ts +9 -9
  274. package/lib/types/tools.d.ts +2 -2
  275. package/lib/types/ui-react.d.ts +8 -8
  276. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  277. package/lib/types/with-schemas/indexes.d.ts +2 -2
  278. package/lib/types/with-schemas/mergeable-store.d.ts +415 -40
  279. package/lib/types/with-schemas/metrics.d.ts +2 -2
  280. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
  281. package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
  282. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
  283. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
  284. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
  285. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
  286. package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
  287. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
  288. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +155 -0
  289. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
  290. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  291. package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
  292. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
  293. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
  294. package/lib/types/with-schemas/persisters/persister-sync.d.ts +195 -0
  295. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
  296. package/lib/types/with-schemas/persisters.d.ts +80 -7
  297. package/lib/types/with-schemas/queries.d.ts +3 -3
  298. package/lib/types/with-schemas/relationships.d.ts +2 -2
  299. package/lib/types/with-schemas/store.d.ts +136 -89
  300. package/lib/types/with-schemas/tinybase.d.ts +9 -9
  301. package/lib/types/with-schemas/tools.d.ts +2 -2
  302. package/lib/types/with-schemas/ui-react.d.ts +8 -8
  303. package/lib/ui-react.js +1 -1
  304. package/lib/ui-react.js.gz +0 -0
  305. package/lib/umd/checkpoints.js +1 -1
  306. package/lib/umd/checkpoints.js.gz +0 -0
  307. package/lib/umd/indexes.js +1 -1
  308. package/lib/umd/indexes.js.gz +0 -0
  309. package/lib/umd/mergeable-store.js +1 -1
  310. package/lib/umd/mergeable-store.js.gz +0 -0
  311. package/lib/umd/metrics.js +1 -1
  312. package/lib/umd/metrics.js.gz +0 -0
  313. package/lib/umd/persisters/persister-automerge.js +1 -1
  314. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  315. package/lib/umd/persisters/persister-browser.js +1 -1
  316. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  317. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  318. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  319. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  320. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  321. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  322. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  323. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  324. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  325. package/lib/umd/persisters/persister-file.js +1 -1
  326. package/lib/umd/persisters/persister-file.js.gz +0 -0
  327. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  328. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  329. package/lib/umd/persisters/persister-libsql.js +1 -0
  330. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  331. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  332. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  333. package/lib/umd/persisters/persister-powersync.js +1 -0
  334. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  335. package/lib/umd/persisters/persister-remote.js +1 -1
  336. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  337. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  338. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  339. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  340. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  341. package/lib/umd/persisters/persister-sync.js +1 -0
  342. package/lib/umd/persisters/persister-sync.js.gz +0 -0
  343. package/lib/umd/persisters/persister-yjs.js +1 -1
  344. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  345. package/lib/umd/persisters.js +1 -1
  346. package/lib/umd/persisters.js.gz +0 -0
  347. package/lib/umd/queries.js +1 -1
  348. package/lib/umd/queries.js.gz +0 -0
  349. package/lib/umd/relationships.js +1 -1
  350. package/lib/umd/relationships.js.gz +0 -0
  351. package/lib/umd/store.js +1 -1
  352. package/lib/umd/store.js.gz +0 -0
  353. package/lib/umd/tinybase.js +1 -1
  354. package/lib/umd/tinybase.js.gz +0 -0
  355. package/lib/umd/tools.js +1 -1
  356. package/lib/umd/tools.js.gz +0 -0
  357. package/lib/umd/ui-react-dom-debug.js +1 -1
  358. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  359. package/lib/umd/ui-react.js +1 -1
  360. package/lib/umd/ui-react.js.gz +0 -0
  361. package/lib/umd-es6/checkpoints.js +1 -1
  362. package/lib/umd-es6/checkpoints.js.gz +0 -0
  363. package/lib/umd-es6/indexes.js +1 -1
  364. package/lib/umd-es6/indexes.js.gz +0 -0
  365. package/lib/umd-es6/mergeable-store.js +1 -1
  366. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  367. package/lib/umd-es6/metrics.js +1 -1
  368. package/lib/umd-es6/metrics.js.gz +0 -0
  369. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  370. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  371. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  372. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  373. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  374. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  375. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  376. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  377. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  378. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  379. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  380. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  381. package/lib/umd-es6/persisters/persister-file.js +1 -1
  382. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  383. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  384. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  385. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  386. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  387. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  388. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  389. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  390. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  391. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  392. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  393. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  394. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  395. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  396. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  397. package/lib/umd-es6/persisters/persister-sync.js +1 -0
  398. package/lib/umd-es6/persisters/persister-sync.js.gz +0 -0
  399. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  400. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  401. package/lib/umd-es6/persisters.js +1 -1
  402. package/lib/umd-es6/persisters.js.gz +0 -0
  403. package/lib/umd-es6/queries.js +1 -1
  404. package/lib/umd-es6/queries.js.gz +0 -0
  405. package/lib/umd-es6/relationships.js +1 -1
  406. package/lib/umd-es6/relationships.js.gz +0 -0
  407. package/lib/umd-es6/store.js +1 -1
  408. package/lib/umd-es6/store.js.gz +0 -0
  409. package/lib/umd-es6/tinybase.js +1 -1
  410. package/lib/umd-es6/tinybase.js.gz +0 -0
  411. package/lib/umd-es6/tools.js +1 -1
  412. package/lib/umd-es6/tools.js.gz +0 -0
  413. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  414. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  415. package/lib/umd-es6/ui-react.js +1 -1
  416. package/lib/umd-es6/ui-react.js.gz +0 -0
  417. package/package.json +51 -35
  418. package/readme.md +2 -2
@@ -36,9 +36,10 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
36
36
  const size = (arrayOrString) => arrayOrString.length;
37
37
  const promiseAll = async (promises) => promise.all(promises);
38
38
 
39
- const getCellOrValueType = (cell) => {
40
- const type = getTypeOf(cell);
41
- return isTypeStringOrBoolean(type) || (type == NUMBER && isFiniteNumber(cell))
39
+ const getCellOrValueType = (cellOrValue) => {
40
+ const type = getTypeOf(cellOrValue);
41
+ return isTypeStringOrBoolean(type) ||
42
+ (type == NUMBER && isFiniteNumber(cellOrValue))
42
43
  ? type
43
44
  : void 0;
44
45
  };
@@ -57,8 +58,6 @@ const arrayShift = (array) => array.shift();
57
58
  const object = Object;
58
59
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
59
60
  const objEntries = object.entries;
60
- const objIds = object.keys;
61
- const objFreeze = object.freeze;
62
61
  const isObject = (obj) =>
63
62
  !isUndefined(obj) &&
64
63
  ifNotUndefined(
@@ -69,6 +68,8 @@ const isObject = (obj) =>
69
68
  /* istanbul ignore next */
70
69
  () => true,
71
70
  );
71
+ const objIds = object.keys;
72
+ const objFreeze = object.freeze;
72
73
  const objToArray = (obj, cb) =>
73
74
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
74
75
  const objSize = (obj) => size(objIds(obj));
@@ -87,9 +88,11 @@ const mapMap = (coll, cb) =>
87
88
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
88
89
  const mapSet = (map, key, value) =>
89
90
  isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
90
- const mapEnsure = (map, key, getDefaultValue) => {
91
+ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
91
92
  if (!collHas(map, key)) {
92
93
  mapSet(map, key, getDefaultValue());
94
+ } else {
95
+ hadExistingValue?.(mapGet(map, key));
93
96
  }
94
97
  return mapGet(map, key);
95
98
  };
@@ -124,9 +124,7 @@ const arrayShift = (array) => array.shift();
124
124
  const object = Object;
125
125
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
126
126
  const objEntries = object.entries;
127
- const objIds = object.keys;
128
127
  const objFrozen = object.isFrozen;
129
- const objFreeze = object.freeze;
130
128
  const isObject = (obj) =>
131
129
  !isUndefined(obj) &&
132
130
  ifNotUndefined(
@@ -137,6 +135,8 @@ const isObject = (obj) =>
137
135
  /* istanbul ignore next */
138
136
  () => true,
139
137
  );
138
+ const objIds = object.keys;
139
+ const objFreeze = object.freeze;
140
140
  const objNew = (entries = []) => object.fromEntries(entries);
141
141
  const objHas = (obj, id) => id in obj;
142
142
  const objDel = (obj, id) => {
@@ -149,6 +149,23 @@ const objMap = (obj, cb) =>
149
149
  objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
150
150
  const objSize = (obj) => size(objIds(obj));
151
151
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
152
+ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
153
+ if (
154
+ isUndefined(obj) ||
155
+ !isObject(obj) ||
156
+ (!emptyIsValid && objIsEmpty(obj)) ||
157
+ objFrozen(obj)
158
+ ) {
159
+ onInvalidObj?.();
160
+ return false;
161
+ }
162
+ objToArray(obj, (child, id) => {
163
+ if (!validateChild(child, id)) {
164
+ objDel(obj, id);
165
+ }
166
+ });
167
+ return emptyIsValid ? true : !objIsEmpty(obj);
168
+ };
152
169
 
153
170
  const jsonString = (obj) =>
154
171
  JSON.stringify(obj, (_key, value) =>
@@ -334,9 +351,10 @@ const Details = ({
334
351
  );
335
352
  };
336
353
 
337
- const getCellOrValueType = (cell) => {
338
- const type = getTypeOf(cell);
339
- return isTypeStringOrBoolean(type) || (type == NUMBER && isFiniteNumber(cell))
354
+ const getCellOrValueType = (cellOrValue) => {
355
+ const type = getTypeOf(cellOrValue);
356
+ return isTypeStringOrBoolean(type) ||
357
+ (type == NUMBER && isFiniteNumber(cellOrValue))
340
358
  ? type
341
359
  : void 0;
342
360
  };
@@ -1529,9 +1547,11 @@ const mapMap = (coll, cb) =>
1529
1547
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
1530
1548
  const mapSet = (map, key, value) =>
1531
1549
  isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
1532
- const mapEnsure = (map, key, getDefaultValue) => {
1550
+ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
1533
1551
  if (!collHas(map, key)) {
1534
1552
  mapSet(map, key, getDefaultValue());
1553
+ } else {
1554
+ hadExistingValue?.(mapGet(map, key));
1535
1555
  }
1536
1556
  return mapGet(map, key);
1537
1557
  };
@@ -1540,24 +1560,28 @@ const mapMatch = (map, obj, set, del = mapSet) => {
1540
1560
  mapForEach(map, (id) => (objHas(obj, id) ? 0 : del(map, id)));
1541
1561
  return map;
1542
1562
  };
1543
- const mapToObj = (map, mapValue, excludeValue) => {
1563
+ const mapToObj = (map, valueMapper, excludeMapValue, excludeObjValue) => {
1544
1564
  const obj = {};
1545
- collForEach(map, (value, id) => {
1546
- const mappedValue = mapValue ? mapValue(value, id) : value;
1547
- excludeValue?.(mappedValue, value) ? 0 : (obj[id] = mappedValue);
1565
+ collForEach(map, (mapValue, id) => {
1566
+ if (!excludeMapValue?.(mapValue, id)) {
1567
+ const objValue = valueMapper ? valueMapper(mapValue, id) : mapValue;
1568
+ excludeObjValue?.(objValue) ? 0 : (obj[id] = objValue);
1569
+ }
1548
1570
  });
1549
1571
  return obj;
1550
1572
  };
1551
- const mapToObj2 = (map, mapValue, excludeValue) =>
1573
+ const mapToObj2 = (map, valueMapper, excludeMapValue) =>
1552
1574
  mapToObj(
1553
1575
  map,
1554
- (childMap) => mapToObj(childMap, mapValue, excludeValue),
1576
+ (childMap) => mapToObj(childMap, valueMapper, excludeMapValue),
1577
+ collIsEmpty,
1555
1578
  objIsEmpty,
1556
1579
  );
1557
- const mapToObj3 = (map, mapValue, excludeValue) =>
1580
+ const mapToObj3 = (map, valueMapper, excludeMapValue) =>
1558
1581
  mapToObj(
1559
1582
  map,
1560
- (childMap) => mapToObj2(childMap, mapValue, excludeValue),
1583
+ (childMap) => mapToObj2(childMap, valueMapper, excludeMapValue),
1584
+ collIsEmpty,
1561
1585
  objIsEmpty,
1562
1586
  );
1563
1587
  const mapClone = (map, mapValue) => {
@@ -1591,7 +1615,6 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
1591
1615
 
1592
1616
  const scheduleRunning = mapNew();
1593
1617
  const scheduleActions = mapNew();
1594
- const isMergeable = (contentOrChanges) => isString(contentOrChanges?.[0]);
1595
1618
  const getStoreFunctions = (supportsMergeableStore, store) =>
1596
1619
  !supportsMergeableStore || isUndefined(store.getMergeableContent)
1597
1620
  ? [
@@ -1616,16 +1639,15 @@ const createCustomPersister = (
1616
1639
  delPersisterListener,
1617
1640
  onIgnoredError,
1618
1641
  supportsMergeableStore,
1619
- [getThing, thing] = [],
1642
+ extra = {},
1620
1643
  scheduleId = [],
1621
1644
  ) => {
1622
- let listenerId;
1623
1645
  let loadSave = 0;
1624
1646
  let loads = 0;
1625
1647
  let saves = 0;
1626
- let listening = 0;
1627
1648
  let action;
1628
- let listeningHandle;
1649
+ let autoLoadHandle;
1650
+ let autoSaveListenerId;
1629
1651
  mapEnsure(scheduleRunning, scheduleId, () => 0);
1630
1652
  mapEnsure(scheduleActions, scheduleId, () => []);
1631
1653
  const [isMergeableStore, getContent, getChanges, hasChanges] =
@@ -1661,55 +1683,51 @@ const createCustomPersister = (
1661
1683
  }
1662
1684
  return persister;
1663
1685
  };
1686
+ const setContentOrChanges = (contentOrChanges) => {
1687
+ (isMergeableStore && isString(contentOrChanges?.[0])
1688
+ ? contentOrChanges?.[1][2] === 1
1689
+ ? store.applyMergeableChanges
1690
+ : store.setMergeableContent
1691
+ : contentOrChanges?.[2] === 1
1692
+ ? store.applyChanges
1693
+ : store.setContent)(contentOrChanges);
1694
+ };
1664
1695
  const persister = {
1665
1696
  load: async (initialTables, initialValues) =>
1666
1697
  await loadLock(async () => {
1667
1698
  try {
1668
- const content = await getPersisted();
1669
- (isMergeableStore && isMergeable(content)
1670
- ? store.setMergeableContent
1671
- : store.setContent)(content);
1672
- } catch {
1699
+ setContentOrChanges(await getPersisted());
1700
+ } catch (error) {
1701
+ onIgnoredError?.(error);
1673
1702
  store.setContent([initialTables, initialValues]);
1674
1703
  }
1675
1704
  }),
1676
1705
  startAutoLoad: async (initialTables = {}, initialValues = {}) => {
1677
- persister.stopAutoLoad();
1678
- await persister.load(initialTables, initialValues);
1679
- listening = 1;
1680
- listeningHandle = addPersisterListener(
1706
+ await persister.stopAutoLoad().load(initialTables, initialValues);
1707
+ autoLoadHandle = addPersisterListener(
1681
1708
  async (getContent2, getChanges2) => {
1682
- if (getChanges2) {
1683
- const changes = getChanges2();
1684
- await loadLock(async () =>
1685
- (isMergeableStore && isMergeable(changes)
1686
- ? store.applyMergeableChanges
1687
- : store.applyChanges)(changes),
1688
- );
1689
- } else {
1690
- await loadLock(async () => {
1691
- try {
1692
- const content = getContent2?.() ?? (await getPersisted());
1693
- (isMergeableStore && isMergeable(content)
1694
- ? store.setMergeableContent
1695
- : store.setContent)(content);
1696
- } catch (error) {
1697
- onIgnoredError?.(error);
1698
- }
1699
- });
1700
- }
1709
+ const changes = getChanges2?.();
1710
+ await loadLock(async () => {
1711
+ try {
1712
+ setContentOrChanges(
1713
+ changes ?? getContent2?.() ?? (await getPersisted()),
1714
+ );
1715
+ } catch (error) {
1716
+ onIgnoredError?.(error);
1717
+ }
1718
+ });
1701
1719
  },
1702
1720
  );
1703
1721
  return persister;
1704
1722
  },
1705
1723
  stopAutoLoad: () => {
1706
- if (listening) {
1707
- delPersisterListener(listeningHandle);
1708
- listeningHandle = void 0;
1709
- listening = 0;
1724
+ if (autoLoadHandle) {
1725
+ delPersisterListener(autoLoadHandle);
1726
+ autoLoadHandle = void 0;
1710
1727
  }
1711
1728
  return persister;
1712
1729
  },
1730
+ isAutoLoading: () => !isUndefined(autoLoadHandle),
1713
1731
  save: async (getChanges2) => {
1714
1732
  /* istanbul ignore else */
1715
1733
  if (loadSave != 1) {
@@ -1731,7 +1749,7 @@ const createCustomPersister = (
1731
1749
  },
1732
1750
  startAutoSave: async () => {
1733
1751
  await persister.stopAutoSave().save();
1734
- listenerId = store.addDidFinishTransactionListener(() => {
1752
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
1735
1753
  const changes = getChanges();
1736
1754
  if (hasChanges(changes)) {
1737
1755
  persister.save(() => changes);
@@ -1740,10 +1758,11 @@ const createCustomPersister = (
1740
1758
  return persister;
1741
1759
  },
1742
1760
  stopAutoSave: () => {
1743
- ifNotUndefined(listenerId, store.delListener);
1744
- listenerId = void 0;
1761
+ ifNotUndefined(autoSaveListenerId, store.delListener);
1762
+ autoSaveListenerId = void 0;
1745
1763
  return persister;
1746
1764
  },
1765
+ isAutoSaving: () => !isUndefined(autoSaveListenerId),
1747
1766
  schedule: async (...actions) => {
1748
1767
  arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1749
1768
  await run();
@@ -1752,10 +1771,8 @@ const createCustomPersister = (
1752
1771
  getStore: () => store,
1753
1772
  destroy: () => persister.stopAutoLoad().stopAutoSave(),
1754
1773
  getStats: () => ({loads, saves}),
1774
+ ...extra,
1755
1775
  };
1756
- if (getThing) {
1757
- persister[getThing] = () => thing;
1758
- }
1759
1776
  return objFreeze(persister);
1760
1777
  };
1761
1778
 
@@ -1789,7 +1806,7 @@ const createStoragePersister = (
1789
1806
  delPersisterListener,
1790
1807
  onIgnoredError,
1791
1808
  true,
1792
- ['getStorageName', storageName],
1809
+ {getStorageName: () => storageName},
1793
1810
  );
1794
1811
  };
1795
1812
  const createSessionPersister = (store, storageName, onIgnoredError) =>
@@ -1896,18 +1913,6 @@ const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
1896
1913
  const defaultSorter = (sortKey1, sortKey2) =>
1897
1914
  (sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
1898
1915
 
1899
- const validate = (obj, validateChild, onInvalidObj) => {
1900
- if (isUndefined(obj) || !isObject(obj) || objIsEmpty(obj) || objFrozen(obj)) {
1901
- onInvalidObj?.();
1902
- return false;
1903
- }
1904
- objToArray(obj, (child, id2) => {
1905
- if (!validateChild(child, id2)) {
1906
- objDel(obj, id2);
1907
- }
1908
- });
1909
- return !objIsEmpty(obj);
1910
- };
1911
1916
  const idsChanged = (changedIds, id2, addedOrRemoved) =>
1912
1917
  mapSet(
1913
1918
  changedIds,
@@ -1967,13 +1972,13 @@ const createStore = () => {
1967
1972
  const [addListener, callListeners, delListenerImpl, callListenerImpl] =
1968
1973
  getListenerFunctions(() => store);
1969
1974
  const validateTablesSchema = (tableSchema) =>
1970
- validate(tableSchema, (tableSchema2) =>
1971
- validate(tableSchema2, validateCellOrValueSchema),
1975
+ objValidate(tableSchema, (tableSchema2) =>
1976
+ objValidate(tableSchema2, validateCellOrValueSchema),
1972
1977
  );
1973
1978
  const validateValuesSchema = (valuesSchema) =>
1974
- validate(valuesSchema, validateCellOrValueSchema);
1979
+ objValidate(valuesSchema, validateCellOrValueSchema);
1975
1980
  const validateCellOrValueSchema = (schema) => {
1976
- if (!validate(schema, (_child, id2) => arrayHas([TYPE, DEFAULT], id2))) {
1981
+ if (!objValidate(schema, (_child, id2) => arrayHas([TYPE, DEFAULT], id2))) {
1977
1982
  return false;
1978
1983
  }
1979
1984
  const type = schema[TYPE];
@@ -1986,18 +1991,18 @@ const createStore = () => {
1986
1991
  return true;
1987
1992
  };
1988
1993
  const validateTables = (tables) =>
1989
- validate(tables, validateTable, cellInvalid);
1994
+ objValidate(tables, validateTable, cellInvalid);
1990
1995
  const validateTable = (table, tableId) =>
1991
1996
  (!hasTablesSchema ||
1992
1997
  collHas(tablesSchemaMap, tableId) ||
1993
1998
  cellInvalid(tableId)) &&
1994
- validate(
1999
+ objValidate(
1995
2000
  table,
1996
2001
  (row, rowId) => validateRow(tableId, rowId, row),
1997
2002
  () => cellInvalid(tableId),
1998
2003
  );
1999
2004
  const validateRow = (tableId, rowId, row, skipDefaults) =>
2000
- validate(
2005
+ objValidate(
2001
2006
  skipDefaults ? row : addDefaultsToRow(row, tableId, rowId),
2002
2007
  (cell, cellId) =>
2003
2008
  ifNotUndefined(
@@ -2024,7 +2029,7 @@ const createStore = () => {
2024
2029
  ? cellInvalid(tableId, rowId, cellId, cell)
2025
2030
  : cell;
2026
2031
  const validateValues = (values, skipDefaults) =>
2027
- validate(
2032
+ objValidate(
2028
2033
  skipDefaults ? values : addDefaultsToValues(values),
2029
2034
  (value, valueId) =>
2030
2035
  ifNotUndefined(
@@ -2867,17 +2872,20 @@ const createStore = () => {
2867
2872
  : mapToObj(
2868
2873
  row,
2869
2874
  ([, newCell]) => newCell,
2870
- (_, changedCell) => pairIsEqual(changedCell),
2875
+ (changedCell) => pairIsEqual(changedCell),
2871
2876
  ),
2877
+ collIsEmpty,
2872
2878
  objIsEmpty,
2873
2879
  ),
2880
+ collIsEmpty,
2874
2881
  objIsEmpty,
2875
2882
  ),
2876
2883
  mapToObj(
2877
2884
  changedValues,
2878
2885
  ([, newValue]) => newValue,
2879
- (_, changedValue) => pairIsEqual(changedValue),
2886
+ (changedValue) => pairIsEqual(changedValue),
2880
2887
  ),
2888
+ 1,
2881
2889
  ];
2882
2890
  const getTransactionLog = () => [
2883
2891
  !collIsEmpty(changedCells),
@@ -43,7 +43,6 @@ const arrayIsEmpty = (array) => size(array) == 0;
43
43
  const object = Object;
44
44
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
45
45
  const objEntries = object.entries;
46
- const objIds = object.keys;
47
46
  const isObject = (obj) =>
48
47
  !isUndefined(obj) &&
49
48
  ifNotUndefined(
@@ -54,6 +53,7 @@ const isObject = (obj) =>
54
53
  /* istanbul ignore next */
55
54
  () => true,
56
55
  );
56
+ const objIds = object.keys;
57
57
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
58
58
  const objDel = (obj, id) => {
59
59
  delete obj[id];
@@ -1 +1 @@
1
- const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=e=>e.length,t=(e,n)=>e.includes(n),r=(e,n)=>e.forEach(n),o=e=>0==l(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(n),v=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),C=(n,l,t)=>e(t)?(h(n,l),n):null==n?void 0:n.set(l,t),f=(e,n,l)=>(a(e,n)||C(e,n,l()),g(e,n)),k=(e,t,r,o,s=0)=>n((r?f:g)(e,t[s],s>l(t)-2?r:p),(n=>{if(s>l(t)-2)return(null==o?void 0:o(n))&&C(e,t[s]),n;const u=k(n,t,r,o,s+1);return c(n)&&C(e,t[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=((S,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=p(),F=p(),I=1;const M=p(),_=p(),[b,j,x]=(t=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&l(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=Z);const s=u(1);var i,d;return C(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...t)=>r(((e,n=[""])=>{const t=[],o=(e,u)=>u==l(n)?s(t,e):null===n[u]?v(e,(e=>o(e,u+1))):r([n[u],null],(n=>o(g(e,n),u+1)));return o(e,0),t})(e,n),(e=>v(e,(e=>g(a,e)[0](o,...null!=n?n:[],...t))))),e=>n(g(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(a,e),d(e),l))),t=>n(g(a,t),(([n,,t=[],s,u])=>{const i=(...d)=>{var a,c;const v=l(d);v==l(t)?n(o,...d,...u(d)):e(t[v])?r(null!=(c=null==(a=s[v])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),B=p(),O=p(),T=[],W=[],$=(n,l)=>{I=0,S.transaction((()=>{const[t,r]=g(B,l);v(t,((l,t)=>v(l,((l,r)=>v(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),v(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),I=1},m=e=>{C(B,e),C(O,e),j(_,[e])},q=(e,n)=>r(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),m),D=()=>q(T,l(T)-V),G=()=>n(y,(()=>{s(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=u(T),E=1};let J,K;const N=(n="")=>(e(y)&&(y=""+z++,C(B,y,[A,F]),X(y,n),A=p(),F=p(),E=1),y),P=()=>{o(T)||(((e,...n)=>{e.unshift(...n)})(W,N()),$(0,y),y=u(T),E=1)},Q=()=>{o(W)||(s(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const n=N(e);return R(),n},X=(e,n)=>(Y(e)&&g(O,e)!==n&&(C(O,e,n),j(_,[e])),Z),Y=e=>a(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return n=e,v(O,((e,l)=>n(l,e)));var n},hasCheckpoint:Y,getCheckpoint:e=>g(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:n=>{const l=t(T,n)?P:t(W,n)?Q:null;for(;!e(l)&&n!=y;)l();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,n)=>b(n,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(I){G();const e=f(A,n,p),s=f(e,l,p),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(C(s,t))&&c(C(e,l))&&c(C(A,n))&&H(),R()}})),K=S.addValueListener(null,((e,n,l,t)=>{if(I){G();const e=f(F,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(C(F,n))&&H(),R()}}))}};return d(Z.clear())})(S));const E=z.get(S);return null==y||y(E),E}})(0,(e=>e._registerListeners()));export{S as createCheckpoints};
1
+ const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=e=>e.length,t=(e,n)=>e.includes(n),r=(e,n)=>e.forEach(n),o=e=>0==l(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(n),v=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),C=(n,l,t)=>e(t)?(h(n,l),n):null==n?void 0:n.set(l,t),f=(e,n,l,t)=>(a(e,n)?null==t||t(g(e,n)):C(e,n,l()),g(e,n)),k=(e,t,r,o,s=0)=>n((r?f:g)(e,t[s],s>l(t)-2?r:p),(n=>{if(s>l(t)-2)return(null==o?void 0:o(n))&&C(e,t[s]),n;const u=k(n,t,r,o,s+1);return c(n)&&C(e,t[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=((S,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=p(),F=p(),I=1;const M=p(),_=p(),[b,j,x]=(t=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&l(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=Z);const s=u(1);var i,d;return C(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...t)=>r(((e,n=[""])=>{const t=[],o=(e,u)=>u==l(n)?s(t,e):null===n[u]?v(e,(e=>o(e,u+1))):r([n[u],null],(n=>o(g(e,n),u+1)));return o(e,0),t})(e,n),(e=>v(e,(e=>g(a,e)[0](o,...null!=n?n:[],...t))))),e=>n(g(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(a,e),d(e),l))),t=>n(g(a,t),(([n,,t=[],s,u])=>{const i=(...d)=>{var a,c;const v=l(d);v==l(t)?n(o,...d,...u(d)):e(t[v])?r(null!=(c=null==(a=s[v])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),B=p(),O=p(),T=[],W=[],$=(n,l)=>{I=0,S.transaction((()=>{const[t,r]=g(B,l);v(t,((l,t)=>v(l,((l,r)=>v(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),v(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),I=1},m=e=>{C(B,e),C(O,e),j(_,[e])},q=(e,n)=>r(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),m),D=()=>q(T,l(T)-V),G=()=>n(y,(()=>{s(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=u(T),E=1};let J,K;const N=(n="")=>(e(y)&&(y=""+z++,C(B,y,[A,F]),X(y,n),A=p(),F=p(),E=1),y),P=()=>{o(T)||(((e,...n)=>{e.unshift(...n)})(W,N()),$(0,y),y=u(T),E=1)},Q=()=>{o(W)||(s(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const n=N(e);return R(),n},X=(e,n)=>(Y(e)&&g(O,e)!==n&&(C(O,e,n),j(_,[e])),Z),Y=e=>a(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return n=e,v(O,((e,l)=>n(l,e)));var n},hasCheckpoint:Y,getCheckpoint:e=>g(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:n=>{const l=t(T,n)?P:t(W,n)?Q:null;for(;!e(l)&&n!=y;)l();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,n)=>b(n,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(I){G();const e=f(A,n,p),s=f(e,l,p),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(C(s,t))&&c(C(e,l))&&c(C(A,n))&&H(),R()}})),K=S.addValueListener(null,((e,n,l,t)=>{if(I){G();const e=f(F,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(C(F,n))&&H(),R()}}))}};return d(Z.clear())})(S));const E=z.get(S);return null==y||y(E),E}})(0,(e=>e._registerListeners()));export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=e=>e.length,d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>S(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(w(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(I(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>u(n)-2?l:x),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return f(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=((e,l)=>{const M=new WeakMap;return e=>{M.has(e)||M.set(e,(e=>{const l=x(),M=x(),[j,m,O]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&u(e)<1e3&&v(e,n)}]})(),d=x();return[(e,r,s,o=[],u=(()=>[]))=>{null!=l||(l=U);const i=t(1);return R(d,i,[e,r,s,o,u]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>c(((e,l=[n])=>{const t=[],r=(e,n)=>n==u(l)?v(t,e):null===l[n]?S(e,(e=>r(e,n+1))):c([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>S(e,(e=>y(d,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(d,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(w(n,e),f(n)?1:0))),R(d,e),o(e),t))),e=>s(y(d,e),(([e,,n=[],t,s])=>{const o=(...d)=>{var i,a;const v=u(d);v==u(n)?e(l,...d,...s(d)):r(n[v])?c(null!=(a=null==(i=t[v])?void 0:i.call(t,...d))?a:[],(e=>o(...d,e))):o(...d,n[v])};o()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,n,l,t,i)=>{const a=e.hasRow,v=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(n,l,...t)=>{const r=b(D,n,k);return c(t,(n=>z(r,n)&&l&&e.callListener(n))),t},j=(n,...l)=>s(y(D,n),(t=>{c(0==u(l)?g(t):l,(n=>{e.delListener(n),w(t,n)})),f(t)&&R(D,n)})),m=(e,l)=>{R(v,e,l),I(h,e)||(R(h,e,n()),R(A,e,x()),R(C,e,x()),i(T))},O=e=>{R(v,e),R(h,e),R(A,e),R(C,e),j(e),i(T)};return[()=>e,()=>p(v),e=>E(h,e),e=>I(h,e),e=>y(v,e),e=>y(h,e),(e,n)=>R(h,e,n),m,(n,t,s,i,v)=>{m(n,t);const h=x(),f=x(),g=y(A,n),w=y(C,n),p=n=>{const s=l=>e.getCell(t,n,l),c=y(g,n),I=a(t,n)?l(i(s,n)):void 0;var L,S;if(c===I||o(c)&&o(I)&&(S=I,u(L=c)===u(S)&&d(L,((e,n)=>S[n]===e)))||R(h,n,[c,I]),!r(v)){const e=y(w,n),l=a(t,n)?v(s,n):void 0;e!=l&&R(f,n,l)}},b=e=>{s((()=>{S(h,(([,e],n)=>R(g,n,e))),S(f,((e,n)=>R(w,n,e)))}),h,f,g,w,e),L(h),L(f)};E(g,p),e.hasTable(t)&&c(e.getRowIds(t),(e=>{I(g,e)||p(e)})),b(!0),j(n),M(n,0,e.addRowListener(t,null,((e,n,l)=>p(l))),e.addTableListener(t,(()=>b())))},O,e=>t(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l}),j,m),Q=(n,l,t)=>{const r=F(n);S(t,((n,t)=>l(t,(l=>S(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},U={setIndexDefinition:(e,n,t,o,u,d=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return J(e,n,((n,t,u,v,h,g)=>{let L=0;const p=k(),b=k(),T=G(e);if(S(t,(([e,n],l)=>{const t=k(e),u=k(n);S(t,(e=>w(u,e)?w(t,e):0)),S(t,(e=>{z(p,e),s(y(T,e),(n=>{w(n,l),f(n)&&(R(T,e),L=1)}))})),S(u,(e=>{z(p,e),I(T,e)||(R(T,e,k()),L=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),f(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),S(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];i(l,n)||(R(T,e,k(a(l,n))),z(p,e))}))),(L||g)&&!r(c)){const n=[...T];i(n,c)||(H(e,x(a(n,c))),L=1)}L&&m(l,[e]),S(p,(n=>m(M,[e,n])))}),A(t),s(o,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((n,l)=>e(n,(e=>Q(n,e,l))))),forEachSlice:(e,n)=>Q(e,n,G(e)),hasIndex:B,hasSlice:(e,n)=>I(G(e),n),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,n)=>g(y(G(e),n)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>j(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>j(l,M,[e,n]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e));return M.get(e)}})();export{M as createIndexes};
1
+ const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=e=>e.length,d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>S(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(w(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l,t)=>(I(e,n)?null==t||t(y(e,n)):R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>u(n)-2?l:x),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return f(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=((e,l)=>{const M=new WeakMap;return e=>{M.has(e)||M.set(e,(e=>{const l=x(),M=x(),[j,m,O]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&u(e)<1e3&&v(e,n)}]})(),d=x();return[(e,r,s,o=[],u=(()=>[]))=>{null!=l||(l=U);const i=t(1);return R(d,i,[e,r,s,o,u]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>c(((e,l=[n])=>{const t=[],r=(e,n)=>n==u(l)?v(t,e):null===l[n]?S(e,(e=>r(e,n+1))):c([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>S(e,(e=>y(d,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(d,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(w(n,e),f(n)?1:0))),R(d,e),o(e),t))),e=>s(y(d,e),(([e,,n=[],t,s])=>{const o=(...d)=>{var i,a;const v=u(d);v==u(n)?e(l,...d,...s(d)):r(n[v])?c(null!=(a=null==(i=t[v])?void 0:i.call(t,...d))?a:[],(e=>o(...d,e))):o(...d,n[v])};o()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,n,l,t,i)=>{const a=e.hasRow,v=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(n,l,...t)=>{const r=b(D,n,k);return c(t,(n=>z(r,n)&&l&&e.callListener(n))),t},j=(n,...l)=>s(y(D,n),(t=>{c(0==u(l)?g(t):l,(n=>{e.delListener(n),w(t,n)})),f(t)&&R(D,n)})),m=(e,l)=>{R(v,e,l),I(h,e)||(R(h,e,n()),R(A,e,x()),R(C,e,x()),i(T))},O=e=>{R(v,e),R(h,e),R(A,e),R(C,e),j(e),i(T)};return[()=>e,()=>p(v),e=>E(h,e),e=>I(h,e),e=>y(v,e),e=>y(h,e),(e,n)=>R(h,e,n),m,(n,t,s,i,v)=>{m(n,t);const h=x(),f=x(),g=y(A,n),w=y(C,n),p=n=>{const s=l=>e.getCell(t,n,l),c=y(g,n),I=a(t,n)?l(i(s,n)):void 0;var L,S;if(c===I||o(c)&&o(I)&&(S=I,u(L=c)===u(S)&&d(L,((e,n)=>S[n]===e)))||R(h,n,[c,I]),!r(v)){const e=y(w,n),l=a(t,n)?v(s,n):void 0;e!=l&&R(f,n,l)}},b=e=>{s((()=>{S(h,(([,e],n)=>R(g,n,e))),S(f,((e,n)=>R(w,n,e)))}),h,f,g,w,e),L(h),L(f)};E(g,p),e.hasTable(t)&&c(e.getRowIds(t),(e=>{I(g,e)||p(e)})),b(!0),j(n),M(n,0,e.addRowListener(t,null,((e,n,l)=>p(l))),e.addTableListener(t,(()=>b())))},O,e=>t(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l}),j,m),Q=(n,l,t)=>{const r=F(n);S(t,((n,t)=>l(t,(l=>S(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},U={setIndexDefinition:(e,n,t,o,u,d=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return J(e,n,((n,t,u,v,h,g)=>{let L=0;const p=k(),b=k(),T=G(e);if(S(t,(([e,n],l)=>{const t=k(e),u=k(n);S(t,(e=>w(u,e)?w(t,e):0)),S(t,(e=>{z(p,e),s(y(T,e),(n=>{w(n,l),f(n)&&(R(T,e),L=1)}))})),S(u,(e=>{z(p,e),I(T,e)||(R(T,e,k()),L=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),f(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),S(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];i(l,n)||(R(T,e,k(a(l,n))),z(p,e))}))),(L||g)&&!r(c)){const n=[...T];i(n,c)||(H(e,x(a(n,c))),L=1)}L&&m(l,[e]),S(p,(n=>m(M,[e,n])))}),A(t),s(o,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((n,l)=>e(n,(e=>Q(n,e,l))))),forEachSlice:(e,n)=>Q(e,n,G(e)),hasIndex:B,hasSlice:(e,n)=>I(G(e),n),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,n)=>g(y(G(e),n)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>j(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>j(l,M,[e,n]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e));return M.get(e)}})();export{M as createIndexes};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",v=c+i,g="Row",h=g+"Count",C=g+i,f="Cell",T=f+i,b="Value",V=b+"s",p=b+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),I=(e,t=0)=>e.charCodeAt(t),m=Math.max,R=isFinite,L=e=>null==e,J=(e,t,l)=>L(e)?null==l?void 0:l():t(e),M=e=>e==l||e==n,E=t=>e(t)==a,H=(e,t,l)=>e.slice(t,l),F=e=>e.length,O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),A=(e,...t)=>e.push(...t),P=Object,W=e=>P.getPrototypeOf(e),k=P.entries,x=P.keys,D=P.isFrozen,N=P.freeze,j=e=>!L(e)&&J(W(e),(e=>e==P.prototype||L(W(e))),(()=>!0)),$=(e=[])=>P.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>O(k(e),(([e,l])=>t(l,e))),K=(e,t)=>z(k(e),(([e,l])=>t(l,e))),Q=e=>j(e)&&0==(e=>F(x(e)))(e),U=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},X=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},Y=e=>L(e)||0==U(e),Z=e=>e.clear(),_=(e,t)=>null==e?void 0:e.forEach(t),ee=(e,t)=>null==e?void 0:e.delete(t),te=e=>new Map(e),le=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ne=(e,t)=>null==e?void 0:e.get(t),se=(e,t)=>_(e,((e,l)=>t(l,e))),ae=(e,t,l)=>L(l)?(ee(e,t),e):null==e?void 0:e.set(t,l),re=(e,t,l)=>(X(e,t)||ae(e,t,l()),ne(e,t)),oe=(e,t,l,n=ae)=>(K(t,((t,n)=>l(e,n,t))),se(e,(l=>q(t,l)?0:n(e,l))),e),ue=(e,t,l)=>{const n={};return _(e,((e,s)=>{const a=t?t(e,s):e;!(null==l?void 0:l(a,e))&&(n[s]=a)})),n},ie=(e,t,l)=>ue(e,(e=>ue(e,t,l)),Q),ce=(e,t,l)=>ue(e,(e=>ie(e,t,l)),Q),de=(e,t)=>{const l=te();return _(e,((e,n)=>{var s;return l.set(n,null!=(s=null==t?void 0:t(e))?s:e)})),l},ve=e=>de(e,de),ge=e=>de(e,ve),he=(e,t,l,n,s=0)=>J((l?re:ne)(e,t[s],s>F(t)-2?l:te),(a=>{if(s>F(t)-2)return(null==n?void 0:n(a))&&ae(e,t[s]),a;const r=he(a,t,l,n,s+1);return Y(a)&&ae(e,t[s]),r})),Ce=(e="",t)=>[e,t],fe=(e="")=>Ce(e,te()),Te=e=>Ce(e,$()),be=([e,t],l)=>[e,l(t,e)],Ve=([e,t])=>[e,t],pe=(e,t)=>be(e,(e=>ue(e,t))),we=(e,t,l,n)=>G(e,((e,s)=>Se(e,re(t,s,fe),l[s]=$(),n))),Se=([e,t],l,n,s)=>{e>l[0]&&(l[0]=e),s(t,l[1],n)},ye=(e,t,l)=>G(e,(([e,n],s)=>{const a=re(t,s,Ce);e>a[0]&&(a[0]=e,a[1]=l[s]=n)})),Ie=e=>new Set(Array.isArray(e)||L(e)?e:[e]),me=(e,t)=>null==e?void 0:e.add(t),Re=/^\d+$/,Le=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},t=>{Re.test(t)&&F(e)<1e3&&A(e,t)}]},Je=e=>[e,e],Me=()=>[te(),te()],Ee=e=>[...e],He=([e,t])=>e===t,Fe=t=>{const l=e(t);return M(l)||l==s&&R(t)?l:void 0},Oe=(e,t,l,n,s)=>L(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),ze=(e,t,l)=>L(l)?e.delValue(t):e.setValue(t,l),Ae=e=>JSON.stringify(e,((e,t)=>t instanceof Map?P.fromEntries([...t]):t)),Pe=JSON.parse,We=(e,t,l)=>L(e)||!j(e)||Q(e)||D(e)?(null==l||l(),!1):(K(e,((l,n)=>{t(l,n)||B(e,n)})),!Q(e)),ke=(e,t,l)=>ae(e,t,ne(e,t)==-l?void 0:l),xe=()=>{let e,l,n=!1,a=!1,i=0,S=[];const y=te(),I=te(),m=te(),R=te(),P=te(),W=te(),k=te(),x=te(),D=te(),j=te(),$=te(),G=te(),Ce=te(),fe=te(),Te=Ie(),be=te(),Ve=te(),pe=te(),we=te(),Se=Me(),ye=Me(),Re=Me(),De=Me(),Ne=Me(),je=Me(),$e=Me(),qe=Me(),Be=Me(),Ge=Me(),Ke=Me(),Qe=Me(),Ue=Me(),Xe=Me(),Ye=Me(),Ze=Me(),_e=Me(),et=Me(),tt=Me(),lt=Me(),nt=Me(),st=Me(),at=te(),rt=Me(),[ot,ut,it,ct]=(e=>{let l;const[n,s]=Le(),a=te();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=El);const i=n(1);return ae(a,i,[e,s,r,o,u]),me(he(s,null!=r?r:[t],Ie),i),i},(e,n,...s)=>O(((e,l=[t])=>{const n=[],s=(e,t)=>t==F(l)?A(n,e):null===l[t]?_(e,(e=>s(e,t+1))):O([l[t],null],(l=>s(ne(e,l),t+1)));return s(e,0),n})(e,n),(e=>_(e,(e=>ne(a,e)[0](l,...null!=n?n:[],...s))))),e=>J(ne(a,e),(([,l,n])=>(he(l,null!=n?n:[t],void 0,(t=>(ee(t,e),Y(t)?1:0))),ae(a,e),s(e),n))),e=>J(ne(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=F(r);i==F(t)?e(l,...r,...s(r)):L(t[i])?O(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),dt=e=>{if(!We(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(Fe(e[o])!=t&&B(e,o),0))},vt=(t,l)=>(!e||X($,l)||jt(l))&&We(t,((e,t)=>gt(l,t,e)),(()=>jt(l))),gt=(e,t,l,n)=>We(n?l:Tt(l,e,t),((n,s)=>J(ht(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>jt(e,t))),ht=(t,l,n,s)=>e?J(ne(ne($,t),n),(e=>Fe(s)!=e[r]?jt(t,l,n,s,e[o]):s),(()=>jt(t,l,n,s))):L(Fe(s))?jt(t,l,n,s):s,Ct=(e,t)=>We(t?e:bt(e),((t,l)=>J(ft(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>$t())),ft=(e,t)=>l?J(ne(Ce,e),(l=>Fe(t)!=l[r]?$t(e,t,l[o]):t),(()=>$t(e,t))):L(Fe(t))?$t(e,t):t,Tt=(e,t,l)=>(J(ne(G,t),(([n,s])=>{_(n,((t,l)=>{q(e,l)||(e[l]=t)})),_(s,(n=>{q(e,n)||jt(t,l,n)}))})),e),bt=e=>(l&&(_(fe,((t,l)=>{q(e,l)||(e[l]=t)})),_(Te,(t=>{q(e,t)||$t(t)}))),e),Vt=e=>oe($,e,((e,t,l)=>{const n=te(),s=Ie();oe(re($,t,te),l,((e,t,l)=>{ae(e,t,l),J(l[o],(e=>ae(n,t,e)),(()=>me(s,t)))})),ae(G,t,[n,s])}),((e,t)=>{ae($,t),ae(G,t)})),pt=e=>oe(Ce,e,((e,t,l)=>{ae(Ce,t,l),J(l[o],(e=>ae(fe,t,e)),(()=>me(Te,t)))}),((e,t)=>{ae(Ce,t),ae(fe,t),ee(Te,t)})),wt=e=>Q(e)?wl():fl(e),St=e=>oe(pe,e,((e,t,l)=>yt(t,l)),((e,t)=>Ft(t))),yt=(e,t)=>oe(re(pe,e,(()=>(Pt(e,1),ae(be,e,Le()),ae(Ve,e,te()),te()))),t,((t,l,n)=>It(e,t,l,n)),((t,l)=>Ot(e,t,l))),It=(e,t,l,n,s)=>oe(re(t,l,(()=>(Wt(e,l,1),te()))),n,((t,n,s)=>mt(e,l,t,n,s)),((n,a)=>zt(e,t,l,n,a,s))),mt=(e,t,l,n,s)=>{X(l,n)||kt(e,t,n,1);const a=ne(l,n);s!==a&&(xt(e,t,n,a,s),ae(l,n,s))},Rt=(e,t,l,n,s)=>J(ne(t,l),(t=>mt(e,l,t,n,s)),(()=>It(e,t,l,Tt({[n]:s},e,l)))),Lt=e=>Q(e)?Il():Tl(e),Jt=e=>oe(we,e,((e,t,l)=>Mt(t,l)),((e,t)=>At(t))),Mt=(e,t)=>{X(we,e)||Dt(e,1);const l=ne(we,e);t!==l&&(Nt(e,l,t),ae(we,e,t))},Et=(e,t)=>{const[l]=ne(be,e),n=l(t);return X(ne(pe,e),n)?Et(e,t):n},Ht=e=>{var t;return null!=(t=ne(pe,e))?t:yt(e,{})},Ft=e=>yt(e,{}),Ot=(e,t,l)=>{const[,n]=ne(be,e);n(l),It(e,t,l,{},!0)},zt=(e,t,l,n,s,a)=>{var r;const o=ne(null==(r=ne(G,e))?void 0:r[0],s);if(!L(o)&&!a)return mt(e,l,n,s,o);const u=t=>{xt(e,l,t,ne(n,t)),kt(e,l,t,-1),ae(n,t)};L(o)?u(s):se(n,u),Y(n)&&(Wt(e,l,-1),Y(ae(t,l))&&(Pt(e,-1),ae(pe,e),ae(be,e),ae(Ve,e)))},At=e=>{const t=ne(fe,e);if(!L(t))return Mt(e,t);Nt(e,ne(we,e)),Dt(e,-1),ae(we,e)},Pt=(e,t)=>ke(y,e,t),Wt=(e,t,l)=>ke(re(R,e,te),t,l)&&ae(m,e,re(m,e,(()=>0))+l),kt=(e,t,l,n)=>{var s;const a=ne(Ve,e),r=null!=(s=ne(a,l))?s:0;(0==r&&1==n||1==r&&-1==n)&&ke(re(I,e,te),l,n),ae(a,l,r!=-n?r+n:null),ke(re(re(P,e,te),t,te),l,n)},xt=(e,t,l,n,s)=>re(re(re(W,e,te),t,te),l,(()=>[n,0]))[1]=s,Dt=(e,t)=>ke(k,e,t),Nt=(e,t,l)=>re(x,e,(()=>[t,0]))[1]=l,jt=(e,t,l,n,s)=>(A(re(re(re(D,e,te),t,te),l,(()=>[])),n),s),$t=(e,t,l)=>(A(re(j,e,(()=>[])),t),l),qt=(e,t,l)=>J(ne(ne(ne(W,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(al(e,t,l))])),Bt=e=>J(ne(x,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(ul(e))])),Gt=e=>Y(D)||Y(Ze[e])?0:_(e?ge(D):D,((t,l)=>_(t,((t,n)=>_(t,((t,s)=>ut(Ze[e],[l,n,s],t))))))),Kt=e=>Y(j)||Y(_e[e])?0:_(e?de(j):j,((t,l)=>ut(_e[e],[l],t))),Qt=(e,t,l,n)=>{if(!Y(e))return ut(t,n,(()=>ue(e))),se(e,((e,t)=>ut(l,[...null!=n?n:[],e],1==t))),1},Ut=e=>{const t=il();t!=n&&ut(Se[e],void 0,t);const l=Y(Ge[e]),s=Y(Ue[e])&&Y(Xe[e])&&Y(Be[e])&&Y(Ke[e])&&Y(je[e])&&Y($e[e])&&Y(qe[e])&&l&&Y(Re[e])&&Y(De[e]),a=Y(Ye[e])&&Y(Qe[e])&&Y(Ne[e])&&Y(ye[e]);if(!s||!a){const t=e?[de(y),ve(I),de(m),ve(R),ge(P),ge(W)]:[y,I,m,R,P,W];if(!s){Qt(t[0],Re[e],De[e]),_(t[1],((t,l)=>Qt(t,je[e],$e[e],[l]))),_(t[2],((t,l)=>{0!=t&&ut(qe[e],[l],tl(l))}));const n=Ie();_(t[3],((t,s)=>{Qt(t,Be[e],Ke[e],[s])&&!l&&(ut(Ge[e],[s,null]),me(n,s))})),l||_(t[5],((t,l)=>{if(!X(n,l)){const n=Ie();_(t,(e=>_(e,(([t,l],s)=>l!==t?me(n,s):ee(e,s))))),_(n,(t=>ut(Ge[e],[l,t])))}})),_(t[4],((t,l)=>_(t,((t,n)=>Qt(t,Ue[e],Xe[e],[l,n])))))}if(!a){let l;_(t[5],((t,n)=>{let s;_(t,((t,a)=>{let r;_(t,(([t,o],u)=>{o!==t&&(ut(Ye[e],[n,a,u],o,t,qt),l=s=r=1)})),r&&ut(Qe[e],[n,a],qt)})),s&&ut(Ne[e],[n],qt)})),l&&ut(ye[e],void 0,qt)}}},Xt=e=>{const t=hl();t!=a&&ut(et[e],void 0,t);const l=Y(lt[e])&&Y(nt[e]),n=Y(st[e])&&Y(tt[e]);if(!l||!n){const t=e?[de(k),de(x)]:[k,x];if(l||Qt(t[0],lt[e],nt[e]),!n){let l;_(t[1],(([t,n],s)=>{n!==t&&(ut(st[e],[s],n,t,Bt),l=1)})),l&&ut(tt[e],void 0,Bt)}}},Yt=(e,...t)=>(Ll((()=>e(...z(t,w)))),El),Zt=()=>ce(pe),_t=()=>le(pe),el=e=>le(ne(Ve,w(e))),tl=e=>U(ne(pe,w(e))),ll=e=>le(ne(pe,w(e))),nl=(e,t,l,n=0,s)=>{return z(H((r=ne(pe,w(e)),o=(e,l)=>[L(t)?l:ne(e,w(t)),l],a=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(s=t)?s:0)?-1:1)*(l?-1:1);var n,s},z([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,t])=>o(t,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},sl=(e,t)=>le(ne(ne(pe,w(e)),w(t))),al=(e,t,l)=>ne(ne(ne(pe,w(e)),w(t)),w(l)),rl=()=>ue(we),ol=()=>le(we),ul=e=>ne(we,w(e)),il=()=>!Y(pe),cl=e=>X(pe,w(e)),dl=(e,t)=>X(ne(Ve,w(e)),w(t)),vl=(e,t)=>X(ne(pe,w(e)),w(t)),gl=(e,t,l)=>X(ne(ne(pe,w(e)),w(t)),w(l)),hl=()=>!Y(we),Cl=e=>X(we,w(e)),fl=e=>Yt((()=>(e=>We(e,vt,jt))(e)?St(e):0)),Tl=e=>Yt((()=>Ct(e)?Jt(e):0)),bl=e=>{try{wt(Pe(e))}catch(e){}return El},Vl=t=>Yt((()=>{if((e=We(t,(e=>We(e,dt))))&&(Vt(t),!Y(pe))){const e=Zt();wl(),fl(e)}})),pl=e=>Yt((()=>{if(l=(e=>We(e,dt))(e)){const t=rl();Rl(),Il(),l=!0,pt(e),Tl(t)}})),wl=()=>Yt((()=>St({}))),Sl=e=>Yt((e=>X(pe,e)?Ft(e):0),e),yl=(e,t)=>Yt(((e,t)=>J(ne(pe,e),(l=>X(l,t)?Ot(e,l,t):0))),e,t),Il=()=>Yt((()=>Jt({}))),ml=()=>Yt((()=>{Vt({}),e=!1})),Rl=()=>Yt((()=>{pt({}),l=!1})),Ll=(e,t)=>{if(-1!=i){Jl();const l=e();return Ml(t),l}},Jl=()=>(-1!=i&&i++,1==i&&ut(at,void 0),El),Ml=e=>{var t,l;return i>0&&(i--,0==i&&(i=1,Gt(1),Y(W)||Ut(1),Kt(1),Y(x)||Xt(1),(null==e?void 0:e(El))&&(_(W,((e,t)=>_(e,((e,l)=>_(e,(([e],n)=>Oe(El,t,l,n,e))))))),Z(W),_(x,(([e],t)=>ze(El,t,e))),Z(x)),ut(rt[0],void 0),i=-1,Gt(0),Y(W)||Ut(0),Kt(0),Y(x)||Xt(0),null==(t=S[0])||t.call(S,El),ut(rt[1],void 0),null==(l=S[1])||l.call(S,El),i=0,n=il(),a=hl(),O([y,I,m,R,P,W,D,k,x,j],Z))),El},El={getContent:()=>[Zt(),rl()],getTables:Zt,getTableIds:_t,getTable:e=>ie(ne(pe,w(e))),getTableCellIds:el,getRowCount:tl,getRowIds:ll,getSortedRowIds:nl,getRow:(e,t)=>ue(ne(ne(pe,w(e)),w(t))),getCellIds:sl,getCell:al,getValues:rl,getValueIds:ol,getValue:ul,hasTables:il,hasTable:cl,hasTableCell:dl,hasRow:vl,hasCell:gl,hasValues:hl,hasValue:Cl,getTablesJson:()=>Ae(pe),getValuesJson:()=>Ae(we),getJson:()=>Ae([pe,we]),getTablesSchemaJson:()=>Ae($),getValuesSchemaJson:()=>Ae(Ce),getSchemaJson:()=>Ae([$,Ce]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,t])=>Yt((()=>{(Q(e)?wl:fl)(e),(Q(t)?Il:Tl)(t)})),setTables:fl,setTable:(e,t)=>Yt((e=>vt(t,e)?yt(e,t):0),e),setRow:(e,t,l)=>Yt(((e,t)=>gt(e,t,l)?It(e,Ht(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Ll((()=>{let n;return gt(e,n,t)&&(e=w(e),It(e,Ht(e),n=Et(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>Yt(((e,t)=>{if(gt(e,t,l,1)){const n=Ht(e);K(l,((l,s)=>Rt(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>Yt(((e,t,l)=>J(ht(e,t,l,E(n)?n(al(e,t,l)):n),(n=>Rt(e,Ht(e),t,l,n)))),e,t,l),setValues:Tl,setPartialValues:e=>Yt((()=>Ct(e,1)?K(e,((e,t)=>Mt(t,e))):0)),setValue:(e,t)=>Yt((e=>J(ft(e,E(t)?t(ul(e)):t),(t=>Mt(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>L(e)?Sl(t):K(e,((e,l)=>L(e)?yl(t,l):K(e,((e,n)=>Oe(El,t,l,n,e))))))),K(e[1],((e,t)=>ze(El,t,e)))})),setTablesJson:bl,setValuesJson:e=>{try{Lt(Pe(e))}catch(e){}return El},setJson:e=>Yt((()=>{try{const[t,l]=Pe(e);wt(t),Lt(l)}catch(t){bl(e)}})),setTablesSchema:Vl,setValuesSchema:pl,setSchema:(e,t)=>Yt((()=>{Vl(e),pl(t)})),delTables:wl,delTable:Sl,delRow:yl,delCell:(e,t,l,n)=>Yt(((e,t,l)=>J(ne(pe,e),(s=>J(ne(s,t),(a=>X(a,l)?zt(e,s,t,a,l,n):0))))),e,t,l),delValues:Il,delValue:e=>Yt((e=>X(we,e)?At(e):0),e),delTablesSchema:ml,delValuesSchema:Rl,delSchema:()=>Yt((()=>{ml(),Rl()})),transaction:Ll,startTransaction:Jl,getTransactionChanges:()=>[ue(W,((e,t)=>-1===ne(y,t)?void 0:ue(e,((e,l)=>-1===ne(ne(R,t),l)?void 0:ue(e,(([,e])=>e),((e,t)=>He(t)))),Q)),Q),ue(x,(([,e])=>e),((e,t)=>He(t)))],getTransactionLog:()=>[!Y(W),!Y(x),ce(W,Ee,He),ce(D),ue(x,Ee,He),ue(j),ue(y),ie(R),ce(P),ue(k)],finishTransaction:Ml,forEachTable:e=>_(pe,((t,l)=>e(l,(e=>_(t,((t,l)=>e(l,(e=>se(t,e))))))))),forEachTableCell:(e,t)=>se(ne(Ve,w(e)),t),forEachRow:(e,t)=>_(ne(pe,w(e)),((e,l)=>t(l,(t=>se(e,t))))),forEachCell:(e,t,l)=>se(ne(ne(pe,w(e)),w(t)),l),forEachValue:e=>se(we,e),addSortedRowIdsListener:(e,t,l,n,s,a,r)=>{let o=nl(e,t,l,n,s);return ot((()=>{const r=nl(e,t,l,n,s);var u,i,c;i=o,F(u=r)===F(i)&&(c=(e,t)=>i[t]===e,u.every(c))||(o=r,a(El,e,t,l,n,s,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,at),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(ct(e),El),delListener:e=>(it(e),El),getListenerStats:()=>({}),createStore:xe,addListener:ot,callListeners:ut,setInternalListeners:(e,t)=>S=[e,t]};return K({[u+d]:[0,Se,[],()=>[il()]],[d]:[0,ye],[v]:[0,Re],[u+c]:[1,De,[_t],e=>[cl(...e)]],[c]:[1,Ne,[_t]],[c+T]:[1,je,[_t]],[u+c+f]:[2,$e,[_t,el],e=>[dl(...e)]],[h]:[1,qe,[_t]],[C]:[1,Be,[_t]],[u+g]:[2,Ke,[_t,ll],e=>[vl(...e)]],[g]:[2,Qe,[_t,ll]],[T]:[2,Ue,[_t,ll]],[u+f]:[3,Xe,[_t,ll,sl],e=>[gl(...e)]],[f]:[3,Ye,[_t,ll,sl],e=>Je(al(...e))],InvalidCell:[3,Ze],[u+V]:[0,et,[],()=>[hl()]],[V]:[0,tt],[p]:[0,lt],[u+b]:[1,nt,[ol],e=>[Cl(...e)]],[b]:[1,st,[ol],e=>Je(ul(e[0]))],InvalidValue:[1,_e]},(([e,t,l,n],s)=>{El["add"+s+"Listener"]=(...s)=>ot(s[e],t[s[e+1]?1:0],e>0?H(s,0,e):void 0,l,n)})),N(El)};var De=Math.pow;const Ne=De(2,36),je=De(2,30),$e=De(2,24),qe=De(2,18),Be=De(2,12),Ge=De(2,6),Ke=e=>String.fromCharCode(48+(63&e)),Qe=(e,t)=>I(e,t)-48,Ue={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},Xe=(e="")=>[e,[fe(e),fe(e)]],Ye=e=>{let l,n,s=1,a=Xe();const[r,o]=(e=>{let t=0,l=-1;const n=(s=(e,t)=>(e<<5)+e^I(t),((e,t="",l)=>e.split(t,l))(e).reduce(s,5381)>>>0);var s;const a=e=>{const n=t,[s,a]=L(e)?[0,0]:[Qe(r=e,0)*Ne+Qe(r,1)*je+Qe(r,2)*$e+Qe(r,3)*qe+Qe(r,4)*Be+Qe(r,5)*Ge+Qe(r,6),Qe(r,7)*qe+Qe(r,8)*Be+Qe(r,9)*Ge+Qe(r,10),Qe(r,11)*$e+Qe(r,12)*qe+Qe(r,13)*Be+Qe(r,14)*Ge+Qe(r,15)];var r;t=m(n,s,Date.now()),l=t==n?t==s?m(l,a):l:t==s?a:-1};return[()=>{return a(),s=++l,r=n,Ke((e=t)/Ne)+Ke(e/je)+Ke(e/$e)+Ke(e/qe)+Ke(e/Be)+Ke(e/Ge)+Ke(e)+Ke(s/qe)+Ke(s/Be)+Ke(s/Ge)+Ke(s)+Ke(r/$e)+Ke(r/qe)+Ke(r/Be)+Ke(r/Ge)+Ke(r);var e,s,r},a]})(e),u=xe(),i=e=>{const t=s;s=0,e(),s=t},c=()=>{if(L(n)){const[,,e,,n]=u.getTransactionLog(),s=Q(e)&&Q(n)?t:null!=l?l:l=r(),a=Ce(s,[Te(Q(e)?t:s),Te(Q(n)?t:s)]),[[,o],[,i]]=a[1];return K(e,((e,t)=>{const[,l]=o[t]=Te(s);K(e,((e,t)=>{const[,n]=l[t]=Te(s);K(e,(([,e],t)=>n[t]=Ce(s,e)))}))})),K(n,(([,e],t)=>i[t]=Ce(s,e))),a}return n},d=e=>{const t=[{},{}];return o(e[0]),Se(e,a,t,(([e,t],[l,n],[s,a])=>{Se(e,l,s,((e,t,l)=>we(e,t,l,((e,t,l)=>we(e,t,l,ye))))),Se(t,n,a,ye)})),i((()=>u.applyChanges(t))),v},v={getMergeableContent:()=>be(a,(([e,t])=>[pe(e,(e=>pe(e,(e=>pe(e,Ve))))),pe(t,Ve)])),setMergeableContent:e=>(i((()=>u.transaction((()=>{u.delTables().delValues(),a=Xe()})))),d(e),v),getTransactionMergeableChanges:c,applyMergeableChanges:d,merge:e=>{const t=v.getMergeableContent(),l=e.getMergeableContent();return e.applyMergeableChanges(t),d(l)}};return u.setInternalListeners((()=>{if(s){n=c();const[e,[t,l]]=n,s=!Q(t[1]),r=!Q(l[1]),[,[o,u]]=a;(s||r)&&(a[0]=e),s&&(o[0]=e,K(t[1],(([,t],l)=>{const n=re(o[1],l,fe);n[0]=e,K(t,(([,t],l)=>{const s=re(n[1],l,fe);s[0]=e,K(t,(([,t],l)=>ae(s[1],l,Ce(e,t))))}))}))),r&&(u[0]=e,K(l[1],(([,t],l)=>ae(u[1],l,Ce(e,t)))))}}),(()=>l=n=void 0)),K(u,((e,t)=>v[t]=S(t,"set")||S(t,"del")||S(t,"apply")||y(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),v):S(t,"add")&&y(t,"Listener")?(...l)=>{var n;const s=null!=(n=Ue[H(t,3,-8)])?n:0,a=l[s];return l[s]=(e,...t)=>a(v,...t),e(...l)}:e)),N(v)};export{Ye as createMergeableStore};
1
+ const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",d="Table",c=d+"s",g=d+i,v="Row",h=v+"Count",b=v+i,f="Cell",C=f+i,T="Value",V=T+"s",p=T+i,w=e=>l+e,I=(e,l)=>e.startsWith(l),S=(e,l)=>e.endsWith(l),y=Math.max,M=isFinite,R=e=>null==e,m=(e,l,t)=>R(e)?null==t?void 0:t():l(e),L=e=>e==t||e==n,H=l=>e(l)==a,J=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),D=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),x=(e,...l)=>e.push(...l),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!R(e)&&m(A(e),(e=>e==z.prototype||R(A(e))),(()=>!0)),N=z.keys,j=z.freeze,$=(e=[])=>z.fromEntries(e),q=(e,l)=>l in e,B=(e,l)=>(delete e[l],e),G=(e,l)=>F(P(e),(([e,t])=>l(t,e))),K=(e,l)=>O(P(e),(([e,t])=>l(t,e))),Q=(e,l)=>$(K(e,((e,t)=>[t,l(e,t)]))),U=e=>k(e)&&0==(e=>D(N(e)))(e),X=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),Y=(e,l,t,n=0)=>R(e)||!k(e)||!n&&U(e)||W(e)?(null==t||t(),!1):(K(e,((t,n)=>{l(t,n)||B(e,n)})),!!n||!U(e)),Z=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},_=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},ee=e=>R(e)||0==Z(e),le=e=>e.clear(),te=(e,l)=>null==e?void 0:e.forEach(l),ne=(e,l)=>null==e?void 0:e.delete(l),se=e=>new Map(e),ae=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},re=(e,l)=>null==e?void 0:e.get(l),oe=(e,l)=>te(e,((e,t)=>l(t,e))),ue=(e,l,t)=>R(t)?(ne(e,l),e):null==e?void 0:e.set(l,t),ie=(e,l,t,n)=>(_(e,l)?null==n||n(re(e,l)):ue(e,l,t()),re(e,l)),de=(e,l,t,n=ue)=>(K(l,((l,n)=>t(e,n,l))),oe(e,(t=>q(l,t)?0:n(e,t))),e),ce=(e,l,t,n)=>{const s={};return te(e,((e,a)=>{if(!(null==t?void 0:t(e,a))){const t=l?l(e,a):e;!(null==n?void 0:n(t))&&(s[a]=t)}})),s},ge=(e,l,t)=>ce(e,(e=>ce(e,l,t)),ee,U),ve=(e,l,t)=>ce(e,(e=>ge(e,l,t)),ee,U),he=(e,l)=>{const t=se();return te(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},be=e=>he(e,he),fe=e=>he(e,be),Ce=(e,l,t,n,s=0)=>m((t?ie:re)(e,l[s],s>D(l)-2?t:se),(a=>{if(s>D(l)-2)return(null==n?void 0:n(a))&&ue(e,l[s]),a;const r=Ce(a,l,t,n,s+1);return ee(a)&&ue(e,l[s]),r})),Te=new globalThis.TextEncoder,Ve=e=>{let l=2166136261;return F(Te.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},pe=([e,l,t])=>[e,l,t],we=([e,l])=>[e,l],Ie=e=>e[2],Se=(e,l)=>Ve(e+":"+l),ye=(e,l,t)=>{e[2]=l>>>0,t>e[0]&&(e[0]=t)},Me=e=>[e,$()],Re=(e="")=>[e,se(),0],me=([e,l,t],n=pe)=>[e,ce(l,n),t],Le=(l,n)=>{return J(l)&&3==D(l)&&(a=l[0],e(a)==t)&&n(l[1])&&e(l[2])==s&&M(l[2]);var a},He=e=>new Set(J(e)||R(e)?e:[e]),Je=(e,l)=>null==e?void 0:e.add(l),Ee=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{Ee.test(l)&&D(e)<1e3&&x(e,l)}]},Fe=e=>[e,e],Oe=()=>[se(),se()],xe=e=>[...e],ze=([e,l])=>e===l,Ae=l=>{const t=e(l);return L(t)||t==s&&M(l)?t:void 0},Pe=e=>null===e||!R(Ae(e)),We=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),ke=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),Ne=e=>JSON.stringify(e,((e,l)=>l instanceof Map?z.fromEntries([...l]):l)),je=JSON.parse,$e=(e,l,t)=>ue(e,l,re(e,l)==-t?void 0:t),qe=()=>{let e,t,n=!1,a=!1,i=0,I=[];const S=se(),y=se(),M=se(),J=se(),z=se(),A=se(),P=se(),W=se(),k=se(),N=se(),$=se(),G=se(),Q=se(),X=se(),Te=He(),Ve=se(),pe=se(),we=se(),Ie=se(),Se=Oe(),ye=Oe(),Me=Oe(),Re=Oe(),me=Oe(),Le=Oe(),Ee=Oe(),Pe=Oe(),Be=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),el=Oe(),ll=Oe(),tl=Oe(),nl=Oe(),sl=Oe(),al=se(),rl=Oe(),[ol,ul,il,dl]=(e=>{let t;const[n,s]=De(),a=se();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Jt);const i=n(1);return ue(a,i,[e,s,r,o,u]),Je(Ce(s,null!=r?r:[l],He),i),i},(e,n,...s)=>F(((e,t=[l])=>{const n=[],s=(e,l)=>l==D(t)?x(n,e):null===t[l]?te(e,(e=>s(e,l+1))):F([t[l],null],(t=>s(re(e,t),l+1)));return s(e,0),n})(e,n),(e=>te(e,(e=>re(a,e)[0](t,...null!=n?n:[],...s))))),e=>m(re(a,e),(([,t,n])=>(Ce(t,null!=n?n:[l],void 0,(l=>(ne(l,e),ee(l)?1:0))),ue(a,e),s(e),n))),e=>m(re(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=D(r);i==D(l)?e(t,...r,...s(r)):R(l[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),cl=e=>{if(!Y(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!L(l)&&l!=s||(Ae(e[o])!=l&&B(e,o),0))},gl=(l,t)=>(!e||_($,t)||jl(t))&&Y(l,((e,l)=>vl(t,l,e)),(()=>jl(t))),vl=(e,l,t,n)=>Y(n?t:Cl(t,e,l),((n,s)=>m(hl(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>jl(e,l))),hl=(l,t,n,s)=>e?m(re(re($,l),n),(e=>Ae(s)!=e[r]?jl(l,t,n,s,e[o]):s),(()=>jl(l,t,n,s))):R(Ae(s))?jl(l,t,n,s):s,bl=(e,l)=>Y(l?e:Tl(e),((l,t)=>m(fl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>$l())),fl=(e,l)=>t?m(re(Q,e),(t=>Ae(l)!=t[r]?$l(e,l,t[o]):l),(()=>$l(e,l))):R(Ae(l))?$l(e,l):l,Cl=(e,l,t)=>(m(re(G,l),(([n,s])=>{te(n,((l,t)=>{q(e,t)||(e[t]=l)})),te(s,(n=>{q(e,n)||jl(l,t,n)}))})),e),Tl=e=>(t&&(te(X,((l,t)=>{q(e,t)||(e[t]=l)})),te(Te,(l=>{q(e,l)||$l(l)}))),e),Vl=e=>de($,e,((e,l,t)=>{const n=se(),s=He();de(ie($,l,se),t,((e,l,t)=>{ue(e,l,t),m(t[o],(e=>ue(n,l,e)),(()=>Je(s,l)))})),ue(G,l,[n,s])}),((e,l)=>{ue($,l),ue(G,l)})),pl=e=>de(Q,e,((e,l,t)=>{ue(Q,l,t),m(t[o],(e=>ue(X,l,e)),(()=>Je(Te,l)))}),((e,l)=>{ue(Q,l),ue(X,l),ne(Te,l)})),wl=e=>U(e)?wt():ft(e),Il=e=>de(we,e,((e,l,t)=>Sl(l,t)),((e,l)=>Dl(l))),Sl=(e,l)=>de(ie(we,e,(()=>(zl(e,1),ue(Ve,e,De()),ue(pe,e,se()),se()))),l,((l,t,n)=>yl(e,l,t,n)),((l,t)=>Fl(e,l,t))),yl=(e,l,t,n,s)=>de(ie(l,t,(()=>(Al(e,t,1),se()))),n,((l,n,s)=>Ml(e,t,l,n,s)),((n,a)=>Ol(e,l,t,n,a,s))),Ml=(e,l,t,n,s)=>{_(t,n)||Pl(e,l,n,1);const a=re(t,n);s!==a&&(Wl(e,l,n,a,s),ue(t,n,s))},Rl=(e,l,t,n,s)=>m(re(l,t),(l=>Ml(e,t,l,n,s)),(()=>yl(e,l,t,Cl({[n]:s},e,t)))),ml=e=>U(e)?yt():Ct(e),Ll=e=>de(Ie,e,((e,l,t)=>Hl(l,t)),((e,l)=>xl(l))),Hl=(e,l)=>{_(Ie,e)||kl(e,1);const t=re(Ie,e);l!==t&&(Nl(e,t,l),ue(Ie,e,l))},Jl=(e,l)=>{const[t]=re(Ve,e),n=t(l);return _(re(we,e),n)?Jl(e,l):n},El=e=>{var l;return null!=(l=re(we,e))?l:Sl(e,{})},Dl=e=>Sl(e,{}),Fl=(e,l,t)=>{const[,n]=re(Ve,e);n(t),yl(e,l,t,{},!0)},Ol=(e,l,t,n,s,a)=>{var r;const o=re(null==(r=re(G,e))?void 0:r[0],s);if(!R(o)&&!a)return Ml(e,t,n,s,o);const u=l=>{Wl(e,t,l,re(n,l)),Pl(e,t,l,-1),ue(n,l)};R(o)?u(s):oe(n,u),ee(n)&&(Al(e,t,-1),ee(ue(l,t))&&(zl(e,-1),ue(we,e),ue(Ve,e),ue(pe,e)))},xl=e=>{const l=re(X,e);if(!R(l))return Hl(e,l);Nl(e,re(Ie,e)),kl(e,-1),ue(Ie,e)},zl=(e,l)=>$e(S,e,l),Al=(e,l,t)=>$e(ie(J,e,se),l,t)&&ue(M,e,ie(M,e,(()=>0))+t),Pl=(e,l,t,n)=>{var s;const a=re(pe,e),r=null!=(s=re(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&$e(ie(y,e,se),t,n),ue(a,t,r!=-n?r+n:null),$e(ie(ie(z,e,se),l,se),t,n)},Wl=(e,l,t,n,s)=>ie(ie(ie(A,e,se),l,se),t,(()=>[n,0]))[1]=s,kl=(e,l)=>$e(P,e,l),Nl=(e,l,t)=>ie(W,e,(()=>[l,0]))[1]=t,jl=(e,l,t,n,s)=>(x(ie(ie(ie(k,e,se),l,se),t,(()=>[])),n),s),$l=(e,l,t)=>(x(ie(N,e,(()=>[])),l),t),ql=(e,l,t)=>m(re(re(re(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...Fe(at(e,l,t))])),Bl=e=>m(re(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...Fe(ut(e))])),Gl=e=>ee(k)||ee(Ze[e])?0:te(e?fe(k):k,((l,t)=>te(l,((l,n)=>te(l,((l,s)=>ul(Ze[e],[t,n,s],l))))))),Kl=e=>ee(N)||ee(_e[e])?0:te(e?he(N):N,((l,t)=>ul(_e[e],[t],l))),Ql=(e,l,t,n)=>{if(!ee(e))return ul(l,n,(()=>ce(e))),oe(e,((e,l)=>ul(t,[...null!=n?n:[],e],1==l))),1},Ul=e=>{const l=it();l!=n&&ul(Se[e],void 0,l);const t=ee(Ge[e]),s=ee(Ue[e])&&ee(Xe[e])&&ee(Be[e])&&ee(Ke[e])&&ee(Le[e])&&ee(Ee[e])&&ee(Pe[e])&&t&&ee(Me[e])&&ee(Re[e]),a=ee(Ye[e])&&ee(Qe[e])&&ee(me[e])&&ee(ye[e]);if(!s||!a){const l=e?[he(S),be(y),he(M),be(J),fe(z),fe(A)]:[S,y,M,J,z,A];if(!s){Ql(l[0],Me[e],Re[e]),te(l[1],((l,t)=>Ql(l,Le[e],Ee[e],[t]))),te(l[2],((l,t)=>{0!=l&&ul(Pe[e],[t],lt(t))}));const n=He();te(l[3],((l,s)=>{Ql(l,Be[e],Ke[e],[s])&&!t&&(ul(Ge[e],[s,null]),Je(n,s))})),t||te(l[5],((l,t)=>{if(!_(n,t)){const n=He();te(l,(e=>te(e,(([l,t],s)=>t!==l?Je(n,s):ne(e,s))))),te(n,(l=>ul(Ge[e],[t,l])))}})),te(l[4],((l,t)=>te(l,((l,n)=>Ql(l,Ue[e],Xe[e],[t,n])))))}if(!a){let t;te(l[5],((l,n)=>{let s;te(l,((l,a)=>{let r;te(l,(([l,o],u)=>{o!==l&&(ul(Ye[e],[n,a,u],o,l,ql),t=s=r=1)})),r&&ul(Qe[e],[n,a],ql)})),s&&ul(me[e],[n],ql)})),t&&ul(ye[e],void 0,ql)}}},Xl=e=>{const l=ht();l!=a&&ul(el[e],void 0,l);const t=ee(tl[e])&&ee(nl[e]),n=ee(sl[e])&&ee(ll[e]);if(!t||!n){const l=e?[he(P),he(W)]:[P,W];if(t||Ql(l[0],tl[e],nl[e]),!n){let t;te(l[1],(([l,n],s)=>{n!==l&&(ul(sl[e],[s],n,l,Bl),t=1)})),t&&ul(ll[e],void 0,Bl)}}},Yl=(e,...l)=>(mt((()=>e(...O(l,w)))),Jt),Zl=()=>ve(we),_l=()=>ae(we),et=e=>ae(re(pe,w(e))),lt=e=>Z(re(we,w(e))),tt=e=>ae(re(we,w(e))),nt=(e,l,t,n=0,s)=>{return O(E((r=re(we,w(e)),o=(e,t)=>[R(l)?t:re(e,w(l)),t],a=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,R(s)?s:n+s),(([,e])=>e));var a,r,o,u},st=(e,l)=>ae(re(re(we,w(e)),w(l))),at=(e,l,t)=>re(re(re(we,w(e)),w(l)),w(t)),rt=()=>ce(Ie),ot=()=>ae(Ie),ut=e=>re(Ie,w(e)),it=()=>!ee(we),dt=e=>_(we,w(e)),ct=(e,l)=>_(re(pe,w(e)),w(l)),gt=(e,l)=>_(re(we,w(e)),w(l)),vt=(e,l,t)=>_(re(re(we,w(e)),w(l)),w(t)),ht=()=>!ee(Ie),bt=e=>_(Ie,w(e)),ft=e=>Yl((()=>(e=>Y(e,gl,jl))(e)?Il(e):0)),Ct=e=>Yl((()=>bl(e)?Ll(e):0)),Tt=e=>{try{wl(je(e))}catch(e){}return Jt},Vt=l=>Yl((()=>{if((e=Y(l,(e=>Y(e,cl))))&&(Vl(l),!ee(we))){const e=Zl();wt(),ft(e)}})),pt=e=>Yl((()=>{if(t=(e=>Y(e,cl))(e)){const l=rt();Rt(),yt(),t=!0,pl(e),Ct(l)}})),wt=()=>Yl((()=>Il({}))),It=e=>Yl((e=>_(we,e)?Dl(e):0),e),St=(e,l)=>Yl(((e,l)=>m(re(we,e),(t=>_(t,l)?Fl(e,t,l):0))),e,l),yt=()=>Yl((()=>Ll({}))),Mt=()=>Yl((()=>{Vl({}),e=!1})),Rt=()=>Yl((()=>{pl({}),t=!1})),mt=(e,l)=>{if(-1!=i){Lt();const t=e();return Ht(l),t}},Lt=()=>(-1!=i&&i++,1==i&&ul(al,void 0),Jt),Ht=e=>{var l,t;return i>0&&(i--,0==i&&(i=1,Gl(1),ee(A)||Ul(1),Kl(1),ee(W)||Xl(1),(null==e?void 0:e(Jt))&&(te(A,((e,l)=>te(e,((e,t)=>te(e,(([e],n)=>We(Jt,l,t,n,e))))))),le(A),te(W,(([e],l)=>ke(Jt,l,e))),le(W)),ul(rl[0],void 0),i=-1,Gl(0),ee(A)||Ul(0),Kl(0),ee(W)||Xl(0),null==(l=I[0])||l.call(I,Jt),ul(rl[1],void 0),null==(t=I[1])||t.call(I,Jt),i=0,n=it(),a=ht(),F([S,y,M,J,z,A,k,P,W,N],le))),Jt},Jt={getContent:()=>[Zl(),rt()],getTables:Zl,getTableIds:_l,getTable:e=>ge(re(we,w(e))),getTableCellIds:et,getRowCount:lt,getRowIds:tt,getSortedRowIds:nt,getRow:(e,l)=>ce(re(re(we,w(e)),w(l))),getCellIds:st,getCell:at,getValues:rt,getValueIds:ot,getValue:ut,hasTables:it,hasTable:dt,hasTableCell:ct,hasRow:gt,hasCell:vt,hasValues:ht,hasValue:bt,getTablesJson:()=>Ne(we),getValuesJson:()=>Ne(Ie),getJson:()=>Ne([we,Ie]),getTablesSchemaJson:()=>Ne($),getValuesSchemaJson:()=>Ne(Q),getSchemaJson:()=>Ne([$,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,l])=>Yl((()=>{(U(e)?wt:ft)(e),(U(l)?yt:Ct)(l)})),setTables:ft,setTable:(e,l)=>Yl((e=>gl(l,e)?Sl(e,l):0),e),setRow:(e,l,t)=>Yl(((e,l)=>vl(e,l,t)?yl(e,El(e),l,t):0),e,l),addRow:(e,l,t=!0)=>mt((()=>{let n;return vl(e,n,l)&&(e=w(e),yl(e,El(e),n=Jl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Yl(((e,l)=>{if(vl(e,l,t,1)){const n=El(e);K(t,((t,s)=>Rl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Yl(((e,l,t)=>m(hl(e,l,t,H(n)?n(at(e,l,t)):n),(n=>Rl(e,El(e),l,t,n)))),e,l,t),setValues:Ct,setPartialValues:e=>Yl((()=>bl(e,1)?K(e,((e,l)=>Hl(l,e))):0)),setValue:(e,l)=>Yl((e=>m(fl(e,H(l)?l(ut(e)):l),(l=>Hl(e,l)))),e),applyChanges:e=>Yl((()=>{K(e[0],((e,l)=>R(e)?It(l):K(e,((e,t)=>R(e)?St(l,t):K(e,((e,n)=>We(Jt,l,t,n,e))))))),K(e[1],((e,l)=>ke(Jt,l,e)))})),setTablesJson:Tt,setValuesJson:e=>{try{ml(je(e))}catch(e){}return Jt},setJson:e=>Yl((()=>{try{const[l,t]=je(e);wl(l),ml(t)}catch(l){Tt(e)}})),setTablesSchema:Vt,setValuesSchema:pt,setSchema:(e,l)=>Yl((()=>{Vt(e),pt(l)})),delTables:wt,delTable:It,delRow:St,delCell:(e,l,t,n)=>Yl(((e,l,t)=>m(re(we,e),(s=>m(re(s,l),(a=>_(a,t)?Ol(e,s,l,a,t,n):0))))),e,l,t),delValues:yt,delValue:e=>Yl((e=>_(Ie,e)?xl(e):0),e),delTablesSchema:Mt,delValuesSchema:Rt,delSchema:()=>Yl((()=>{Mt(),Rt()})),transaction:mt,startTransaction:Lt,getTransactionChanges:()=>[ce(A,((e,l)=>-1===re(S,l)?void 0:ce(e,((e,t)=>-1===re(re(J,l),t)?void 0:ce(e,(([,e])=>e),(e=>ze(e)))),ee,U)),ee,U),ce(W,(([,e])=>e),(e=>ze(e))),1],getTransactionLog:()=>[!ee(A),!ee(W),ve(A,xe,ze),ve(k),ce(W,xe,ze),ce(N),ce(S),ge(J),ve(z),ce(P)],finishTransaction:Ht,forEachTable:e=>te(we,((l,t)=>e(t,(e=>te(l,((l,t)=>e(t,(e=>oe(l,e))))))))),forEachTableCell:(e,l)=>oe(re(pe,w(e)),l),forEachRow:(e,l)=>te(re(we,w(e)),((e,t)=>l(t,(l=>oe(e,l))))),forEachCell:(e,l,t)=>oe(re(re(we,w(e)),w(l)),t),forEachValue:e=>oe(Ie,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=nt(e,l,t,n,s);return ol((()=>{const r=nt(e,l,t,n,s);var u,i,d;i=o,D(u=r)===D(i)&&(d=(e,l)=>i[l]===e,u.every(d))||(o=r,a(Jt,e,l,t,n,s,o))}),Ge[r?1:0],[e,l],[_l])},addStartTransactionListener:e=>ol(e,al),addWillFinishTransactionListener:e=>ol(e,rl[0]),addDidFinishTransactionListener:e=>ol(e,rl[1]),callListener:e=>(dl(e),Jt),delListener:e=>(il(e),Jt),getListenerStats:()=>({}),createStore:qe,addListener:ol,callListeners:ul,setInternalListeners:(e,l)=>I=[e,l]};return K({[u+c]:[0,Se,[],()=>[it()]],[c]:[0,ye],[g]:[0,Me],[u+d]:[1,Re,[_l],e=>[dt(...e)]],[d]:[1,me,[_l]],[d+C]:[1,Le,[_l]],[u+d+f]:[2,Ee,[_l,et],e=>[ct(...e)]],[h]:[1,Pe,[_l]],[b]:[1,Be,[_l]],[u+v]:[2,Ke,[_l,tt],e=>[gt(...e)]],[v]:[2,Qe,[_l,tt]],[C]:[2,Ue,[_l,tt]],[u+f]:[3,Xe,[_l,tt,st],e=>[vt(...e)]],[f]:[3,Ye,[_l,tt,st],e=>Fe(at(...e))],InvalidCell:[3,Ze],[u+V]:[0,el,[],()=>[ht()]],[V]:[0,ll],[p]:[0,tl],[u+T]:[1,nl,[ot],e=>[bt(...e)]],[T]:[1,sl,[ot],e=>Fe(ut(e[0]))],InvalidValue:[1,_e]},(([e,l,t,n],s)=>{Jt["add"+s+"Listener"]=(...s)=>ol(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),j(Jt)};var Be=Math.pow;const Ge=Be(2,36),Ke=Be(2,30),Qe=Be(2,24),Ue=Be(2,18),Xe=Be(2,12),Ye=Be(2,6),Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,l)=>((e,l)=>e.charCodeAt(l))(e,l)-48,el={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},ll=(e="")=>[e,[Re(e),Re(e)],0],tl=e=>{let t,n,s=1,a=ll();const[r,o]=(e=>{let l=0,t=-1;const n=Ve(e),s=e=>{const n=l,[s,a]=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;l=y(n,s,Date.now()),t=l==n?l==s?y(t,a):t:l==s?a:-1};return[()=>{return s(),a=++t,r=n,Ze((e=l)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(a/Ue)+Ze(a/Xe)+Ze(a/Ye)+Ze(a)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,a,r},s]})(e),u=qe(),i=e=>{const l=s;return s=0,e(),s=l,b},d=(e,l=0)=>{const t={},n={},[s,[[r,o,u],i],d]=e,[,[g,v]]=a,[h,b,f]=g;if(r){let e=l?u:f^(r>h?(h?Ve(h):0)^Ve(r):0);G(o,(([n,s,a],r)=>{const o=ie(b,r,Re),[u,i,d]=o;let g=l?a:d^(n>u?(u?Ve(u):0)^Ve(n):0);G(s,((e,n)=>{const[s,a]=c(e,ie(i,n,Re),X(X(t,r,$),n,$),l);g^=l?0:(s?Se(n,s):0)^Se(n,a)})),ye(o,g,n),e^=l?0:(d?Se(r,d):0)^Se(r,o[2])})),ye(g,e,r)}return c(i,v,n,l),ye(a,l?d:g[2]^v[2],s),[t,n,1]},c=(e,t,n,s)=>{const[a,r,o]=e,[u,i,d]=t;if(a){let e=s?o:d^(a>u?(u?Ve(u):0)^Ve(a):0);G(r,(([t,a,r],o)=>{const u=ie(i,o,(()=>[l,void 0,0])),[d,,c]=u;t>d&&(ye(u,s?r:Ve(Ne(null!=a?a:null)+":"+t),t),u[1]=a,n[o]=a,e^=s?0:Se(o,c)^Se(o,u[2]))})),ye(t,e,a)}return[d,t[2]]},g=()=>[a[0],[me(a[1][0],(e=>me(e,(e=>me(e))))),me(a[1][1])],a[2]],v=()=>{if(R(n)){const[,,e,,n]=u.getTransactionLog(),s=U(e)&&U(n)?l:null!=t?t:t=r(),a=[s,[Me(U(e)?l:s),Me(U(n)?l:s),1]],[[,o],[,i]]=a[1];return K(e,((e,l)=>{const[,t]=o[l]=Me(s);K(e,((e,l)=>{const[,n]=t[l]=Me(s);K(e,(([,e],l)=>n[l]=[s,e]))}))})),K(n,(([,e],l)=>i[l]=[s,e])),a}return n},h=e=>i((()=>{o(e[0]),u.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[a[0],[a[1][0][2],a[1][1][2]]],getMergeableTableHashes:()=>ce(a[1][0][1],Ie),getMergeableTableIdsDiff:e=>{const l=[];return oe(a[1][0][1],((t,[,,n])=>{n!==(null==e?void 0:e[t])&&x(l,t)})),l},getMergeableRowHashes:e=>$(O(e,(e=>{var l;return[e,ce(null==(l=re(a[1][0][1],e))?void 0:l[1],Ie)]}))),getMergeableRowIdsDiff:e=>Q(e,((e,l)=>{var t;const n=[];return oe(null==(t=re(a[1][0][1],l))?void 0:t[1],((l,[,,t])=>{t!==(null==e?void 0:e[l])&&x(n,l)})),n})),getMergeableCellHashes:e=>Q(e,((e,l)=>$(O(e,(e=>{var t,n;return[e,ce(null==(n=re(null==(t=re(a[1][0][1],l))?void 0:t[1],e))?void 0:n[1],Ie)]}))))),getMergeableTablesChanges:e=>{const[,[[l,t]]]=a,n={};return G(e,((e,l)=>m(re(t,l),(([t,s])=>{const a={};G(e,((e,l)=>m(re(s,l),(([t,n])=>{const s=ce(n,we,(([,,l],t)=>l==(null==e?void 0:e[t])));U(s)||(a[l]=[t,s])})))),U(a)||(n[l]=[t,a])})))),[l,n]},getMergeableValuesHashes:()=>ce(a[1][1][1],Ie),getMergeableValuesChanges:e=>[a[1][1][0],ce(a[1][1][1],we,(([,,l],t)=>l==(null==e?void 0:e[t])))],setMergeableContent:e=>i((()=>(e=>Le(e,(e=>J(e)&&2==D(e)&&Le(e[0],(e=>Y(e,(e=>Le(e,(e=>Y(e,(e=>Le(e,(e=>Y(e,(e=>Le(e,Pe)),void 0,1)))),void 0,1)))),void 0,1)))&&Le(e[1],(e=>Y(e,(e=>Le(e,Pe)),void 0,1))))))(e)?u.transaction((()=>{u.delTables().delValues(),a=ll(),o(e[0]),u.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:v,applyMergeableChanges:h,merge:e=>{const l=g(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return u.setInternalListeners((()=>{s&&(n=v(),d(n))}),(()=>t=n=void 0)),K(u,((e,l)=>b[l]=I(l,"set")||I(l,"del")||I(l,"apply")||S(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):I(l,"add")&&S(l,"Listener")?(...t)=>{var n;const s=null!=(n=el[E(l,3,-8)])?n:0,a=t[s];return t[s]=(e,...l)=>a(b,...l),e(...t)}:e)),j(b)};export{tl as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=e=>e.length,v=()=>{},c=(e,n)=>e.forEach(n),h=e=>M(e,((e,n)=>e+n),0),M=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),g=Object.freeze,L=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>o(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),I=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>o(t)?(I(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),E(e,n)),k=(e,n,t,l,r=0)=>s((t?T:E)(e,n[r],r>a(n)-2?t:x),(i=>{if(r>a(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=x([["avg",[(e,n)=>h(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>h(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=((r,i)=>{const h=new WeakMap;return r=>{h.has(r)||h.set(r,(r=>{const i=x(),[h,M,j]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&a(e)<1e3&&f(e,n)}]})(),i=x();return[(e,r,u,o=[],s=(()=>[]))=>{null!=t||(t=P);const d=l(1);return S(i,d,[e,r,u,o,s]),D(k(r,null!=u?u:[n],A),d),d},(e,l,...r)=>c(((e,t=[n])=>{const l=[],r=(e,n)=>n==a(t)?f(l,e):null===t[n]?b(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(E(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>E(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(E(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(I(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(E(i,e),(([e,,n=[],l,r])=>{const i=(...u)=>{var s,d;const v=a(u);v==a(n)?e(t,...u,...r(u)):o(n[v])?c(null!=(d=null==(s=l[v])?void 0:s.call(l,...u))?d:[],(e=>i(...u,e))):i(...u,n[v])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,t,l,r,i)=>{const u=e.hasRow,v=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(n,t,...l)=>{const r=T(L,n,A);return c(l,(n=>D(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>s(E(L,n),(l=>{c(0==a(t)?y(l):t,(n=>{e.delListener(n),I(l,n)})),w(l)&&S(L,n)})),N=(e,n)=>{S(v,e,n),m(h,e)||(S(h,e,t()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(v,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return[...null!=(n=null==(e=v)?void 0:e.keys())?n:[]];var e,n},e=>R(h,e),e=>m(h,e),e=>E(v,e),e=>E(h,e),(e,n)=>S(h,e,n),N,(t,l,r,i,s)=>{N(t,l);const v=x(),h=x(),M=E(f,t),L=E(g,t),w=t=>{const r=n=>e.getCell(l,t,n),c=E(M,t),f=u(l,t)?(g=i(r,t),isNaN(g)||o(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,m,w,y;if(c===f||d(c)&&d(f)&&(w=f,a(m=c)===a(w)&&(y=(e,n)=>w[n]===e,m.every(y)))||S(v,t,[c,f]),!o(s)){const e=E(L,t),n=u(l,t)?s(r,t):void 0;e!=n&&S(h,t,n)}},y=e=>{r((()=>{b(v,(([,e],n)=>S(M,n,e))),b(h,((e,n)=>S(L,n,e)))}),v,h,M,L,e),p(v),p(h)};R(M,w),e.hasTable(l)&&c(e.getRowIds(l),(e=>{m(M,e)||w(e)})),y(!0),z(t),k(t,0,e.addRowListener(l,null,((e,n,t)=>w(t))),e.addTableListener(l,(()=>y())))},j,e=>r(e,M),()=>R(L,j),k,z]})(r,v,0,h,M),P={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=E(z,s))?h:E(z,"sum");return G(n,r,((e,t,l,r,s,d)=>{const a=q(n),v=L(r);d||(d=o(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[u,s,d,a]=r;return i||(i=o(e)),b(l,(([t,l])=>{i||(e=o(t)?null==s?void 0:s(e,l,n++):o(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=o(e)))})),i?u(y(t),L(t)):e})(a,v,r,t,f,d);u(c)||(c=void 0),c!=a&&(B(n,c),M(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),P;var g},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,n)=>h(n,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(r));return h.get(r)}})();export{j as createMetrics};
1
+ const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=e=>e.length,v=()=>{},c=(e,n)=>e.forEach(n),h=e=>M(e,((e,n)=>e+n),0),M=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),g=Object.freeze,L=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>o(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),I=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>o(t)?(I(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t,l)=>(m(e,n)?null==l||l(E(e,n)):S(e,n,t()),E(e,n)),k=(e,n,t,l,r=0)=>s((t?T:E)(e,n[r],r>a(n)-2?t:x),(i=>{if(r>a(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=x([["avg",[(e,n)=>h(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>h(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=((r,i)=>{const h=new WeakMap;return r=>{h.has(r)||h.set(r,(r=>{const i=x(),[h,M,j]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&a(e)<1e3&&f(e,n)}]})(),i=x();return[(e,r,u,o=[],s=(()=>[]))=>{null!=t||(t=P);const d=l(1);return S(i,d,[e,r,u,o,s]),D(k(r,null!=u?u:[n],A),d),d},(e,l,...r)=>c(((e,t=[n])=>{const l=[],r=(e,n)=>n==a(t)?f(l,e):null===t[n]?b(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(E(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>E(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(E(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(I(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(E(i,e),(([e,,n=[],l,r])=>{const i=(...u)=>{var s,d;const v=a(u);v==a(n)?e(t,...u,...r(u)):o(n[v])?c(null!=(d=null==(s=l[v])?void 0:s.call(l,...u))?d:[],(e=>i(...u,e))):i(...u,n[v])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,t,l,r,i)=>{const u=e.hasRow,v=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(n,t,...l)=>{const r=T(L,n,A);return c(l,(n=>D(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>s(E(L,n),(l=>{c(0==a(t)?y(l):t,(n=>{e.delListener(n),I(l,n)})),w(l)&&S(L,n)})),N=(e,n)=>{S(v,e,n),m(h,e)||(S(h,e,t()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(v,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return[...null!=(n=null==(e=v)?void 0:e.keys())?n:[]];var e,n},e=>R(h,e),e=>m(h,e),e=>E(v,e),e=>E(h,e),(e,n)=>S(h,e,n),N,(t,l,r,i,s)=>{N(t,l);const v=x(),h=x(),M=E(f,t),L=E(g,t),w=t=>{const r=n=>e.getCell(l,t,n),c=E(M,t),f=u(l,t)?(g=i(r,t),isNaN(g)||o(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,m,w,y;if(c===f||d(c)&&d(f)&&(w=f,a(m=c)===a(w)&&(y=(e,n)=>w[n]===e,m.every(y)))||S(v,t,[c,f]),!o(s)){const e=E(L,t),n=u(l,t)?s(r,t):void 0;e!=n&&S(h,t,n)}},y=e=>{r((()=>{b(v,(([,e],n)=>S(M,n,e))),b(h,((e,n)=>S(L,n,e)))}),v,h,M,L,e),p(v),p(h)};R(M,w),e.hasTable(l)&&c(e.getRowIds(l),(e=>{m(M,e)||w(e)})),y(!0),z(t),k(t,0,e.addRowListener(l,null,((e,n,t)=>w(t))),e.addTableListener(l,(()=>y())))},j,e=>r(e,M),()=>R(L,j),k,z]})(r,v,0,h,M),P={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=E(z,s))?h:E(z,"sum");return G(n,r,((e,t,l,r,s,d)=>{const a=q(n),v=L(r);d||(d=o(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[u,s,d,a]=r;return i||(i=o(e)),b(l,(([t,l])=>{i||(e=o(t)?null==s?void 0:s(e,l,n++):o(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=o(e)))})),i?u(y(t),L(t)):e})(a,v,r,t,f,d);u(c)||(c=void 0),c!=a&&(B(n,c),M(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),P;var g},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,n)=>h(n,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(r));return h.get(r)}})();export{j as createMetrics};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.entries,u=l.keys,a=l.freeze,d=(e,t)=>o(e,(e=>e[t])),s=(e,t)=>t in e,c=(e,t)=>(delete e[t],e),v=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,n])=>t(n,e))),y=e=>u(e).length,h=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==y(e),g=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),p=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},C=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||p(e,t,n()),f(e,t)};var b=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const A=g(),L=g(),M=n=>{return o=null==n?void 0:n[0],e(o)==t;var o};var m=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const S=(e,t)=>[e[t].t,e[t].v],w=(e,t,o,l)=>{const r=n(t)?e:((e,t,n)=>(s(e,t)||(e[t]={}),e[t]))(e,t);let i;return v(o,((e,t)=>{l(r,t,e)&&(i=1)})),v(r,((e,t)=>{s(o,t)||(c(r,t),i=1)})),!n(t)&&h(r)&&c(e,t),i},x=(e,t,l="tinybase",r)=>(t.change((e=>e[l]={})),((e,t,l,r,i,u,d,[s,c]=[],v=[])=>{let y,g,m,S=0,w=0;C(A,v,(()=>0)),C(L,v,(()=>[]));const[x,P,T,D]=((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)])(d,e),O=e=>b(void 0,null,(function*(){return 2!=S&&(S=1,yield j.schedule((()=>b(void 0,null,(function*(){yield e(),S=0}))))),j})),j={load:(n,o)=>b(void 0,null,(function*(){return yield O((()=>b(void 0,null,(function*(){try{const n=yield t();(x&&M(n)?e.setMergeableContent:e.setContent)(n)}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>b(void 0,[...n],(function*(n={},o={}){return j.stopAutoLoad(),yield j.load(n,o),w=1,m=r(((n,o)=>b(void 0,null,(function*(){if(o){const t=o();yield O((()=>b(void 0,null,(function*(){return(x&&M(t)?e.applyMergeableChanges:e.applyChanges)(t)}))))}else yield O((()=>b(void 0,null,(function*(){var o;try{const l=null!=(o=null==n?void 0:n())?o:yield t();(x&&M(l)?e.setMergeableContent:e.setContent)(l)}catch(e){null==u||u(e)}}))))})))),j})),stopAutoLoad:()=>(w&&(i(m),m=void 0,w=0),j),save:e=>b(void 0,null,(function*(){return 1!=S&&(S=2,yield j.schedule((()=>b(void 0,null,(function*(){try{yield l(P,e)}catch(e){null==u||u(e)}S=0}))))),j})),startAutoSave:()=>b(void 0,null,(function*(){return yield j.stopAutoSave().save(),y=e.addDidFinishTransactionListener((()=>{const e=T();D(e)&&j.save((()=>e))})),j})),stopAutoSave:()=>(o(y,e.delListener),y=void 0,j),schedule:(...e)=>b(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(L,v),...e),yield b(void 0,null,(function*(){if(!f(A,v)){for(p(A,v,1);!n((e=f(L,v),g=e.shift()));)try{yield g()}catch(e){null==u||u(e)}p(A,v,0)}var e})),j})),getStore:()=>e,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s&&(j[s]=()=>c),a(j)})(e,(()=>m(void 0,null,(function*(){const e=yield t.doc();return 2==y(e[l])?S(e,l):void 0}))),((e,r)=>m(void 0,null,(function*(){return t.change((t=>((e,t,l,r)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[i,u]=S(e,t),a=()=>{s=1};let s=1;if(o(null==r?void 0:r(),(([e,t])=>{s=0,v(e,((e,t)=>s?0:n(e)?c(i,t):o(i[t],(t=>v(e,((e,l)=>s?0:n(e)?c(t,l):o(d(t,l),(t=>v(e,((e,o)=>n(e)?c(t,o):t[o]=e))),a)))),a))),v(t,((e,t)=>s?0:n(e)?c(u,t):u[t]=e))})),s){const[e,t]=l();w(i,void 0,e,((e,t,n)=>w(i,t,n,((e,t,n)=>w(e,t,n,((e,t,n)=>{if(d(e,t)!==n)return e[t]=n,1})))))),w(u,void 0,t,((e,t,n)=>{d(u,t)!==n&&(u[t]=n)}))}})(t,l,e,r)))}))),(e=>{const n=({doc:t})=>e((()=>S(t,l)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),r,!1,["getDocHandle",t]));export{x as createAutomergePersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.entries,u=l.keys,a=l.freeze,d=(e,t)=>o(e,(e=>e[t])),c=(e,t)=>t in e,s=(e,t)=>(delete e[t],e),v=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,n])=>t(n,e))),y=e=>u(e).length,p=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==y(e),h=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),g=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},b=(e,t,n,o)=>{var l,r,i;return r=t,null!=(i=null==(l=e)?void 0:l.has(r))&&i?null==o||o(f(e,t)):g(e,t,n()),f(e,t)};var A=Object.defineProperty,C=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,L=(e,t,n)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const P=h(),S=h();var M=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const j=(e,t)=>[e[t].t,e[t].v],x=(e,t,o,l)=>{const r=n(t)?e:((e,t,n)=>(c(e,t)||(e[t]={}),e[t]))(e,t);let i;return v(o,((e,t)=>{l(r,t,e)&&(i=1)})),v(r,((e,t)=>{c(o,t)||(s(r,t),i=1)})),!n(t)&&p(r)&&s(e,t),i},T=(l,r,i="tinybase",u)=>(r.change((e=>e[i]={})),((l,r,i,u,d,c,s,v={},y=[])=>{let h,A,M,j=0;b(P,y,(()=>0)),b(S,y,(()=>[]));const[x,T,D,k]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!p(e)||!p(t)])(s,l),z=e=>O(void 0,null,(function*(){return 2!=j&&(j=1,yield F.schedule((()=>O(void 0,null,(function*(){yield e(),j=0}))))),F})),E=n=>{var o;(x&&(o=null==n?void 0:n[0],e(o)==t)?1===(null==n?void 0:n[1][2])?l.applyMergeableChanges:l.setMergeableContent:1===(null==n?void 0:n[2])?l.applyChanges:l.setContent)(n)},F=((e,t)=>{for(var n in t||(t={}))m.call(t,n)&&L(e,n,t[n]);if(C)for(var n of C(t))w.call(t,n)&&L(e,n,t[n]);return e})({load:(e,t)=>O(void 0,null,(function*(){return yield z((()=>O(void 0,null,(function*(){try{E(yield r())}catch(n){null==c||c(n),l.setContent([e,t])}}))))})),startAutoLoad:(...e)=>O(void 0,[...e],(function*(e={},t={}){return yield F.stopAutoLoad().load(e,t),A=u(((e,t)=>O(void 0,null,(function*(){const n=null==t?void 0:t();yield z((()=>O(void 0,null,(function*(){var t;try{E(null!=(t=null!=n?n:null==e?void 0:e())?t:yield r())}catch(e){null==c||c(e)}}))))})))),F})),stopAutoLoad:()=>(A&&(d(A),A=void 0),F),isAutoLoading:()=>!n(A),save:e=>O(void 0,null,(function*(){return 1!=j&&(j=2,yield F.schedule((()=>O(void 0,null,(function*(){try{yield i(T,e)}catch(e){null==c||c(e)}j=0}))))),F})),startAutoSave:()=>O(void 0,null,(function*(){return yield F.stopAutoSave().save(),M=l.addDidFinishTransactionListener((()=>{const e=D();k(e)&&F.save((()=>e))})),F})),stopAutoSave:()=>(o(M,l.delListener),M=void 0,F),isAutoSaving:()=>!n(M),schedule:(...e)=>O(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(S,y),...e),yield O(void 0,null,(function*(){if(!f(P,y)){for(g(P,y,1);!n((e=f(S,y),h=e.shift()));)try{yield h()}catch(e){null==c||c(e)}g(P,y,0)}var e})),F})),getStore:()=>l,destroy:()=>F.stopAutoLoad().stopAutoSave(),getStats:()=>({})},v);return a(F)})(l,(()=>M(void 0,null,(function*(){const e=yield r.doc();return 2==y(e[i])?j(e,i):void 0}))),((e,t)=>M(void 0,null,(function*(){return r.change((l=>((e,t,l,r)=>{((e,t)=>{p(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[i,u]=j(e,t),a=()=>{c=1};let c=1;if(o(null==r?void 0:r(),(([e,t])=>{c=0,v(e,((e,t)=>c?0:n(e)?s(i,t):o(i[t],(t=>v(e,((e,l)=>c?0:n(e)?s(t,l):o(d(t,l),(t=>v(e,((e,o)=>n(e)?s(t,o):t[o]=e))),a)))),a))),v(t,((e,t)=>c?0:n(e)?s(u,t):u[t]=e))})),c){const[e,t]=l();x(i,void 0,e,((e,t,n)=>x(i,t,n,((e,t,n)=>x(e,t,n,((e,t,n)=>{if(d(e,t)!==n)return e[t]=n,1})))))),x(u,void 0,t,((e,t,n)=>{d(u,t)!==n&&(u[t]=n)}))}})(l,i,e,t)))}))),(e=>{const t=({doc:t})=>e((()=>j(t,i)));return r.on("change",t),t}),(e=>{r.removeListener("change",e)}),u,!1,{getDocHandle:()=>r}));export{T as createAutomergePersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),a=l.keys,i=l.freeze,u=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),s=JSON.parse,d=e=>new Map(e),c=(e,t)=>null==e?void 0:e.get(t),v=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||v(e,t,n()),c(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const f=d(),h=d(),p=n=>{return o=null==n?void 0:n[0],e(o)==t;var o};var C=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const S="storage",m=globalThis.window,A=(e,t,r,a)=>((e,t,l,r,a,s,d,[C,S]=[],m=[])=>{let A,b,w,L=0,M=0;y(f,m,(()=>0)),y(h,m,(()=>[]));const[x,P,O,T]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!u(e)||!u(t)])(d,e),E=e=>g(void 0,null,(function*(){return 2!=L&&(L=1,yield N.schedule((()=>g(void 0,null,(function*(){yield e(),L=0}))))),N})),N={load:(n,o)=>g(void 0,null,(function*(){return yield E((()=>g(void 0,null,(function*(){try{const n=yield t();(x&&p(n)?e.setMergeableContent:e.setContent)(n)}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},o={}){return N.stopAutoLoad(),yield N.load(n,o),M=1,w=r(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield E((()=>g(void 0,null,(function*(){return(x&&p(t)?e.applyMergeableChanges:e.applyChanges)(t)}))))}else yield E((()=>g(void 0,null,(function*(){var o;try{const l=null!=(o=null==n?void 0:n())?o:yield t();(x&&p(l)?e.setMergeableContent:e.setContent)(l)}catch(e){null==s||s(e)}}))))})))),N})),stopAutoLoad:()=>(M&&(a(w),w=void 0,M=0),N),save:e=>g(void 0,null,(function*(){return 1!=L&&(L=2,yield N.schedule((()=>g(void 0,null,(function*(){try{yield l(P,e)}catch(e){null==s||s(e)}L=0}))))),N})),startAutoSave:()=>g(void 0,null,(function*(){return yield N.stopAutoSave().save(),A=e.addDidFinishTransactionListener((()=>{const e=O();T(e)&&N.save((()=>e))})),N})),stopAutoSave:()=>(o(A,e.delListener),A=void 0,N),schedule:(...e)=>g(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(c(h,m),...e),yield g(void 0,null,(function*(){if(!c(f,m)){for(v(f,m,1);!n((e=c(h,m),b=e.shift()));)try{yield b()}catch(e){null==s||s(e)}v(f,m,0)}var e})),N})),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return C&&(N[C]=()=>S),i(N)})(e,(()=>C(void 0,null,(function*(){return s(r.getItem(t))}))),(e=>C(void 0,null,(function*(){return r.setItem(t,(n=e(),JSON.stringify(n,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var n}))),(e=>{const n=n=>{n.storageArea===r&&n.key===t&&e((()=>s(n.newValue)))};return m.addEventListener(S,n),n}),(e=>m.removeEventListener(S,e)),a,!0,["getStorageName",t]),b=(e,t,n)=>A(e,t,localStorage,n),w=(e,t,n)=>A(e,t,sessionStorage,n);export{b as createLocalPersister,w as createSessionPersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),a=l.keys,i=l.freeze,u=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),s=JSON.parse,d=e=>new Map(e),v=(e,t)=>null==e?void 0:e.get(t),c=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(v(e,t)):c(e,t,n()),v(e,t)};var g=Object.defineProperty,p=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,b=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const m=d(),w=d();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const C="storage",O=globalThis.window,L=(r,a,d,g)=>((l,r,a,s,d,g,A,C={},O=[])=>{let L,P,M,j=0;y(m,O,(()=>0)),y(w,O,(()=>[]));const[x,E,T,I]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!u(e)||!u(t)])(A,l),N=e=>S(void 0,null,(function*(){return 2!=j&&(j=1,yield J.schedule((()=>S(void 0,null,(function*(){yield e(),j=0}))))),J})),k=n=>{var o;(x&&(o=null==n?void 0:n[0],e(o)==t)?1===(null==n?void 0:n[1][2])?l.applyMergeableChanges:l.setMergeableContent:1===(null==n?void 0:n[2])?l.applyChanges:l.setContent)(n)},J=((e,t)=>{for(var n in t||(t={}))f.call(t,n)&&b(e,n,t[n]);if(p)for(var n of p(t))h.call(t,n)&&b(e,n,t[n]);return e})({load:(e,t)=>S(void 0,null,(function*(){return yield N((()=>S(void 0,null,(function*(){try{k(yield r())}catch(n){null==g||g(n),l.setContent([e,t])}}))))})),startAutoLoad:(...e)=>S(void 0,[...e],(function*(e={},t={}){return yield J.stopAutoLoad().load(e,t),P=s(((e,t)=>S(void 0,null,(function*(){const n=null==t?void 0:t();yield N((()=>S(void 0,null,(function*(){var t;try{k(null!=(t=null!=n?n:null==e?void 0:e())?t:yield r())}catch(e){null==g||g(e)}}))))})))),J})),stopAutoLoad:()=>(P&&(d(P),P=void 0),J),isAutoLoading:()=>!n(P),save:e=>S(void 0,null,(function*(){return 1!=j&&(j=2,yield J.schedule((()=>S(void 0,null,(function*(){try{yield a(E,e)}catch(e){null==g||g(e)}j=0}))))),J})),startAutoSave:()=>S(void 0,null,(function*(){return yield J.stopAutoSave().save(),M=l.addDidFinishTransactionListener((()=>{const e=T();I(e)&&J.save((()=>e))})),J})),stopAutoSave:()=>(o(M,l.delListener),M=void 0,J),isAutoSaving:()=>!n(M),schedule:(...e)=>S(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(v(w,O),...e),yield S(void 0,null,(function*(){if(!v(m,O)){for(c(m,O,1);!n((e=v(w,O),L=e.shift()));)try{yield L()}catch(e){null==g||g(e)}c(m,O,0)}var e})),J})),getStore:()=>l,destroy:()=>J.stopAutoLoad().stopAutoSave(),getStats:()=>({})},C);return i(J)})(r,(()=>A(void 0,null,(function*(){return s(d.getItem(a))}))),(e=>A(void 0,null,(function*(){return d.setItem(a,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var t}))),(e=>{const t=t=>{t.storageArea===d&&t.key===a&&e((()=>s(t.newValue)))};return O.addEventListener(C,t),t}),(e=>O.removeEventListener(C,e)),g,!0,{getStorageName:()=>a}),P=(e,t,n)=>L(e,t,localStorage,n),M=(e,t,n)=>L(e,t,sessionStorage,n);export{P as createLocalPersister,M as createSessionPersister};