tinybase 6.0.0-beta.2 → 6.0.0

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 (375) hide show
  1. package/@types/_internal/queries/with-schemas/index.d.cts +6 -6
  2. package/@types/_internal/queries/with-schemas/index.d.ts +6 -6
  3. package/@types/_internal/store/with-schemas/index.d.cts +1 -1
  4. package/@types/_internal/store/with-schemas/index.d.ts +1 -1
  5. package/@types/_internal/ui-react/with-schemas/index.d.cts +13 -13
  6. package/@types/_internal/ui-react/with-schemas/index.d.ts +13 -13
  7. package/@types/checkpoints/index.d.cts +0 -1
  8. package/@types/checkpoints/index.d.ts +0 -1
  9. package/@types/checkpoints/with-schemas/index.d.cts +0 -1
  10. package/@types/checkpoints/with-schemas/index.d.ts +0 -1
  11. package/@types/indexes/index.d.cts +1 -2
  12. package/@types/indexes/index.d.ts +1 -2
  13. package/@types/indexes/with-schemas/index.d.cts +6 -7
  14. package/@types/indexes/with-schemas/index.d.ts +6 -7
  15. package/@types/mergeable-store/index.d.cts +1 -2
  16. package/@types/mergeable-store/index.d.ts +1 -2
  17. package/@types/mergeable-store/with-schemas/index.d.cts +1 -2
  18. package/@types/mergeable-store/with-schemas/index.d.ts +1 -2
  19. package/@types/metrics/index.d.cts +1 -2
  20. package/@types/metrics/index.d.ts +1 -2
  21. package/@types/metrics/with-schemas/index.d.cts +1 -2
  22. package/@types/metrics/with-schemas/index.d.ts +1 -2
  23. package/@types/persisters/index.d.cts +22 -23
  24. package/@types/persisters/index.d.ts +22 -23
  25. package/@types/persisters/persister-automerge/index.d.cts +6 -7
  26. package/@types/persisters/persister-automerge/index.d.ts +6 -7
  27. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +5 -6
  28. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +5 -6
  29. package/@types/persisters/persister-browser/index.d.cts +5 -6
  30. package/@types/persisters/persister-browser/index.d.ts +5 -6
  31. package/@types/persisters/persister-browser/with-schemas/index.d.cts +5 -6
  32. package/@types/persisters/persister-browser/with-schemas/index.d.ts +5 -6
  33. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +7 -8
  34. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +7 -8
  35. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -11
  36. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -11
  37. package/@types/persisters/persister-durable-object-storage/index.d.cts +5 -6
  38. package/@types/persisters/persister-durable-object-storage/index.d.ts +5 -6
  39. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +5 -6
  40. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +5 -6
  41. package/@types/persisters/persister-electric-sql/index.d.cts +7 -8
  42. package/@types/persisters/persister-electric-sql/index.d.ts +7 -8
  43. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -11
  44. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -11
  45. package/@types/persisters/persister-expo-sqlite/index.d.cts +8 -9
  46. package/@types/persisters/persister-expo-sqlite/index.d.ts +8 -9
  47. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +11 -12
  48. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +11 -12
  49. package/@types/persisters/persister-file/index.d.cts +3 -4
  50. package/@types/persisters/persister-file/index.d.ts +3 -4
  51. package/@types/persisters/persister-file/with-schemas/index.d.cts +3 -4
  52. package/@types/persisters/persister-file/with-schemas/index.d.ts +3 -4
  53. package/@types/persisters/persister-indexed-db/index.d.cts +3 -4
  54. package/@types/persisters/persister-indexed-db/index.d.ts +3 -4
  55. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +2 -3
  56. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -3
  57. package/@types/persisters/persister-libsql/index.d.cts +4 -5
  58. package/@types/persisters/persister-libsql/index.d.ts +4 -5
  59. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +7 -8
  60. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +7 -8
  61. package/@types/persisters/persister-partykit-client/index.d.cts +4 -5
  62. package/@types/persisters/persister-partykit-client/index.d.ts +4 -5
  63. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +3 -4
  64. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +3 -4
  65. package/@types/persisters/persister-partykit-server/index.d.cts +1 -2
  66. package/@types/persisters/persister-partykit-server/index.d.ts +1 -2
  67. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +1 -2
  68. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +1 -2
  69. package/@types/persisters/persister-pglite/index.d.cts +5 -6
  70. package/@types/persisters/persister-pglite/index.d.ts +5 -6
  71. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +8 -9
  72. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +8 -9
  73. package/@types/persisters/persister-postgres/index.d.cts +8 -9
  74. package/@types/persisters/persister-postgres/index.d.ts +8 -9
  75. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +11 -12
  76. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +11 -12
  77. package/@types/persisters/persister-powersync/index.d.cts +7 -8
  78. package/@types/persisters/persister-powersync/index.d.ts +7 -8
  79. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +10 -11
  80. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +10 -11
  81. package/@types/persisters/persister-remote/index.d.cts +3 -4
  82. package/@types/persisters/persister-remote/index.d.ts +3 -4
  83. package/@types/persisters/persister-remote/with-schemas/index.d.cts +2 -3
  84. package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -3
  85. package/@types/persisters/persister-sqlite-wasm/index.d.cts +7 -8
  86. package/@types/persisters/persister-sqlite-wasm/index.d.ts +7 -8
  87. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +11 -12
  88. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +11 -12
  89. package/@types/persisters/persister-sqlite3/index.d.cts +5 -6
  90. package/@types/persisters/persister-sqlite3/index.d.ts +5 -6
  91. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +8 -9
  92. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +8 -9
  93. package/@types/persisters/persister-yjs/index.d.cts +4 -5
  94. package/@types/persisters/persister-yjs/index.d.ts +4 -5
  95. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +3 -4
  96. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +3 -4
  97. package/@types/persisters/with-schemas/index.d.cts +26 -27
  98. package/@types/persisters/with-schemas/index.d.ts +26 -27
  99. package/@types/queries/index.d.cts +1 -2
  100. package/@types/queries/index.d.ts +1 -2
  101. package/@types/queries/with-schemas/index.d.cts +10 -11
  102. package/@types/queries/with-schemas/index.d.ts +10 -11
  103. package/@types/relationships/index.d.cts +25 -2
  104. package/@types/relationships/index.d.ts +25 -2
  105. package/@types/relationships/with-schemas/index.d.cts +25 -2
  106. package/@types/relationships/with-schemas/index.d.ts +25 -2
  107. package/@types/store/index.d.cts +1 -2
  108. package/@types/store/index.d.ts +1 -2
  109. package/@types/store/with-schemas/index.d.cts +0 -1
  110. package/@types/store/with-schemas/index.d.ts +0 -1
  111. package/@types/synchronizers/index.d.cts +6 -7
  112. package/@types/synchronizers/index.d.ts +6 -7
  113. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +3 -4
  114. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -4
  115. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +3 -4
  116. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -4
  117. package/@types/synchronizers/synchronizer-local/index.d.cts +2 -3
  118. package/@types/synchronizers/synchronizer-local/index.d.ts +2 -3
  119. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -3
  120. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -3
  121. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +5 -6
  122. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -6
  123. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +5 -6
  124. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -6
  125. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +29 -30
  126. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +29 -30
  127. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +33 -34
  128. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +33 -34
  129. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +4 -5
  130. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +4 -5
  131. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +8 -9
  132. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +8 -9
  133. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.cts +4 -5
  134. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +4 -5
  135. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.cts +4 -5
  136. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +4 -5
  137. package/@types/synchronizers/with-schemas/index.d.cts +10 -11
  138. package/@types/synchronizers/with-schemas/index.d.ts +10 -11
  139. package/@types/ui-react/index.d.cts +489 -490
  140. package/@types/ui-react/index.d.ts +489 -490
  141. package/@types/ui-react/with-schemas/index.d.cts +494 -495
  142. package/@types/ui-react/with-schemas/index.d.ts +494 -495
  143. package/@types/ui-react-dom/index.d.cts +39 -40
  144. package/@types/ui-react-dom/index.d.ts +39 -40
  145. package/@types/ui-react-dom/with-schemas/index.d.cts +39 -40
  146. package/@types/ui-react-dom/with-schemas/index.d.ts +39 -40
  147. package/@types/ui-react-inspector/index.d.cts +2 -3
  148. package/@types/ui-react-inspector/index.d.ts +2 -3
  149. package/@types/ui-react-inspector/with-schemas/index.d.cts +41 -42
  150. package/@types/ui-react-inspector/with-schemas/index.d.ts +41 -42
  151. package/checkpoints/index.js +9 -9
  152. package/checkpoints/with-schemas/index.js +9 -9
  153. package/index.js +110 -110
  154. package/indexes/index.js +3 -3
  155. package/indexes/with-schemas/index.js +3 -3
  156. package/mergeable-store/index.js +150 -150
  157. package/mergeable-store/with-schemas/index.js +150 -150
  158. package/metrics/index.js +3 -3
  159. package/metrics/with-schemas/index.js +3 -3
  160. package/min/checkpoints/index.js +1 -1
  161. package/min/checkpoints/index.js.gz +0 -0
  162. package/min/checkpoints/with-schemas/index.js +1 -1
  163. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  164. package/min/index.js +1 -1
  165. package/min/index.js.gz +0 -0
  166. package/min/indexes/index.js +1 -1
  167. package/min/indexes/index.js.gz +0 -0
  168. package/min/indexes/with-schemas/index.js +1 -1
  169. package/min/indexes/with-schemas/index.js.gz +0 -0
  170. package/min/mergeable-store/index.js +1 -1
  171. package/min/mergeable-store/index.js.gz +0 -0
  172. package/min/mergeable-store/with-schemas/index.js +1 -1
  173. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  174. package/min/metrics/index.js +1 -1
  175. package/min/metrics/index.js.gz +0 -0
  176. package/min/metrics/with-schemas/index.js +1 -1
  177. package/min/metrics/with-schemas/index.js.gz +0 -0
  178. package/min/persisters/index.js +1 -1
  179. package/min/persisters/index.js.gz +0 -0
  180. package/min/persisters/persister-automerge/index.js +1 -1
  181. package/min/persisters/persister-automerge/index.js.gz +0 -0
  182. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  183. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  184. package/min/persisters/persister-browser/index.js +1 -1
  185. package/min/persisters/persister-browser/index.js.gz +0 -0
  186. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  187. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  188. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  189. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  190. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  191. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  192. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  193. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  194. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  195. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  196. package/min/persisters/persister-electric-sql/index.js +1 -1
  197. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  198. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  199. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  200. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  201. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  202. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  203. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  204. package/min/persisters/persister-file/index.js +1 -1
  205. package/min/persisters/persister-file/index.js.gz +0 -0
  206. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  207. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  208. package/min/persisters/persister-indexed-db/index.js +1 -1
  209. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  210. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  211. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  212. package/min/persisters/persister-libsql/index.js +1 -1
  213. package/min/persisters/persister-libsql/index.js.gz +0 -0
  214. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  215. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  216. package/min/persisters/persister-partykit-client/index.js +1 -1
  217. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  218. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  219. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  220. package/min/persisters/persister-partykit-server/index.js +1 -1
  221. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  222. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  223. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  224. package/min/persisters/persister-pglite/index.js +1 -1
  225. package/min/persisters/persister-pglite/index.js.gz +0 -0
  226. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  227. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  228. package/min/persisters/persister-postgres/index.js +1 -1
  229. package/min/persisters/persister-postgres/index.js.gz +0 -0
  230. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  231. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  232. package/min/persisters/persister-powersync/index.js +1 -1
  233. package/min/persisters/persister-powersync/index.js.gz +0 -0
  234. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  235. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  236. package/min/persisters/persister-remote/index.js +1 -1
  237. package/min/persisters/persister-remote/index.js.gz +0 -0
  238. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  239. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  240. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  241. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  242. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  243. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  244. package/min/persisters/persister-sqlite3/index.js +1 -1
  245. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  246. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  247. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  248. package/min/persisters/persister-yjs/index.js +1 -1
  249. package/min/persisters/persister-yjs/index.js.gz +0 -0
  250. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  251. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  252. package/min/persisters/with-schemas/index.js +1 -1
  253. package/min/persisters/with-schemas/index.js.gz +0 -0
  254. package/min/queries/index.js +1 -1
  255. package/min/queries/index.js.gz +0 -0
  256. package/min/queries/with-schemas/index.js +1 -1
  257. package/min/queries/with-schemas/index.js.gz +0 -0
  258. package/min/relationships/index.js +1 -1
  259. package/min/relationships/index.js.gz +0 -0
  260. package/min/relationships/with-schemas/index.js +1 -1
  261. package/min/relationships/with-schemas/index.js.gz +0 -0
  262. package/min/store/index.js +1 -1
  263. package/min/store/index.js.gz +0 -0
  264. package/min/store/with-schemas/index.js +1 -1
  265. package/min/store/with-schemas/index.js.gz +0 -0
  266. package/min/synchronizers/index.js +1 -1
  267. package/min/synchronizers/index.js.gz +0 -0
  268. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  269. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  270. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  271. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  272. package/min/synchronizers/synchronizer-local/index.js +1 -1
  273. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  274. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  275. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  276. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  277. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  278. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  279. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  280. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  281. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  282. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  283. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  284. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  285. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  286. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  287. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  288. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  289. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  290. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  291. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  292. package/min/synchronizers/with-schemas/index.js +1 -1
  293. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  294. package/min/ui-react/index.js +1 -1
  295. package/min/ui-react/index.js.gz +0 -0
  296. package/min/ui-react/with-schemas/index.js +1 -1
  297. package/min/ui-react/with-schemas/index.js.gz +0 -0
  298. package/min/ui-react-dom/index.js +1 -1
  299. package/min/ui-react-dom/index.js.gz +0 -0
  300. package/min/ui-react-dom/with-schemas/index.js +1 -1
  301. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  302. package/min/ui-react-inspector/index.js +1 -1
  303. package/min/ui-react-inspector/index.js.gz +0 -0
  304. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  305. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  306. package/min/with-schemas/index.js +1 -1
  307. package/min/with-schemas/index.js.gz +0 -0
  308. package/package.json +6 -6
  309. package/persisters/index.js +120 -120
  310. package/persisters/persister-automerge/index.js +8 -8
  311. package/persisters/persister-automerge/with-schemas/index.js +8 -8
  312. package/persisters/persister-browser/index.js +8 -8
  313. package/persisters/persister-browser/with-schemas/index.js +8 -8
  314. package/persisters/persister-cr-sqlite-wasm/index.js +119 -119
  315. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +119 -119
  316. package/persisters/persister-durable-object-storage/index.js +12 -12
  317. package/persisters/persister-durable-object-storage/with-schemas/index.js +12 -12
  318. package/persisters/persister-electric-sql/index.js +119 -119
  319. package/persisters/persister-electric-sql/with-schemas/index.js +119 -119
  320. package/persisters/persister-expo-sqlite/index.js +119 -119
  321. package/persisters/persister-expo-sqlite/with-schemas/index.js +119 -119
  322. package/persisters/persister-file/index.js +10 -10
  323. package/persisters/persister-file/with-schemas/index.js +10 -10
  324. package/persisters/persister-indexed-db/index.js +8 -8
  325. package/persisters/persister-indexed-db/with-schemas/index.js +8 -8
  326. package/persisters/persister-libsql/index.js +119 -119
  327. package/persisters/persister-libsql/with-schemas/index.js +119 -119
  328. package/persisters/persister-partykit-client/index.js +23 -23
  329. package/persisters/persister-partykit-client/with-schemas/index.js +23 -23
  330. package/persisters/persister-partykit-server/index.js +13 -9
  331. package/persisters/persister-partykit-server/with-schemas/index.js +13 -9
  332. package/persisters/persister-pglite/index.js +128 -128
  333. package/persisters/persister-pglite/with-schemas/index.js +128 -128
  334. package/persisters/persister-postgres/index.js +128 -128
  335. package/persisters/persister-postgres/with-schemas/index.js +128 -128
  336. package/persisters/persister-powersync/index.js +119 -119
  337. package/persisters/persister-powersync/with-schemas/index.js +119 -119
  338. package/persisters/persister-remote/index.js +8 -8
  339. package/persisters/persister-remote/with-schemas/index.js +8 -8
  340. package/persisters/persister-sqlite-wasm/index.js +119 -119
  341. package/persisters/persister-sqlite-wasm/with-schemas/index.js +119 -119
  342. package/persisters/persister-sqlite3/index.js +119 -119
  343. package/persisters/persister-sqlite3/with-schemas/index.js +119 -119
  344. package/persisters/persister-yjs/index.js +14 -14
  345. package/persisters/persister-yjs/with-schemas/index.js +14 -14
  346. package/persisters/with-schemas/index.js +120 -120
  347. package/queries/index.js +16 -16
  348. package/queries/with-schemas/index.js +16 -16
  349. package/readme.md +13 -32
  350. package/relationships/index.js +3 -3
  351. package/relationships/with-schemas/index.js +3 -3
  352. package/releases.md +35 -34
  353. package/store/index.js +43 -43
  354. package/store/with-schemas/index.js +43 -43
  355. package/synchronizers/index.js +31 -31
  356. package/synchronizers/synchronizer-broadcast-channel/index.js +31 -31
  357. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +31 -31
  358. package/synchronizers/synchronizer-local/index.js +31 -31
  359. package/synchronizers/synchronizer-local/with-schemas/index.js +31 -31
  360. package/synchronizers/synchronizer-ws-client/index.js +25 -25
  361. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -25
  362. package/synchronizers/synchronizer-ws-server/index.js +65 -65
  363. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +65 -65
  364. package/synchronizers/synchronizer-ws-server-durable-object/index.js +25 -25
  365. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +25 -25
  366. package/synchronizers/synchronizer-ws-server-simple/index.js +3 -3
  367. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +3 -3
  368. package/synchronizers/with-schemas/index.js +31 -31
  369. package/ui-react/index.js +31 -34
  370. package/ui-react/with-schemas/index.js +31 -34
  371. package/ui-react-dom/index.js +24 -24
  372. package/ui-react-dom/with-schemas/index.js +24 -24
  373. package/ui-react-inspector/index.js +3066 -3067
  374. package/ui-react-inspector/with-schemas/index.js +3066 -3067
  375. package/with-schemas/index.js +110 -110
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==a,p=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=Object,P=e=>M.getPrototypeOf(e),k=M.entries,A=M.isFrozen,N=e=>!m(e)&&y(P(e),(e=>e==M.prototype||m(P(e))),(()=>!0)),j=M.keys,x=M.freeze,D=(e,t)=>t in e,H=(e,t)=>(delete e[t],e),W=(e,t)=>((e=[])=>M.fromEntries(e))(((e,t)=>O(k(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),$=e=>N(e)&&0==(e=>E(j(e)))(e),q=(e,t,s,a=0)=>m(e)||!N(e)||!a&&$(e)||A(e)?(s?.(),!1):(((e,t)=>{F(k(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||H(e,a)})),!!a||!$(e)),B=e=>t=>{return s=(t,s)=>t+e(s),Z(t).reduce(s,0);var s},G=e=>e?.size??0,K=B(G),Q=B(K),U=B(Q),X=(e,t)=>e?.has(t)??!1,Y=e=>m(e)||0==G(e),Z=e=>[...e?.values()??[]],_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ae=e=>[...e?.keys()??[]],le=(e,t)=>e?.get(t),ne=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>m(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s,a)=>(X(e,t)?a?.(le(e,t)):oe(e,t,s()),le(e,t)),ie=(e,t,s,a=oe)=>(W(t,((t,a)=>s(e,a,t))),ne(e,(s=>D(t,s)?0:a(e,s))),e),ce=(e,t,s,a)=>{const l={};return ee(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},de=(e,t,s)=>ce(e,(e=>ce(e,t,s)),Y,$),ue=(e,t,s)=>ce(e,(e=>de(e,t,s)),Y,$),he=(e,t)=>{const s=se();return ee(e,((e,a)=>s.set(a,t?.(e)??e))),s},fe=e=>he(e,he),ge=e=>he(e,fe),Te=(e,t,s,a,l=0)=>y((s?re:le)(e,t[l],l>E(t)-2?s:se),(n=>{if(l>E(t)-2)return a?.(n)&&oe(e,t[l]),n;const o=Te(n,t,s,a,l+1);return Y(n)&&oe(e,t[l]),o})),be=e=>new Set(L(e)||m(e)?e:[e]),ve=(e,t)=>e?.add(t),Ce=/^\d+$/,Ve=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ce.test(t)&&E(e)<1e3&&z(e,t)}]},we=e=>[e,e],Se=(e,t=K)=>t(e[0])+t(e[1]),Ie=()=>[se(),se()],me=e=>[...e],ye=([e,t])=>e===t,Re=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},pe=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),Le=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Je=JSON.stringify,Ee=JSON.parse,Fe=e=>Je(e,((e,t)=>t instanceof Map?M.fromEntries([...t]):t)),Oe=(e,t,s)=>oe(e,t,le(e,t)==-s?void 0:s),ze=()=>{let e,s,a=!1,n=!1,c=0,I=[];const M=se(),P=se(),k=se(),A=se(),N=se(),j=se(),B=se(),Z=se(),Ce=se(),Je=se(),Me=se(),Pe=se(),ke=se(),Ae=se(),Ne=be(),je=se(),xe=se(),De=se(),He=se(),We=Ie(),$e=Ie(),qe=Ie(),Be=Ie(),Ge=Ie(),Ke=Ie(),Qe=Ie(),Ue=Ie(),Xe=Ie(),Ye=Ie(),Ze=Ie(),_e=Ie(),et=Ie(),tt=Ie(),st=Ie(),at=Ie(),lt=Ie(),nt=Ie(),ot=Ie(),rt=Ie(),it=Ie(),ct=Ie(),dt=se(),ut=Ie(),[ht,ft,gt,Tt]=(()=>{let e;const[s,a]=Ve(),l=se();return[(a,n,o,r=[],i=()=>[])=>{e??=ks;const c=s(1);return oe(l,c,[a,n,o,r,i]),ve(Te(n,o??[t],be),c),c},(s,a,...n)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?ee(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(le(e,s),t+1)));return l(e,0),a})(s,a),(t=>ee(t,(t=>le(l,t)[0](e,...a??[],...n))))),e=>y(le(l,e),(([,s,n])=>(Te(s,n??[t],void 0,(t=>(te(t,e),Y(t)?1:0))),oe(l,e),a(e),n))),t=>y(le(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!q(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(Re(e[r])!=t&&H(e,r),0))},vt=L,Ct=(t,s)=>(!e||X(Me,s)||Kt(s))&&q(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>q(a?s:mt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),wt=(t,s,a,l)=>e?y(le(le(Me,t),a),(e=>Re(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):m(Re(l))?Kt(t,s,a,l):l,St=(e,t)=>q(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),It=(e,t)=>s?y(le(ke,e),(s=>Re(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):m(Re(t))?Qt(e,t):t,mt=(e,t,s)=>(y(le(Pe,t),(([a,l])=>{ee(a,((t,s)=>{D(e,s)||(e[s]=t)})),ee(l,(a=>{D(e,a)||Kt(t,s,a)}))})),e),yt=e=>(s&&(ee(Ae,((t,s)=>{D(e,s)||(e[s]=t)})),ee(Ne,(t=>{D(e,t)||Qt(t)}))),e),Rt=e=>ie(Me,e,((e,t,s)=>{const a=se(),l=be();ie(re(Me,t,se),s,((e,t,s)=>{oe(e,t,s),y(s[r],(e=>oe(a,t,e)),(()=>ve(l,t)))})),oe(Pe,t,[a,l])}),((e,t)=>{oe(Me,t),oe(Pe,t)})),pt=e=>ie(ke,e,((e,t,s)=>{oe(ke,t,s),y(s[r],(e=>oe(Ae,t,e)),(()=>ve(Ne,t)))}),((e,t)=>{oe(ke,t),oe(Ae,t),te(Ne,t)})),Lt=e=>$(e)?ps():Ss(e),Jt=e=>ie(De,e,((e,t,s)=>Et(t,s)),((e,t)=>Nt(t))),Et=(e,t)=>ie(re(De,e,(()=>(Ht(e,1),oe(je,e,Ve()),oe(xe,e,se()),se()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>jt(e,t,s))),Ft=(e,t,s,a,l)=>ie(re(t,s,(()=>(Wt(e,s,1),se()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>xt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{X(s,a)||$t(e,t,a,1);const n=le(s,a);l!==n&&(qt(e,t,a,n,l),oe(s,a,l))},zt=(e,t,s,a,l)=>y(le(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,mt({[a]:l},e,s)))),Mt=e=>$(e)?Es():Is(e),Pt=e=>ie(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Dt(t))),kt=(e,t)=>{X(He,e)||Bt(e,1);const s=le(He,e);t!==s&&(Gt(e,s,t),oe(He,e,t))},At=e=>le(De,e)??Et(e,{}),Nt=e=>Et(e,{}),jt=(e,t,s)=>{const[,a]=le(je,e);a(s),Ft(e,t,s,{},!0)},xt=(e,t,s,a,l,n)=>{const o=le(le(Pe,e)?.[0],l);if(!m(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,le(a,t)),$t(e,s,t,-1),oe(a,t)};m(o)?r(l):ne(a,r),Y(a)&&(Wt(e,s,-1),Y(oe(t,s))&&(Ht(e,-1),oe(De,e),oe(je,e),oe(xe,e)))},Dt=e=>{const t=le(Ae,e);if(!m(t))return kt(e,t);Gt(e,le(He,e)),Bt(e,-1),oe(He,e)},Ht=(e,t)=>Oe(M,e,t),Wt=(e,t,s)=>Oe(re(A,e,se),t,s)&&oe(k,e,re(k,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=le(xe,e),n=le(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Oe(re(P,e,se),s,a),oe(l,s,n!=-a?n+a:null),Oe(re(re(N,e,se),t,se),s,a)},qt=(e,t,s,a,l)=>{re(re(re(j,e,se),t,se),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Oe(B,e,t),Gt=(e,t,s)=>{re(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(re(re(re(Ce,e,se),t,se),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(re(Je,e,(()=>[])),t),s),Ut=(e,t,s)=>y(le(le(le(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...we(ds(e,t,s))])),Xt=e=>y(le(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...we(fs(e))])),Yt=e=>Y(Ce)||Y(at[e])?0:ee(e?ge(Ce):Ce,((t,s)=>ee(t,((t,a)=>ee(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>Y(Je)||Y(lt[e])?0:ee(e?he(Je):Je,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!Y(e))return ft(t,a,(()=>ce(e))),ne(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(We[e],void 0,t);const s=Y(Ye[e]),l=Y(et[e])&&Y(tt[e])&&Y(Xe[e])&&Y(Ze[e])&&Y(Ke[e])&&Y(Qe[e])&&Y(Ue[e])&&s&&Y(qe[e])&&Y(Be[e]),n=Y(st[e])&&Y(_e[e])&&Y(Ge[e])&&Y($e[e]);if(!l||!n){const t=e?[he(M),fe(P),he(k),fe(A),ge(N),ge(j)]:[M,P,k,A,N,j];if(!l){_t(t[0],qe[e],Be[e]),ee(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),ee(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=be();ee(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),ve(a,l))})),s||ee(t[5],((t,s)=>{if(!X(a,s)){const a=be();ee(t,(e=>ee(e,(([t,s],l)=>s!==t?ve(a,l):te(e,l))))),ee(a,(t=>ft(Ye[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;ee(t[5],((t,a)=>{let l;ee(t,((t,n)=>{let o;ee(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Ut),s=l=o=1)})),o&&ft(_e[e],[a,n],Ut)})),l&&ft(Ge[e],[a],Ut)})),s&&ft($e[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=n&&ft(nt[e],void 0,t);const s=Y(rt[e])&&Y(it[e]),a=Y(ct[e])&&Y(ot[e]);if(!s||!a){const t=e?[he(B),he(Z)]:[B,Z];if(s||_t(t[0],rt[e],it[e]),!a){let s;ee(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Xt),s=1)})),s&&ft(ot[e],void 0,Xt)}}},ss=(e,...t)=>(zs((()=>e(...O(t,S)))),ks),as=()=>ue(De),ls=()=>ae(De),ns=e=>ae(le(xe,S(e))),os=e=>G(le(De,S(e))),rs=e=>ae(le(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=le(De,S(e)),r=(e,s)=>[m(t)?s:le(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>ae(le(le(De,S(e)),S(t))),ds=(e,t,s)=>le(le(le(De,S(e)),S(t)),S(s)),us=()=>ce(He),hs=()=>ae(He),fs=e=>le(He,S(e)),gs=()=>!Y(De),Ts=e=>X(De,S(e)),bs=(e,t)=>X(le(xe,S(e)),S(t)),vs=(e,t)=>X(le(De,S(e)),S(t)),Cs=(e,t,s)=>X(le(le(De,S(e)),S(t)),S(s)),Vs=()=>!Y(He),ws=e=>X(He,S(e)),Ss=e=>ss((()=>(e=>q(e,Ct,Kt))(e)?Jt(e):0)),Is=e=>ss((()=>St(e)?Pt(e):0)),ms=e=>{try{Lt(Ee(e))}catch{}return ks},ys=t=>ss((()=>{if((e=q(t,(e=>q(e,bt))))&&(Rt(t),!Y(De))){const e=as();ps(),Ss(e)}})),Rs=e=>ss((()=>{if(s=(e=>q(e,bt))(e)){const t=us();Os(),Es(),s=!0,pt(e),Is(t)}})),ps=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>X(De,e)?Nt(e):0),e),Js=(e,t)=>ss(((e,t)=>y(le(De,e),(s=>X(s,t)?jt(e,s,t):0))),e,t),Es=()=>ss((()=>Pt({}))),Fs=()=>ss((()=>{Rt({}),e=!1})),Os=()=>ss((()=>{pt({}),s=!1})),zs=(e,t)=>{if(-1!=c){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=c&&c++,1==c&&(I[0]?.(),ft(dt)),ks),Ps=e=>(c>0&&(c--,0==c&&(c=1,Yt(1),Y(j)||es(1),Zt(1),Y(Z)||ts(1),e?.(ks)&&(ee(j,((e,t)=>ee(e,((e,s)=>ee(e,(([e],a)=>pe(ks,t,s,a,e))))))),_(j),ee(Z,(([e],t)=>Le(ks,t,e))),_(Z)),ft(ut[0],void 0),c=-1,Yt(0),Y(j)||es(0),Zt(0),Y(Z)||ts(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),c=0,a=gs(),n=Vs(),F([M,P,k,A,N,j,Ce,B,Z,Je],_))),ks),ks={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>de(le(De,S(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>ce(le(le(De,S(e)),S(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:ws,getTablesJson:()=>Fe(De),getValuesJson:()=>Fe(He),getJson:()=>Fe([De,He]),getTablesSchemaJson:()=>Fe(Me),getValuesSchemaJson:()=>Fe(ke),getSchemaJson:()=>Fe([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ss((()=>{const t=p(e)?e():e;vt(t)&&(([e,t])=>{($(e)?ps:Ss)(e),($(t)?Es:Is)(t)})(t)})),setTables:Ss,setTable:(e,t)=>ss((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>Vt(e,t,s)?Ft(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,At(e),a=((e,t)=>{const[s]=le(je,e);let a;do{a=s(t)}while(X(le(De,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(Vt(e,t,s,1)){const a=At(e);W(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>y(wt(e,t,s,p(a)?a(ds(e,t,s)):a),(a=>zt(e,At(e),t,s,a)))),e,t,s),setValues:Is,setPartialValues:e=>ss((()=>St(e,1)?W(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>ss((e=>y(It(e,p(t)?t(fs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>ss((()=>{W(e[0],((e,t)=>m(e)?Ls(t):W(e,((e,s)=>m(e)?Js(t,s):W(e,((e,a)=>pe(ks,t,s,a,e))))))),W(e[1],((e,t)=>Le(ks,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{Mt(Ee(e))}catch{}return ks},setJson:e=>ss((()=>{try{const[t,s]=Ee(e);Lt(t),Mt(s)}catch{ms(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ss((()=>{ys(e),Rs(t)})),delTables:ps,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>y(le(De,e),(l=>y(le(l,t),(n=>X(n,s)?xt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>X(He,e)?Dt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[ce(j,((e,t)=>-1===le(M,t)?void 0:ce(e,((e,s)=>-1===le(le(A,t),s)?void 0:ce(e,(([,e])=>e),(e=>ye(e)))),Y,$)),Y,$),ce(Z,(([,e])=>e),(e=>ye(e))),1],getTransactionLog:()=>[!Y(j),!Y(Z),ue(j,me,ye),ue(Ce),ce(Z,me,ye),ce(Je),ce(M),de(A),ue(N),ce(B)],finishTransaction:Ps,forEachTable:e=>ee(De,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>ne(t,e))))))))),forEachTableCell:(e,t)=>ne(le(xe,S(e)),t),forEachRow:(e,t)=>ee(le(De,S(e)),((e,s)=>t(s,(t=>ne(e,t))))),forEachCell:(e,t,s)=>ne(le(le(De,S(e)),S(t)),s),forEachValue:e=>ne(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(ks,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ls])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),ks),delListener:e=>(gt(e),ks),getListenerStats:()=>({hasTables:Se(We),tables:Se($e),tableIds:Se(qe),hasTable:Se(Be),table:Se(Ge),tableCellIds:Se(Ke),hasTableCell:Se(Qe,Q),rowCount:Se(Ue),rowIds:Se(Xe),sortedRowIds:Se(Ye),hasRow:Se(Ze,Q),row:Se(_e,Q),cellIds:Se(et,Q),hasCell:Se(tt,U),cell:Se(st,U),invalidCell:Se(at,U),hasValues:Se(nt),values:Se(ot),valueIds:Se(rt),hasValue:Se(it),value:Se(ct),invalidValue:Se(lt),transaction:K(dt)+Se(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return W({[i+u]:[0,We,[],()=>[gs()]],[u]:[0,$e],[h]:[0,qe],[i+d]:[1,Be,[ls],e=>[Ts(...e)]],[d]:[1,Ge,[ls]],[d+v]:[1,Ke,[ls]],[i+d+b]:[2,Qe,[ls,ns],e=>[bs(...e)]],[g]:[1,Ue,[ls]],[T]:[1,Xe,[ls]],[i+f]:[2,Ze,[ls,rs],e=>[vs(...e)]],[f]:[2,_e,[ls,rs]],[v]:[2,et,[ls,rs]],[i+b]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[b]:[3,st,[ls,rs,cs],e=>we(ds(...e))],InvalidCell:[3,at],[i+V]:[0,nt,[],()=>[Vs()]],[V]:[0,ot],[w]:[0,rt],[i+C]:[1,it,[hs],e=>[ws(...e)]],[C]:[1,ct,[hs],e=>we(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{ks["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),x(ks)};export{ze as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==a,p=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},P=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),k=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),A=e=>t=>{return s=(t,s)=>t+e(s),$(t).reduce(s,0);var s},N=e=>e?.size??0,j=A(N),x=A(j),D=A(x),H=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==N(e),$=e=>[...e?.values()??[]],q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),K=Object,Q=e=>K.getPrototypeOf(e),U=K.entries,X=K.isFrozen,Y=e=>!m(e)&&y(Q(e),(e=>e==K.prototype||m(Q(e))),(()=>!0)),Z=K.keys,_=K.freeze,ee=(e,t)=>t in e,te=(e,t)=>(delete e[t],e),se=(e,t)=>((e=[])=>K.fromEntries(e))(((e,t)=>O(U(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ae=e=>Y(e)&&0==(e=>E(Z(e)))(e),le=(e,t,s,a=0)=>m(e)||!Y(e)||!a&&ae(e)||X(e)?(s?.(),!1):(((e,t)=>{F(U(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||te(e,a)})),!!a||!ae(e)),ne=e=>new Map(e),oe=e=>[...e?.keys()??[]],re=(e,t)=>e?.get(t),ie=(e,t)=>B(e,((e,s)=>t(s,e))),ce=(e,t,s)=>m(s)?(G(e,t),e):e?.set(t,s),de=(e,t,s,a)=>(H(e,t)?a?.(re(e,t)):ce(e,t,s()),re(e,t)),ue=(e,t,s,a=ce)=>(se(t,((t,a)=>s(e,a,t))),ie(e,(s=>ee(t,s)?0:a(e,s))),e),he=(e,t,s,a)=>{const l={};return B(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},fe=(e,t,s)=>he(e,(e=>he(e,t,s)),W,ae),ge=(e,t,s)=>he(e,(e=>fe(e,t,s)),W,ae),Te=(e,t)=>{const s=ne();return B(e,((e,a)=>s.set(a,t?.(e)??e))),s},be=e=>Te(e,Te),ve=e=>Te(e,be),Ce=(e,t,s,a,l=0)=>y((s?de:re)(e,t[l],l>E(t)-2?s:ne),(n=>{if(l>E(t)-2)return a?.(n)&&ce(e,t[l]),n;const o=Ce(n,t,s,a,l+1);return W(n)&&ce(e,t[l]),o})),Ve=JSON.stringify,we=JSON.parse,Se=e=>Ve(e,((e,t)=>t instanceof Map?K.fromEntries([...t]):t)),Ie=/^\d+$/,me=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ie.test(t)&&E(e)<1e3&&z(e,t)}]},ye=e=>new Set(L(e)||m(e)?e:[e]),Re=(e,t)=>e?.add(t),pe=e=>[e,e],Le=(e,t=j)=>t(e[0])+t(e[1]),Je=()=>[ne(),ne()],Ee=e=>[...e],Fe=([e,t])=>e===t,Oe=(e,t,s)=>ce(e,t,re(e,t)==-s?void 0:s),ze=()=>{let e,s,a=!1,n=!1,c=0,I=[];const A=ne(),$=ne(),K=ne(),Q=ne(),U=ne(),X=ne(),Y=ne(),Z=ne(),Ve=ne(),Ie=ne(),Me=ne(),Pe=ne(),ke=ne(),Ae=ne(),Ne=ye(),je=ne(),xe=ne(),De=ne(),He=ne(),We=Je(),$e=Je(),qe=Je(),Be=Je(),Ge=Je(),Ke=Je(),Qe=Je(),Ue=Je(),Xe=Je(),Ye=Je(),Ze=Je(),_e=Je(),et=Je(),tt=Je(),st=Je(),at=Je(),lt=Je(),nt=Je(),ot=Je(),rt=Je(),it=Je(),ct=Je(),dt=ne(),ut=Je(),[ht,ft,gt,Tt]=(()=>{let e;const[s,a]=me(),l=ne();return[(a,n,o,r=[],i=()=>[])=>{e??=ks;const c=s(1);return ce(l,c,[a,n,o,r,i]),Re(Ce(n,o??[t],ye),c),c},(s,a,...n)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?B(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(re(e,s),t+1)));return l(e,0),a})(s,a),(t=>B(t,(t=>re(l,t)[0](e,...a??[],...n))))),e=>y(re(l,e),(([,s,n])=>(Ce(s,n??[t],void 0,(t=>(G(t,e),W(t)?1:0))),ce(l,e),a(e),n))),t=>y(re(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!le(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(M(e[r])!=t&&te(e,r),0))},vt=L,Ct=(t,s)=>(!e||H(Me,s)||Kt(s))&&le(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>le(a?s:mt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),wt=(t,s,a,l)=>e?y(re(re(Me,t),a),(e=>M(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):m(M(l))?Kt(t,s,a,l):l,St=(e,t)=>le(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),It=(e,t)=>s?y(re(ke,e),(s=>M(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):m(M(t))?Qt(e,t):t,mt=(e,t,s)=>(y(re(Pe,t),(([a,l])=>{B(a,((t,s)=>{ee(e,s)||(e[s]=t)})),B(l,(a=>{ee(e,a)||Kt(t,s,a)}))})),e),yt=e=>(s&&(B(Ae,((t,s)=>{ee(e,s)||(e[s]=t)})),B(Ne,(t=>{ee(e,t)||Qt(t)}))),e),Rt=e=>ue(Me,e,((e,t,s)=>{const a=ne(),l=ye();ue(de(Me,t,ne),s,((e,t,s)=>{ce(e,t,s),y(s[r],(e=>ce(a,t,e)),(()=>Re(l,t)))})),ce(Pe,t,[a,l])}),((e,t)=>{ce(Me,t),ce(Pe,t)})),pt=e=>ue(ke,e,((e,t,s)=>{ce(ke,t,s),y(s[r],(e=>ce(Ae,t,e)),(()=>Re(Ne,t)))}),((e,t)=>{ce(ke,t),ce(Ae,t),G(Ne,t)})),Lt=e=>ae(e)?ps():Ss(e),Jt=e=>ue(De,e,((e,t,s)=>Et(t,s)),((e,t)=>Nt(t))),Et=(e,t)=>ue(de(De,e,(()=>(Ht(e,1),ce(je,e,me()),ce(xe,e,ne()),ne()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>jt(e,t,s))),Ft=(e,t,s,a,l)=>ue(de(t,s,(()=>(Wt(e,s,1),ne()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>xt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{H(s,a)||$t(e,t,a,1);const n=re(s,a);l!==n&&(qt(e,t,a,n,l),ce(s,a,l))},zt=(e,t,s,a,l)=>y(re(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,mt({[a]:l},e,s)))),Mt=e=>ae(e)?Es():Is(e),Pt=e=>ue(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Dt(t))),kt=(e,t)=>{H(He,e)||Bt(e,1);const s=re(He,e);t!==s&&(Gt(e,s,t),ce(He,e,t))},At=e=>re(De,e)??Et(e,{}),Nt=e=>Et(e,{}),jt=(e,t,s)=>{const[,a]=re(je,e);a(s),Ft(e,t,s,{},!0)},xt=(e,t,s,a,l,n)=>{const o=re(re(Pe,e)?.[0],l);if(!m(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,re(a,t)),$t(e,s,t,-1),ce(a,t)};m(o)?r(l):ie(a,r),W(a)&&(Wt(e,s,-1),W(ce(t,s))&&(Ht(e,-1),ce(De,e),ce(je,e),ce(xe,e)))},Dt=e=>{const t=re(Ae,e);if(!m(t))return kt(e,t);Gt(e,re(He,e)),Bt(e,-1),ce(He,e)},Ht=(e,t)=>Oe(A,e,t),Wt=(e,t,s)=>Oe(de(Q,e,ne),t,s)&&ce(K,e,de(K,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=re(xe,e),n=re(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Oe(de($,e,ne),s,a),ce(l,s,n!=-a?n+a:null),Oe(de(de(U,e,ne),t,ne),s,a)},qt=(e,t,s,a,l)=>{de(de(de(X,e,ne),t,ne),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Oe(Y,e,t),Gt=(e,t,s)=>{de(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(de(de(de(Ve,e,ne),t,ne),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(de(Ie,e,(()=>[])),t),s),Ut=(e,t,s)=>y(re(re(re(X,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(ds(e,t,s))])),Xt=e=>y(re(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(fs(e))])),Yt=e=>W(Ve)||W(at[e])?0:B(e?ve(Ve):Ve,((t,s)=>B(t,((t,a)=>B(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>W(Ie)||W(lt[e])?0:B(e?Te(Ie):Ie,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!W(e))return ft(t,a,(()=>he(e))),ie(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(We[e],void 0,t);const s=W(Ye[e]),l=W(et[e])&&W(tt[e])&&W(Xe[e])&&W(Ze[e])&&W(Ke[e])&&W(Qe[e])&&W(Ue[e])&&s&&W(qe[e])&&W(Be[e]),n=W(st[e])&&W(_e[e])&&W(Ge[e])&&W($e[e]);if(!l||!n){const t=e?[Te(A),be($),Te(K),be(Q),ve(U),ve(X)]:[A,$,K,Q,U,X];if(!l){_t(t[0],qe[e],Be[e]),B(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),B(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=ye();B(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),Re(a,l))})),s||B(t[5],((t,s)=>{if(!H(a,s)){const a=ye();B(t,(e=>B(e,(([t,s],l)=>s!==t?Re(a,l):G(e,l))))),B(a,(t=>ft(Ye[e],[s,t])))}})),B(t[4],((t,s)=>B(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;B(t[5],((t,a)=>{let l;B(t,((t,n)=>{let o;B(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Ut),s=l=o=1)})),o&&ft(_e[e],[a,n],Ut)})),l&&ft(Ge[e],[a],Ut)})),s&&ft($e[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=n&&ft(nt[e],void 0,t);const s=W(rt[e])&&W(it[e]),a=W(ct[e])&&W(ot[e]);if(!s||!a){const t=e?[Te(Y),Te(Z)]:[Y,Z];if(s||_t(t[0],rt[e],it[e]),!a){let s;B(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Xt),s=1)})),s&&ft(ot[e],void 0,Xt)}}},ss=(e,...t)=>(zs((()=>e(...O(t,S)))),ks),as=()=>ge(De),ls=()=>oe(De),ns=e=>oe(re(xe,S(e))),os=e=>N(re(De,S(e))),rs=e=>oe(re(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=re(De,S(e)),r=(e,s)=>[m(t)?s:re(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>oe(re(re(De,S(e)),S(t))),ds=(e,t,s)=>re(re(re(De,S(e)),S(t)),S(s)),us=()=>he(He),hs=()=>oe(He),fs=e=>re(He,S(e)),gs=()=>!W(De),Ts=e=>H(De,S(e)),bs=(e,t)=>H(re(xe,S(e)),S(t)),vs=(e,t)=>H(re(De,S(e)),S(t)),Cs=(e,t,s)=>H(re(re(De,S(e)),S(t)),S(s)),Vs=()=>!W(He),ws=e=>H(He,S(e)),Ss=e=>ss((()=>(e=>le(e,Ct,Kt))(e)?Jt(e):0)),Is=e=>ss((()=>St(e)?Pt(e):0)),ms=e=>{try{Lt(we(e))}catch{}return ks},ys=t=>ss((()=>{if((e=le(t,(e=>le(e,bt))))&&(Rt(t),!W(De))){const e=as();ps(),Ss(e)}})),Rs=e=>ss((()=>{if(s=(e=>le(e,bt))(e)){const t=us();Os(),Es(),s=!0,pt(e),Is(t)}})),ps=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>H(De,e)?Nt(e):0),e),Js=(e,t)=>ss(((e,t)=>y(re(De,e),(s=>H(s,t)?jt(e,s,t):0))),e,t),Es=()=>ss((()=>Pt({}))),Fs=()=>ss((()=>{Rt({}),e=!1})),Os=()=>ss((()=>{pt({}),s=!1})),zs=(e,t)=>{if(-1!=c){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=c&&c++,1==c&&(I[0]?.(),ft(dt)),ks),Ps=e=>(c>0&&(c--,0==c&&(c=1,Yt(1),W(X)||es(1),Zt(1),W(Z)||ts(1),e?.(ks)&&(B(X,((e,t)=>B(e,((e,s)=>B(e,(([e],a)=>P(ks,t,s,a,e))))))),q(X),B(Z,(([e],t)=>k(ks,t,e))),q(Z)),ft(ut[0],void 0),c=-1,Yt(0),W(X)||es(0),Zt(0),W(Z)||ts(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),c=0,a=gs(),n=Vs(),F([A,$,K,Q,U,X,Ve,Y,Z,Ie],q))),ks),ks={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>fe(re(De,S(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>he(re(re(De,S(e)),S(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:ws,getTablesJson:()=>Se(De),getValuesJson:()=>Se(He),getJson:()=>Se([De,He]),getTablesSchemaJson:()=>Se(Me),getValuesSchemaJson:()=>Se(ke),getSchemaJson:()=>Se([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ss((()=>{const t=p(e)?e():e;vt(t)&&(([e,t])=>{(ae(e)?ps:Ss)(e),(ae(t)?Es:Is)(t)})(t)})),setTables:Ss,setTable:(e,t)=>ss((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>Vt(e,t,s)?Ft(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,At(e),a=((e,t)=>{const[s]=re(je,e);let a;do{a=s(t)}while(H(re(De,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(Vt(e,t,s,1)){const a=At(e);se(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>y(wt(e,t,s,p(a)?a(ds(e,t,s)):a),(a=>zt(e,At(e),t,s,a)))),e,t,s),setValues:Is,setPartialValues:e=>ss((()=>St(e,1)?se(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>ss((e=>y(It(e,p(t)?t(fs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>ss((()=>{se(e[0],((e,t)=>m(e)?Ls(t):se(e,((e,s)=>m(e)?Js(t,s):se(e,((e,a)=>P(ks,t,s,a,e))))))),se(e[1],((e,t)=>k(ks,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{Mt(we(e))}catch{}return ks},setJson:e=>ss((()=>{try{const[t,s]=we(e);Lt(t),Mt(s)}catch{ms(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ss((()=>{ys(e),Rs(t)})),delTables:ps,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>y(re(De,e),(l=>y(re(l,t),(n=>H(n,s)?xt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>H(He,e)?Dt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[he(X,((e,t)=>-1===re(A,t)?void 0:he(e,((e,s)=>-1===re(re(Q,t),s)?void 0:he(e,(([,e])=>e),(e=>Fe(e)))),W,ae)),W,ae),he(Z,(([,e])=>e),(e=>Fe(e))),1],getTransactionLog:()=>[!W(X),!W(Z),ge(X,Ee,Fe),ge(Ve),he(Z,Ee,Fe),he(Ie),he(A),fe(Q),ge(U),he(Y)],finishTransaction:Ps,forEachTable:e=>B(De,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(re(xe,S(e)),t),forEachRow:(e,t)=>B(re(De,S(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(re(re(De,S(e)),S(t)),s),forEachValue:e=>ie(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(ks,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ls])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),ks),delListener:e=>(gt(e),ks),getListenerStats:()=>({hasTables:Le(We),tables:Le($e),tableIds:Le(qe),hasTable:Le(Be),table:Le(Ge),tableCellIds:Le(Ke),hasTableCell:Le(Qe,x),rowCount:Le(Ue),rowIds:Le(Xe),sortedRowIds:Le(Ye),hasRow:Le(Ze,x),row:Le(_e,x),cellIds:Le(et,x),hasCell:Le(tt,D),cell:Le(st,D),invalidCell:Le(at,D),hasValues:Le(nt),values:Le(ot),valueIds:Le(rt),hasValue:Le(it),value:Le(ct),invalidValue:Le(lt),transaction:j(dt)+Le(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return se({[i+u]:[0,We,[],()=>[gs()]],[u]:[0,$e],[h]:[0,qe],[i+d]:[1,Be,[ls],e=>[Ts(...e)]],[d]:[1,Ge,[ls]],[d+v]:[1,Ke,[ls]],[i+d+b]:[2,Qe,[ls,ns],e=>[bs(...e)]],[g]:[1,Ue,[ls]],[T]:[1,Xe,[ls]],[i+f]:[2,Ze,[ls,rs],e=>[vs(...e)]],[f]:[2,_e,[ls,rs]],[v]:[2,et,[ls,rs]],[i+b]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[b]:[3,st,[ls,rs,cs],e=>pe(ds(...e))],InvalidCell:[3,at],[i+V]:[0,nt,[],()=>[Vs()]],[V]:[0,ot],[w]:[0,rt],[i+C]:[1,it,[hs],e=>[ws(...e)]],[C]:[1,ct,[hs],e=>pe(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{ks["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),_(ks)};export{ze as createStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==a,p=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=Object,P=e=>M.getPrototypeOf(e),k=M.entries,A=M.isFrozen,N=e=>!m(e)&&y(P(e),(e=>e==M.prototype||m(P(e))),(()=>!0)),j=M.keys,x=M.freeze,D=(e,t)=>t in e,H=(e,t)=>(delete e[t],e),W=(e,t)=>((e=[])=>M.fromEntries(e))(((e,t)=>O(k(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),$=e=>N(e)&&0==(e=>E(j(e)))(e),q=(e,t,s,a=0)=>m(e)||!N(e)||!a&&$(e)||A(e)?(s?.(),!1):(((e,t)=>{F(k(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||H(e,a)})),!!a||!$(e)),B=e=>t=>{return s=(t,s)=>t+e(s),Z(t).reduce(s,0);var s},G=e=>e?.size??0,K=B(G),Q=B(K),U=B(Q),X=(e,t)=>e?.has(t)??!1,Y=e=>m(e)||0==G(e),Z=e=>[...e?.values()??[]],_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ae=e=>[...e?.keys()??[]],le=(e,t)=>e?.get(t),ne=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>m(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s,a)=>(X(e,t)?a?.(le(e,t)):oe(e,t,s()),le(e,t)),ie=(e,t,s,a=oe)=>(W(t,((t,a)=>s(e,a,t))),ne(e,(s=>D(t,s)?0:a(e,s))),e),ce=(e,t,s,a)=>{const l={};return ee(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},de=(e,t,s)=>ce(e,(e=>ce(e,t,s)),Y,$),ue=(e,t,s)=>ce(e,(e=>de(e,t,s)),Y,$),he=(e,t)=>{const s=se();return ee(e,((e,a)=>s.set(a,t?.(e)??e))),s},fe=e=>he(e,he),ge=e=>he(e,fe),Te=(e,t,s,a,l=0)=>y((s?re:le)(e,t[l],l>E(t)-2?s:se),(n=>{if(l>E(t)-2)return a?.(n)&&oe(e,t[l]),n;const o=Te(n,t,s,a,l+1);return Y(n)&&oe(e,t[l]),o})),be=e=>new Set(L(e)||m(e)?e:[e]),ve=(e,t)=>e?.add(t),Ce=/^\d+$/,Ve=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ce.test(t)&&E(e)<1e3&&z(e,t)}]},we=e=>[e,e],Se=(e,t=K)=>t(e[0])+t(e[1]),Ie=()=>[se(),se()],me=e=>[...e],ye=([e,t])=>e===t,Re=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},pe=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),Le=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Je=JSON.stringify,Ee=JSON.parse,Fe=e=>Je(e,((e,t)=>t instanceof Map?M.fromEntries([...t]):t)),Oe=(e,t,s)=>oe(e,t,le(e,t)==-s?void 0:s),ze=()=>{let e,s,a=!1,n=!1,c=0,I=[];const M=se(),P=se(),k=se(),A=se(),N=se(),j=se(),B=se(),Z=se(),Ce=se(),Je=se(),Me=se(),Pe=se(),ke=se(),Ae=se(),Ne=be(),je=se(),xe=se(),De=se(),He=se(),We=Ie(),$e=Ie(),qe=Ie(),Be=Ie(),Ge=Ie(),Ke=Ie(),Qe=Ie(),Ue=Ie(),Xe=Ie(),Ye=Ie(),Ze=Ie(),_e=Ie(),et=Ie(),tt=Ie(),st=Ie(),at=Ie(),lt=Ie(),nt=Ie(),ot=Ie(),rt=Ie(),it=Ie(),ct=Ie(),dt=se(),ut=Ie(),[ht,ft,gt,Tt]=(()=>{let e;const[s,a]=Ve(),l=se();return[(a,n,o,r=[],i=()=>[])=>{e??=ks;const c=s(1);return oe(l,c,[a,n,o,r,i]),ve(Te(n,o??[t],be),c),c},(s,a,...n)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?ee(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(le(e,s),t+1)));return l(e,0),a})(s,a),(t=>ee(t,(t=>le(l,t)[0](e,...a??[],...n))))),e=>y(le(l,e),(([,s,n])=>(Te(s,n??[t],void 0,(t=>(te(t,e),Y(t)?1:0))),oe(l,e),a(e),n))),t=>y(le(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!q(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(Re(e[r])!=t&&H(e,r),0))},vt=L,Ct=(t,s)=>(!e||X(Me,s)||Kt(s))&&q(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>q(a?s:mt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),wt=(t,s,a,l)=>e?y(le(le(Me,t),a),(e=>Re(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):m(Re(l))?Kt(t,s,a,l):l,St=(e,t)=>q(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),It=(e,t)=>s?y(le(ke,e),(s=>Re(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):m(Re(t))?Qt(e,t):t,mt=(e,t,s)=>(y(le(Pe,t),(([a,l])=>{ee(a,((t,s)=>{D(e,s)||(e[s]=t)})),ee(l,(a=>{D(e,a)||Kt(t,s,a)}))})),e),yt=e=>(s&&(ee(Ae,((t,s)=>{D(e,s)||(e[s]=t)})),ee(Ne,(t=>{D(e,t)||Qt(t)}))),e),Rt=e=>ie(Me,e,((e,t,s)=>{const a=se(),l=be();ie(re(Me,t,se),s,((e,t,s)=>{oe(e,t,s),y(s[r],(e=>oe(a,t,e)),(()=>ve(l,t)))})),oe(Pe,t,[a,l])}),((e,t)=>{oe(Me,t),oe(Pe,t)})),pt=e=>ie(ke,e,((e,t,s)=>{oe(ke,t,s),y(s[r],(e=>oe(Ae,t,e)),(()=>ve(Ne,t)))}),((e,t)=>{oe(ke,t),oe(Ae,t),te(Ne,t)})),Lt=e=>$(e)?ps():Ss(e),Jt=e=>ie(De,e,((e,t,s)=>Et(t,s)),((e,t)=>Nt(t))),Et=(e,t)=>ie(re(De,e,(()=>(Ht(e,1),oe(je,e,Ve()),oe(xe,e,se()),se()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>jt(e,t,s))),Ft=(e,t,s,a,l)=>ie(re(t,s,(()=>(Wt(e,s,1),se()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>xt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{X(s,a)||$t(e,t,a,1);const n=le(s,a);l!==n&&(qt(e,t,a,n,l),oe(s,a,l))},zt=(e,t,s,a,l)=>y(le(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,mt({[a]:l},e,s)))),Mt=e=>$(e)?Es():Is(e),Pt=e=>ie(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Dt(t))),kt=(e,t)=>{X(He,e)||Bt(e,1);const s=le(He,e);t!==s&&(Gt(e,s,t),oe(He,e,t))},At=e=>le(De,e)??Et(e,{}),Nt=e=>Et(e,{}),jt=(e,t,s)=>{const[,a]=le(je,e);a(s),Ft(e,t,s,{},!0)},xt=(e,t,s,a,l,n)=>{const o=le(le(Pe,e)?.[0],l);if(!m(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,le(a,t)),$t(e,s,t,-1),oe(a,t)};m(o)?r(l):ne(a,r),Y(a)&&(Wt(e,s,-1),Y(oe(t,s))&&(Ht(e,-1),oe(De,e),oe(je,e),oe(xe,e)))},Dt=e=>{const t=le(Ae,e);if(!m(t))return kt(e,t);Gt(e,le(He,e)),Bt(e,-1),oe(He,e)},Ht=(e,t)=>Oe(M,e,t),Wt=(e,t,s)=>Oe(re(A,e,se),t,s)&&oe(k,e,re(k,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=le(xe,e),n=le(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Oe(re(P,e,se),s,a),oe(l,s,n!=-a?n+a:null),Oe(re(re(N,e,se),t,se),s,a)},qt=(e,t,s,a,l)=>{re(re(re(j,e,se),t,se),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Oe(B,e,t),Gt=(e,t,s)=>{re(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(re(re(re(Ce,e,se),t,se),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(re(Je,e,(()=>[])),t),s),Ut=(e,t,s)=>y(le(le(le(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...we(ds(e,t,s))])),Xt=e=>y(le(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...we(fs(e))])),Yt=e=>Y(Ce)||Y(at[e])?0:ee(e?ge(Ce):Ce,((t,s)=>ee(t,((t,a)=>ee(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>Y(Je)||Y(lt[e])?0:ee(e?he(Je):Je,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!Y(e))return ft(t,a,(()=>ce(e))),ne(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(We[e],void 0,t);const s=Y(Ye[e]),l=Y(et[e])&&Y(tt[e])&&Y(Xe[e])&&Y(Ze[e])&&Y(Ke[e])&&Y(Qe[e])&&Y(Ue[e])&&s&&Y(qe[e])&&Y(Be[e]),n=Y(st[e])&&Y(_e[e])&&Y(Ge[e])&&Y($e[e]);if(!l||!n){const t=e?[he(M),fe(P),he(k),fe(A),ge(N),ge(j)]:[M,P,k,A,N,j];if(!l){_t(t[0],qe[e],Be[e]),ee(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),ee(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=be();ee(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),ve(a,l))})),s||ee(t[5],((t,s)=>{if(!X(a,s)){const a=be();ee(t,(e=>ee(e,(([t,s],l)=>s!==t?ve(a,l):te(e,l))))),ee(a,(t=>ft(Ye[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;ee(t[5],((t,a)=>{let l;ee(t,((t,n)=>{let o;ee(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Ut),s=l=o=1)})),o&&ft(_e[e],[a,n],Ut)})),l&&ft(Ge[e],[a],Ut)})),s&&ft($e[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=n&&ft(nt[e],void 0,t);const s=Y(rt[e])&&Y(it[e]),a=Y(ct[e])&&Y(ot[e]);if(!s||!a){const t=e?[he(B),he(Z)]:[B,Z];if(s||_t(t[0],rt[e],it[e]),!a){let s;ee(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Xt),s=1)})),s&&ft(ot[e],void 0,Xt)}}},ss=(e,...t)=>(zs((()=>e(...O(t,S)))),ks),as=()=>ue(De),ls=()=>ae(De),ns=e=>ae(le(xe,S(e))),os=e=>G(le(De,S(e))),rs=e=>ae(le(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=le(De,S(e)),r=(e,s)=>[m(t)?s:le(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>ae(le(le(De,S(e)),S(t))),ds=(e,t,s)=>le(le(le(De,S(e)),S(t)),S(s)),us=()=>ce(He),hs=()=>ae(He),fs=e=>le(He,S(e)),gs=()=>!Y(De),Ts=e=>X(De,S(e)),bs=(e,t)=>X(le(xe,S(e)),S(t)),vs=(e,t)=>X(le(De,S(e)),S(t)),Cs=(e,t,s)=>X(le(le(De,S(e)),S(t)),S(s)),Vs=()=>!Y(He),ws=e=>X(He,S(e)),Ss=e=>ss((()=>(e=>q(e,Ct,Kt))(e)?Jt(e):0)),Is=e=>ss((()=>St(e)?Pt(e):0)),ms=e=>{try{Lt(Ee(e))}catch{}return ks},ys=t=>ss((()=>{if((e=q(t,(e=>q(e,bt))))&&(Rt(t),!Y(De))){const e=as();ps(),Ss(e)}})),Rs=e=>ss((()=>{if(s=(e=>q(e,bt))(e)){const t=us();Os(),Es(),s=!0,pt(e),Is(t)}})),ps=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>X(De,e)?Nt(e):0),e),Js=(e,t)=>ss(((e,t)=>y(le(De,e),(s=>X(s,t)?jt(e,s,t):0))),e,t),Es=()=>ss((()=>Pt({}))),Fs=()=>ss((()=>{Rt({}),e=!1})),Os=()=>ss((()=>{pt({}),s=!1})),zs=(e,t)=>{if(-1!=c){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=c&&c++,1==c&&(I[0]?.(),ft(dt)),ks),Ps=e=>(c>0&&(c--,0==c&&(c=1,Yt(1),Y(j)||es(1),Zt(1),Y(Z)||ts(1),e?.(ks)&&(ee(j,((e,t)=>ee(e,((e,s)=>ee(e,(([e],a)=>pe(ks,t,s,a,e))))))),_(j),ee(Z,(([e],t)=>Le(ks,t,e))),_(Z)),ft(ut[0],void 0),c=-1,Yt(0),Y(j)||es(0),Zt(0),Y(Z)||ts(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),c=0,a=gs(),n=Vs(),F([M,P,k,A,N,j,Ce,B,Z,Je],_))),ks),ks={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>de(le(De,S(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>ce(le(le(De,S(e)),S(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:ws,getTablesJson:()=>Fe(De),getValuesJson:()=>Fe(He),getJson:()=>Fe([De,He]),getTablesSchemaJson:()=>Fe(Me),getValuesSchemaJson:()=>Fe(ke),getSchemaJson:()=>Fe([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ss((()=>{const t=p(e)?e():e;vt(t)&&(([e,t])=>{($(e)?ps:Ss)(e),($(t)?Es:Is)(t)})(t)})),setTables:Ss,setTable:(e,t)=>ss((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>Vt(e,t,s)?Ft(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,At(e),a=((e,t)=>{const[s]=le(je,e);let a;do{a=s(t)}while(X(le(De,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(Vt(e,t,s,1)){const a=At(e);W(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>y(wt(e,t,s,p(a)?a(ds(e,t,s)):a),(a=>zt(e,At(e),t,s,a)))),e,t,s),setValues:Is,setPartialValues:e=>ss((()=>St(e,1)?W(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>ss((e=>y(It(e,p(t)?t(fs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>ss((()=>{W(e[0],((e,t)=>m(e)?Ls(t):W(e,((e,s)=>m(e)?Js(t,s):W(e,((e,a)=>pe(ks,t,s,a,e))))))),W(e[1],((e,t)=>Le(ks,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{Mt(Ee(e))}catch{}return ks},setJson:e=>ss((()=>{try{const[t,s]=Ee(e);Lt(t),Mt(s)}catch{ms(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ss((()=>{ys(e),Rs(t)})),delTables:ps,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>y(le(De,e),(l=>y(le(l,t),(n=>X(n,s)?xt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>X(He,e)?Dt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[ce(j,((e,t)=>-1===le(M,t)?void 0:ce(e,((e,s)=>-1===le(le(A,t),s)?void 0:ce(e,(([,e])=>e),(e=>ye(e)))),Y,$)),Y,$),ce(Z,(([,e])=>e),(e=>ye(e))),1],getTransactionLog:()=>[!Y(j),!Y(Z),ue(j,me,ye),ue(Ce),ce(Z,me,ye),ce(Je),ce(M),de(A),ue(N),ce(B)],finishTransaction:Ps,forEachTable:e=>ee(De,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>ne(t,e))))))))),forEachTableCell:(e,t)=>ne(le(xe,S(e)),t),forEachRow:(e,t)=>ee(le(De,S(e)),((e,s)=>t(s,(t=>ne(e,t))))),forEachCell:(e,t,s)=>ne(le(le(De,S(e)),S(t)),s),forEachValue:e=>ne(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(ks,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ls])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),ks),delListener:e=>(gt(e),ks),getListenerStats:()=>({hasTables:Se(We),tables:Se($e),tableIds:Se(qe),hasTable:Se(Be),table:Se(Ge),tableCellIds:Se(Ke),hasTableCell:Se(Qe,Q),rowCount:Se(Ue),rowIds:Se(Xe),sortedRowIds:Se(Ye),hasRow:Se(Ze,Q),row:Se(_e,Q),cellIds:Se(et,Q),hasCell:Se(tt,U),cell:Se(st,U),invalidCell:Se(at,U),hasValues:Se(nt),values:Se(ot),valueIds:Se(rt),hasValue:Se(it),value:Se(ct),invalidValue:Se(lt),transaction:K(dt)+Se(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return W({[i+u]:[0,We,[],()=>[gs()]],[u]:[0,$e],[h]:[0,qe],[i+d]:[1,Be,[ls],e=>[Ts(...e)]],[d]:[1,Ge,[ls]],[d+v]:[1,Ke,[ls]],[i+d+b]:[2,Qe,[ls,ns],e=>[bs(...e)]],[g]:[1,Ue,[ls]],[T]:[1,Xe,[ls]],[i+f]:[2,Ze,[ls,rs],e=>[vs(...e)]],[f]:[2,_e,[ls,rs]],[v]:[2,et,[ls,rs]],[i+b]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[b]:[3,st,[ls,rs,cs],e=>we(ds(...e))],InvalidCell:[3,at],[i+V]:[0,nt,[],()=>[Vs()]],[V]:[0,ot],[w]:[0,rt],[i+C]:[1,it,[hs],e=>[ws(...e)]],[C]:[1,ct,[hs],e=>we(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{ks["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),x(ks)};export{ze as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==a,p=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},P=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),k=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),A=e=>t=>{return s=(t,s)=>t+e(s),$(t).reduce(s,0);var s},N=e=>e?.size??0,j=A(N),x=A(j),D=A(x),H=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==N(e),$=e=>[...e?.values()??[]],q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),K=Object,Q=e=>K.getPrototypeOf(e),U=K.entries,X=K.isFrozen,Y=e=>!m(e)&&y(Q(e),(e=>e==K.prototype||m(Q(e))),(()=>!0)),Z=K.keys,_=K.freeze,ee=(e,t)=>t in e,te=(e,t)=>(delete e[t],e),se=(e,t)=>((e=[])=>K.fromEntries(e))(((e,t)=>O(U(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ae=e=>Y(e)&&0==(e=>E(Z(e)))(e),le=(e,t,s,a=0)=>m(e)||!Y(e)||!a&&ae(e)||X(e)?(s?.(),!1):(((e,t)=>{F(U(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||te(e,a)})),!!a||!ae(e)),ne=e=>new Map(e),oe=e=>[...e?.keys()??[]],re=(e,t)=>e?.get(t),ie=(e,t)=>B(e,((e,s)=>t(s,e))),ce=(e,t,s)=>m(s)?(G(e,t),e):e?.set(t,s),de=(e,t,s,a)=>(H(e,t)?a?.(re(e,t)):ce(e,t,s()),re(e,t)),ue=(e,t,s,a=ce)=>(se(t,((t,a)=>s(e,a,t))),ie(e,(s=>ee(t,s)?0:a(e,s))),e),he=(e,t,s,a)=>{const l={};return B(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},fe=(e,t,s)=>he(e,(e=>he(e,t,s)),W,ae),ge=(e,t,s)=>he(e,(e=>fe(e,t,s)),W,ae),Te=(e,t)=>{const s=ne();return B(e,((e,a)=>s.set(a,t?.(e)??e))),s},be=e=>Te(e,Te),ve=e=>Te(e,be),Ce=(e,t,s,a,l=0)=>y((s?de:re)(e,t[l],l>E(t)-2?s:ne),(n=>{if(l>E(t)-2)return a?.(n)&&ce(e,t[l]),n;const o=Ce(n,t,s,a,l+1);return W(n)&&ce(e,t[l]),o})),Ve=JSON.stringify,we=JSON.parse,Se=e=>Ve(e,((e,t)=>t instanceof Map?K.fromEntries([...t]):t)),Ie=/^\d+$/,me=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ie.test(t)&&E(e)<1e3&&z(e,t)}]},ye=e=>new Set(L(e)||m(e)?e:[e]),Re=(e,t)=>e?.add(t),pe=e=>[e,e],Le=(e,t=j)=>t(e[0])+t(e[1]),Je=()=>[ne(),ne()],Ee=e=>[...e],Fe=([e,t])=>e===t,Oe=(e,t,s)=>ce(e,t,re(e,t)==-s?void 0:s),ze=()=>{let e,s,a=!1,n=!1,c=0,I=[];const A=ne(),$=ne(),K=ne(),Q=ne(),U=ne(),X=ne(),Y=ne(),Z=ne(),Ve=ne(),Ie=ne(),Me=ne(),Pe=ne(),ke=ne(),Ae=ne(),Ne=ye(),je=ne(),xe=ne(),De=ne(),He=ne(),We=Je(),$e=Je(),qe=Je(),Be=Je(),Ge=Je(),Ke=Je(),Qe=Je(),Ue=Je(),Xe=Je(),Ye=Je(),Ze=Je(),_e=Je(),et=Je(),tt=Je(),st=Je(),at=Je(),lt=Je(),nt=Je(),ot=Je(),rt=Je(),it=Je(),ct=Je(),dt=ne(),ut=Je(),[ht,ft,gt,Tt]=(()=>{let e;const[s,a]=me(),l=ne();return[(a,n,o,r=[],i=()=>[])=>{e??=ks;const c=s(1);return ce(l,c,[a,n,o,r,i]),Re(Ce(n,o??[t],ye),c),c},(s,a,...n)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?B(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(re(e,s),t+1)));return l(e,0),a})(s,a),(t=>B(t,(t=>re(l,t)[0](e,...a??[],...n))))),e=>y(re(l,e),(([,s,n])=>(Ce(s,n??[t],void 0,(t=>(G(t,e),W(t)?1:0))),ce(l,e),a(e),n))),t=>y(re(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!le(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(M(e[r])!=t&&te(e,r),0))},vt=L,Ct=(t,s)=>(!e||H(Me,s)||Kt(s))&&le(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>le(a?s:mt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),wt=(t,s,a,l)=>e?y(re(re(Me,t),a),(e=>M(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):m(M(l))?Kt(t,s,a,l):l,St=(e,t)=>le(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),It=(e,t)=>s?y(re(ke,e),(s=>M(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):m(M(t))?Qt(e,t):t,mt=(e,t,s)=>(y(re(Pe,t),(([a,l])=>{B(a,((t,s)=>{ee(e,s)||(e[s]=t)})),B(l,(a=>{ee(e,a)||Kt(t,s,a)}))})),e),yt=e=>(s&&(B(Ae,((t,s)=>{ee(e,s)||(e[s]=t)})),B(Ne,(t=>{ee(e,t)||Qt(t)}))),e),Rt=e=>ue(Me,e,((e,t,s)=>{const a=ne(),l=ye();ue(de(Me,t,ne),s,((e,t,s)=>{ce(e,t,s),y(s[r],(e=>ce(a,t,e)),(()=>Re(l,t)))})),ce(Pe,t,[a,l])}),((e,t)=>{ce(Me,t),ce(Pe,t)})),pt=e=>ue(ke,e,((e,t,s)=>{ce(ke,t,s),y(s[r],(e=>ce(Ae,t,e)),(()=>Re(Ne,t)))}),((e,t)=>{ce(ke,t),ce(Ae,t),G(Ne,t)})),Lt=e=>ae(e)?ps():Ss(e),Jt=e=>ue(De,e,((e,t,s)=>Et(t,s)),((e,t)=>Nt(t))),Et=(e,t)=>ue(de(De,e,(()=>(Ht(e,1),ce(je,e,me()),ce(xe,e,ne()),ne()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>jt(e,t,s))),Ft=(e,t,s,a,l)=>ue(de(t,s,(()=>(Wt(e,s,1),ne()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>xt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{H(s,a)||$t(e,t,a,1);const n=re(s,a);l!==n&&(qt(e,t,a,n,l),ce(s,a,l))},zt=(e,t,s,a,l)=>y(re(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,mt({[a]:l},e,s)))),Mt=e=>ae(e)?Es():Is(e),Pt=e=>ue(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Dt(t))),kt=(e,t)=>{H(He,e)||Bt(e,1);const s=re(He,e);t!==s&&(Gt(e,s,t),ce(He,e,t))},At=e=>re(De,e)??Et(e,{}),Nt=e=>Et(e,{}),jt=(e,t,s)=>{const[,a]=re(je,e);a(s),Ft(e,t,s,{},!0)},xt=(e,t,s,a,l,n)=>{const o=re(re(Pe,e)?.[0],l);if(!m(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,re(a,t)),$t(e,s,t,-1),ce(a,t)};m(o)?r(l):ie(a,r),W(a)&&(Wt(e,s,-1),W(ce(t,s))&&(Ht(e,-1),ce(De,e),ce(je,e),ce(xe,e)))},Dt=e=>{const t=re(Ae,e);if(!m(t))return kt(e,t);Gt(e,re(He,e)),Bt(e,-1),ce(He,e)},Ht=(e,t)=>Oe(A,e,t),Wt=(e,t,s)=>Oe(de(Q,e,ne),t,s)&&ce(K,e,de(K,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=re(xe,e),n=re(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Oe(de($,e,ne),s,a),ce(l,s,n!=-a?n+a:null),Oe(de(de(U,e,ne),t,ne),s,a)},qt=(e,t,s,a,l)=>{de(de(de(X,e,ne),t,ne),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Oe(Y,e,t),Gt=(e,t,s)=>{de(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(de(de(de(Ve,e,ne),t,ne),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(de(Ie,e,(()=>[])),t),s),Ut=(e,t,s)=>y(re(re(re(X,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(ds(e,t,s))])),Xt=e=>y(re(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(fs(e))])),Yt=e=>W(Ve)||W(at[e])?0:B(e?ve(Ve):Ve,((t,s)=>B(t,((t,a)=>B(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>W(Ie)||W(lt[e])?0:B(e?Te(Ie):Ie,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!W(e))return ft(t,a,(()=>he(e))),ie(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(We[e],void 0,t);const s=W(Ye[e]),l=W(et[e])&&W(tt[e])&&W(Xe[e])&&W(Ze[e])&&W(Ke[e])&&W(Qe[e])&&W(Ue[e])&&s&&W(qe[e])&&W(Be[e]),n=W(st[e])&&W(_e[e])&&W(Ge[e])&&W($e[e]);if(!l||!n){const t=e?[Te(A),be($),Te(K),be(Q),ve(U),ve(X)]:[A,$,K,Q,U,X];if(!l){_t(t[0],qe[e],Be[e]),B(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),B(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=ye();B(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),Re(a,l))})),s||B(t[5],((t,s)=>{if(!H(a,s)){const a=ye();B(t,(e=>B(e,(([t,s],l)=>s!==t?Re(a,l):G(e,l))))),B(a,(t=>ft(Ye[e],[s,t])))}})),B(t[4],((t,s)=>B(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;B(t[5],((t,a)=>{let l;B(t,((t,n)=>{let o;B(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Ut),s=l=o=1)})),o&&ft(_e[e],[a,n],Ut)})),l&&ft(Ge[e],[a],Ut)})),s&&ft($e[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=n&&ft(nt[e],void 0,t);const s=W(rt[e])&&W(it[e]),a=W(ct[e])&&W(ot[e]);if(!s||!a){const t=e?[Te(Y),Te(Z)]:[Y,Z];if(s||_t(t[0],rt[e],it[e]),!a){let s;B(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Xt),s=1)})),s&&ft(ot[e],void 0,Xt)}}},ss=(e,...t)=>(zs((()=>e(...O(t,S)))),ks),as=()=>ge(De),ls=()=>oe(De),ns=e=>oe(re(xe,S(e))),os=e=>N(re(De,S(e))),rs=e=>oe(re(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=re(De,S(e)),r=(e,s)=>[m(t)?s:re(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>oe(re(re(De,S(e)),S(t))),ds=(e,t,s)=>re(re(re(De,S(e)),S(t)),S(s)),us=()=>he(He),hs=()=>oe(He),fs=e=>re(He,S(e)),gs=()=>!W(De),Ts=e=>H(De,S(e)),bs=(e,t)=>H(re(xe,S(e)),S(t)),vs=(e,t)=>H(re(De,S(e)),S(t)),Cs=(e,t,s)=>H(re(re(De,S(e)),S(t)),S(s)),Vs=()=>!W(He),ws=e=>H(He,S(e)),Ss=e=>ss((()=>(e=>le(e,Ct,Kt))(e)?Jt(e):0)),Is=e=>ss((()=>St(e)?Pt(e):0)),ms=e=>{try{Lt(we(e))}catch{}return ks},ys=t=>ss((()=>{if((e=le(t,(e=>le(e,bt))))&&(Rt(t),!W(De))){const e=as();ps(),Ss(e)}})),Rs=e=>ss((()=>{if(s=(e=>le(e,bt))(e)){const t=us();Os(),Es(),s=!0,pt(e),Is(t)}})),ps=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>H(De,e)?Nt(e):0),e),Js=(e,t)=>ss(((e,t)=>y(re(De,e),(s=>H(s,t)?jt(e,s,t):0))),e,t),Es=()=>ss((()=>Pt({}))),Fs=()=>ss((()=>{Rt({}),e=!1})),Os=()=>ss((()=>{pt({}),s=!1})),zs=(e,t)=>{if(-1!=c){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=c&&c++,1==c&&(I[0]?.(),ft(dt)),ks),Ps=e=>(c>0&&(c--,0==c&&(c=1,Yt(1),W(X)||es(1),Zt(1),W(Z)||ts(1),e?.(ks)&&(B(X,((e,t)=>B(e,((e,s)=>B(e,(([e],a)=>P(ks,t,s,a,e))))))),q(X),B(Z,(([e],t)=>k(ks,t,e))),q(Z)),ft(ut[0],void 0),c=-1,Yt(0),W(X)||es(0),Zt(0),W(Z)||ts(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),c=0,a=gs(),n=Vs(),F([A,$,K,Q,U,X,Ve,Y,Z,Ie],q))),ks),ks={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>fe(re(De,S(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>he(re(re(De,S(e)),S(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:ws,getTablesJson:()=>Se(De),getValuesJson:()=>Se(He),getJson:()=>Se([De,He]),getTablesSchemaJson:()=>Se(Me),getValuesSchemaJson:()=>Se(ke),getSchemaJson:()=>Se([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ss((()=>{const t=p(e)?e():e;vt(t)&&(([e,t])=>{(ae(e)?ps:Ss)(e),(ae(t)?Es:Is)(t)})(t)})),setTables:Ss,setTable:(e,t)=>ss((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>Vt(e,t,s)?Ft(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,At(e),a=((e,t)=>{const[s]=re(je,e);let a;do{a=s(t)}while(H(re(De,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(Vt(e,t,s,1)){const a=At(e);se(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>y(wt(e,t,s,p(a)?a(ds(e,t,s)):a),(a=>zt(e,At(e),t,s,a)))),e,t,s),setValues:Is,setPartialValues:e=>ss((()=>St(e,1)?se(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>ss((e=>y(It(e,p(t)?t(fs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>ss((()=>{se(e[0],((e,t)=>m(e)?Ls(t):se(e,((e,s)=>m(e)?Js(t,s):se(e,((e,a)=>P(ks,t,s,a,e))))))),se(e[1],((e,t)=>k(ks,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{Mt(we(e))}catch{}return ks},setJson:e=>ss((()=>{try{const[t,s]=we(e);Lt(t),Mt(s)}catch{ms(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ss((()=>{ys(e),Rs(t)})),delTables:ps,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>y(re(De,e),(l=>y(re(l,t),(n=>H(n,s)?xt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>H(He,e)?Dt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[he(X,((e,t)=>-1===re(A,t)?void 0:he(e,((e,s)=>-1===re(re(Q,t),s)?void 0:he(e,(([,e])=>e),(e=>Fe(e)))),W,ae)),W,ae),he(Z,(([,e])=>e),(e=>Fe(e))),1],getTransactionLog:()=>[!W(X),!W(Z),ge(X,Ee,Fe),ge(Ve),he(Z,Ee,Fe),he(Ie),he(A),fe(Q),ge(U),he(Y)],finishTransaction:Ps,forEachTable:e=>B(De,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(re(xe,S(e)),t),forEachRow:(e,t)=>B(re(De,S(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(re(re(De,S(e)),S(t)),s),forEachValue:e=>ie(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(ks,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ls])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),ks),delListener:e=>(gt(e),ks),getListenerStats:()=>({hasTables:Le(We),tables:Le($e),tableIds:Le(qe),hasTable:Le(Be),table:Le(Ge),tableCellIds:Le(Ke),hasTableCell:Le(Qe,x),rowCount:Le(Ue),rowIds:Le(Xe),sortedRowIds:Le(Ye),hasRow:Le(Ze,x),row:Le(_e,x),cellIds:Le(et,x),hasCell:Le(tt,D),cell:Le(st,D),invalidCell:Le(at,D),hasValues:Le(nt),values:Le(ot),valueIds:Le(rt),hasValue:Le(it),value:Le(ct),invalidValue:Le(lt),transaction:j(dt)+Le(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return se({[i+u]:[0,We,[],()=>[gs()]],[u]:[0,$e],[h]:[0,qe],[i+d]:[1,Be,[ls],e=>[Ts(...e)]],[d]:[1,Ge,[ls]],[d+v]:[1,Ke,[ls]],[i+d+b]:[2,Qe,[ls,ns],e=>[bs(...e)]],[g]:[1,Ue,[ls]],[T]:[1,Xe,[ls]],[i+f]:[2,Ze,[ls,rs],e=>[vs(...e)]],[f]:[2,_e,[ls,rs]],[v]:[2,et,[ls,rs]],[i+b]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[b]:[3,st,[ls,rs,cs],e=>pe(ds(...e))],InvalidCell:[3,at],[i+V]:[0,nt,[],()=>[Vs()]],[V]:[0,ot],[w]:[0,rt],[i+C]:[1,it,[hs],e=>[ws(...e)]],[C]:[1,ct,[hs],e=>pe(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{ks["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),_(ks)};export{ze as createStore};
Binary file
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),l=t=>t.length,c=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),y=t=>t.shift(),d=Object,f=t=>d.getPrototypeOf(t),h=d.entries,p=d.keys,w=d.freeze,v=(t,e)=>g(h(t),(([t,a])=>e(a,t))),b=t=>(t=>!o(t)&&r(f(t),(t=>t==d.prototype||o(f(t))),(()=>!0)))(t)&&0==(t=>l(p(t)))(t),C=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),M=t=>o(t)||0==(t=>t?.size??0)(t),S=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),D=t=>new Map(t),L=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(A(t,e),t):t?.set(e,a),T=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):H(t,e,a()),L(t,e)},m=(t,e,a,n,s=0)=>r((a?T:L)(t,e[s],s>l(e)-2?a:D),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=m(o,e,a,n,s+1);return M(o)&&H(t,e[s]),r})),G=(t,e)=>e?[t,e]:[t],R=(t,e)=>((t??"")>(e??"")?t:e)??"",E=(t="")=>G(((t=[])=>d.fromEntries(t))(),t),V=t=>new Set(i(t)||o(t)?t:[t]),z=/^\d+$/,P=D(),O=D(),$=(t,e,a,n,s,d,f,h={},p=0,v=[])=>{let C,G,R,E=0,$=0,j=0;T(P,v,(()=>0)),T(O,v,(()=>[]));const k=D(),[x,F,N,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!b(t)||!b(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!b(t)||!b(e),e.setContent]:c("Store type not supported by this Persister"))(f,t,p),[B,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?y(t):null)??""+e++,e=>{z.test(e)&&l(t)<1e3&&u(t,e)}]})(),n=D();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const l=e(1);var c,g;return H(n,l,[a,s,o,r,i]),c=m(s,o??[""],V),g=l,c?.add(g),l},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?u(a,t):null===e[s]?S(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>S(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(m(e,s??[""],void 0,(e=>(A(e,t),M(e)?1:0))),H(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):o(a[c])?g(n[c]?.(...i)??[],(t=>r(...i,t))):r(...i,a[c])};r()}))]})(),K=t=>{t!=E&&(E=t,I(k,void 0,E))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=E&&(K(1),$++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):c("Content is not an array: "+a)}catch(e){d?.(e),t&&q(t)}K(0)}))),tt),X=()=>(G&&(s(G),G=void 0),tt),Y=async t=>(1!=E&&(K(2),j++,await _((async()=>{try{await a(F,t)}catch(t){d?.(t)}K(0)}))),tt),Z=()=>(R&&(t.delListener(R),R=void 0),tt),_=async(...t)=>(u(L(O,v),...t),await(async()=>{if(!L(P,v)){for(H(P,v,1);!o(C=y(L(O,v)));)try{await C()}catch(t){d?.(t)}H(P,v,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{G=await n((async(t,e)=>{e||t?2!=E&&(K(1),$++,Q(e??t),K(0)):await W()}))}catch(t){d?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(G),save:Y,startAutoSave:async()=>(Z(),await Y(),R=t.addDidFinishTransactionListener((()=>{const t=N();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(R),getStatus:()=>E,addStatusListener:t=>B(t,k),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(O,v).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:$,saves:j}),...h};return w(tt)},j=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),x=(t=16)=>{return e=(t,e)=>t+j[63&e],k(new Uint8Array(t)).reduce(e,"");var e},F={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},N=(t,a,n,s,i,l,c,g,u={})=>{let y,d=0,f=0,h=0;const p=D(),w=()=>x(11),M=(t,e,n,s)=>{f++,l?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+x(4),l=((t,e=0)=>setTimeout(t,1e3*e))((()=>{A(p,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(p,r,[t,(t,a)=>{clearTimeout(l),A(p,r),e([t,a,s])}]),M(t,r,a,n)})),T=(t,[e,a])=>{v(e,(([e,a],n)=>{const s=C(t[0],n,E);v(e,(([t,e],a)=>{const n=C(s[0],a,E);v(t,(([t,e],a)=>n[0][a]=G(t,e))),n[1]=R(n[1],e)})),s[1]=R(s[1],a)})),t[1]=R(t[1],a)},m=async(e=null,a,n=w())=>{try{o(a)&&([a,e,n]=await S(null,1,"",n));const[s,r]=a,[i,l]=t.getMergeableContentHashes();let c=E();if(i!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!b(s)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!b(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,l==r?E():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},V=$(t,(async()=>{const t=await m();return!t||b(t[0][0])&&b(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,w(),3,a):M(null,w(),2,t.getMergeableContentHashes())),(t=>y=t),(()=>y=void 0),g,2,{startSync:async t=>(d=1,await(await V.startAutoLoad(t)).startAutoSave()),stopSync:()=>(d=0,V.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),V.stopSync()),getSynchronizerStats:()=>({sends:f,receives:h}),...u},1);return n(((e,a,n,s)=>{const i=d||V.isAutoLoading();h++,c?.(e,a,n,s),0==n?r(L(p,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?m(e,s,a??void 0).then((t=>{y?.(void 0,t)})).catch(g):3==n&&i?y?.(void 0,s):r(1==n&&(d||V.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{M(e,a,0,t)}))})),V};export{F as Message,N as createCustomSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),l=t=>t.length,c=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),y=t=>t.shift(),d=t=>o(t)||0==(t=>t?.size??0)(t),f=(t,e)=>t?.forEach(e),h=(t,e)=>t?.delete(e),p=Object,w=t=>p.getPrototypeOf(t),v=p.entries,b=p.keys,C=p.freeze,M=(t,e)=>g(v(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(w(t),(t=>t==p.prototype||o(w(t))),(()=>!0)))(t)&&0==(t=>l(b(t)))(t),A=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),D=t=>new Map(t),L=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(h(t,e),t):t?.set(e,a),T=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):H(t,e,a()),L(t,e)},m=(t,e,a,n,s=0)=>r((a?T:L)(t,e[s],s>l(e)-2?a:D),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=m(o,e,a,n,s+1);return d(o)&&H(t,e[s]),r})),G=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),R=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),E=(t=16)=>{return e=(t,e)=>t+G[63&e],R(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],z=(t,e)=>((t??"")>(e??"")?t:e)??"",P=(t="")=>V(((t=[])=>p.fromEntries(t))(),t),O=/^\d+$/,$=t=>new Set(i(t)||o(t)?t:[t]),j=D(),k=D(),x=(t,e,a,n,s,p,w,v={},b=0,M=[])=>{let A,G,R,E=0,V=0,z=0;T(j,M,(()=>0)),T(k,M,(()=>[]));const P=D(),[x,F,N,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:c("Store type not supported by this Persister"))(w,t,b),[B,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?y(t):null)??""+e++,e=>{O.test(e)&&l(t)<1e3&&u(t,e)}]})(),n=D();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const l=e(1);var c,g;return H(n,l,[a,s,o,r,i]),c=m(s,o??[""],$),g=l,c?.add(g),l},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?u(a,t):null===e[s]?f(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>f(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(m(e,s??[""],void 0,(e=>(h(e,t),d(e)?1:0))),H(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):o(a[c])?g(n[c]?.(...i)??[],(t=>r(...i,t))):r(...i,a[c])};r()}))]})(),K=t=>{t!=E&&(E=t,I(P,void 0,E))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=E&&(K(1),V++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):c("Content is not an array: "+a)}catch(e){p?.(e),t&&q(t)}K(0)}))),tt),X=()=>(G&&(s(G),G=void 0),tt),Y=async t=>(1!=E&&(K(2),z++,await _((async()=>{try{await a(F,t)}catch(t){p?.(t)}K(0)}))),tt),Z=()=>(R&&(t.delListener(R),R=void 0),tt),_=async(...t)=>(u(L(k,M),...t),await(async()=>{if(!L(j,M)){for(H(j,M,1);!o(A=y(L(k,M)));)try{await A()}catch(t){p?.(t)}H(j,M,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{G=await n((async(t,e)=>{e||t?2!=E&&(K(1),V++,Q(e??t),K(0)):await W()}))}catch(t){p?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(G),save:Y,startAutoSave:async()=>(Z(),await Y(),R=t.addDidFinishTransactionListener((()=>{const t=N();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(R),getStatus:()=>E,addStatusListener:t=>B(t,P),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(k,M).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:V,saves:z}),...v};return C(tt)},F={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},N=(t,a,n,s,i,l,c,g,u={})=>{let y,d=0,f=0,p=0;const w=D(),v=()=>E(11),b=(t,e,n,s)=>{f++,l?.(t,e,n,s),a(t,e,n,s)},C=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+E(4),l=((t,e=0)=>setTimeout(t,1e3*e))((()=>{h(w,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(w,r,[t,(t,a)=>{clearTimeout(l),h(w,r),e([t,a,s])}]),b(t,r,a,n)})),T=(t,[e,a])=>{M(e,(([e,a],n)=>{const s=A(t[0],n,P);M(e,(([t,e],a)=>{const n=A(s[0],a,P);M(t,(([t,e],a)=>n[0][a]=V(t,e))),n[1]=z(n[1],e)})),s[1]=z(s[1],a)})),t[1]=z(t[1],a)},m=async(e=null,a,n=v())=>{try{o(a)&&([a,e,n]=await C(null,1,"",n));const[s,r]=a,[i,l]=t.getMergeableContentHashes();let c=P();if(i!=s){const[a,s]=(await C(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!S(s)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!S(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,l==r?P():(await C(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},G=x(t,(async()=>{const t=await m();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?b(null,v(),3,a):b(null,v(),2,t.getMergeableContentHashes())),(t=>y=t),(()=>y=void 0),g,2,{startSync:async t=>(d=1,await(await G.startAutoLoad(t)).startAutoSave()),stopSync:()=>(d=0,G.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),G.stopSync()),getSynchronizerStats:()=>({sends:f,receives:p}),...u},1);return n(((e,a,n,s)=>{const i=d||G.isAutoLoading();p++,c?.(e,a,n,s),0==n?r(L(w,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?m(e,s,a??void 0).then((t=>{y?.(void 0,t)})).catch(g):3==n&&i?y?.(void 0,s):r(1==n&&(d||G.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{b(e,a,0,t)}))})),G};export{F as Message,N as createCustomSynchronizer};
Binary file
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=Object,h=t=>y.getPrototypeOf(t),p=y.entries,w=y.keys,v=y.freeze,f=(t,e)=>g(p(t),(([t,a])=>e(a,t))),b=t=>(t=>!o(t)&&r(h(t),(t=>t==y.prototype||o(h(t))),(()=>!0)))(t)&&0==(t=>c(w(t)))(t),M=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),C=t=>o(t)||0==(t=>t?.size??0)(t),S=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),m=t=>new Map(t),L=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(A(t,e),t):t?.set(e,a),H=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):T(t,e,a()),L(t,e)},D=(t,e,a,n,s=0)=>r((a?H:L)(t,e[s],s>c(e)-2?a:m),(o=>{if(s>c(e)-2)return n?.(o)&&T(t,e[s]),o;const r=D(o,e,a,n,s+1);return C(o)&&T(t,e[s]),r})),E=(t,e)=>e?[t,e]:[t],z=(t,e)=>((t??"")>(e??"")?t:e)??"",P=(t="")=>E(((t=[])=>y.fromEntries(t))(),t),R=t=>new Set(i(t)||o(t)?t:[t]),V=/^\d+$/,N=m(),O=m(),$=(t,e,a,n,s,y,h,p={},w=0,f=[])=>{let M,E,z,P=0,$=0,j=0;H(N,f,(()=>0)),H(O,f,(()=>[]));const k=m(),[x,B,F,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!b(t)||!b(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!b(t)||!b(e),e.setContent]:l("Store type not supported by this Persister"))(h,t,w),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{V.test(e)&&c(t)<1e3&&u(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return T(n,c,[a,s,o,r,i]),l=D(s,o??[""],R),g=c,l?.add(g),c},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?u(a,t):null===e[s]?S(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>S(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(D(e,s??[""],void 0,(e=>(A(e,t),C(e)?1:0))),T(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?g(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),K=t=>{t!=P&&(P=t,I(k,void 0,P))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),$++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):l("Content is not an array: "+a)}catch(e){y?.(e),t&&q(t)}K(0)}))),tt),X=()=>(E&&(s(E),E=void 0),tt),Y=async t=>(1!=P&&(K(2),j++,await _((async()=>{try{await a(B,t)}catch(t){y?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(u(L(O,f),...t),await(async()=>{if(!L(N,f)){for(T(N,f,1);!o(M=d(L(O,f)));)try{await M()}catch(t){y?.(t)}T(N,f,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{E=await n((async(t,e)=>{e||t?2!=P&&(K(1),$++,Q(e??t),K(0)):await W()}))}catch(t){y?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(E),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=F();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(z),getStatus:()=>P,addStatusListener:t=>G(t,k),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(O,f).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:$,saves:j}),...p};return v(tt)},j=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),x=(t=16)=>{return e=(t,e)=>t+j[63&e],k(new Uint8Array(t)).reduce(e,"");var e},B=(t,a,n,s,i)=>{const c=x(),l=new BroadcastChannel(a);return((t,a,n,s,i,c,l,g,u={})=>{let d,y=0,h=0,p=0;const w=m(),v=()=>x(11),C=(t,e,n,s)=>{h++,c?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+x(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{A(w,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(w,r,[t,(t,a)=>{clearTimeout(c),A(w,r),e([t,a,s])}]),C(t,r,a,n)})),H=(t,[e,a])=>{f(e,(([e,a],n)=>{const s=M(t[0],n,P);f(e,(([t,e],a)=>{const n=M(s[0],a,P);f(t,(([t,e],a)=>n[0][a]=E(t,e))),n[1]=z(n[1],e)})),s[1]=z(s[1],a)})),t[1]=z(t[1],a)},D=async(e=null,a,n=v())=>{try{o(a)&&([a,e,n]=await S(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=P();if(i!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!b(s)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(H(l,a),!b(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),n))[0];H(l,a)}}}return[l,c==r?P():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},R=$(t,(async()=>{const t=await D();return!t||b(t[0][0])&&b(t[1][0])?void 0:t}),(async(e,a)=>a?C(null,v(),3,a):C(null,v(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),g,2,{startSync:async t=>(y=1,await(await R.startAutoLoad(t)).startAutoSave()),stopSync:()=>(y=0,R.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),R.stopSync()),getSynchronizerStats:()=>({sends:h,receives:p}),...u},1);return n(((e,a,n,s)=>{const i=y||R.isAutoLoading();p++,l?.(e,a,n,s),0==n?r(L(w,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?D(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(g):3==n&&i?d?.(void 0,s):r(1==n&&(y||R.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{C(e,a,0,t)}))})),R})(t,((t,e,a,n)=>l.postMessage([c,t,e,a,n])),(t=>{l.onmessage=({data:[e,a,n,s,r]})=>o(a)||a==c?t(e,n,s,r):0}),(()=>{l.close()}),.01,n,s,i,{getChannelName:()=>a})};export{B as createBroadcastChannelSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),f=w.entries,b=w.keys,M=w.freeze,C=(t,e)=>g(f(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(v(t),(t=>t==w.prototype||o(v(t))),(()=>!0)))(t)&&0==(t=>c(b(t)))(t),A=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),L=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),H=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):T(t,e,a()),L(t,e)},D=(t,e,a,n,s=0)=>r((a?H:L)(t,e[s],s>c(e)-2?a:m),(o=>{if(s>c(e)-2)return n?.(o)&&T(t,e[s]),o;const r=D(o,e,a,n,s+1);return y(o)&&T(t,e[s]),r})),E=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),z=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),P=(t=16)=>{return e=(t,e)=>t+E[63&e],z(new Uint8Array(t)).reduce(e,"");var e},R=(t,e)=>e?[t,e]:[t],V=(t,e)=>((t??"")>(e??"")?t:e)??"",N=(t="")=>R(((t=[])=>w.fromEntries(t))(),t),O=/^\d+$/,$=t=>new Set(i(t)||o(t)?t:[t]),j=m(),k=m(),x=(t,e,a,n,s,w,v,f={},b=0,C=[])=>{let A,E,z,P=0,R=0,V=0;H(j,C,(()=>0)),H(k,C,(()=>[]));const N=m(),[x,B,F,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(v,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{O.test(e)&&c(t)<1e3&&u(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return T(n,c,[a,s,o,r,i]),l=D(s,o??[""],$),g=c,l?.add(g),c},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?u(a,t):null===e[s]?h(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>h(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(D(e,s??[""],void 0,(e=>(p(e,t),y(e)?1:0))),T(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?g(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),K=t=>{t!=P&&(P=t,I(N,void 0,P))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):l("Content is not an array: "+a)}catch(e){w?.(e),t&&q(t)}K(0)}))),tt),X=()=>(E&&(s(E),E=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(B,t)}catch(t){w?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(u(L(k,C),...t),await(async()=>{if(!L(j,C)){for(T(j,C,1);!o(A=d(L(k,C)));)try{await A()}catch(t){w?.(t)}T(j,C,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{E=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){w?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(E),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=F();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(z),getStatus:()=>P,addStatusListener:t=>G(t,N),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(k,C).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return M(tt)},B=(t,a,n,s,i)=>{const c=P(),l=new BroadcastChannel(a);return((t,a,n,s,i,c,l,g,u={})=>{let d,y=0,h=0,w=0;const v=m(),f=()=>P(11),b=(t,e,n,s)=>{h++,c?.(t,e,n,s),a(t,e,n,s)},M=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+P(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(v,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(v,r,[t,(t,a)=>{clearTimeout(c),p(v,r),e([t,a,s])}]),b(t,r,a,n)})),H=(t,[e,a])=>{C(e,(([e,a],n)=>{const s=A(t[0],n,N);C(e,(([t,e],a)=>{const n=A(s[0],a,N);C(t,(([t,e],a)=>n[0][a]=R(t,e))),n[1]=V(n[1],e)})),s[1]=V(s[1],a)})),t[1]=V(t[1],a)},D=async(e=null,a,n=f())=>{try{o(a)&&([a,e,n]=await M(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=N();if(i!=s){const[a,s]=(await M(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!S(s)){const[a,o]=(await M(e,5,t.getMergeableRowHashes(s),n))[0];if(H(l,a),!S(o)){const a=(await M(e,6,t.getMergeableCellHashes(o),n))[0];H(l,a)}}}return[l,c==r?N():(await M(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},E=x(t,(async()=>{const t=await D();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),g,2,{startSync:async t=>(y=1,await(await E.startAutoLoad(t)).startAutoSave()),stopSync:()=>(y=0,E.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),E.stopSync()),getSynchronizerStats:()=>({sends:h,receives:w}),...u},1);return n(((e,a,n,s)=>{const i=y||E.isAutoLoading();w++,l?.(e,a,n,s),0==n?r(L(v,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?D(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(g):3==n&&i?d?.(void 0,s):r(1==n&&(y||E.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{b(e,a,0,t)}))})),E})(t,((t,e,a,n)=>l.postMessage([c,t,e,a,n])),(t=>{l.onmessage=({data:[e,a,n,s,r]})=>o(a)||a==c?t(e,n,s,r):0}),(()=>{l.close()}),.01,n,s,i,{getChannelName:()=>a})};export{B as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=Object,h=t=>y.getPrototypeOf(t),p=y.entries,w=y.keys,v=y.freeze,f=(t,e)=>g(p(t),(([t,a])=>e(a,t))),b=t=>(t=>!o(t)&&r(h(t),(t=>t==y.prototype||o(h(t))),(()=>!0)))(t)&&0==(t=>c(w(t)))(t),M=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),C=t=>o(t)||0==(t=>t?.size??0)(t),S=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),m=t=>new Map(t),L=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(A(t,e),t):t?.set(e,a),H=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):T(t,e,a()),L(t,e)},D=(t,e,a,n,s=0)=>r((a?H:L)(t,e[s],s>c(e)-2?a:m),(o=>{if(s>c(e)-2)return n?.(o)&&T(t,e[s]),o;const r=D(o,e,a,n,s+1);return C(o)&&T(t,e[s]),r})),E=(t,e)=>e?[t,e]:[t],z=(t,e)=>((t??"")>(e??"")?t:e)??"",P=(t="")=>E(((t=[])=>y.fromEntries(t))(),t),R=t=>new Set(i(t)||o(t)?t:[t]),V=/^\d+$/,N=m(),O=m(),$=(t,e,a,n,s,y,h,p={},w=0,f=[])=>{let M,E,z,P=0,$=0,j=0;H(N,f,(()=>0)),H(O,f,(()=>[]));const k=m(),[x,B,F,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!b(t)||!b(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!b(t)||!b(e),e.setContent]:l("Store type not supported by this Persister"))(h,t,w),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{V.test(e)&&c(t)<1e3&&u(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return T(n,c,[a,s,o,r,i]),l=D(s,o??[""],R),g=c,l?.add(g),c},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?u(a,t):null===e[s]?S(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>S(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(D(e,s??[""],void 0,(e=>(A(e,t),C(e)?1:0))),T(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?g(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),K=t=>{t!=P&&(P=t,I(k,void 0,P))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),$++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):l("Content is not an array: "+a)}catch(e){y?.(e),t&&q(t)}K(0)}))),tt),X=()=>(E&&(s(E),E=void 0),tt),Y=async t=>(1!=P&&(K(2),j++,await _((async()=>{try{await a(B,t)}catch(t){y?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(u(L(O,f),...t),await(async()=>{if(!L(N,f)){for(T(N,f,1);!o(M=d(L(O,f)));)try{await M()}catch(t){y?.(t)}T(N,f,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{E=await n((async(t,e)=>{e||t?2!=P&&(K(1),$++,Q(e??t),K(0)):await W()}))}catch(t){y?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(E),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=F();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(z),getStatus:()=>P,addStatusListener:t=>G(t,k),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(O,f).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:$,saves:j}),...p};return v(tt)},j=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),x=(t=16)=>{return e=(t,e)=>t+j[63&e],k(new Uint8Array(t)).reduce(e,"");var e},B=(t,a,n,s,i)=>{const c=x(),l=new BroadcastChannel(a);return((t,a,n,s,i,c,l,g,u={})=>{let d,y=0,h=0,p=0;const w=m(),v=()=>x(11),C=(t,e,n,s)=>{h++,c?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+x(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{A(w,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(w,r,[t,(t,a)=>{clearTimeout(c),A(w,r),e([t,a,s])}]),C(t,r,a,n)})),H=(t,[e,a])=>{f(e,(([e,a],n)=>{const s=M(t[0],n,P);f(e,(([t,e],a)=>{const n=M(s[0],a,P);f(t,(([t,e],a)=>n[0][a]=E(t,e))),n[1]=z(n[1],e)})),s[1]=z(s[1],a)})),t[1]=z(t[1],a)},D=async(e=null,a,n=v())=>{try{o(a)&&([a,e,n]=await S(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=P();if(i!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!b(s)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(H(l,a),!b(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),n))[0];H(l,a)}}}return[l,c==r?P():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},R=$(t,(async()=>{const t=await D();return!t||b(t[0][0])&&b(t[1][0])?void 0:t}),(async(e,a)=>a?C(null,v(),3,a):C(null,v(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),g,2,{startSync:async t=>(y=1,await(await R.startAutoLoad(t)).startAutoSave()),stopSync:()=>(y=0,R.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),R.stopSync()),getSynchronizerStats:()=>({sends:h,receives:p}),...u},1);return n(((e,a,n,s)=>{const i=y||R.isAutoLoading();p++,l?.(e,a,n,s),0==n?r(L(w,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?D(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(g):3==n&&i?d?.(void 0,s):r(1==n&&(y||R.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{C(e,a,0,t)}))})),R})(t,((t,e,a,n)=>l.postMessage([c,t,e,a,n])),(t=>{l.onmessage=({data:[e,a,n,s,r]})=>o(a)||a==c?t(e,n,s,r):0}),(()=>{l.close()}),.01,n,s,i,{getChannelName:()=>a})};export{B as createBroadcastChannelSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),f=w.entries,b=w.keys,M=w.freeze,C=(t,e)=>g(f(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(v(t),(t=>t==w.prototype||o(v(t))),(()=>!0)))(t)&&0==(t=>c(b(t)))(t),A=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),L=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),H=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):T(t,e,a()),L(t,e)},D=(t,e,a,n,s=0)=>r((a?H:L)(t,e[s],s>c(e)-2?a:m),(o=>{if(s>c(e)-2)return n?.(o)&&T(t,e[s]),o;const r=D(o,e,a,n,s+1);return y(o)&&T(t,e[s]),r})),E=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),z=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),P=(t=16)=>{return e=(t,e)=>t+E[63&e],z(new Uint8Array(t)).reduce(e,"");var e},R=(t,e)=>e?[t,e]:[t],V=(t,e)=>((t??"")>(e??"")?t:e)??"",N=(t="")=>R(((t=[])=>w.fromEntries(t))(),t),O=/^\d+$/,$=t=>new Set(i(t)||o(t)?t:[t]),j=m(),k=m(),x=(t,e,a,n,s,w,v,f={},b=0,C=[])=>{let A,E,z,P=0,R=0,V=0;H(j,C,(()=>0)),H(k,C,(()=>[]));const N=m(),[x,B,F,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(v,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{O.test(e)&&c(t)<1e3&&u(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return T(n,c,[a,s,o,r,i]),l=D(s,o??[""],$),g=c,l?.add(g),c},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?u(a,t):null===e[s]?h(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>h(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(D(e,s??[""],void 0,(e=>(p(e,t),y(e)?1:0))),T(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?g(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),K=t=>{t!=P&&(P=t,I(N,void 0,P))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):l("Content is not an array: "+a)}catch(e){w?.(e),t&&q(t)}K(0)}))),tt),X=()=>(E&&(s(E),E=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(B,t)}catch(t){w?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(u(L(k,C),...t),await(async()=>{if(!L(j,C)){for(T(j,C,1);!o(A=d(L(k,C)));)try{await A()}catch(t){w?.(t)}T(j,C,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{E=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){w?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(E),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=F();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(z),getStatus:()=>P,addStatusListener:t=>G(t,N),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(k,C).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return M(tt)},B=(t,a,n,s,i)=>{const c=P(),l=new BroadcastChannel(a);return((t,a,n,s,i,c,l,g,u={})=>{let d,y=0,h=0,w=0;const v=m(),f=()=>P(11),b=(t,e,n,s)=>{h++,c?.(t,e,n,s),a(t,e,n,s)},M=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+P(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(v,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(v,r,[t,(t,a)=>{clearTimeout(c),p(v,r),e([t,a,s])}]),b(t,r,a,n)})),H=(t,[e,a])=>{C(e,(([e,a],n)=>{const s=A(t[0],n,N);C(e,(([t,e],a)=>{const n=A(s[0],a,N);C(t,(([t,e],a)=>n[0][a]=R(t,e))),n[1]=V(n[1],e)})),s[1]=V(s[1],a)})),t[1]=V(t[1],a)},D=async(e=null,a,n=f())=>{try{o(a)&&([a,e,n]=await M(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=N();if(i!=s){const[a,s]=(await M(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!S(s)){const[a,o]=(await M(e,5,t.getMergeableRowHashes(s),n))[0];if(H(l,a),!S(o)){const a=(await M(e,6,t.getMergeableCellHashes(o),n))[0];H(l,a)}}}return[l,c==r?N():(await M(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},E=x(t,(async()=>{const t=await D();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),g,2,{startSync:async t=>(y=1,await(await E.startAutoLoad(t)).startAutoSave()),stopSync:()=>(y=0,E.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),E.stopSync()),getSynchronizerStats:()=>({sends:h,receives:w}),...u},1);return n(((e,a,n,s)=>{const i=y||E.isAutoLoading();w++,l?.(e,a,n,s),0==n?r(L(v,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?D(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(g):3==n&&i?d?.(void 0,s):r(1==n&&(y||E.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{b(e,a,0,t)}))})),E})(t,((t,e,a,n)=>l.postMessage([c,t,e,a,n])),(t=>{l.onmessage=({data:[e,a,n,s,r]})=>o(a)||a==c?t(e,n,s,r):0}),(()=>{l.close()}),.01,n,s,i,{getChannelName:()=>a})};export{B as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,o=s.floor,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,g=t=>{throw Error(t)},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),h=Object,p=t=>h.getPrototypeOf(t),v=h.entries,w=h.keys,f=h.freeze,b=(t,e)=>u(v(t),(([t,a])=>e(a,t))),M=t=>(t=>!r(t)&&i(p(t),(t=>t==h.prototype||r(p(t))),(()=>!0)))(t)&&0==(t=>l(w(t)))(t),S=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),A=t=>r(t)||0==(t=>t?.size??0)(t),C=(t,e)=>t?.forEach(e),L=(t,e)=>t?.delete(e),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>r(a)?(L(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,n,s=0)=>i((a?D:T)(t,e[s],s>l(e)-2?a:m),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=E(o,e,a,n,s+1);return A(o)&&H(t,e[s]),r})),z=(t,e)=>e?[t,e]:[t],P=(t,e)=>((t??"")>(e??"")?t:e)??"",R=(t="")=>z(((t=[])=>h.fromEntries(t))(),t),V=t=>new Set(c(t)||r(t)?t:[t]),O=/^\d+$/,$=m(),j=m(),k=(t,e,a,n,s,o,h,p={},v=0,w=[])=>{let b,S,z,P=0,R=0,k=0;D($,w,(()=>0)),D(j,w,(()=>[]));const x=m(),[F,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!M(t)||!M(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!M(t)||!M(e),e.setContent]:g("Store type not supported by this Persister"))(h,t,v),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{O.test(e)&&l(t)<1e3&&y(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return H(n,c,[a,s,o,r,i]),l=E(s,o??[""],V),g=c,l?.add(g),c},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?y(a,t):null===e[s]?C(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(T(t,e),s+1)));return n(t,0),a})(e,a),(e=>C(e,(e=>T(n,e)[0](t,...a??[],...s))))),t=>i(T(n,t),(([,e,s])=>(E(e,s??[""],void 0,(e=>(L(e,t),A(e)?1:0))),H(n,t),a(t),s))),e=>i(T(n,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(t=>o(...i,t))):o(...i,a[c])};o()}))]})(),K=t=>{t!=P&&(P=t,I(x,void 0,P))},Q=e=>{(F&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();c(a)?Q(a):t?B(t):g("Content is not an array: "+a)}catch(e){o?.(e),t&&B(t)}K(0)}))),tt),X=()=>(S&&(s(S),S=void 0),tt),Y=async t=>(1!=P&&(K(2),k++,await _((async()=>{try{await a(N,t)}catch(t){o?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(y(T(j,w),...t),await(async()=>{if(!T($,w)){for(H($,w,1);!r(b=d(T(j,w)));)try{await b()}catch(t){o?.(t)}H($,w,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{S=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){o?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!r(S),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!r(z),getStatus:()=>P,addStatusListener:t=>G(t,x),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(T(j,w).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:k}),...p};return f(tt)},x=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),F=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>o(256*s.random()))))(t),N=(t=16)=>{return e=(t,e)=>t+x[63&e],F(new Uint8Array(t)).reduce(e,"");var e},U=m(),q=(t,a,s,o)=>{const c=N();return((t,a,s,o,c,l,g,u,y={})=>{let d,h=0,p=0,v=0;const w=m(),f=()=>N(11),A=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},C=async(t,a,s,o)=>new e(((e,r)=>{const i=o+"."+N(4),l=n((()=>{L(w,i),r(`No response from ${t??"anyone"} to ${i}, `+a)}),c);H(w,i,[t,(t,a)=>{clearTimeout(l),L(w,i),e([t,a,o])}]),A(t,i,a,s)})),D=(t,[e,a])=>{b(e,(([e,a],n)=>{const s=S(t[0],n,R);b(e,(([t,e],a)=>{const n=S(s[0],a,R);b(t,(([t,e],a)=>n[0][a]=z(t,e))),n[1]=P(n[1],e)})),s[1]=P(s[1],a)})),t[1]=P(t[1],a)},E=async(e=null,a,n=f())=>{try{r(a)&&([a,e,n]=await C(null,1,"",n));const[s,o]=a,[i,c]=t.getMergeableContentHashes();let l=R();if(i!=s){const[a,s]=(await C(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!M(s)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(s),n))[0];if(D(l,a),!M(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),n))[0];D(l,a)}}}return[l,c==o?R():(await C(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){u?.(t)}},V=k(t,(async()=>{const t=await E();return!t||M(t[0][0])&&M(t[1][0])?void 0:t}),(async(e,a)=>a?A(null,f(),3,a):A(null,f(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(h=1,await(await V.startAutoLoad(t)).startAutoSave()),stopSync:()=>(h=0,V.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),V.stopSync()),getSynchronizerStats:()=>({sends:p,receives:v}),...y},1);return s(((e,a,n,s)=>{const o=h||V.isAutoLoading();v++,g?.(e,a,n,s),0==n?i(T(w,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?E(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&o?d?.(void 0,s):i(1==n&&(h||V.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{A(e,a,0,t)}))})),V})(t,((t,e,a,s)=>n((()=>{return r(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,C(U,((t,e)=>n(e,t)))):T(U,t)?.(c,e,a,s);var n}))),(t=>{H(U,c,t)}),(()=>{L(U,c)}),.01,a,s,o)};export{q as createLocalSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,o=s.floor,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,g=t=>{throw Error(t)},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),h=t=>r(t)||0==(t=>t?.size??0)(t),p=(t,e)=>t?.forEach(e),v=(t,e)=>t?.delete(e),w=Object,f=t=>w.getPrototypeOf(t),b=w.entries,M=w.keys,S=w.freeze,A=(t,e)=>u(b(t),(([t,a])=>e(a,t))),C=t=>(t=>!r(t)&&i(f(t),(t=>t==w.prototype||r(f(t))),(()=>!0)))(t)&&0==(t=>l(M(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>r(a)?(v(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,n,s=0)=>i((a?D:T)(t,e[s],s>l(e)-2?a:m),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=E(o,e,a,n,s+1);return h(o)&&H(t,e[s]),r})),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),P=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>o(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+z[63&e],P(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],O=(t,e)=>((t??"")>(e??"")?t:e)??"",$=(t="")=>V(((t=[])=>w.fromEntries(t))(),t),j=/^\d+$/,k=t=>new Set(c(t)||r(t)?t:[t]),x=m(),F=m(),N=(t,e,a,n,s,o,w,f={},b=0,M=[])=>{let A,L,z,P=0,R=0,V=0;D(x,M,(()=>0)),D(F,M,(()=>[]));const O=m(),[$,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:g("Store type not supported by this Persister"))(w,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{j.test(e)&&l(t)<1e3&&y(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return H(n,c,[a,s,o,r,i]),l=E(s,o??[""],k),g=c,l?.add(g),c},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?y(a,t):null===e[s]?p(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(T(t,e),s+1)));return n(t,0),a})(e,a),(e=>p(e,(e=>T(n,e)[0](t,...a??[],...s))))),t=>i(T(n,t),(([,e,s])=>(E(e,s??[""],void 0,(e=>(v(e,t),h(e)?1:0))),H(n,t),a(t),s))),e=>i(T(n,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(t=>o(...i,t))):o(...i,a[c])};o()}))]})(),K=t=>{t!=P&&(P=t,I(O,void 0,P))},Q=e=>{($&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();c(a)?Q(a):t?B(t):g("Content is not an array: "+a)}catch(e){o?.(e),t&&B(t)}K(0)}))),tt),X=()=>(L&&(s(L),L=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(N,t)}catch(t){o?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(y(T(F,M),...t),await(async()=>{if(!T(x,M)){for(H(x,M,1);!r(A=d(T(F,M)));)try{await A()}catch(t){o?.(t)}H(x,M,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{L=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){o?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!r(L),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!r(z),getStatus:()=>P,addStatusListener:t=>G(t,O),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(T(F,M).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return S(tt)},U=m(),q=(t,a,s,o)=>{const c=R();return((t,a,s,o,c,l,g,u,y={})=>{let d,h=0,p=0,w=0;const f=m(),b=()=>R(11),M=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,s,o)=>new e(((e,r)=>{const i=o+"."+R(4),l=n((()=>{v(f,i),r(`No response from ${t??"anyone"} to ${i}, `+a)}),c);H(f,i,[t,(t,a)=>{clearTimeout(l),v(f,i),e([t,a,o])}]),M(t,i,a,s)})),D=(t,[e,a])=>{A(e,(([e,a],n)=>{const s=L(t[0],n,$);A(e,(([t,e],a)=>{const n=L(s[0],a,$);A(t,(([t,e],a)=>n[0][a]=V(t,e))),n[1]=O(n[1],e)})),s[1]=O(s[1],a)})),t[1]=O(t[1],a)},E=async(e=null,a,n=b())=>{try{r(a)&&([a,e,n]=await S(null,1,"",n));const[s,o]=a,[i,c]=t.getMergeableContentHashes();let l=$();if(i!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!C(s)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(D(l,a),!C(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),n))[0];D(l,a)}}}return[l,c==o?$():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){u?.(t)}},z=N(t,(async()=>{const t=await E();return!t||C(t[0][0])&&C(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(h=1,await(await z.startAutoLoad(t)).startAutoSave()),stopSync:()=>(h=0,z.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),z.stopSync()),getSynchronizerStats:()=>({sends:p,receives:w}),...y},1);return s(((e,a,n,s)=>{const o=h||z.isAutoLoading();w++,g?.(e,a,n,s),0==n?i(T(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?E(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&o?d?.(void 0,s):i(1==n&&(h||z.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{M(e,a,0,t)}))})),z})(t,((t,e,a,s)=>n((()=>{return r(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,p(U,((t,e)=>n(e,t)))):T(U,t)?.(c,e,a,s);var n}))),(t=>{H(U,c,t)}),(()=>{v(U,c)}),.01,a,s,o)};export{q as createLocalSynchronizer};
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,o=s.floor,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,g=t=>{throw Error(t)},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),h=Object,p=t=>h.getPrototypeOf(t),v=h.entries,w=h.keys,f=h.freeze,b=(t,e)=>u(v(t),(([t,a])=>e(a,t))),M=t=>(t=>!r(t)&&i(p(t),(t=>t==h.prototype||r(p(t))),(()=>!0)))(t)&&0==(t=>l(w(t)))(t),S=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),A=t=>r(t)||0==(t=>t?.size??0)(t),C=(t,e)=>t?.forEach(e),L=(t,e)=>t?.delete(e),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>r(a)?(L(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,n,s=0)=>i((a?D:T)(t,e[s],s>l(e)-2?a:m),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=E(o,e,a,n,s+1);return A(o)&&H(t,e[s]),r})),z=(t,e)=>e?[t,e]:[t],P=(t,e)=>((t??"")>(e??"")?t:e)??"",R=(t="")=>z(((t=[])=>h.fromEntries(t))(),t),V=t=>new Set(c(t)||r(t)?t:[t]),O=/^\d+$/,$=m(),j=m(),k=(t,e,a,n,s,o,h,p={},v=0,w=[])=>{let b,S,z,P=0,R=0,k=0;D($,w,(()=>0)),D(j,w,(()=>[]));const x=m(),[F,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!M(t)||!M(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!M(t)||!M(e),e.setContent]:g("Store type not supported by this Persister"))(h,t,v),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{O.test(e)&&l(t)<1e3&&y(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return H(n,c,[a,s,o,r,i]),l=E(s,o??[""],V),g=c,l?.add(g),c},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?y(a,t):null===e[s]?C(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(T(t,e),s+1)));return n(t,0),a})(e,a),(e=>C(e,(e=>T(n,e)[0](t,...a??[],...s))))),t=>i(T(n,t),(([,e,s])=>(E(e,s??[""],void 0,(e=>(L(e,t),A(e)?1:0))),H(n,t),a(t),s))),e=>i(T(n,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(t=>o(...i,t))):o(...i,a[c])};o()}))]})(),K=t=>{t!=P&&(P=t,I(x,void 0,P))},Q=e=>{(F&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();c(a)?Q(a):t?B(t):g("Content is not an array: "+a)}catch(e){o?.(e),t&&B(t)}K(0)}))),tt),X=()=>(S&&(s(S),S=void 0),tt),Y=async t=>(1!=P&&(K(2),k++,await _((async()=>{try{await a(N,t)}catch(t){o?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(y(T(j,w),...t),await(async()=>{if(!T($,w)){for(H($,w,1);!r(b=d(T(j,w)));)try{await b()}catch(t){o?.(t)}H($,w,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{S=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){o?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!r(S),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!r(z),getStatus:()=>P,addStatusListener:t=>G(t,x),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(T(j,w).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:k}),...p};return f(tt)},x=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),F=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>o(256*s.random()))))(t),N=(t=16)=>{return e=(t,e)=>t+x[63&e],F(new Uint8Array(t)).reduce(e,"");var e},U=m(),q=(t,a,s,o)=>{const c=N();return((t,a,s,o,c,l,g,u,y={})=>{let d,h=0,p=0,v=0;const w=m(),f=()=>N(11),A=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},C=async(t,a,s,o)=>new e(((e,r)=>{const i=o+"."+N(4),l=n((()=>{L(w,i),r(`No response from ${t??"anyone"} to ${i}, `+a)}),c);H(w,i,[t,(t,a)=>{clearTimeout(l),L(w,i),e([t,a,o])}]),A(t,i,a,s)})),D=(t,[e,a])=>{b(e,(([e,a],n)=>{const s=S(t[0],n,R);b(e,(([t,e],a)=>{const n=S(s[0],a,R);b(t,(([t,e],a)=>n[0][a]=z(t,e))),n[1]=P(n[1],e)})),s[1]=P(s[1],a)})),t[1]=P(t[1],a)},E=async(e=null,a,n=f())=>{try{r(a)&&([a,e,n]=await C(null,1,"",n));const[s,o]=a,[i,c]=t.getMergeableContentHashes();let l=R();if(i!=s){const[a,s]=(await C(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!M(s)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(s),n))[0];if(D(l,a),!M(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),n))[0];D(l,a)}}}return[l,c==o?R():(await C(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){u?.(t)}},V=k(t,(async()=>{const t=await E();return!t||M(t[0][0])&&M(t[1][0])?void 0:t}),(async(e,a)=>a?A(null,f(),3,a):A(null,f(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(h=1,await(await V.startAutoLoad(t)).startAutoSave()),stopSync:()=>(h=0,V.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),V.stopSync()),getSynchronizerStats:()=>({sends:p,receives:v}),...y},1);return s(((e,a,n,s)=>{const o=h||V.isAutoLoading();v++,g?.(e,a,n,s),0==n?i(T(w,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?E(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&o?d?.(void 0,s):i(1==n&&(h||V.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{A(e,a,0,t)}))})),V})(t,((t,e,a,s)=>n((()=>{return r(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,C(U,((t,e)=>n(e,t)))):T(U,t)?.(c,e,a,s);var n}))),(t=>{H(U,c,t)}),(()=>{L(U,c)}),.01,a,s,o)};export{q as createLocalSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,o=s.floor,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,g=t=>{throw Error(t)},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),h=t=>r(t)||0==(t=>t?.size??0)(t),p=(t,e)=>t?.forEach(e),v=(t,e)=>t?.delete(e),w=Object,f=t=>w.getPrototypeOf(t),b=w.entries,M=w.keys,S=w.freeze,A=(t,e)=>u(b(t),(([t,a])=>e(a,t))),C=t=>(t=>!r(t)&&i(f(t),(t=>t==w.prototype||r(f(t))),(()=>!0)))(t)&&0==(t=>l(M(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>r(a)?(v(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,n,s=0)=>i((a?D:T)(t,e[s],s>l(e)-2?a:m),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=E(o,e,a,n,s+1);return h(o)&&H(t,e[s]),r})),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),P=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>o(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+z[63&e],P(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],O=(t,e)=>((t??"")>(e??"")?t:e)??"",$=(t="")=>V(((t=[])=>w.fromEntries(t))(),t),j=/^\d+$/,k=t=>new Set(c(t)||r(t)?t:[t]),x=m(),F=m(),N=(t,e,a,n,s,o,w,f={},b=0,M=[])=>{let A,L,z,P=0,R=0,V=0;D(x,M,(()=>0)),D(F,M,(()=>[]));const O=m(),[$,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:g("Store type not supported by this Persister"))(w,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{j.test(e)&&l(t)<1e3&&y(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return H(n,c,[a,s,o,r,i]),l=E(s,o??[""],k),g=c,l?.add(g),c},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?y(a,t):null===e[s]?p(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(T(t,e),s+1)));return n(t,0),a})(e,a),(e=>p(e,(e=>T(n,e)[0](t,...a??[],...s))))),t=>i(T(n,t),(([,e,s])=>(E(e,s??[""],void 0,(e=>(v(e,t),h(e)?1:0))),H(n,t),a(t),s))),e=>i(T(n,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(t=>o(...i,t))):o(...i,a[c])};o()}))]})(),K=t=>{t!=P&&(P=t,I(O,void 0,P))},Q=e=>{($&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();c(a)?Q(a):t?B(t):g("Content is not an array: "+a)}catch(e){o?.(e),t&&B(t)}K(0)}))),tt),X=()=>(L&&(s(L),L=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(N,t)}catch(t){o?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(y(T(F,M),...t),await(async()=>{if(!T(x,M)){for(H(x,M,1);!r(A=d(T(F,M)));)try{await A()}catch(t){o?.(t)}H(x,M,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{L=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){o?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!r(L),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!r(z),getStatus:()=>P,addStatusListener:t=>G(t,O),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(T(F,M).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return S(tt)},U=m(),q=(t,a,s,o)=>{const c=R();return((t,a,s,o,c,l,g,u,y={})=>{let d,h=0,p=0,w=0;const f=m(),b=()=>R(11),M=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,s,o)=>new e(((e,r)=>{const i=o+"."+R(4),l=n((()=>{v(f,i),r(`No response from ${t??"anyone"} to ${i}, `+a)}),c);H(f,i,[t,(t,a)=>{clearTimeout(l),v(f,i),e([t,a,o])}]),M(t,i,a,s)})),D=(t,[e,a])=>{A(e,(([e,a],n)=>{const s=L(t[0],n,$);A(e,(([t,e],a)=>{const n=L(s[0],a,$);A(t,(([t,e],a)=>n[0][a]=V(t,e))),n[1]=O(n[1],e)})),s[1]=O(s[1],a)})),t[1]=O(t[1],a)},E=async(e=null,a,n=b())=>{try{r(a)&&([a,e,n]=await S(null,1,"",n));const[s,o]=a,[i,c]=t.getMergeableContentHashes();let l=$();if(i!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!C(s)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(D(l,a),!C(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),n))[0];D(l,a)}}}return[l,c==o?$():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){u?.(t)}},z=N(t,(async()=>{const t=await E();return!t||C(t[0][0])&&C(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(h=1,await(await z.startAutoLoad(t)).startAutoSave()),stopSync:()=>(h=0,z.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),z.stopSync()),getSynchronizerStats:()=>({sends:p,receives:w}),...y},1);return s(((e,a,n,s)=>{const o=h||z.isAutoLoading();w++,g?.(e,a,n,s),0==n?i(T(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?E(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&o?d?.(void 0,s):i(1==n&&(h||z.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{M(e,a,0,t)}))})),z})(t,((t,e,a,s)=>n((()=>{return r(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,p(U,((t,e)=>n(e,t)))):T(U,t)?.(c,e,a,s);var n}))),(t=>{H(U,c,t)}),(()=>{v(U,c)}),.01,a,s,o)};export{q as createLocalSynchronizer};
@@ -1 +1 @@
1
- const e="",t=(e,t="",a)=>e.split(t,a),a=Promise,n=globalThis,s=Math,o=s.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),g=e=>e.length,u=e=>new a(e),d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,f=e=>p.getPrototypeOf(e),w=p.entries,S=p.keys,b=p.freeze,M=(e,t)=>y(w(e),(([e,a])=>t(a,e))),A=e=>(e=>!r(e)&&i(f(e),(e=>e==p.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>g(S(e)))(e),C=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),L=JSON.stringify,m=JSON.parse,T=e=>r(e)||0==(e=>e?.size??0)(e),E=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),D=e=>new Map(e),O=(e,t)=>e?.get(t),N=(e,t,a)=>r(a)?(H(e,t),e):e?.set(t,a),P=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(O(e,t)):N(e,t,a()),O(e,t)},z=(e,t,a,n,s=0)=>i((a?P:O)(e,t[s],s>g(t)-2?a:D),(o=>{if(s>g(t)-2)return n?.(o)&&N(e,t[s]),o;const r=z(o,t,a,n,s+1);return T(o)&&N(e,t[s]),r})),R=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",k=(e="")=>R(((e=[])=>p.fromEntries(e))(),e),x=e=>new Set(c(e)||r(e)?e:[e]),J=/^\d+$/,$=D(),j=D(),F=(t,a,n,s,o,l,u,p={},f=0,w=[])=>{let S,M,C,L=0,m=0,R=0;P($,w,(()=>0)),P(j,w,(()=>[]));const V=D(),[k,F,U,W,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:d("Store type not supported by this Persister"))(u,t,f),[B,G,I]=(()=>{let t;const[a,n]=(()=>{const t=[];let a=0;return[n=>(n?v(t):null)??e+a++,e=>{J.test(e)&&g(t)<1e3&&h(t,e)}]})(),s=D();return[(n,o,r,i=[],c=()=>[])=>{t??=te;const l=a(1);var g,u;return N(s,l,[n,o,r,i,c]),g=z(o,r??[e],x),u=l,g?.add(u),l},(a,n,...o)=>y(((t,a=[e])=>{const n=[],s=(e,t)=>t==g(a)?h(n,e):null===a[t]?E(e,(e=>s(e,t+1))):y([a[t],null],(a=>s(O(e,a),t+1)));return s(t,0),n})(a,n),(e=>E(e,(e=>O(s,e)[0](t,...n??[],...o))))),t=>i(O(s,t),(([,a,o])=>(z(a,o??[e],void 0,(e=>(H(e,t),T(e)?1:0))),N(s,t),n(t),o))),e=>i(O(s,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=g(i);c==g(a)?e(t,...i,...s(i)):r(a[c])?y(n[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),K=e=>{e!=L&&(L=e,G(V,void 0,L))},Q=e=>{(k&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async e=>(2!=L&&(K(1),m++,await ee((async()=>{try{const t=await a();c(t)?Q(t):e?q(e):d("Content is not an array: "+t)}catch(t){l?.(t),e&&q(e)}K(0)}))),te),Y=()=>(M&&(o(M),M=void 0),te),Z=async e=>(1!=L&&(K(2),R++,await ee((async()=>{try{await n(F,e)}catch(e){l?.(e)}K(0)}))),te),_=()=>(C&&(t.delListener(C),C=void 0),te),ee=async(...e)=>(h(O(j,w),...e),await(async()=>{if(!O($,w)){for(N($,w,1);!r(S=v(O(j,w)));)try{await S()}catch(e){l?.(e)}N($,w,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{M=await s((async(e,t)=>{t||e?2!=L&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){l?.(e)}return te},stopAutoLoad:Y,isAutoLoading:()=>!r(M),save:Z,startAutoSave:async()=>(_(),await Z(),C=t.addDidFinishTransactionListener((()=>{const e=U();W(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!r(C),getStatus:()=>L,addStatusListener:e=>B(e,V),delListener:e=>(I(e),t),schedule:ee,getStore:()=>t,destroy:()=>(O(j,w).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:R}),...p};return b(te)},U=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),W=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),q=(e=16)=>{return t=(e,t)=>e+U[63&t],W(new Uint8Array(e)).reduce(t,"");var t},B=async(t,a,n=1,s,o,c)=>{const g=(e,t)=>(a.addEventListener(e,t),()=>a.removeEventListener(e,t)),d=((t,a,n,s,o,c,l,g,d={})=>{let y,h=0,v=0,p=0;const f=D(),w=()=>q(11),S=(e,t,n,s)=>{v++,c?.(e,t,n,s),a(e,t,n,s)},b=async(e,t,a,n)=>u(((s,r)=>{const i=n+"."+q(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{H(f,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);N(f,i,[e,(e,t)=>{clearTimeout(c),H(f,i),s([e,t,n])}]),S(e,i,t,a)})),L=(e,[t,a])=>{M(t,(([t,a],n)=>{const s=C(e[0],n,k);M(t,(([e,t],a)=>{const n=C(s[0],a,k);M(e,(([e,t],a)=>n[0][a]=R(e,t))),n[1]=V(n[1],t)})),s[1]=V(s[1],a)})),e[1]=V(e[1],a)},m=async(a=null,n,s=w())=>{try{r(n)&&([n,a,s]=await b(null,1,e,s));const[o,i]=n,[c,l]=t.getMergeableContentHashes();let g=k();if(c!=o){const[e,n]=(await b(a,4,t.getMergeableTableHashes(),s))[0];if(g=e,!A(n)){const[e,o]=(await b(a,5,t.getMergeableRowHashes(n),s))[0];if(L(g,e),!A(o)){const e=(await b(a,6,t.getMergeableCellHashes(o),s))[0];L(g,e)}}}return[g,l==i?k():(await b(a,7,t.getMergeableValueHashes(),s))[0],1]}catch(e){g?.(e)}},T=F(t,(async()=>{const e=await m();return!e||A(e[0][0])&&A(e[1][0])?void 0:e}),(async(e,a)=>a?S(null,w(),3,a):S(null,w(),2,t.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>(h=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(h=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),T.stopSync()),getSynchronizerStats:()=>({sends:v,receives:p}),...d},1);return n(((e,a,n,s)=>{const o=h||T.isAutoLoading();p++,l?.(e,a,n,s),0==n?i(O(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?m(e,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(g):3==n&&o?y?.(void 0,s):i(1==n&&(h||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{S(e,a,0,t)}))})),T})(t,((t,...n)=>a.send(((t,...a)=>{return n=t??e,s=L(a,((e,t)=>void 0===t?"":t)),n+"\n"+s;var n,s})(t,...n))),(e=>g("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=l(e,0,a),s=l(e,a+1),t(n,...(o=s,m(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{a.close()}),n,s,o,c,{getWebSocket:()=>a});return u((e=>{if(a.readyState!=a.OPEN){const t=t=>{t&&c?.(t),a(),n(),e(d)},a=g("open",(()=>t())),n=g("error",t)}else e(d)}))};export{B as createWsSynchronizer};
1
+ const e="",t=(e,t="",a)=>e.split(t,a),a=Promise,n=globalThis,s=Math,o=s.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),g=e=>e.length,u=e=>new a(e),d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,f=e=>p.getPrototypeOf(e),w=p.entries,S=p.keys,b=p.freeze,M=(e,t)=>y(w(e),(([e,a])=>t(a,e))),A=e=>(e=>!r(e)&&i(f(e),(e=>e==p.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>g(S(e)))(e),C=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),L=JSON.stringify,m=JSON.parse,T=e=>r(e)||0==(e=>e?.size??0)(e),E=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),D=e=>new Map(e),O=(e,t)=>e?.get(t),N=(e,t,a)=>r(a)?(H(e,t),e):e?.set(t,a),P=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(O(e,t)):N(e,t,a()),O(e,t)},z=(e,t,a,n,s=0)=>i((a?P:O)(e,t[s],s>g(t)-2?a:D),(o=>{if(s>g(t)-2)return n?.(o)&&N(e,t[s]),o;const r=z(o,t,a,n,s+1);return T(o)&&N(e,t[s]),r})),R=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),V=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),k=(e=16)=>{return t=(e,t)=>e+R[63&t],V(new Uint8Array(e)).reduce(t,"");var t},x=(e,t)=>t?[e,t]:[e],J=(e,t)=>((e??"")>(t??"")?e:t)??"",$=(e="")=>x(((e=[])=>p.fromEntries(e))(),e),j=/^\d+$/,F=e=>new Set(c(e)||r(e)?e:[e]),U=D(),W=D(),q=(t,a,n,s,o,l,u,p={},f=0,w=[])=>{let S,M,C,L=0,m=0,R=0;P(U,w,(()=>0)),P(W,w,(()=>[]));const V=D(),[k,x,J,$,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:d("Store type not supported by this Persister"))(u,t,f),[B,G,I]=(()=>{let t;const[a,n]=(()=>{const t=[];let a=0;return[n=>(n?v(t):null)??e+a++,e=>{j.test(e)&&g(t)<1e3&&h(t,e)}]})(),s=D();return[(n,o,r,i=[],c=()=>[])=>{t??=te;const l=a(1);var g,u;return N(s,l,[n,o,r,i,c]),g=z(o,r??[e],F),u=l,g?.add(u),l},(a,n,...o)=>y(((t,a=[e])=>{const n=[],s=(e,t)=>t==g(a)?h(n,e):null===a[t]?E(e,(e=>s(e,t+1))):y([a[t],null],(a=>s(O(e,a),t+1)));return s(t,0),n})(a,n),(e=>E(e,(e=>O(s,e)[0](t,...n??[],...o))))),t=>i(O(s,t),(([,a,o])=>(z(a,o??[e],void 0,(e=>(H(e,t),T(e)?1:0))),N(s,t),n(t),o))),e=>i(O(s,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=g(i);c==g(a)?e(t,...i,...s(i)):r(a[c])?y(n[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),K=e=>{e!=L&&(L=e,G(V,void 0,L))},Q=e=>{(k&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async e=>(2!=L&&(K(1),m++,await ee((async()=>{try{const t=await a();c(t)?Q(t):e?q(e):d("Content is not an array: "+t)}catch(t){l?.(t),e&&q(e)}K(0)}))),te),Y=()=>(M&&(o(M),M=void 0),te),Z=async e=>(1!=L&&(K(2),R++,await ee((async()=>{try{await n(x,e)}catch(e){l?.(e)}K(0)}))),te),_=()=>(C&&(t.delListener(C),C=void 0),te),ee=async(...e)=>(h(O(W,w),...e),await(async()=>{if(!O(U,w)){for(N(U,w,1);!r(S=v(O(W,w)));)try{await S()}catch(e){l?.(e)}N(U,w,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{M=await s((async(e,t)=>{t||e?2!=L&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){l?.(e)}return te},stopAutoLoad:Y,isAutoLoading:()=>!r(M),save:Z,startAutoSave:async()=>(_(),await Z(),C=t.addDidFinishTransactionListener((()=>{const e=J();$(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!r(C),getStatus:()=>L,addStatusListener:e=>B(e,V),delListener:e=>(I(e),t),schedule:ee,getStore:()=>t,destroy:()=>(O(W,w).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:R}),...p};return b(te)},B=async(t,a,n=1,s,o,c)=>{const g=(e,t)=>(a.addEventListener(e,t),()=>a.removeEventListener(e,t)),d=((t,a,n,s,o,c,l,g,d={})=>{let y,h=0,v=0,p=0;const f=D(),w=()=>k(11),S=(e,t,n,s)=>{v++,c?.(e,t,n,s),a(e,t,n,s)},b=async(e,t,a,n)=>u(((s,r)=>{const i=n+"."+k(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{H(f,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);N(f,i,[e,(e,t)=>{clearTimeout(c),H(f,i),s([e,t,n])}]),S(e,i,t,a)})),L=(e,[t,a])=>{M(t,(([t,a],n)=>{const s=C(e[0],n,$);M(t,(([e,t],a)=>{const n=C(s[0],a,$);M(e,(([e,t],a)=>n[0][a]=x(e,t))),n[1]=J(n[1],t)})),s[1]=J(s[1],a)})),e[1]=J(e[1],a)},m=async(a=null,n,s=w())=>{try{r(n)&&([n,a,s]=await b(null,1,e,s));const[o,i]=n,[c,l]=t.getMergeableContentHashes();let g=$();if(c!=o){const[e,n]=(await b(a,4,t.getMergeableTableHashes(),s))[0];if(g=e,!A(n)){const[e,o]=(await b(a,5,t.getMergeableRowHashes(n),s))[0];if(L(g,e),!A(o)){const e=(await b(a,6,t.getMergeableCellHashes(o),s))[0];L(g,e)}}}return[g,l==i?$():(await b(a,7,t.getMergeableValueHashes(),s))[0],1]}catch(e){g?.(e)}},T=q(t,(async()=>{const e=await m();return!e||A(e[0][0])&&A(e[1][0])?void 0:e}),(async(e,a)=>a?S(null,w(),3,a):S(null,w(),2,t.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>(h=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(h=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),T.stopSync()),getSynchronizerStats:()=>({sends:v,receives:p}),...d},1);return n(((e,a,n,s)=>{const o=h||T.isAutoLoading();p++,l?.(e,a,n,s),0==n?i(O(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?m(e,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(g):3==n&&o?y?.(void 0,s):i(1==n&&(h||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{S(e,a,0,t)}))})),T})(t,((t,...n)=>a.send(((t,...a)=>{return n=t??e,s=L(a,((e,t)=>void 0===t?"":t)),n+"\n"+s;var n,s})(t,...n))),(e=>g("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=l(e,0,a),s=l(e,a+1),t(n,...(o=s,m(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{a.close()}),n,s,o,c,{getWebSocket:()=>a});return u((e=>{if(a.readyState!=a.OPEN){const t=t=>{t&&c?.(t),a(),n(),e(d)},a=g("open",(()=>t())),n=g("error",t)}else e(d)}))};export{B as createWsSynchronizer};
@@ -1 +1 @@
1
- const e="",t=(e,t="",a)=>e.split(t,a),a=Promise,n=globalThis,s=Math,o=s.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),g=e=>e.length,u=e=>new a(e),d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,f=e=>p.getPrototypeOf(e),w=p.entries,S=p.keys,b=p.freeze,M=(e,t)=>y(w(e),(([e,a])=>t(a,e))),A=e=>(e=>!r(e)&&i(f(e),(e=>e==p.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>g(S(e)))(e),C=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),L=JSON.stringify,m=JSON.parse,T=e=>r(e)||0==(e=>e?.size??0)(e),E=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),D=e=>new Map(e),O=(e,t)=>e?.get(t),N=(e,t,a)=>r(a)?(H(e,t),e):e?.set(t,a),P=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(O(e,t)):N(e,t,a()),O(e,t)},z=(e,t,a,n,s=0)=>i((a?P:O)(e,t[s],s>g(t)-2?a:D),(o=>{if(s>g(t)-2)return n?.(o)&&N(e,t[s]),o;const r=z(o,t,a,n,s+1);return T(o)&&N(e,t[s]),r})),R=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",k=(e="")=>R(((e=[])=>p.fromEntries(e))(),e),x=e=>new Set(c(e)||r(e)?e:[e]),J=/^\d+$/,$=D(),j=D(),F=(t,a,n,s,o,l,u,p={},f=0,w=[])=>{let S,M,C,L=0,m=0,R=0;P($,w,(()=>0)),P(j,w,(()=>[]));const V=D(),[k,F,U,W,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:d("Store type not supported by this Persister"))(u,t,f),[B,G,I]=(()=>{let t;const[a,n]=(()=>{const t=[];let a=0;return[n=>(n?v(t):null)??e+a++,e=>{J.test(e)&&g(t)<1e3&&h(t,e)}]})(),s=D();return[(n,o,r,i=[],c=()=>[])=>{t??=te;const l=a(1);var g,u;return N(s,l,[n,o,r,i,c]),g=z(o,r??[e],x),u=l,g?.add(u),l},(a,n,...o)=>y(((t,a=[e])=>{const n=[],s=(e,t)=>t==g(a)?h(n,e):null===a[t]?E(e,(e=>s(e,t+1))):y([a[t],null],(a=>s(O(e,a),t+1)));return s(t,0),n})(a,n),(e=>E(e,(e=>O(s,e)[0](t,...n??[],...o))))),t=>i(O(s,t),(([,a,o])=>(z(a,o??[e],void 0,(e=>(H(e,t),T(e)?1:0))),N(s,t),n(t),o))),e=>i(O(s,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=g(i);c==g(a)?e(t,...i,...s(i)):r(a[c])?y(n[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),K=e=>{e!=L&&(L=e,G(V,void 0,L))},Q=e=>{(k&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async e=>(2!=L&&(K(1),m++,await ee((async()=>{try{const t=await a();c(t)?Q(t):e?q(e):d("Content is not an array: "+t)}catch(t){l?.(t),e&&q(e)}K(0)}))),te),Y=()=>(M&&(o(M),M=void 0),te),Z=async e=>(1!=L&&(K(2),R++,await ee((async()=>{try{await n(F,e)}catch(e){l?.(e)}K(0)}))),te),_=()=>(C&&(t.delListener(C),C=void 0),te),ee=async(...e)=>(h(O(j,w),...e),await(async()=>{if(!O($,w)){for(N($,w,1);!r(S=v(O(j,w)));)try{await S()}catch(e){l?.(e)}N($,w,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{M=await s((async(e,t)=>{t||e?2!=L&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){l?.(e)}return te},stopAutoLoad:Y,isAutoLoading:()=>!r(M),save:Z,startAutoSave:async()=>(_(),await Z(),C=t.addDidFinishTransactionListener((()=>{const e=U();W(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!r(C),getStatus:()=>L,addStatusListener:e=>B(e,V),delListener:e=>(I(e),t),schedule:ee,getStore:()=>t,destroy:()=>(O(j,w).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:R}),...p};return b(te)},U=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),W=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),q=(e=16)=>{return t=(e,t)=>e+U[63&t],W(new Uint8Array(e)).reduce(t,"");var t},B=async(t,a,n=1,s,o,c)=>{const g=(e,t)=>(a.addEventListener(e,t),()=>a.removeEventListener(e,t)),d=((t,a,n,s,o,c,l,g,d={})=>{let y,h=0,v=0,p=0;const f=D(),w=()=>q(11),S=(e,t,n,s)=>{v++,c?.(e,t,n,s),a(e,t,n,s)},b=async(e,t,a,n)=>u(((s,r)=>{const i=n+"."+q(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{H(f,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);N(f,i,[e,(e,t)=>{clearTimeout(c),H(f,i),s([e,t,n])}]),S(e,i,t,a)})),L=(e,[t,a])=>{M(t,(([t,a],n)=>{const s=C(e[0],n,k);M(t,(([e,t],a)=>{const n=C(s[0],a,k);M(e,(([e,t],a)=>n[0][a]=R(e,t))),n[1]=V(n[1],t)})),s[1]=V(s[1],a)})),e[1]=V(e[1],a)},m=async(a=null,n,s=w())=>{try{r(n)&&([n,a,s]=await b(null,1,e,s));const[o,i]=n,[c,l]=t.getMergeableContentHashes();let g=k();if(c!=o){const[e,n]=(await b(a,4,t.getMergeableTableHashes(),s))[0];if(g=e,!A(n)){const[e,o]=(await b(a,5,t.getMergeableRowHashes(n),s))[0];if(L(g,e),!A(o)){const e=(await b(a,6,t.getMergeableCellHashes(o),s))[0];L(g,e)}}}return[g,l==i?k():(await b(a,7,t.getMergeableValueHashes(),s))[0],1]}catch(e){g?.(e)}},T=F(t,(async()=>{const e=await m();return!e||A(e[0][0])&&A(e[1][0])?void 0:e}),(async(e,a)=>a?S(null,w(),3,a):S(null,w(),2,t.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>(h=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(h=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),T.stopSync()),getSynchronizerStats:()=>({sends:v,receives:p}),...d},1);return n(((e,a,n,s)=>{const o=h||T.isAutoLoading();p++,l?.(e,a,n,s),0==n?i(O(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?m(e,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(g):3==n&&o?y?.(void 0,s):i(1==n&&(h||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{S(e,a,0,t)}))})),T})(t,((t,...n)=>a.send(((t,...a)=>{return n=t??e,s=L(a,((e,t)=>void 0===t?"":t)),n+"\n"+s;var n,s})(t,...n))),(e=>g("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=l(e,0,a),s=l(e,a+1),t(n,...(o=s,m(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{a.close()}),n,s,o,c,{getWebSocket:()=>a});return u((e=>{if(a.readyState!=a.OPEN){const t=t=>{t&&c?.(t),a(),n(),e(d)},a=g("open",(()=>t())),n=g("error",t)}else e(d)}))};export{B as createWsSynchronizer};
1
+ const e="",t=(e,t="",a)=>e.split(t,a),a=Promise,n=globalThis,s=Math,o=s.floor,r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>Array.isArray(e),l=(e,t,a)=>e.slice(t,a),g=e=>e.length,u=e=>new a(e),d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,f=e=>p.getPrototypeOf(e),w=p.entries,S=p.keys,b=p.freeze,M=(e,t)=>y(w(e),(([e,a])=>t(a,e))),A=e=>(e=>!r(e)&&i(f(e),(e=>e==p.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>g(S(e)))(e),C=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),L=JSON.stringify,m=JSON.parse,T=e=>r(e)||0==(e=>e?.size??0)(e),E=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),D=e=>new Map(e),O=(e,t)=>e?.get(t),N=(e,t,a)=>r(a)?(H(e,t),e):e?.set(t,a),P=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(O(e,t)):N(e,t,a()),O(e,t)},z=(e,t,a,n,s=0)=>i((a?P:O)(e,t[s],s>g(t)-2?a:D),(o=>{if(s>g(t)-2)return n?.(o)&&N(e,t[s]),o;const r=z(o,t,a,n,s+1);return T(o)&&N(e,t[s]),r})),R=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),V=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),k=(e=16)=>{return t=(e,t)=>e+R[63&t],V(new Uint8Array(e)).reduce(t,"");var t},x=(e,t)=>t?[e,t]:[e],J=(e,t)=>((e??"")>(t??"")?e:t)??"",$=(e="")=>x(((e=[])=>p.fromEntries(e))(),e),j=/^\d+$/,F=e=>new Set(c(e)||r(e)?e:[e]),U=D(),W=D(),q=(t,a,n,s,o,l,u,p={},f=0,w=[])=>{let S,M,C,L=0,m=0,R=0;P(U,w,(()=>0)),P(W,w,(()=>[]));const V=D(),[k,x,J,$,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:d("Store type not supported by this Persister"))(u,t,f),[B,G,I]=(()=>{let t;const[a,n]=(()=>{const t=[];let a=0;return[n=>(n?v(t):null)??e+a++,e=>{j.test(e)&&g(t)<1e3&&h(t,e)}]})(),s=D();return[(n,o,r,i=[],c=()=>[])=>{t??=te;const l=a(1);var g,u;return N(s,l,[n,o,r,i,c]),g=z(o,r??[e],F),u=l,g?.add(u),l},(a,n,...o)=>y(((t,a=[e])=>{const n=[],s=(e,t)=>t==g(a)?h(n,e):null===a[t]?E(e,(e=>s(e,t+1))):y([a[t],null],(a=>s(O(e,a),t+1)));return s(t,0),n})(a,n),(e=>E(e,(e=>O(s,e)[0](t,...n??[],...o))))),t=>i(O(s,t),(([,a,o])=>(z(a,o??[e],void 0,(e=>(H(e,t),T(e)?1:0))),N(s,t),n(t),o))),e=>i(O(s,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=g(i);c==g(a)?e(t,...i,...s(i)):r(a[c])?y(n[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),K=e=>{e!=L&&(L=e,G(V,void 0,L))},Q=e=>{(k&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async e=>(2!=L&&(K(1),m++,await ee((async()=>{try{const t=await a();c(t)?Q(t):e?q(e):d("Content is not an array: "+t)}catch(t){l?.(t),e&&q(e)}K(0)}))),te),Y=()=>(M&&(o(M),M=void 0),te),Z=async e=>(1!=L&&(K(2),R++,await ee((async()=>{try{await n(x,e)}catch(e){l?.(e)}K(0)}))),te),_=()=>(C&&(t.delListener(C),C=void 0),te),ee=async(...e)=>(h(O(W,w),...e),await(async()=>{if(!O(U,w)){for(N(U,w,1);!r(S=v(O(W,w)));)try{await S()}catch(e){l?.(e)}N(U,w,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{M=await s((async(e,t)=>{t||e?2!=L&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){l?.(e)}return te},stopAutoLoad:Y,isAutoLoading:()=>!r(M),save:Z,startAutoSave:async()=>(_(),await Z(),C=t.addDidFinishTransactionListener((()=>{const e=J();$(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!r(C),getStatus:()=>L,addStatusListener:e=>B(e,V),delListener:e=>(I(e),t),schedule:ee,getStore:()=>t,destroy:()=>(O(W,w).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:R}),...p};return b(te)},B=async(t,a,n=1,s,o,c)=>{const g=(e,t)=>(a.addEventListener(e,t),()=>a.removeEventListener(e,t)),d=((t,a,n,s,o,c,l,g,d={})=>{let y,h=0,v=0,p=0;const f=D(),w=()=>k(11),S=(e,t,n,s)=>{v++,c?.(e,t,n,s),a(e,t,n,s)},b=async(e,t,a,n)=>u(((s,r)=>{const i=n+"."+k(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{H(f,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);N(f,i,[e,(e,t)=>{clearTimeout(c),H(f,i),s([e,t,n])}]),S(e,i,t,a)})),L=(e,[t,a])=>{M(t,(([t,a],n)=>{const s=C(e[0],n,$);M(t,(([e,t],a)=>{const n=C(s[0],a,$);M(e,(([e,t],a)=>n[0][a]=x(e,t))),n[1]=J(n[1],t)})),s[1]=J(s[1],a)})),e[1]=J(e[1],a)},m=async(a=null,n,s=w())=>{try{r(n)&&([n,a,s]=await b(null,1,e,s));const[o,i]=n,[c,l]=t.getMergeableContentHashes();let g=$();if(c!=o){const[e,n]=(await b(a,4,t.getMergeableTableHashes(),s))[0];if(g=e,!A(n)){const[e,o]=(await b(a,5,t.getMergeableRowHashes(n),s))[0];if(L(g,e),!A(o)){const e=(await b(a,6,t.getMergeableCellHashes(o),s))[0];L(g,e)}}}return[g,l==i?$():(await b(a,7,t.getMergeableValueHashes(),s))[0],1]}catch(e){g?.(e)}},T=q(t,(async()=>{const e=await m();return!e||A(e[0][0])&&A(e[1][0])?void 0:e}),(async(e,a)=>a?S(null,w(),3,a):S(null,w(),2,t.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>(h=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(h=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),T.stopSync()),getSynchronizerStats:()=>({sends:v,receives:p}),...d},1);return n(((e,a,n,s)=>{const o=h||T.isAutoLoading();p++,l?.(e,a,n,s),0==n?i(O(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?m(e,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(g):3==n&&o?y?.(void 0,s):i(1==n&&(h||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{S(e,a,0,t)}))})),T})(t,((t,...n)=>a.send(((t,...a)=>{return n=t??e,s=L(a,((e,t)=>void 0===t?"":t)),n+"\n"+s;var n,s})(t,...n))),(e=>g("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=l(e,0,a),s=l(e,a+1),t(n,...(o=s,m(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{a.close()}),n,s,o,c,{getWebSocket:()=>a});return u((e=>{if(a.readyState!=a.OPEN){const t=t=>{t&&c?.(t),a(),n(),e(d)},a=g("open",(()=>t())),n=g("error",t)}else e(d)}))};export{B as createWsSynchronizer};
@@ -1 +1 @@
1
- const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=globalThis,o=Math,r=o.floor,i=t=>null==t,c=(t,e,a)=>i(t)?a?.():e(t),l=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),g=t=>t.length,u=t=>{throw Error(t)},y=(t,e)=>t.forEach(e),h=(t,e,a)=>t.reduce(e,a),v=(t,...e)=>t.push(...e),S=t=>t.shift(),w=Object,p=t=>w.getPrototypeOf(t),f=w.entries,b=w.keys,A=w.freeze,C=(t,e)=>y(f(t),(([t,a])=>e(a,t))),M=t=>(t=>!i(t)&&c(p(t),(t=>t==w.prototype||i(p(t))),(()=>!0)))(t)&&0==(t=>g(b(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>t?.size??0,T=(H=m,t=>h(k(t),((t,e)=>t+H(e)),0));var H;const D=t=>i(t)||0==m(t),k=t=>[...t?.values()??[]],O=(t,e)=>t?.forEach(e),P=(t,e)=>t?.delete(e),E=t=>new Map(t),I=t=>[...t?.keys()??[]],z=(t,e)=>t?.get(e),N=(t,e,a)=>i(a)?(P(t,e),t):t?.set(e,a),R=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(z(t,e)):N(t,e,a()),z(t,e)},V=(t,e,a,s,n=0)=>c((a?R:z)(t,e[n],n>g(e)-2?a:E),(o=>{if(n>g(e)-2)return s?.(o)&&N(t,e[n]),o;const r=V(o,e,a,s,n+1);return D(o)&&N(t,e[n]),r})),x=JSON.stringify,J=JSON.parse,$=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(d(t,0,a),d(t,a+1))},j=(t,e)=>t+"\n"+e,F=(t,e)=>e?[t,e]:[t],U=(t,e)=>((t??"")>(e??"")?t:e)??"",W=(t="")=>F(((t=[])=>w.fromEntries(t))(),t),q=t=>new Set(l(t)||i(t)?t:[t]),B=/^\d+$/,G=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?S(e):null)??t+a++,t=>{B.test(t)&&g(e)<1e3&&v(e,t)}]})(),o=E();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var g,u;return N(o,d,[n,r,i,c,l]),g=V(r,i??[t],q),u=d,g?.add(u),d},(e,s,...n)=>y(((e,a=[t])=>{const s=[],n=(t,e)=>e==g(a)?v(s,t):null===a[e]?O(t,(t=>n(t,e+1))):y([a[e],null],(a=>n(z(t,a),e+1)));return n(e,0),s})(e,s),(t=>O(t,(t=>z(o,t)[0](a,...s??[],...n))))),e=>c(z(o,e),(([,a,s])=>(V(a,s??[t],void 0,(t=>(P(t,e),D(t)?1:0))),N(o,e),n(e),s))),t=>c(z(o,t),(([t,,e=[],s,n])=>{const o=(...r)=>{const c=g(r);c==g(e)?t(a,...r,...n(r)):i(e[c])?y(s[c]?.(...r)??[],(t=>o(...r,t))):o(...r,e[c])};o()}))]},K=E(),Q=E(),X=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Y=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map((()=>r(256*o.random()))))(t),Z=(t=16)=>h(Y(new Uint8Array(t)),((t,e)=>t+X[63&e]),""),_=/\/([^?]*)/,tt=(a,n,o)=>{const r=E(),d=E(),g=E(),h=E(),[w,p,f]=G((()=>k)),b=t=>{t[1]?.destroy(),t[2]?.destroy()},H=(e,a,s)=>n=>$(n,((n,o)=>{const r=j(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,O(a,((t,e)=>i(e,t)))):"S"===n?s[3]?.(r):z(a,n)?.send(r)}));a.on("connection",((a,w)=>{return c((f=w.url,m=_,f?.match(m)),(([,f])=>c(w.headers["sec-websocket-key"],(async w=>{const m=R(g,f,E),T=R(h,f,(()=>[0])),k=H(w,m,T);D(m)&&(p(r,void 0,f,1),await(async(e,a,r)=>c(await(n?.(a)),(a=>{e[0]=1,e[1]=l(a)?a[0]:a;const n=H("S",r,e);e[2]=((e,a,n,o,r,d,g,y,h={})=>{let w,p=0,f=0,b=0;const m=E(),T=()=>Z(11),H=(t,e,s,n)=>{f++,a(t,e,s,n)},D=async(t,e,a,n)=>new s(((s,o)=>{const i=n+"."+Z(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{P(m,i),o(`No response from ${t??"anyone"} to ${i}, `+e)}),r);N(m,i,[t,(t,e)=>{clearTimeout(c),P(m,i),s([t,e,n])}]),H(t,i,e,a)})),k=(t,[e,a])=>{C(e,(([e,a],s)=>{const n=L(t[0],s,W);C(e,(([t,e],a)=>{const s=L(n[0],a,W);C(t,(([t,e],a)=>s[0][a]=F(t,e))),s[1]=U(s[1],e)})),n[1]=U(n[1],a)})),t[1]=U(t[1],a)},O=async(a=null,s,n=T())=>{try{i(s)&&([s,a,n]=await D(null,1,t,n));const[o,r]=s,[c,l]=e.getMergeableContentHashes();let d=W();if(c!=o){const[t,s]=(await D(a,4,e.getMergeableTableHashes(),n))[0];if(d=t,!M(s)){const[t,o]=(await D(a,5,e.getMergeableRowHashes(s),n))[0];if(k(d,t),!M(o)){const t=(await D(a,6,e.getMergeableCellHashes(o),n))[0];k(d,t)}}}return[d,l==r?W():(await D(a,7,e.getMergeableValueHashes(),n))[0],1]}catch(t){y?.(t)}},I=((t,e,a,s,n,o,r,c={},d=0,g=[])=>{let y,h,w,p=0,f=0,b=0;R(K,g,(()=>0)),R(Q,g,(()=>[]));const C=E(),[L,m,T,H,D]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!M(t)||!M(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!M(t)||!M(e),e.setContent]:u("Store type not supported by this Persister"))(r,t,d),[k,O,P]=G((()=>U)),I=t=>{t!=p&&(p=t,O(C,void 0,p))},V=e=>{(L&&l(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=p&&(I(1),f++,await F((async()=>{try{const a=await e();l(a)?V(a):t?D(t):u("Content is not an array: "+a)}catch(e){o?.(e),t&&D(t)}I(0)}))),U),J=()=>(h&&(n(h),h=void 0),U),$=async t=>(1!=p&&(I(2),b++,await F((async()=>{try{await a(m,t)}catch(t){o?.(t)}I(0)}))),U),j=()=>(w&&(t.delListener(w),w=void 0),U),F=async(...t)=>(v(z(Q,g),...t),await(async()=>{if(!z(K,g)){for(N(K,g,1);!i(y=S(z(Q,g)));)try{await y()}catch(t){o?.(t)}N(K,g,0)}})(),U),U={load:x,startAutoLoad:async t=>{J(),await x(t);try{h=await s((async(t,e)=>{e||t?2!=p&&(I(1),f++,V(e??t),I(0)):await x()}))}catch(t){o?.(t)}return U},stopAutoLoad:J,isAutoLoading:()=>!i(h),save:$,startAutoSave:async()=>(j(),await $(),w=t.addDidFinishTransactionListener((()=>{const t=T();H(t)&&$(t)})),U),stopAutoSave:j,isAutoSaving:()=>!i(w),getStatus:()=>p,addStatusListener:t=>k(t,C),delListener:e=>(P(e),t),schedule:F,getStore:()=>t,destroy:()=>(z(Q,g).splice(0,void 0),J().stopAutoSave()),getStats:()=>({loads:f,saves:b}),...c};return A(U)})(e,(async()=>{const t=await O();return!t||M(t[0][0])&&M(t[1][0])?void 0:t}),(async(t,a)=>a?H(null,T(),3,a):H(null,T(),2,e.getMergeableContentHashes())),(t=>w=t),(()=>w=void 0),y,2,{startSync:async t=>(p=1,await(await I.startAutoLoad(t)).startAutoSave()),stopSync:()=>(p=0,I.stopAutoLoad().stopAutoSave()),destroy:()=>I.stopSync(),getSynchronizerStats:()=>({sends:f,receives:b}),...h},1);return n(((t,a,s,n)=>{const o=p||I.isAutoLoading();b++,0==s?c(z(m,a),(([e,a])=>i(e)||e==t?a(n,t):0)):2==s&&o?O(t,n,a??void 0).then((t=>{w?.(void 0,t)})).catch(y):3==s&&o?w?.(void 0,n):c(1==s&&(p||I.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{H(t,a,0,e)}))})),I})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>j(e??t,x(a,((t,e)=>void 0===e?"":e))))(e,a,s,o))),(t=>e[3]=e=>((t,e)=>$(t,((t,a)=>{return e(t,...(s=a,J(s,((t,e)=>""===e?void 0:e))));var s})))(e,t)),0,1,0,0,o),e[4]=[],e[5]=l(a)?a[1]:t=>0})))(T,f,m)),N(m,w,a),p(d,[f],w,1),a.on("message",(t=>{const e=t.toString("utf8");0==T[0]?k(e):v(T[4],e)})),1==T[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(T),y(T[4],k),T[4]=[]),a.on("close",(()=>{P(m,w),p(d,[f],w,-1),D(m)&&(b(T),P(h,f),P(g,f),p(r,void 0,f,-1))})),o&&a.on(e,o)}))));var f,m})),o&&a.on(e,o);const k={getWebSocketServer:()=>a,getPathIds:()=>I(g),getClientIds:t=>I(z(g,t)),addPathIdsListener:t=>w(t,r),addClientIdsListener:(t,e)=>w(e,d,[t]),delListener:t=>(f(t),k),getStats:()=>({paths:m(g),clients:T(g)}),destroy:()=>{g.clear(),O(h,b),a.close()}};return A(k)};export{tt as createWsServer};
1
+ const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=globalThis,o=Math,r=o.floor,i=t=>null==t,c=(t,e,a)=>i(t)?a?.():e(t),l=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),g=t=>t.length,u=t=>{throw Error(t)},y=(t,e)=>t.forEach(e),h=(t,e,a)=>t.reduce(e,a),v=(t,...e)=>t.push(...e),S=t=>t.shift(),w=t=>t?.size??0,p=(f=w,t=>h(A(t),((t,e)=>t+f(e)),0));var f;const b=t=>i(t)||0==w(t),A=t=>[...t?.values()??[]],C=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),L=Object,m=t=>L.getPrototypeOf(t),T=L.entries,H=L.keys,D=L.freeze,k=(t,e)=>y(T(t),(([t,a])=>e(a,t))),O=t=>(t=>!i(t)&&c(m(t),(t=>t==L.prototype||i(m(t))),(()=>!0)))(t)&&0==(t=>g(H(t)))(t),P=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),E=t=>new Map(t),I=t=>[...t?.keys()??[]],z=(t,e)=>t?.get(e),N=(t,e,a)=>i(a)?(M(t,e),t):t?.set(e,a),R=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(z(t,e)):N(t,e,a()),z(t,e)},V=(t,e,a,s,n=0)=>c((a?R:z)(t,e[n],n>g(e)-2?a:E),(o=>{if(n>g(e)-2)return s?.(o)&&N(t,e[n]),o;const r=V(o,e,a,s,n+1);return b(o)&&N(t,e[n]),r})),x=/^\d+$/,J=t=>new Set(l(t)||i(t)?t:[t]),$=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?S(e):null)??t+a++,t=>{x.test(t)&&g(e)<1e3&&v(e,t)}]})(),o=E();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var g,u;return N(o,d,[n,r,i,c,l]),g=V(r,i??[t],J),u=d,g?.add(u),d},(e,s,...n)=>y(((e,a=[t])=>{const s=[],n=(t,e)=>e==g(a)?v(s,t):null===a[e]?C(t,(t=>n(t,e+1))):y([a[e],null],(a=>n(z(t,a),e+1)));return n(e,0),s})(e,s),(t=>C(t,(t=>z(o,t)[0](a,...s??[],...n))))),e=>c(z(o,e),(([,a,s])=>(V(a,s??[t],void 0,(t=>(M(t,e),b(t)?1:0))),N(o,e),n(e),s))),t=>c(z(o,t),(([t,,e=[],s,n])=>{const o=(...r)=>{const c=g(r);c==g(e)?t(a,...r,...n(r)):i(e[c])?y(s[c]?.(...r)??[],(t=>o(...r,t))):o(...r,e[c])};o()}))]},j=JSON.stringify,F=JSON.parse,U=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(d(t,0,a),d(t,a+1))},W=(t,e)=>t+"\n"+e,q=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map((()=>r(256*o.random()))))(t),G=(t=16)=>h(B(new Uint8Array(t)),((t,e)=>t+q[63&e]),""),K=(t,e)=>e?[t,e]:[t],Q=(t,e)=>((t??"")>(e??"")?t:e)??"",X=(t="")=>K(((t=[])=>L.fromEntries(t))(),t),Y=E(),Z=E(),_=/\/([^?]*)/,tt=(a,n,o)=>{const r=E(),d=E(),g=E(),h=E(),[f,A,L]=$((()=>H)),m=t=>{t[1]?.destroy(),t[2]?.destroy()},T=(e,a,s)=>n=>U(n,((n,o)=>{const r=W(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,C(a,((t,e)=>i(e,t)))):"S"===n?s[3]?.(r):z(a,n)?.send(r)}));a.on("connection",((a,w)=>{return c((p=w.url,f=_,p?.match(f)),(([,p])=>c(w.headers["sec-websocket-key"],(async w=>{const f=R(g,p,E),C=R(h,p,(()=>[0])),L=T(w,f,C);b(f)&&(A(r,void 0,p,1),await(async(e,a,r)=>c(await(n?.(a)),(a=>{e[0]=1,e[1]=l(a)?a[0]:a;const n=T("S",r,e);e[2]=((e,a,n,o,r,d,g,y,h={})=>{let w,p=0,f=0,b=0;const A=E(),C=()=>G(11),L=(t,e,s,n)=>{f++,a(t,e,s,n)},m=async(t,e,a,n)=>new s(((s,o)=>{const i=n+"."+G(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{M(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)}),r);N(A,i,[t,(t,e)=>{clearTimeout(c),M(A,i),s([t,e,n])}]),L(t,i,e,a)})),T=(t,[e,a])=>{k(e,(([e,a],s)=>{const n=P(t[0],s,X);k(e,(([t,e],a)=>{const s=P(n[0],a,X);k(t,(([t,e],a)=>s[0][a]=K(t,e))),s[1]=Q(s[1],e)})),n[1]=Q(n[1],a)})),t[1]=Q(t[1],a)},H=async(a=null,s,n=C())=>{try{i(s)&&([s,a,n]=await m(null,1,t,n));const[o,r]=s,[c,l]=e.getMergeableContentHashes();let d=X();if(c!=o){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(d=t,!O(s)){const[t,o]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(T(d,t),!O(o)){const t=(await m(a,6,e.getMergeableCellHashes(o),n))[0];T(d,t)}}}return[d,l==r?X():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]}catch(t){y?.(t)}},I=((t,e,a,s,n,o,r,c={},d=0,g=[])=>{let y,h,w,p=0,f=0,b=0;R(Y,g,(()=>0)),R(Z,g,(()=>[]));const A=E(),[C,M,L,m,T]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!O(t)||!O(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!O(t)||!O(e),e.setContent]:u("Store type not supported by this Persister"))(r,t,d),[H,k,P]=$((()=>W)),I=t=>{t!=p&&(p=t,k(A,void 0,p))},V=e=>{(C&&l(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=p&&(I(1),f++,await U((async()=>{try{const a=await e();l(a)?V(a):t?T(t):u("Content is not an array: "+a)}catch(e){o?.(e),t&&T(t)}I(0)}))),W),J=()=>(h&&(n(h),h=void 0),W),j=async t=>(1!=p&&(I(2),b++,await U((async()=>{try{await a(M,t)}catch(t){o?.(t)}I(0)}))),W),F=()=>(w&&(t.delListener(w),w=void 0),W),U=async(...t)=>(v(z(Z,g),...t),await(async()=>{if(!z(Y,g)){for(N(Y,g,1);!i(y=S(z(Z,g)));)try{await y()}catch(t){o?.(t)}N(Y,g,0)}})(),W),W={load:x,startAutoLoad:async t=>{J(),await x(t);try{h=await s((async(t,e)=>{e||t?2!=p&&(I(1),f++,V(e??t),I(0)):await x()}))}catch(t){o?.(t)}return W},stopAutoLoad:J,isAutoLoading:()=>!i(h),save:j,startAutoSave:async()=>(F(),await j(),w=t.addDidFinishTransactionListener((()=>{const t=L();m(t)&&j(t)})),W),stopAutoSave:F,isAutoSaving:()=>!i(w),getStatus:()=>p,addStatusListener:t=>H(t,A),delListener:e=>(P(e),t),schedule:U,getStore:()=>t,destroy:()=>(z(Z,g).splice(0,void 0),J().stopAutoSave()),getStats:()=>({loads:f,saves:b}),...c};return D(W)})(e,(async()=>{const t=await H();return!t||O(t[0][0])&&O(t[1][0])?void 0:t}),(async(t,a)=>a?L(null,C(),3,a):L(null,C(),2,e.getMergeableContentHashes())),(t=>w=t),(()=>w=void 0),y,2,{startSync:async t=>(p=1,await(await I.startAutoLoad(t)).startAutoSave()),stopSync:()=>(p=0,I.stopAutoLoad().stopAutoSave()),destroy:()=>I.stopSync(),getSynchronizerStats:()=>({sends:f,receives:b}),...h},1);return n(((t,a,s,n)=>{const o=p||I.isAutoLoading();b++,0==s?c(z(A,a),(([e,a])=>i(e)||e==t?a(n,t):0)):2==s&&o?H(t,n,a??void 0).then((t=>{w?.(void 0,t)})).catch(y):3==s&&o?w?.(void 0,n):c(1==s&&(p||I.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{L(t,a,0,e)}))})),I})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>W(e??t,j(a,((t,e)=>void 0===e?"":e))))(e,a,s,o))),(t=>e[3]=e=>((t,e)=>U(t,((t,a)=>{return e(t,...(s=a,F(s,((t,e)=>""===e?void 0:e))));var s})))(e,t)),0,1,0,0,o),e[4]=[],e[5]=l(a)?a[1]:t=>0})))(C,p,f)),N(f,w,a),A(d,[p],w,1),a.on("message",(t=>{const e=t.toString("utf8");0==C[0]?L(e):v(C[4],e)})),1==C[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(C),y(C[4],L),C[4]=[]),a.on("close",(()=>{M(f,w),A(d,[p],w,-1),b(f)&&(m(C),M(h,p),M(g,p),A(r,void 0,p,-1))})),o&&a.on(e,o)}))));var p,f})),o&&a.on(e,o);const H={getWebSocketServer:()=>a,getPathIds:()=>I(g),getClientIds:t=>I(z(g,t)),addPathIdsListener:t=>f(t,r),addClientIdsListener:(t,e)=>f(e,d,[t]),delListener:t=>(L(t),H),getStats:()=>({paths:w(g),clients:p(g)}),destroy:()=>{g.clear(),C(h,m),a.close()}};return D(H)};export{tt as createWsServer};
@@ -1 +1 @@
1
- const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=globalThis,o=Math,r=o.floor,i=t=>null==t,c=(t,e,a)=>i(t)?a?.():e(t),l=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),g=t=>t.length,u=t=>{throw Error(t)},y=(t,e)=>t.forEach(e),h=(t,e,a)=>t.reduce(e,a),v=(t,...e)=>t.push(...e),S=t=>t.shift(),w=Object,p=t=>w.getPrototypeOf(t),f=w.entries,b=w.keys,A=w.freeze,C=(t,e)=>y(f(t),(([t,a])=>e(a,t))),M=t=>(t=>!i(t)&&c(p(t),(t=>t==w.prototype||i(p(t))),(()=>!0)))(t)&&0==(t=>g(b(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>t?.size??0,T=(H=m,t=>h(k(t),((t,e)=>t+H(e)),0));var H;const D=t=>i(t)||0==m(t),k=t=>[...t?.values()??[]],O=(t,e)=>t?.forEach(e),P=(t,e)=>t?.delete(e),E=t=>new Map(t),I=t=>[...t?.keys()??[]],z=(t,e)=>t?.get(e),N=(t,e,a)=>i(a)?(P(t,e),t):t?.set(e,a),R=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(z(t,e)):N(t,e,a()),z(t,e)},V=(t,e,a,s,n=0)=>c((a?R:z)(t,e[n],n>g(e)-2?a:E),(o=>{if(n>g(e)-2)return s?.(o)&&N(t,e[n]),o;const r=V(o,e,a,s,n+1);return D(o)&&N(t,e[n]),r})),x=JSON.stringify,J=JSON.parse,$=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(d(t,0,a),d(t,a+1))},j=(t,e)=>t+"\n"+e,F=(t,e)=>e?[t,e]:[t],U=(t,e)=>((t??"")>(e??"")?t:e)??"",W=(t="")=>F(((t=[])=>w.fromEntries(t))(),t),q=t=>new Set(l(t)||i(t)?t:[t]),B=/^\d+$/,G=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?S(e):null)??t+a++,t=>{B.test(t)&&g(e)<1e3&&v(e,t)}]})(),o=E();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var g,u;return N(o,d,[n,r,i,c,l]),g=V(r,i??[t],q),u=d,g?.add(u),d},(e,s,...n)=>y(((e,a=[t])=>{const s=[],n=(t,e)=>e==g(a)?v(s,t):null===a[e]?O(t,(t=>n(t,e+1))):y([a[e],null],(a=>n(z(t,a),e+1)));return n(e,0),s})(e,s),(t=>O(t,(t=>z(o,t)[0](a,...s??[],...n))))),e=>c(z(o,e),(([,a,s])=>(V(a,s??[t],void 0,(t=>(P(t,e),D(t)?1:0))),N(o,e),n(e),s))),t=>c(z(o,t),(([t,,e=[],s,n])=>{const o=(...r)=>{const c=g(r);c==g(e)?t(a,...r,...n(r)):i(e[c])?y(s[c]?.(...r)??[],(t=>o(...r,t))):o(...r,e[c])};o()}))]},K=E(),Q=E(),X=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Y=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map((()=>r(256*o.random()))))(t),Z=(t=16)=>h(Y(new Uint8Array(t)),((t,e)=>t+X[63&e]),""),_=/\/([^?]*)/,tt=(a,n,o)=>{const r=E(),d=E(),g=E(),h=E(),[w,p,f]=G((()=>k)),b=t=>{t[1]?.destroy(),t[2]?.destroy()},H=(e,a,s)=>n=>$(n,((n,o)=>{const r=j(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,O(a,((t,e)=>i(e,t)))):"S"===n?s[3]?.(r):z(a,n)?.send(r)}));a.on("connection",((a,w)=>{return c((f=w.url,m=_,f?.match(m)),(([,f])=>c(w.headers["sec-websocket-key"],(async w=>{const m=R(g,f,E),T=R(h,f,(()=>[0])),k=H(w,m,T);D(m)&&(p(r,void 0,f,1),await(async(e,a,r)=>c(await(n?.(a)),(a=>{e[0]=1,e[1]=l(a)?a[0]:a;const n=H("S",r,e);e[2]=((e,a,n,o,r,d,g,y,h={})=>{let w,p=0,f=0,b=0;const m=E(),T=()=>Z(11),H=(t,e,s,n)=>{f++,a(t,e,s,n)},D=async(t,e,a,n)=>new s(((s,o)=>{const i=n+"."+Z(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{P(m,i),o(`No response from ${t??"anyone"} to ${i}, `+e)}),r);N(m,i,[t,(t,e)=>{clearTimeout(c),P(m,i),s([t,e,n])}]),H(t,i,e,a)})),k=(t,[e,a])=>{C(e,(([e,a],s)=>{const n=L(t[0],s,W);C(e,(([t,e],a)=>{const s=L(n[0],a,W);C(t,(([t,e],a)=>s[0][a]=F(t,e))),s[1]=U(s[1],e)})),n[1]=U(n[1],a)})),t[1]=U(t[1],a)},O=async(a=null,s,n=T())=>{try{i(s)&&([s,a,n]=await D(null,1,t,n));const[o,r]=s,[c,l]=e.getMergeableContentHashes();let d=W();if(c!=o){const[t,s]=(await D(a,4,e.getMergeableTableHashes(),n))[0];if(d=t,!M(s)){const[t,o]=(await D(a,5,e.getMergeableRowHashes(s),n))[0];if(k(d,t),!M(o)){const t=(await D(a,6,e.getMergeableCellHashes(o),n))[0];k(d,t)}}}return[d,l==r?W():(await D(a,7,e.getMergeableValueHashes(),n))[0],1]}catch(t){y?.(t)}},I=((t,e,a,s,n,o,r,c={},d=0,g=[])=>{let y,h,w,p=0,f=0,b=0;R(K,g,(()=>0)),R(Q,g,(()=>[]));const C=E(),[L,m,T,H,D]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!M(t)||!M(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!M(t)||!M(e),e.setContent]:u("Store type not supported by this Persister"))(r,t,d),[k,O,P]=G((()=>U)),I=t=>{t!=p&&(p=t,O(C,void 0,p))},V=e=>{(L&&l(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=p&&(I(1),f++,await F((async()=>{try{const a=await e();l(a)?V(a):t?D(t):u("Content is not an array: "+a)}catch(e){o?.(e),t&&D(t)}I(0)}))),U),J=()=>(h&&(n(h),h=void 0),U),$=async t=>(1!=p&&(I(2),b++,await F((async()=>{try{await a(m,t)}catch(t){o?.(t)}I(0)}))),U),j=()=>(w&&(t.delListener(w),w=void 0),U),F=async(...t)=>(v(z(Q,g),...t),await(async()=>{if(!z(K,g)){for(N(K,g,1);!i(y=S(z(Q,g)));)try{await y()}catch(t){o?.(t)}N(K,g,0)}})(),U),U={load:x,startAutoLoad:async t=>{J(),await x(t);try{h=await s((async(t,e)=>{e||t?2!=p&&(I(1),f++,V(e??t),I(0)):await x()}))}catch(t){o?.(t)}return U},stopAutoLoad:J,isAutoLoading:()=>!i(h),save:$,startAutoSave:async()=>(j(),await $(),w=t.addDidFinishTransactionListener((()=>{const t=T();H(t)&&$(t)})),U),stopAutoSave:j,isAutoSaving:()=>!i(w),getStatus:()=>p,addStatusListener:t=>k(t,C),delListener:e=>(P(e),t),schedule:F,getStore:()=>t,destroy:()=>(z(Q,g).splice(0,void 0),J().stopAutoSave()),getStats:()=>({loads:f,saves:b}),...c};return A(U)})(e,(async()=>{const t=await O();return!t||M(t[0][0])&&M(t[1][0])?void 0:t}),(async(t,a)=>a?H(null,T(),3,a):H(null,T(),2,e.getMergeableContentHashes())),(t=>w=t),(()=>w=void 0),y,2,{startSync:async t=>(p=1,await(await I.startAutoLoad(t)).startAutoSave()),stopSync:()=>(p=0,I.stopAutoLoad().stopAutoSave()),destroy:()=>I.stopSync(),getSynchronizerStats:()=>({sends:f,receives:b}),...h},1);return n(((t,a,s,n)=>{const o=p||I.isAutoLoading();b++,0==s?c(z(m,a),(([e,a])=>i(e)||e==t?a(n,t):0)):2==s&&o?O(t,n,a??void 0).then((t=>{w?.(void 0,t)})).catch(y):3==s&&o?w?.(void 0,n):c(1==s&&(p||I.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{H(t,a,0,e)}))})),I})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>j(e??t,x(a,((t,e)=>void 0===e?"":e))))(e,a,s,o))),(t=>e[3]=e=>((t,e)=>$(t,((t,a)=>{return e(t,...(s=a,J(s,((t,e)=>""===e?void 0:e))));var s})))(e,t)),0,1,0,0,o),e[4]=[],e[5]=l(a)?a[1]:t=>0})))(T,f,m)),N(m,w,a),p(d,[f],w,1),a.on("message",(t=>{const e=t.toString("utf8");0==T[0]?k(e):v(T[4],e)})),1==T[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(T),y(T[4],k),T[4]=[]),a.on("close",(()=>{P(m,w),p(d,[f],w,-1),D(m)&&(b(T),P(h,f),P(g,f),p(r,void 0,f,-1))})),o&&a.on(e,o)}))));var f,m})),o&&a.on(e,o);const k={getWebSocketServer:()=>a,getPathIds:()=>I(g),getClientIds:t=>I(z(g,t)),addPathIdsListener:t=>w(t,r),addClientIdsListener:(t,e)=>w(e,d,[t]),delListener:t=>(f(t),k),getStats:()=>({paths:m(g),clients:T(g)}),destroy:()=>{g.clear(),O(h,b),a.close()}};return A(k)};export{tt as createWsServer};
1
+ const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=globalThis,o=Math,r=o.floor,i=t=>null==t,c=(t,e,a)=>i(t)?a?.():e(t),l=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),g=t=>t.length,u=t=>{throw Error(t)},y=(t,e)=>t.forEach(e),h=(t,e,a)=>t.reduce(e,a),v=(t,...e)=>t.push(...e),S=t=>t.shift(),w=t=>t?.size??0,p=(f=w,t=>h(A(t),((t,e)=>t+f(e)),0));var f;const b=t=>i(t)||0==w(t),A=t=>[...t?.values()??[]],C=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),L=Object,m=t=>L.getPrototypeOf(t),T=L.entries,H=L.keys,D=L.freeze,k=(t,e)=>y(T(t),(([t,a])=>e(a,t))),O=t=>(t=>!i(t)&&c(m(t),(t=>t==L.prototype||i(m(t))),(()=>!0)))(t)&&0==(t=>g(H(t)))(t),P=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),E=t=>new Map(t),I=t=>[...t?.keys()??[]],z=(t,e)=>t?.get(e),N=(t,e,a)=>i(a)?(M(t,e),t):t?.set(e,a),R=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(z(t,e)):N(t,e,a()),z(t,e)},V=(t,e,a,s,n=0)=>c((a?R:z)(t,e[n],n>g(e)-2?a:E),(o=>{if(n>g(e)-2)return s?.(o)&&N(t,e[n]),o;const r=V(o,e,a,s,n+1);return b(o)&&N(t,e[n]),r})),x=/^\d+$/,J=t=>new Set(l(t)||i(t)?t:[t]),$=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?S(e):null)??t+a++,t=>{x.test(t)&&g(e)<1e3&&v(e,t)}]})(),o=E();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var g,u;return N(o,d,[n,r,i,c,l]),g=V(r,i??[t],J),u=d,g?.add(u),d},(e,s,...n)=>y(((e,a=[t])=>{const s=[],n=(t,e)=>e==g(a)?v(s,t):null===a[e]?C(t,(t=>n(t,e+1))):y([a[e],null],(a=>n(z(t,a),e+1)));return n(e,0),s})(e,s),(t=>C(t,(t=>z(o,t)[0](a,...s??[],...n))))),e=>c(z(o,e),(([,a,s])=>(V(a,s??[t],void 0,(t=>(M(t,e),b(t)?1:0))),N(o,e),n(e),s))),t=>c(z(o,t),(([t,,e=[],s,n])=>{const o=(...r)=>{const c=g(r);c==g(e)?t(a,...r,...n(r)):i(e[c])?y(s[c]?.(...r)??[],(t=>o(...r,t))):o(...r,e[c])};o()}))]},j=JSON.stringify,F=JSON.parse,U=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(d(t,0,a),d(t,a+1))},W=(t,e)=>t+"\n"+e,q=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map((()=>r(256*o.random()))))(t),G=(t=16)=>h(B(new Uint8Array(t)),((t,e)=>t+q[63&e]),""),K=(t,e)=>e?[t,e]:[t],Q=(t,e)=>((t??"")>(e??"")?t:e)??"",X=(t="")=>K(((t=[])=>L.fromEntries(t))(),t),Y=E(),Z=E(),_=/\/([^?]*)/,tt=(a,n,o)=>{const r=E(),d=E(),g=E(),h=E(),[f,A,L]=$((()=>H)),m=t=>{t[1]?.destroy(),t[2]?.destroy()},T=(e,a,s)=>n=>U(n,((n,o)=>{const r=W(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,C(a,((t,e)=>i(e,t)))):"S"===n?s[3]?.(r):z(a,n)?.send(r)}));a.on("connection",((a,w)=>{return c((p=w.url,f=_,p?.match(f)),(([,p])=>c(w.headers["sec-websocket-key"],(async w=>{const f=R(g,p,E),C=R(h,p,(()=>[0])),L=T(w,f,C);b(f)&&(A(r,void 0,p,1),await(async(e,a,r)=>c(await(n?.(a)),(a=>{e[0]=1,e[1]=l(a)?a[0]:a;const n=T("S",r,e);e[2]=((e,a,n,o,r,d,g,y,h={})=>{let w,p=0,f=0,b=0;const A=E(),C=()=>G(11),L=(t,e,s,n)=>{f++,a(t,e,s,n)},m=async(t,e,a,n)=>new s(((s,o)=>{const i=n+"."+G(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{M(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)}),r);N(A,i,[t,(t,e)=>{clearTimeout(c),M(A,i),s([t,e,n])}]),L(t,i,e,a)})),T=(t,[e,a])=>{k(e,(([e,a],s)=>{const n=P(t[0],s,X);k(e,(([t,e],a)=>{const s=P(n[0],a,X);k(t,(([t,e],a)=>s[0][a]=K(t,e))),s[1]=Q(s[1],e)})),n[1]=Q(n[1],a)})),t[1]=Q(t[1],a)},H=async(a=null,s,n=C())=>{try{i(s)&&([s,a,n]=await m(null,1,t,n));const[o,r]=s,[c,l]=e.getMergeableContentHashes();let d=X();if(c!=o){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(d=t,!O(s)){const[t,o]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(T(d,t),!O(o)){const t=(await m(a,6,e.getMergeableCellHashes(o),n))[0];T(d,t)}}}return[d,l==r?X():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]}catch(t){y?.(t)}},I=((t,e,a,s,n,o,r,c={},d=0,g=[])=>{let y,h,w,p=0,f=0,b=0;R(Y,g,(()=>0)),R(Z,g,(()=>[]));const A=E(),[C,M,L,m,T]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!O(t)||!O(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!O(t)||!O(e),e.setContent]:u("Store type not supported by this Persister"))(r,t,d),[H,k,P]=$((()=>W)),I=t=>{t!=p&&(p=t,k(A,void 0,p))},V=e=>{(C&&l(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=p&&(I(1),f++,await U((async()=>{try{const a=await e();l(a)?V(a):t?T(t):u("Content is not an array: "+a)}catch(e){o?.(e),t&&T(t)}I(0)}))),W),J=()=>(h&&(n(h),h=void 0),W),j=async t=>(1!=p&&(I(2),b++,await U((async()=>{try{await a(M,t)}catch(t){o?.(t)}I(0)}))),W),F=()=>(w&&(t.delListener(w),w=void 0),W),U=async(...t)=>(v(z(Z,g),...t),await(async()=>{if(!z(Y,g)){for(N(Y,g,1);!i(y=S(z(Z,g)));)try{await y()}catch(t){o?.(t)}N(Y,g,0)}})(),W),W={load:x,startAutoLoad:async t=>{J(),await x(t);try{h=await s((async(t,e)=>{e||t?2!=p&&(I(1),f++,V(e??t),I(0)):await x()}))}catch(t){o?.(t)}return W},stopAutoLoad:J,isAutoLoading:()=>!i(h),save:j,startAutoSave:async()=>(F(),await j(),w=t.addDidFinishTransactionListener((()=>{const t=L();m(t)&&j(t)})),W),stopAutoSave:F,isAutoSaving:()=>!i(w),getStatus:()=>p,addStatusListener:t=>H(t,A),delListener:e=>(P(e),t),schedule:U,getStore:()=>t,destroy:()=>(z(Z,g).splice(0,void 0),J().stopAutoSave()),getStats:()=>({loads:f,saves:b}),...c};return D(W)})(e,(async()=>{const t=await H();return!t||O(t[0][0])&&O(t[1][0])?void 0:t}),(async(t,a)=>a?L(null,C(),3,a):L(null,C(),2,e.getMergeableContentHashes())),(t=>w=t),(()=>w=void 0),y,2,{startSync:async t=>(p=1,await(await I.startAutoLoad(t)).startAutoSave()),stopSync:()=>(p=0,I.stopAutoLoad().stopAutoSave()),destroy:()=>I.stopSync(),getSynchronizerStats:()=>({sends:f,receives:b}),...h},1);return n(((t,a,s,n)=>{const o=p||I.isAutoLoading();b++,0==s?c(z(A,a),(([e,a])=>i(e)||e==t?a(n,t):0)):2==s&&o?H(t,n,a??void 0).then((t=>{w?.(void 0,t)})).catch(y):3==s&&o?w?.(void 0,n):c(1==s&&(p||I.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{L(t,a,0,e)}))})),I})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>W(e??t,j(a,((t,e)=>void 0===e?"":e))))(e,a,s,o))),(t=>e[3]=e=>((t,e)=>U(t,((t,a)=>{return e(t,...(s=a,F(s,((t,e)=>""===e?void 0:e))));var s})))(e,t)),0,1,0,0,o),e[4]=[],e[5]=l(a)?a[1]:t=>0})))(C,p,f)),N(f,w,a),A(d,[p],w,1),a.on("message",(t=>{const e=t.toString("utf8");0==C[0]?L(e):v(C[4],e)})),1==C[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(C),y(C[4],L),C[4]=[]),a.on("close",(()=>{M(f,w),A(d,[p],w,-1),b(f)&&(m(C),M(h,p),M(g,p),A(r,void 0,p,-1))})),o&&a.on(e,o)}))));var p,f})),o&&a.on(e,o);const H={getWebSocketServer:()=>a,getPathIds:()=>I(g),getClientIds:t=>I(z(g,t)),addPathIdsListener:t=>f(t,r),addClientIdsListener:(t,e)=>f(e,d,[t]),delListener:t=>(L(t),H),getStats:()=>({paths:w(g),clients:p(g)}),destroy:()=>{g.clear(),C(h,m),a.close()}};return D(H)};export{tt as createWsServer};
@@ -1 +1 @@
1
- import{DurableObject as e}from"cloudflare:workers";const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),h=(e,t,s)=>e.slice(t,s),d=e=>e.length,u=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),S=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,C=e=>p.getPrototypeOf(e),b=p.entries,f=p.keys,M=p.freeze,A=(e,t)=>y(b(e),(([e,s])=>t(s,e))),m=e=>(e=>!c(e)&&l(C(e),(e=>e==p.prototype||c(C(e))),(()=>!0)))(e)&&0==(e=>d(f(e)))(e),k=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(h(e,0,s),h(e,s+1))},P=(e,...s)=>I(e??t,L(s,((e,t)=>void 0===t?"":t))),I=(e,t)=>e+"\n"+t,H=e=>c(e)||0==(e=>e?.size??0)(e),D=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),R=e=>new Map(e),E=(e,t)=>e?.get(t),N=(e,t,s)=>c(s)?(O(e,t),e):e?.set(t,s),W=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(E(e,t)):N(e,t,s()),E(e,t)},z=(e,t,s,a,n=0)=>l((s?W:E)(e,t[n],n>d(t)-2?s:R),(r=>{if(n>d(t)-2)return a?.(r)&&N(e,t[n]),r;const o=z(r,t,s,a,n+1);return H(r)&&N(e,t[n]),o})),U=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>U(((e=[])=>p.fromEntries(e))(),e),J=e=>new Set(g(e)||c(e)?e:[e]),$=/^\d+$/,j=R(),q=R(),B=(e,s,a,n,r,o,i,h={},w=0,p=[])=>{let C,b,f,A=0,k=0,L=0;W(j,p,(()=>0)),W(q,p,(()=>[]));const T=R(),[x,P,I,U,V]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!m(e)||!m(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!m(e)||!m(t),t.setContent]:u("Store type not supported by this Persister"))(i,e,w),[F,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?v(e):null)??t+s++,t=>{$.test(t)&&d(e)<1e3&&S(e,t)}]})(),n=R();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,h;return N(n,l,[a,r,o,i,c]),g=z(r,o??[t],J),h=l,g?.add(h),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==d(s)?S(a,e):null===s[t]?D(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(E(e,s),t+1)));return n(e,0),a})(s,a),(t=>D(t,(t=>E(n,t)[0](e,...a??[],...r))))),e=>l(E(n,e),(([,s,r])=>(z(s,r??[t],void 0,(t=>(O(t,e),H(t)?1:0))),N(n,e),a(e),r))),t=>l(E(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=d(o);i==d(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),k++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?V(e):u("Content is not an array: "+t)}catch(t){e&&V(e)}K(0)}))),te),Y=()=>(b&&(r(b),b=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(S(E(q,p),...e),await(async()=>{if(!E(j,p)){for(N(j,p,1);!c(C=v(E(q,p)));)try{await C()}catch(e){}N(j,p,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{b=await n((async(e,t)=>{t||e?2!=A&&(K(1),k++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(b),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=I();U(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>F(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(E(q,p).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:k,saves:L}),...h};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,h,d,u={})=>{let y,w=0,S=0,v=0;const p=R(),C=()=>Q(11),b=(e,t,a,n)=>{S++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{O(p,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);N(p,c,[e,(e,t)=>{clearTimeout(l),O(p,c),a([e,t,n])}]),b(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=k(e[0],a,F);A(t,(([e,t],s)=>{const a=k(n[0],s,F);A(e,(([e,t],s)=>a[0][s]=U(e,t))),a[1]=V(a[1],t)})),n[1]=V(n[1],s)})),e[1]=V(e[1],s)},L=async(s=null,a,n=C())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=F();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!m(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!m(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?F():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||m(e[0][0])&&m(e[1][0])?void 0:e}),(async(t,s)=>s?b(null,C(),3,s):b(null,C(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:S,receives:v}),...u},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();v++,0==a?l(E(p,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{b(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==d(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==d(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=I(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}const ae=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();export{se as WsServerDurableObject,ae as getWsServerDurableObjectFetch};
1
+ import{DurableObject as e}from"cloudflare:workers";const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),h=(e,t,s)=>e.slice(t,s),d=e=>e.length,u=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),S=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,C=e=>p.getPrototypeOf(e),b=p.entries,f=p.keys,M=p.freeze,A=(e,t)=>y(b(e),(([e,s])=>t(s,e))),m=e=>(e=>!c(e)&&l(C(e),(e=>e==p.prototype||c(C(e))),(()=>!0)))(e)&&0==(e=>d(f(e)))(e),k=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(h(e,0,s),h(e,s+1))},P=(e,...s)=>I(e??t,L(s,((e,t)=>void 0===t?"":t))),I=(e,t)=>e+"\n"+t,H=e=>c(e)||0==(e=>e?.size??0)(e),D=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),R=e=>new Map(e),E=(e,t)=>e?.get(t),N=(e,t,s)=>c(s)?(O(e,t),e):e?.set(t,s),W=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(E(e,t)):N(e,t,s()),E(e,t)},z=(e,t,s,a,n=0)=>l((s?W:E)(e,t[n],n>d(t)-2?s:R),(r=>{if(n>d(t)-2)return a?.(r)&&N(e,t[n]),r;const o=z(r,t,s,a,n+1);return H(r)&&N(e,t[n]),o})),U=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),V=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),F=(e=16)=>{return t=(e,t)=>e+U[63&t],V(new Uint8Array(e)).reduce(t,"");var t},J=(e,t)=>t?[e,t]:[e],$=(e,t)=>((e??"")>(t??"")?e:t)??"",j=(e="")=>J(((e=[])=>p.fromEntries(e))(),e),q=/^\d+$/,B=e=>new Set(g(e)||c(e)?e:[e]),G=R(),K=R(),Q=(e,s,a,n,r,o,i,h={},w=0,p=[])=>{let C,b,f,A=0,k=0,L=0;W(G,p,(()=>0)),W(K,p,(()=>[]));const T=R(),[x,P,I,U,V]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!m(e)||!m(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!m(e)||!m(t),t.setContent]:u("Store type not supported by this Persister"))(i,e,w),[F,J,$]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?v(e):null)??t+s++,t=>{q.test(t)&&d(e)<1e3&&S(e,t)}]})(),n=R();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,h;return N(n,l,[a,r,o,i,c]),g=z(r,o??[t],B),h=l,g?.add(h),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==d(s)?S(a,e):null===s[t]?D(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(E(e,s),t+1)));return n(e,0),a})(s,a),(t=>D(t,(t=>E(n,t)[0](e,...a??[],...r))))),e=>l(E(n,e),(([,s,r])=>(z(s,r??[t],void 0,(t=>(O(t,e),H(t)?1:0))),N(n,e),a(e),r))),t=>l(E(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=d(o);i==d(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),j=e=>{e!=A&&(A=e,J(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(j(1),k++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?V(e):u("Content is not an array: "+t)}catch(t){e&&V(e)}j(0)}))),te),Y=()=>(b&&(r(b),b=void 0),te),Z=async e=>(1!=A&&(j(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}j(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(S(E(K,p),...e),await(async()=>{if(!E(G,p)){for(N(G,p,1);!c(C=v(E(K,p)));)try{await C()}catch(e){}N(G,p,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{b=await n((async(e,t)=>{t||e?2!=A&&(j(1),k++,Q(t??e),j(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(b),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=I();U(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>F(e,T),delListener:t=>($(t),e),schedule:ee,getStore:()=>e,destroy:()=>(E(K,p).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:k,saves:L}),...h};return M(te)},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,h,d,u={})=>{let y,w=0,S=0,v=0;const p=R(),C=()=>F(11),b=(e,t,a,n)=>{S++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+F(4),l=r((()=>{O(p,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);N(p,c,[e,(e,t)=>{clearTimeout(l),O(p,c),a([e,t,n])}]),b(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=k(e[0],a,j);A(t,(([e,t],s)=>{const a=k(n[0],s,j);A(e,(([e,t],s)=>a[0][s]=J(e,t))),a[1]=$(a[1],t)})),n[1]=$(n[1],s)})),e[1]=$(e[1],s)},L=async(s=null,a,n=C())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=j();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!m(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!m(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?j():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=Q(e,(async()=>{const e=await L();return!e||m(e[0][0])&&m(e[1][0])?void 0:e}),(async(t,s)=>s?b(null,C(),3,s):b(null,C(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:S,receives:v}),...u},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();v++,0==a?l(E(p,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{b(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==d(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==d(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=I(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}const ae=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();export{se as WsServerDurableObject,ae as getWsServerDurableObjectFetch};