tinybase 5.4.0-beta.1 → 5.4.0-beta.3

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 (1151) hide show
  1. package/@types/mergeable-store/index.d.cts +7 -5
  2. package/@types/mergeable-store/index.d.ts +7 -5
  3. package/@types/mergeable-store/with-schemas/index.d.cts +16 -9
  4. package/@types/mergeable-store/with-schemas/index.d.ts +16 -9
  5. package/@types/persisters/index.d.cts +14 -10
  6. package/@types/persisters/index.d.ts +14 -10
  7. package/@types/persisters/persister-durable-object-storage/index.d.cts +108 -0
  8. package/@types/persisters/persister-durable-object-storage/index.d.ts +108 -0
  9. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +122 -0
  10. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +122 -0
  11. package/@types/persisters/with-schemas/index.d.cts +14 -10
  12. package/@types/persisters/with-schemas/index.d.ts +14 -10
  13. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +5 -0
  14. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +5 -0
  15. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +6 -0
  16. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +6 -0
  17. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +119 -0
  18. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +119 -0
  19. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +144 -0
  20. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +144 -0
  21. package/cjs/es6/index.cjs +37 -32
  22. package/cjs/es6/indexes/index.cjs +1 -1
  23. package/cjs/es6/indexes/with-schemas/index.cjs +1 -1
  24. package/cjs/es6/mergeable-store/index.cjs +36 -32
  25. package/cjs/es6/mergeable-store/with-schemas/index.cjs +36 -32
  26. package/cjs/es6/metrics/index.cjs +1 -1
  27. package/cjs/es6/metrics/with-schemas/index.cjs +1 -1
  28. package/cjs/es6/min/index.cjs +1 -1
  29. package/cjs/es6/min/index.cjs.gz +0 -0
  30. package/cjs/es6/min/indexes/index.cjs +1 -1
  31. package/cjs/es6/min/indexes/index.cjs.gz +0 -0
  32. package/cjs/es6/min/indexes/with-schemas/index.cjs +1 -1
  33. package/cjs/es6/min/indexes/with-schemas/index.cjs.gz +0 -0
  34. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  35. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  36. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/metrics/index.cjs +1 -1
  39. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  40. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  41. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs +1 -0
  57. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -0
  59. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  93. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  100. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  101. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  102. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  105. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  106. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  109. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  110. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  113. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  114. package/cjs/es6/min/queries/index.cjs +1 -1
  115. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  116. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  117. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  118. package/cjs/es6/min/relationships/index.cjs +1 -1
  119. package/cjs/es6/min/relationships/index.cjs.gz +0 -0
  120. package/cjs/es6/min/relationships/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/relationships/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/min/store/index.cjs +1 -1
  123. package/cjs/es6/min/store/index.cjs.gz +0 -0
  124. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  125. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  126. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  127. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  128. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  129. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  130. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  131. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  132. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  133. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  134. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  135. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  136. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  137. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  138. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  139. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  140. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  141. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  142. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  143. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -0
  145. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  146. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -0
  147. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs +1 -1
  149. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
  150. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +1 -1
  151. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  153. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  154. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  155. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  156. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  157. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  158. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  159. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  160. package/cjs/es6/persisters/index.cjs +21 -9
  161. package/cjs/es6/persisters/persister-automerge/index.cjs +17 -8
  162. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +17 -8
  163. package/cjs/es6/persisters/persister-browser/index.cjs +17 -8
  164. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +17 -8
  165. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +21 -9
  166. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +21 -9
  167. package/cjs/es6/persisters/persister-durable-object-storage/index.cjs +687 -0
  168. package/cjs/es6/persisters/persister-durable-object-storage/with-schemas/index.cjs +687 -0
  169. package/cjs/es6/persisters/persister-electric-sql/index.cjs +21 -9
  170. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +21 -9
  171. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +21 -9
  172. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +21 -9
  173. package/cjs/es6/persisters/persister-file/index.cjs +17 -8
  174. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +17 -8
  175. package/cjs/es6/persisters/persister-indexed-db/index.cjs +19 -9
  176. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +19 -9
  177. package/cjs/es6/persisters/persister-libsql/index.cjs +21 -9
  178. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +21 -9
  179. package/cjs/es6/persisters/persister-partykit-client/index.cjs +23 -11
  180. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +23 -11
  181. package/cjs/es6/persisters/persister-pglite/index.cjs +19 -8
  182. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +19 -8
  183. package/cjs/es6/persisters/persister-postgres/index.cjs +19 -8
  184. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +19 -8
  185. package/cjs/es6/persisters/persister-powersync/index.cjs +21 -9
  186. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +21 -9
  187. package/cjs/es6/persisters/persister-remote/index.cjs +19 -9
  188. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +19 -9
  189. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +21 -9
  190. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +21 -9
  191. package/cjs/es6/persisters/persister-sqlite3/index.cjs +21 -9
  192. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +21 -9
  193. package/cjs/es6/persisters/persister-yjs/index.cjs +17 -8
  194. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +17 -8
  195. package/cjs/es6/persisters/with-schemas/index.cjs +21 -9
  196. package/cjs/es6/queries/index.cjs +1 -0
  197. package/cjs/es6/queries/with-schemas/index.cjs +1 -0
  198. package/cjs/es6/relationships/index.cjs +1 -1
  199. package/cjs/es6/relationships/with-schemas/index.cjs +1 -1
  200. package/cjs/es6/store/index.cjs +5 -5
  201. package/cjs/es6/store/with-schemas/index.cjs +5 -5
  202. package/cjs/es6/synchronizers/index.cjs +142 -93
  203. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +142 -93
  204. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +142 -93
  205. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +145 -97
  206. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +145 -97
  207. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +162 -100
  208. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +162 -100
  209. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +179 -107
  210. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +179 -107
  211. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1076 -0
  212. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1076 -0
  213. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/index.cjs +12 -12
  214. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +12 -12
  215. package/cjs/es6/synchronizers/with-schemas/index.cjs +142 -93
  216. package/cjs/es6/ui-react-inspector/index.cjs +22 -13
  217. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +22 -13
  218. package/cjs/es6/with-schemas/index.cjs +37 -32
  219. package/cjs/index.cjs +36 -32
  220. package/cjs/mergeable-store/index.cjs +36 -32
  221. package/cjs/mergeable-store/with-schemas/index.cjs +36 -32
  222. package/cjs/min/index.cjs +1 -1
  223. package/cjs/min/index.cjs.gz +0 -0
  224. package/cjs/min/mergeable-store/index.cjs +1 -1
  225. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  226. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  227. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/index.cjs +1 -1
  229. package/cjs/min/persisters/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-durable-object-storage/index.cjs +1 -0
  243. package/cjs/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  244. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -0
  245. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  251. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  252. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  253. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  254. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  255. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  256. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  257. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  259. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  260. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  261. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  263. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  264. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  265. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  267. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  268. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  269. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  270. package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
  271. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  273. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  274. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  275. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  276. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  277. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  278. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  279. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  280. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  281. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  282. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  283. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  284. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  285. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  286. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  287. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  288. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  289. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  290. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  291. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  292. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  293. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  294. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  295. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  296. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  297. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  298. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  299. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  300. package/cjs/min/store/index.cjs +1 -1
  301. package/cjs/min/store/index.cjs.gz +0 -0
  302. package/cjs/min/store/with-schemas/index.cjs +1 -1
  303. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  304. package/cjs/min/synchronizers/index.cjs +1 -1
  305. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  306. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  307. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  308. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  309. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  310. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  311. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  312. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  313. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  314. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  315. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  316. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  317. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  318. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  319. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  320. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  321. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  322. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -0
  323. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  324. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -0
  325. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  326. package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs +1 -1
  327. package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
  328. package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +1 -1
  329. package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs.gz +0 -0
  330. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  331. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  332. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  333. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  334. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  335. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  336. package/cjs/min/with-schemas/index.cjs +1 -1
  337. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  338. package/cjs/persisters/index.cjs +21 -9
  339. package/cjs/persisters/persister-automerge/index.cjs +17 -8
  340. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +17 -8
  341. package/cjs/persisters/persister-browser/index.cjs +17 -8
  342. package/cjs/persisters/persister-browser/with-schemas/index.cjs +17 -8
  343. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +21 -9
  344. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +21 -9
  345. package/cjs/persisters/persister-durable-object-storage/index.cjs +542 -0
  346. package/cjs/persisters/persister-durable-object-storage/with-schemas/index.cjs +542 -0
  347. package/cjs/persisters/persister-electric-sql/index.cjs +21 -9
  348. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +21 -9
  349. package/cjs/persisters/persister-expo-sqlite/index.cjs +21 -9
  350. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +21 -9
  351. package/cjs/persisters/persister-file/index.cjs +17 -8
  352. package/cjs/persisters/persister-file/with-schemas/index.cjs +17 -8
  353. package/cjs/persisters/persister-indexed-db/index.cjs +19 -9
  354. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +19 -9
  355. package/cjs/persisters/persister-libsql/index.cjs +21 -9
  356. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +21 -9
  357. package/cjs/persisters/persister-partykit-client/index.cjs +18 -9
  358. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +18 -9
  359. package/cjs/persisters/persister-pglite/index.cjs +19 -8
  360. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +19 -8
  361. package/cjs/persisters/persister-postgres/index.cjs +19 -8
  362. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +19 -8
  363. package/cjs/persisters/persister-powersync/index.cjs +21 -9
  364. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +21 -9
  365. package/cjs/persisters/persister-remote/index.cjs +19 -9
  366. package/cjs/persisters/persister-remote/with-schemas/index.cjs +19 -9
  367. package/cjs/persisters/persister-sqlite-wasm/index.cjs +21 -9
  368. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +21 -9
  369. package/cjs/persisters/persister-sqlite3/index.cjs +21 -9
  370. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +21 -9
  371. package/cjs/persisters/persister-yjs/index.cjs +17 -8
  372. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +17 -8
  373. package/cjs/persisters/with-schemas/index.cjs +21 -9
  374. package/cjs/store/index.cjs +5 -5
  375. package/cjs/store/with-schemas/index.cjs +5 -5
  376. package/cjs/synchronizers/index.cjs +119 -73
  377. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +119 -73
  378. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +119 -73
  379. package/cjs/synchronizers/synchronizer-local/index.cjs +128 -85
  380. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +128 -85
  381. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +139 -80
  382. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +139 -80
  383. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +156 -87
  384. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +156 -87
  385. package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +797 -0
  386. package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +797 -0
  387. package/cjs/synchronizers/synchronizer-ws-server-simple/index.cjs +12 -12
  388. package/cjs/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +12 -12
  389. package/cjs/synchronizers/with-schemas/index.cjs +119 -73
  390. package/cjs/ui-react-inspector/index.cjs +22 -13
  391. package/cjs/ui-react-inspector/with-schemas/index.cjs +22 -13
  392. package/cjs/with-schemas/index.cjs +36 -32
  393. package/es6/index.js +37 -32
  394. package/es6/indexes/index.js +1 -1
  395. package/es6/indexes/with-schemas/index.js +1 -1
  396. package/es6/mergeable-store/index.js +36 -32
  397. package/es6/mergeable-store/with-schemas/index.js +36 -32
  398. package/es6/metrics/index.js +1 -1
  399. package/es6/metrics/with-schemas/index.js +1 -1
  400. package/es6/min/index.js +1 -1
  401. package/es6/min/index.js.gz +0 -0
  402. package/es6/min/indexes/index.js +1 -1
  403. package/es6/min/indexes/index.js.gz +0 -0
  404. package/es6/min/indexes/with-schemas/index.js +1 -1
  405. package/es6/min/indexes/with-schemas/index.js.gz +0 -0
  406. package/es6/min/mergeable-store/index.js +1 -1
  407. package/es6/min/mergeable-store/index.js.gz +0 -0
  408. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  409. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  410. package/es6/min/metrics/index.js +1 -1
  411. package/es6/min/metrics/index.js.gz +0 -0
  412. package/es6/min/metrics/with-schemas/index.js +1 -1
  413. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  414. package/es6/min/persisters/index.js +1 -1
  415. package/es6/min/persisters/index.js.gz +0 -0
  416. package/es6/min/persisters/persister-automerge/index.js +1 -1
  417. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  418. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  419. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  420. package/es6/min/persisters/persister-browser/index.js +1 -1
  421. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  422. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  423. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  424. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  425. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  426. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  427. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  428. package/es6/min/persisters/persister-durable-object-storage/index.js +1 -0
  429. package/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  430. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  431. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  432. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  433. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  434. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  435. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  436. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  437. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  438. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  439. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  440. package/es6/min/persisters/persister-file/index.js +1 -1
  441. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  442. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  443. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  444. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  445. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  446. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  447. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  448. package/es6/min/persisters/persister-libsql/index.js +1 -1
  449. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  450. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  451. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  452. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  453. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  454. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  455. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  456. package/es6/min/persisters/persister-pglite/index.js +1 -1
  457. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  458. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  459. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  460. package/es6/min/persisters/persister-postgres/index.js +1 -1
  461. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  462. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  463. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  464. package/es6/min/persisters/persister-powersync/index.js +1 -1
  465. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  466. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  467. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  468. package/es6/min/persisters/persister-remote/index.js +1 -1
  469. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  470. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  471. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  472. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  473. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  474. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  475. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  476. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  477. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  478. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  479. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  480. package/es6/min/persisters/persister-yjs/index.js +1 -1
  481. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  482. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  483. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  484. package/es6/min/persisters/with-schemas/index.js +1 -1
  485. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  486. package/es6/min/queries/index.js +1 -1
  487. package/es6/min/queries/index.js.gz +0 -0
  488. package/es6/min/queries/with-schemas/index.js +1 -1
  489. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  490. package/es6/min/relationships/index.js +1 -1
  491. package/es6/min/relationships/index.js.gz +0 -0
  492. package/es6/min/relationships/with-schemas/index.js +1 -1
  493. package/es6/min/relationships/with-schemas/index.js.gz +0 -0
  494. package/es6/min/store/index.js +1 -1
  495. package/es6/min/store/index.js.gz +0 -0
  496. package/es6/min/store/with-schemas/index.js +1 -1
  497. package/es6/min/store/with-schemas/index.js.gz +0 -0
  498. package/es6/min/synchronizers/index.js +1 -1
  499. package/es6/min/synchronizers/index.js.gz +0 -0
  500. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  501. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  502. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  503. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  504. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  505. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  506. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  507. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  508. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  509. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  510. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  511. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  512. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  513. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  514. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  515. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  516. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
  517. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  518. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
  519. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  520. package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  521. package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  522. package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  523. package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  524. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  525. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  526. package/es6/min/ui-react-dom/index.js +1 -1
  527. package/es6/min/ui-react-dom/index.js.gz +0 -0
  528. package/es6/min/ui-react-dom/with-schemas/index.js +1 -1
  529. package/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  530. package/es6/min/ui-react-inspector/index.js +1 -1
  531. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  532. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  533. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  534. package/es6/min/with-schemas/index.js +1 -1
  535. package/es6/min/with-schemas/index.js.gz +0 -0
  536. package/es6/persisters/index.js +21 -9
  537. package/es6/persisters/persister-automerge/index.js +17 -8
  538. package/es6/persisters/persister-automerge/with-schemas/index.js +17 -8
  539. package/es6/persisters/persister-browser/index.js +17 -8
  540. package/es6/persisters/persister-browser/with-schemas/index.js +17 -8
  541. package/es6/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  542. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  543. package/es6/persisters/persister-durable-object-storage/index.js +684 -0
  544. package/es6/persisters/persister-durable-object-storage/with-schemas/index.js +684 -0
  545. package/es6/persisters/persister-electric-sql/index.js +21 -9
  546. package/es6/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  547. package/es6/persisters/persister-expo-sqlite/index.js +21 -9
  548. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  549. package/es6/persisters/persister-file/index.js +18 -9
  550. package/es6/persisters/persister-file/with-schemas/index.js +18 -9
  551. package/es6/persisters/persister-indexed-db/index.js +19 -9
  552. package/es6/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  553. package/es6/persisters/persister-libsql/index.js +21 -9
  554. package/es6/persisters/persister-libsql/with-schemas/index.js +21 -9
  555. package/es6/persisters/persister-partykit-client/index.js +23 -11
  556. package/es6/persisters/persister-partykit-client/with-schemas/index.js +23 -11
  557. package/es6/persisters/persister-pglite/index.js +19 -8
  558. package/es6/persisters/persister-pglite/with-schemas/index.js +19 -8
  559. package/es6/persisters/persister-postgres/index.js +19 -8
  560. package/es6/persisters/persister-postgres/with-schemas/index.js +19 -8
  561. package/es6/persisters/persister-powersync/index.js +21 -9
  562. package/es6/persisters/persister-powersync/with-schemas/index.js +21 -9
  563. package/es6/persisters/persister-remote/index.js +19 -9
  564. package/es6/persisters/persister-remote/with-schemas/index.js +19 -9
  565. package/es6/persisters/persister-sqlite-wasm/index.js +21 -9
  566. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  567. package/es6/persisters/persister-sqlite3/index.js +21 -9
  568. package/es6/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  569. package/es6/persisters/persister-yjs/index.js +17 -8
  570. package/es6/persisters/persister-yjs/with-schemas/index.js +17 -8
  571. package/es6/persisters/with-schemas/index.js +21 -9
  572. package/es6/queries/index.js +1 -0
  573. package/es6/queries/with-schemas/index.js +1 -0
  574. package/es6/relationships/index.js +1 -1
  575. package/es6/relationships/with-schemas/index.js +1 -1
  576. package/es6/store/index.js +5 -5
  577. package/es6/store/with-schemas/index.js +5 -5
  578. package/es6/synchronizers/index.js +142 -93
  579. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +142 -93
  580. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +142 -93
  581. package/es6/synchronizers/synchronizer-local/index.js +145 -97
  582. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +145 -97
  583. package/es6/synchronizers/synchronizer-ws-client/index.js +162 -100
  584. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +162 -100
  585. package/es6/synchronizers/synchronizer-ws-server/index.js +179 -107
  586. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +179 -107
  587. package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +1073 -0
  588. package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1073 -0
  589. package/es6/synchronizers/synchronizer-ws-server-simple/index.js +12 -12
  590. package/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +12 -12
  591. package/es6/synchronizers/with-schemas/index.js +142 -93
  592. package/es6/ui-react-dom/index.js +8 -8
  593. package/es6/ui-react-dom/with-schemas/index.js +8 -8
  594. package/es6/ui-react-inspector/index.js +26 -17
  595. package/es6/ui-react-inspector/with-schemas/index.js +26 -17
  596. package/es6/with-schemas/index.js +37 -32
  597. package/index.js +36 -32
  598. package/mergeable-store/index.js +36 -32
  599. package/mergeable-store/with-schemas/index.js +36 -32
  600. package/min/index.js +1 -1
  601. package/min/index.js.gz +0 -0
  602. package/min/mergeable-store/index.js +1 -1
  603. package/min/mergeable-store/index.js.gz +0 -0
  604. package/min/mergeable-store/with-schemas/index.js +1 -1
  605. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  606. package/min/persisters/index.js +1 -1
  607. package/min/persisters/index.js.gz +0 -0
  608. package/min/persisters/persister-automerge/index.js +1 -1
  609. package/min/persisters/persister-automerge/index.js.gz +0 -0
  610. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  611. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  612. package/min/persisters/persister-browser/index.js +1 -1
  613. package/min/persisters/persister-browser/index.js.gz +0 -0
  614. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  615. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  616. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  617. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  618. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  619. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  620. package/min/persisters/persister-durable-object-storage/index.js +1 -0
  621. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  622. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  623. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  624. package/min/persisters/persister-electric-sql/index.js +1 -1
  625. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  626. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  627. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  628. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  629. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  630. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  631. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  632. package/min/persisters/persister-file/index.js +1 -1
  633. package/min/persisters/persister-file/index.js.gz +0 -0
  634. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  635. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  636. package/min/persisters/persister-indexed-db/index.js +1 -1
  637. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  638. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  639. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  640. package/min/persisters/persister-libsql/index.js +1 -1
  641. package/min/persisters/persister-libsql/index.js.gz +0 -0
  642. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  643. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  644. package/min/persisters/persister-partykit-client/index.js +1 -1
  645. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  646. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  647. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  648. package/min/persisters/persister-pglite/index.js +1 -1
  649. package/min/persisters/persister-pglite/index.js.gz +0 -0
  650. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  651. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  652. package/min/persisters/persister-postgres/index.js +1 -1
  653. package/min/persisters/persister-postgres/index.js.gz +0 -0
  654. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  655. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  656. package/min/persisters/persister-powersync/index.js +1 -1
  657. package/min/persisters/persister-powersync/index.js.gz +0 -0
  658. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  659. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  660. package/min/persisters/persister-remote/index.js +1 -1
  661. package/min/persisters/persister-remote/index.js.gz +0 -0
  662. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  663. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  664. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  665. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  666. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  667. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  668. package/min/persisters/persister-sqlite3/index.js +1 -1
  669. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  670. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  671. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  672. package/min/persisters/persister-yjs/index.js +1 -1
  673. package/min/persisters/persister-yjs/index.js.gz +0 -0
  674. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  675. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  676. package/min/persisters/with-schemas/index.js +1 -1
  677. package/min/persisters/with-schemas/index.js.gz +0 -0
  678. package/min/store/index.js +1 -1
  679. package/min/store/index.js.gz +0 -0
  680. package/min/store/with-schemas/index.js +1 -1
  681. package/min/store/with-schemas/index.js.gz +0 -0
  682. package/min/synchronizers/index.js +1 -1
  683. package/min/synchronizers/index.js.gz +0 -0
  684. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  685. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  686. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  687. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  688. package/min/synchronizers/synchronizer-local/index.js +1 -1
  689. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  690. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  691. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  692. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  693. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  694. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  695. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  696. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  697. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  698. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  699. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  700. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
  701. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  702. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
  703. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  704. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  705. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  706. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  707. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  708. package/min/synchronizers/with-schemas/index.js +1 -1
  709. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  710. package/min/ui-react-dom/index.js +1 -1
  711. package/min/ui-react-dom/index.js.gz +0 -0
  712. package/min/ui-react-dom/with-schemas/index.js +1 -1
  713. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  714. package/min/ui-react-inspector/index.js +1 -1
  715. package/min/ui-react-inspector/index.js.gz +0 -0
  716. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  717. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  718. package/min/with-schemas/index.js +1 -1
  719. package/min/with-schemas/index.js.gz +0 -0
  720. package/package.json +220 -8
  721. package/persisters/index.js +21 -9
  722. package/persisters/persister-automerge/index.js +17 -8
  723. package/persisters/persister-automerge/with-schemas/index.js +17 -8
  724. package/persisters/persister-browser/index.js +17 -8
  725. package/persisters/persister-browser/with-schemas/index.js +17 -8
  726. package/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  727. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  728. package/persisters/persister-durable-object-storage/index.js +539 -0
  729. package/persisters/persister-durable-object-storage/with-schemas/index.js +539 -0
  730. package/persisters/persister-electric-sql/index.js +21 -9
  731. package/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  732. package/persisters/persister-expo-sqlite/index.js +21 -9
  733. package/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  734. package/persisters/persister-file/index.js +18 -9
  735. package/persisters/persister-file/with-schemas/index.js +18 -9
  736. package/persisters/persister-indexed-db/index.js +19 -9
  737. package/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  738. package/persisters/persister-libsql/index.js +21 -9
  739. package/persisters/persister-libsql/with-schemas/index.js +21 -9
  740. package/persisters/persister-partykit-client/index.js +18 -9
  741. package/persisters/persister-partykit-client/with-schemas/index.js +18 -9
  742. package/persisters/persister-pglite/index.js +19 -8
  743. package/persisters/persister-pglite/with-schemas/index.js +19 -8
  744. package/persisters/persister-postgres/index.js +19 -8
  745. package/persisters/persister-postgres/with-schemas/index.js +19 -8
  746. package/persisters/persister-powersync/index.js +21 -9
  747. package/persisters/persister-powersync/with-schemas/index.js +21 -9
  748. package/persisters/persister-remote/index.js +19 -9
  749. package/persisters/persister-remote/with-schemas/index.js +19 -9
  750. package/persisters/persister-sqlite-wasm/index.js +21 -9
  751. package/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  752. package/persisters/persister-sqlite3/index.js +21 -9
  753. package/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  754. package/persisters/persister-yjs/index.js +17 -8
  755. package/persisters/persister-yjs/with-schemas/index.js +17 -8
  756. package/persisters/with-schemas/index.js +21 -9
  757. package/readme.md +2 -2
  758. package/releases.md +23 -1
  759. package/store/index.js +5 -5
  760. package/store/with-schemas/index.js +5 -5
  761. package/synchronizers/index.js +119 -73
  762. package/synchronizers/synchronizer-broadcast-channel/index.js +119 -73
  763. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +119 -73
  764. package/synchronizers/synchronizer-local/index.js +128 -85
  765. package/synchronizers/synchronizer-local/with-schemas/index.js +128 -85
  766. package/synchronizers/synchronizer-ws-client/index.js +139 -80
  767. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +139 -80
  768. package/synchronizers/synchronizer-ws-server/index.js +156 -87
  769. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +156 -87
  770. package/synchronizers/synchronizer-ws-server-durable-object/index.js +794 -0
  771. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +794 -0
  772. package/synchronizers/synchronizer-ws-server-simple/index.js +12 -12
  773. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +12 -12
  774. package/synchronizers/with-schemas/index.js +119 -73
  775. package/ui-react-dom/index.js +8 -8
  776. package/ui-react-dom/with-schemas/index.js +8 -8
  777. package/ui-react-inspector/index.js +26 -17
  778. package/ui-react-inspector/with-schemas/index.js +26 -17
  779. package/umd/es6/index.js +37 -32
  780. package/umd/es6/indexes/index.js +5 -1
  781. package/umd/es6/indexes/with-schemas/index.js +5 -1
  782. package/umd/es6/mergeable-store/index.js +36 -32
  783. package/umd/es6/mergeable-store/with-schemas/index.js +36 -32
  784. package/umd/es6/metrics/index.js +5 -1
  785. package/umd/es6/metrics/with-schemas/index.js +5 -1
  786. package/umd/es6/min/index.js +1 -1
  787. package/umd/es6/min/index.js.gz +0 -0
  788. package/umd/es6/min/indexes/index.js +1 -1
  789. package/umd/es6/min/indexes/index.js.gz +0 -0
  790. package/umd/es6/min/indexes/with-schemas/index.js +1 -1
  791. package/umd/es6/min/indexes/with-schemas/index.js.gz +0 -0
  792. package/umd/es6/min/mergeable-store/index.js +1 -1
  793. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  794. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  795. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  796. package/umd/es6/min/metrics/index.js +1 -1
  797. package/umd/es6/min/metrics/index.js.gz +0 -0
  798. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  799. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  800. package/umd/es6/min/persisters/index.js +1 -1
  801. package/umd/es6/min/persisters/index.js.gz +0 -0
  802. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  803. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  804. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  805. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  806. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  807. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  808. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  809. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  810. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  811. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  812. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  813. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  814. package/umd/es6/min/persisters/persister-durable-object-storage/index.js +1 -0
  815. package/umd/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  816. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  817. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  818. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  819. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  820. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  821. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  822. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  823. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  824. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  825. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  826. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  827. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  828. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  829. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  830. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  831. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  832. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  833. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  834. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  835. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  836. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  837. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  838. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  839. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  840. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  841. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  842. package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
  843. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  844. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  845. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  846. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  847. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  848. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  849. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  850. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  851. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  852. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  853. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  854. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  855. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  856. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  857. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  858. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  859. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  860. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  861. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  862. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  863. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  864. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  865. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  866. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  867. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  868. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  869. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  870. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  871. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  872. package/umd/es6/min/queries/index.js +1 -1
  873. package/umd/es6/min/queries/index.js.gz +0 -0
  874. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  875. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  876. package/umd/es6/min/relationships/index.js +1 -1
  877. package/umd/es6/min/relationships/index.js.gz +0 -0
  878. package/umd/es6/min/relationships/with-schemas/index.js +1 -1
  879. package/umd/es6/min/relationships/with-schemas/index.js.gz +0 -0
  880. package/umd/es6/min/store/index.js +1 -1
  881. package/umd/es6/min/store/index.js.gz +0 -0
  882. package/umd/es6/min/store/with-schemas/index.js +1 -1
  883. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  884. package/umd/es6/min/synchronizers/index.js +1 -1
  885. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  886. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  887. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  888. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  889. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  890. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  891. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  892. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  893. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  894. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  895. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  896. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  897. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  898. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  899. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  900. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  901. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  902. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
  903. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  904. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
  905. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  906. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  907. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  908. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  909. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  910. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  911. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  912. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  913. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  914. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  915. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  916. package/umd/es6/min/with-schemas/index.js +1 -1
  917. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  918. package/umd/es6/persisters/index.js +21 -9
  919. package/umd/es6/persisters/persister-automerge/index.js +17 -8
  920. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +17 -8
  921. package/umd/es6/persisters/persister-browser/index.js +17 -8
  922. package/umd/es6/persisters/persister-browser/with-schemas/index.js +17 -8
  923. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  924. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  925. package/umd/es6/persisters/persister-durable-object-storage/index.js +707 -0
  926. package/umd/es6/persisters/persister-durable-object-storage/with-schemas/index.js +707 -0
  927. package/umd/es6/persisters/persister-electric-sql/index.js +21 -9
  928. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  929. package/umd/es6/persisters/persister-expo-sqlite/index.js +21 -9
  930. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  931. package/umd/es6/persisters/persister-file/index.js +17 -8
  932. package/umd/es6/persisters/persister-file/with-schemas/index.js +17 -8
  933. package/umd/es6/persisters/persister-indexed-db/index.js +19 -9
  934. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  935. package/umd/es6/persisters/persister-libsql/index.js +21 -9
  936. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +21 -9
  937. package/umd/es6/persisters/persister-partykit-client/index.js +23 -11
  938. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +23 -11
  939. package/umd/es6/persisters/persister-pglite/index.js +19 -8
  940. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +19 -8
  941. package/umd/es6/persisters/persister-postgres/index.js +19 -8
  942. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +19 -8
  943. package/umd/es6/persisters/persister-powersync/index.js +21 -9
  944. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +21 -9
  945. package/umd/es6/persisters/persister-remote/index.js +19 -9
  946. package/umd/es6/persisters/persister-remote/with-schemas/index.js +19 -9
  947. package/umd/es6/persisters/persister-sqlite-wasm/index.js +21 -9
  948. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  949. package/umd/es6/persisters/persister-sqlite3/index.js +21 -9
  950. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  951. package/umd/es6/persisters/persister-yjs/index.js +17 -8
  952. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +17 -8
  953. package/umd/es6/persisters/with-schemas/index.js +21 -9
  954. package/umd/es6/queries/index.js +1 -0
  955. package/umd/es6/queries/with-schemas/index.js +1 -0
  956. package/umd/es6/relationships/index.js +5 -1
  957. package/umd/es6/relationships/with-schemas/index.js +5 -1
  958. package/umd/es6/store/index.js +5 -5
  959. package/umd/es6/store/with-schemas/index.js +5 -5
  960. package/umd/es6/synchronizers/index.js +143 -101
  961. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +143 -101
  962. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +143 -101
  963. package/umd/es6/synchronizers/synchronizer-local/index.js +146 -105
  964. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +146 -105
  965. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +163 -108
  966. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +163 -108
  967. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +180 -115
  968. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +180 -115
  969. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +1099 -0
  970. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1099 -0
  971. package/umd/es6/synchronizers/synchronizer-ws-server-simple/index.js +12 -12
  972. package/umd/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +12 -12
  973. package/umd/es6/synchronizers/with-schemas/index.js +143 -101
  974. package/umd/es6/ui-react-inspector/index.js +22 -13
  975. package/umd/es6/ui-react-inspector/with-schemas/index.js +22 -13
  976. package/umd/es6/with-schemas/index.js +37 -32
  977. package/umd/index.js +36 -32
  978. package/umd/mergeable-store/index.js +36 -32
  979. package/umd/mergeable-store/with-schemas/index.js +36 -32
  980. package/umd/min/index.js +1 -1
  981. package/umd/min/index.js.gz +0 -0
  982. package/umd/min/mergeable-store/index.js +1 -1
  983. package/umd/min/mergeable-store/index.js.gz +0 -0
  984. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  985. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  986. package/umd/min/persisters/index.js +1 -1
  987. package/umd/min/persisters/index.js.gz +0 -0
  988. package/umd/min/persisters/persister-automerge/index.js +1 -1
  989. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  990. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  991. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  992. package/umd/min/persisters/persister-browser/index.js +1 -1
  993. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  994. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  995. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  996. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  997. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  998. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  999. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  1000. package/umd/min/persisters/persister-durable-object-storage/index.js +1 -0
  1001. package/umd/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  1002. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  1003. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  1004. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  1005. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  1006. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  1007. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  1008. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  1009. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  1010. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  1011. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  1012. package/umd/min/persisters/persister-file/index.js +1 -1
  1013. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  1014. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  1015. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  1016. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  1017. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  1018. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  1019. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  1020. package/umd/min/persisters/persister-libsql/index.js +1 -1
  1021. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  1022. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  1023. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  1024. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  1025. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  1026. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  1027. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  1028. package/umd/min/persisters/persister-pglite/index.js +1 -1
  1029. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  1030. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  1031. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  1032. package/umd/min/persisters/persister-postgres/index.js +1 -1
  1033. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  1034. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  1035. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  1036. package/umd/min/persisters/persister-powersync/index.js +1 -1
  1037. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  1038. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  1039. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  1040. package/umd/min/persisters/persister-remote/index.js +1 -1
  1041. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  1042. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  1043. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  1044. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  1045. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  1046. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  1047. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  1048. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  1049. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  1050. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  1051. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  1052. package/umd/min/persisters/persister-yjs/index.js +1 -1
  1053. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  1054. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  1055. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  1056. package/umd/min/persisters/with-schemas/index.js +1 -1
  1057. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  1058. package/umd/min/store/index.js +1 -1
  1059. package/umd/min/store/index.js.gz +0 -0
  1060. package/umd/min/store/with-schemas/index.js +1 -1
  1061. package/umd/min/store/with-schemas/index.js.gz +0 -0
  1062. package/umd/min/synchronizers/index.js +1 -1
  1063. package/umd/min/synchronizers/index.js.gz +0 -0
  1064. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  1065. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  1066. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  1067. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  1068. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  1069. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  1070. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  1071. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  1072. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  1073. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  1074. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  1075. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  1076. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  1077. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  1078. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  1079. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  1080. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -0
  1081. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  1082. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -0
  1083. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  1084. package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  1085. package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  1086. package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  1087. package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  1088. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  1089. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  1090. package/umd/min/ui-react-inspector/index.js +1 -1
  1091. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  1092. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  1093. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  1094. package/umd/min/with-schemas/index.js +1 -1
  1095. package/umd/min/with-schemas/index.js.gz +0 -0
  1096. package/umd/persisters/index.js +21 -9
  1097. package/umd/persisters/persister-automerge/index.js +17 -8
  1098. package/umd/persisters/persister-automerge/with-schemas/index.js +17 -8
  1099. package/umd/persisters/persister-browser/index.js +17 -8
  1100. package/umd/persisters/persister-browser/with-schemas/index.js +17 -8
  1101. package/umd/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  1102. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  1103. package/umd/persisters/persister-durable-object-storage/index.js +562 -0
  1104. package/umd/persisters/persister-durable-object-storage/with-schemas/index.js +562 -0
  1105. package/umd/persisters/persister-electric-sql/index.js +21 -9
  1106. package/umd/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  1107. package/umd/persisters/persister-expo-sqlite/index.js +21 -9
  1108. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  1109. package/umd/persisters/persister-file/index.js +17 -8
  1110. package/umd/persisters/persister-file/with-schemas/index.js +17 -8
  1111. package/umd/persisters/persister-indexed-db/index.js +19 -9
  1112. package/umd/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  1113. package/umd/persisters/persister-libsql/index.js +21 -9
  1114. package/umd/persisters/persister-libsql/with-schemas/index.js +21 -9
  1115. package/umd/persisters/persister-partykit-client/index.js +18 -9
  1116. package/umd/persisters/persister-partykit-client/with-schemas/index.js +18 -9
  1117. package/umd/persisters/persister-pglite/index.js +19 -8
  1118. package/umd/persisters/persister-pglite/with-schemas/index.js +19 -8
  1119. package/umd/persisters/persister-postgres/index.js +19 -8
  1120. package/umd/persisters/persister-postgres/with-schemas/index.js +19 -8
  1121. package/umd/persisters/persister-powersync/index.js +21 -9
  1122. package/umd/persisters/persister-powersync/with-schemas/index.js +21 -9
  1123. package/umd/persisters/persister-remote/index.js +19 -9
  1124. package/umd/persisters/persister-remote/with-schemas/index.js +19 -9
  1125. package/umd/persisters/persister-sqlite-wasm/index.js +21 -9
  1126. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  1127. package/umd/persisters/persister-sqlite3/index.js +21 -9
  1128. package/umd/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  1129. package/umd/persisters/persister-yjs/index.js +17 -8
  1130. package/umd/persisters/persister-yjs/with-schemas/index.js +17 -8
  1131. package/umd/persisters/with-schemas/index.js +21 -9
  1132. package/umd/store/index.js +5 -5
  1133. package/umd/store/with-schemas/index.js +5 -5
  1134. package/umd/synchronizers/index.js +120 -76
  1135. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +120 -76
  1136. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +120 -76
  1137. package/umd/synchronizers/synchronizer-local/index.js +129 -88
  1138. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +129 -88
  1139. package/umd/synchronizers/synchronizer-ws-client/index.js +140 -83
  1140. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +140 -83
  1141. package/umd/synchronizers/synchronizer-ws-server/index.js +157 -90
  1142. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +157 -90
  1143. package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +815 -0
  1144. package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +815 -0
  1145. package/umd/synchronizers/synchronizer-ws-server-simple/index.js +12 -12
  1146. package/umd/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +12 -12
  1147. package/umd/synchronizers/with-schemas/index.js +120 -76
  1148. package/umd/ui-react-inspector/index.js +22 -13
  1149. package/umd/ui-react-inspector/with-schemas/index.js +22 -13
  1150. package/umd/with-schemas/index.js +36 -32
  1151. package/with-schemas/index.js +36 -32
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",a=t(s),l=t(!0),n=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",b=g+d,v="Cell",C=v+d,V="Value",S=V+"s",p=V+d,w=e=>s+e,y=isFinite,I=e=>null==e,m=(e,t,s)=>I(e)?s?.():t(e),R=e=>e==a||e==l,L=e=>t(e)==o,J=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),F=e=>e.length,O=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=Object,P=e=>M.getPrototypeOf(e),j=M.entries,k=M.isFrozen,A=e=>!I(e)&&m(P(e),(e=>e==M.prototype||I(P(e))),(()=>!0)),N=M.keys,B=M.freeze,D=(e,t)=>t in e,H=(e,t)=>(delete e[t],e),W=(e,t)=>x(j(e),(([e,s])=>t(s,e))),$=e=>A(e)&&0==(e=>F(N(e)))(e),q=(e,t,s,a=0)=>I(e)||!A(e)||!a&&$(e)||k(e)?(s?.(),!1):(W(e,((s,a)=>{t(s,a)||H(e,a)})),!!a||!$(e)),G=e=>t=>{return s=(t,s)=>t+e(s),_(t).reduce(s,0);var s},K=e=>e?.size??0,Q=G(K),U=G(Q),X=G(U),Y=(e,t)=>e?.has(t)??!1,Z=e=>I(e)||0==K(e),_=e=>[...e?.values()??[]],ee=e=>e.clear(),te=(e,t)=>e?.forEach(t),se=(e,t)=>e?.delete(t),ae=e=>new Map(e),le=e=>[...e?.keys()??[]],ne=(e,t)=>e?.get(t),oe=(e,t)=>te(e,((e,s)=>t(s,e))),re=(e,t,s)=>I(s)?(se(e,t),e):e?.set(t,s),ie=(e,t,s,a)=>(Y(e,t)?a?.(ne(e,t)):re(e,t,s()),ne(e,t)),ce=(e,t,s,a=re)=>(W(t,((t,a)=>s(e,a,t))),oe(e,(s=>D(t,s)?0:a(e,s))),e),de=(e,t,s,a)=>{const l={};return te(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},ue=(e,t,s)=>de(e,(e=>de(e,t,s)),Z,$),he=(e,t,s)=>de(e,(e=>ue(e,t,s)),Z,$),fe=(e,t)=>{const s=ae();return te(e,((e,a)=>s.set(a,t?.(e)??e))),s},ge=e=>fe(e,fe),Te=e=>fe(e,ge),be=(e,t,s,a,l=0)=>m((s?ie:ne)(e,t[l],l>F(t)-2?s:ae),(n=>{if(l>F(t)-2)return a?.(n)&&re(e,t[l]),n;const o=be(n,t,s,a,l+1);return Z(n)&&re(e,t[l]),o})),ve=e=>new Set(J(e)||I(e)?e:[e]),Ce=(e,t)=>e?.add(t),Ve=/^\d+$/,Se=()=>{const e=[];let t=0;return[a=>(a?e.shift():null)??s+t++,t=>{Ve.test(t)&&F(e)<1e3&&z(e,t)}]},pe=e=>[e,e],we=(e,t=Q)=>t(e[0])+t(e[1]),ye=()=>[ae(),ae()],Ie=e=>[...e],me=([e,t])=>e===t,Re=e=>{const s=t(e);return R(s)||s==n&&y(e)?s:void 0},Le=(e,t,s,a,l)=>I(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),Je=(e,t,s)=>I(s)?e.delValue(t):e.setValue(t,s),Ee=JSON.stringify,Fe=JSON.parse,Oe=e=>Ee(e,((e,t)=>t instanceof Map?M.fromEntries([...t]):t)),xe=(e,t,s)=>re(e,t,ne(e,t)==-s?void 0:s),ze=()=>{let e,t,a=!1,l=!1,o=0,d=[];const y=ae(),M=ae(),P=ae(),j=ae(),k=ae(),A=ae(),N=ae(),G=ae(),_=ae(),Ve=ae(),Ee=ae(),Me=ae(),Pe=ae(),je=ae(),ke=ve(),Ae=ae(),Ne=ae(),Be=ae(),De=ae(),He=ye(),We=ye(),$e=ye(),qe=ye(),Ge=ye(),Ke=ye(),Qe=ye(),Ue=ye(),Xe=ye(),Ye=ye(),Ze=ye(),_e=ye(),et=ye(),tt=ye(),st=ye(),at=ye(),lt=ye(),nt=ye(),ot=ye(),rt=ye(),it=ye(),ct=ye(),dt=ae(),ut=ye(),[ht,ft,gt,Tt]=(()=>{let e;const[t,a]=Se(),l=ae();return[(a,n,o,r=[],i=()=>[])=>{e??=js;const c=t(1);return re(l,c,[a,n,o,r,i]),Ce(be(n,o??[s],ve),c),c},(t,a,...n)=>O(((e,t=[s])=>{const a=[],l=(e,s)=>s==F(t)?z(a,e):null===t[s]?te(e,(e=>l(e,s+1))):O([t[s],null],(t=>l(ne(e,t),s+1)));return l(e,0),a})(t,a),(t=>te(t,(t=>ne(l,t)[0](e,...a??[],...n))))),e=>m(ne(l,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(se(t,e),Z(t)?1:0))),re(l,e),a(e),n))),t=>m(ne(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=F(o);r==F(s)?t(e,...o,...l(o)):I(s[r])?O(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!q(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=n||(Re(e[i])!=t&&H(e,i),0))},vt=J,Ct=(t,s)=>(!e||Y(Ee,s)||Qt(s))&&q(t,((e,t)=>Vt(s,t,e)),(()=>Qt(s))),Vt=(e,t,s,a)=>q(a?s:yt(s,e,t),((a,l)=>m(St(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),St=(t,s,a,l)=>e?m(ne(ne(Ee,t),a),(e=>Re(l)!=e[r]?Qt(t,s,a,l,e[i]):l),(()=>Qt(t,s,a,l))):I(Re(l))?Qt(t,s,a,l):l,pt=(e,t)=>q(t?e:It(e),((t,s)=>m(wt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),wt=(e,s)=>t?m(ne(Pe,e),(t=>Re(s)!=t[r]?Ut(e,s,t[i]):s),(()=>Ut(e,s))):I(Re(s))?Ut(e,s):s,yt=(e,t,s)=>(m(ne(Me,t),(([a,l])=>{te(a,((t,s)=>{D(e,s)||(e[s]=t)})),te(l,(a=>{D(e,a)||Qt(t,s,a)}))})),e),It=e=>(t&&(te(je,((t,s)=>{D(e,s)||(e[s]=t)})),te(ke,(t=>{D(e,t)||Ut(t)}))),e),mt=e=>ce(Ee,e,((e,t,s)=>{const a=ae(),l=ve();ce(ie(Ee,t,ae),s,((e,t,s)=>{re(e,t,s),m(s[i],(e=>re(a,t,e)),(()=>Ce(l,t)))})),re(Me,t,[a,l])}),((e,t)=>{re(Ee,t),re(Me,t)})),Rt=e=>ce(Pe,e,((e,t,s)=>{re(Pe,t,s),m(s[i],(e=>re(je,t,e)),(()=>Ce(ke,t)))}),((e,t)=>{re(Pe,t),re(je,t),se(ke,t)})),Lt=e=>$(e)?Ls():ws(e),Jt=e=>ce(Be,e,((e,t,s)=>Et(t,s)),((e,t)=>At(t))),Et=(e,t)=>ce(ie(Be,e,(()=>(Ht(e,1),re(Ae,e,Se()),re(Ne,e,ae()),ae()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,a,l)=>ce(ie(t,s,(()=>(Wt(e,s,1),ae()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>Bt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{Y(s,a)||$t(e,t,a,1);const n=ne(s,a);l!==n&&(qt(e,t,a,n,l),re(s,a,l))},xt=(e,t,s,a,l)=>m(ne(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,yt({[a]:l},e,s)))),zt=e=>$(e)?Fs():ys(e),Mt=e=>ce(De,e,((e,t,s)=>Pt(t,s)),((e,t)=>Dt(t))),Pt=(e,t)=>{Y(De,e)||Gt(e,1);const s=ne(De,e);t!==s&&(Kt(e,s,t),re(De,e,t))},jt=(e,t)=>{const[s]=ne(Ae,e),a=s(t);return Y(ne(Be,e),a)?jt(e,t):a},kt=e=>ne(Be,e)??Et(e,{}),At=e=>Et(e,{}),Nt=(e,t,s)=>{const[,a]=ne(Ae,e);a(s),Ft(e,t,s,{},!0)},Bt=(e,t,s,a,l,n)=>{const o=ne(ne(Me,e)?.[0],l);if(!I(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,ne(a,t)),$t(e,s,t,-1),re(a,t)};I(o)?r(l):oe(a,r),Z(a)&&(Wt(e,s,-1),Z(re(t,s))&&(Ht(e,-1),re(Be,e),re(Ae,e),re(Ne,e)))},Dt=e=>{const t=ne(je,e);if(!I(t))return Pt(e,t);Kt(e,ne(De,e)),Gt(e,-1),re(De,e)},Ht=(e,t)=>xe(y,e,t),Wt=(e,t,s)=>xe(ie(j,e,ae),t,s)&&re(P,e,ie(P,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=ne(Ne,e),n=ne(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&xe(ie(M,e,ae),s,a),re(l,s,n!=-a?n+a:null),xe(ie(ie(k,e,ae),t,ae),s,a)},qt=(e,t,s,a,l)=>{ie(ie(ie(A,e,ae),t,ae),s,(()=>[a,0]))[1]=l,d[3]?.(e,t,s,l)},Gt=(e,t)=>xe(N,e,t),Kt=(e,t,s)=>{ie(G,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},Qt=(e,t,s,a,l)=>(z(ie(ie(ie(_,e,ae),t,ae),s,(()=>[])),a),l),Ut=(e,t,s)=>(z(ie(Ve,e,(()=>[])),t),s),Xt=(e,t,s)=>m(ne(ne(ne(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(us(e,t,s))])),Yt=e=>m(ne(G,e),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(gs(e))])),Zt=e=>Z(_)||Z(at[e])?0:te(e?Te(_):_,((t,s)=>te(t,((t,a)=>te(t,((t,l)=>ft(at[e],[s,a,l],t))))))),_t=e=>Z(Ve)||Z(lt[e])?0:te(e?fe(Ve):Ve,((t,s)=>ft(lt[e],[s],t))),es=(e,t,s,a)=>{if(!Z(e))return ft(t,a,(()=>de(e))),oe(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},ts=e=>{const t=Ts();t!=a&&ft(He[e],void 0,t);const s=Z(Ye[e]),l=Z(et[e])&&Z(tt[e])&&Z(Xe[e])&&Z(Ze[e])&&Z(Ke[e])&&Z(Qe[e])&&Z(Ue[e])&&s&&Z($e[e])&&Z(qe[e]),n=Z(st[e])&&Z(_e[e])&&Z(Ge[e])&&Z(We[e]);if(!l||!n){const t=e?[fe(y),ge(M),fe(P),ge(j),Te(k),Te(A)]:[y,M,P,j,k,A];if(!l){es(t[0],$e[e],qe[e]),te(t[1],((t,s)=>es(t,Ke[e],Qe[e],[s]))),te(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],rs(s))}));const a=ve();te(t[3],((t,l)=>{es(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),Ce(a,l))})),s||te(t[5],((t,s)=>{if(!Y(a,s)){const a=ve();te(t,(e=>te(e,(([t,s],l)=>s!==t?Ce(a,l):se(e,l))))),te(a,(t=>ft(Ye[e],[s,t])))}})),te(t[4],((t,s)=>te(t,((t,a)=>es(t,et[e],tt[e],[s,a])))))}if(!n){let s;te(t[5],((t,a)=>{let l;te(t,((t,n)=>{let o;te(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Xt),s=l=o=1)})),o&&ft(_e[e],[a,n],Xt)})),l&&ft(Ge[e],[a],Xt)})),s&&ft(We[e],void 0,Xt)}}},ss=e=>{const t=Ss();t!=l&&ft(nt[e],void 0,t);const s=Z(rt[e])&&Z(it[e]),a=Z(ct[e])&&Z(ot[e]);if(!s||!a){const t=e?[fe(N),fe(G)]:[N,G];if(s||es(t[0],rt[e],it[e]),!a){let s;te(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Yt),s=1)})),s&&ft(ot[e],void 0,Yt)}}},as=(e,...t)=>(zs((()=>e(...x(t,w)))),js),ls=()=>he(Be),ns=()=>le(Be),os=e=>le(ne(Ne,w(e))),rs=e=>K(ne(Be,w(e))),is=e=>le(ne(Be,w(e))),cs=(e,t,s,a=0,l)=>{return x(E((o=ne(Be,w(e)),r=(e,s)=>[I(t)?s:ne(e,w(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),x([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,I(l)?l:a+l),(([,e])=>e));var n,o,r},ds=(e,t)=>le(ne(ne(Be,w(e)),w(t))),us=(e,t,s)=>ne(ne(ne(Be,w(e)),w(t)),w(s)),hs=()=>de(De),fs=()=>le(De),gs=e=>ne(De,w(e)),Ts=()=>!Z(Be),bs=e=>Y(Be,w(e)),vs=(e,t)=>Y(ne(Ne,w(e)),w(t)),Cs=(e,t)=>Y(ne(Be,w(e)),w(t)),Vs=(e,t,s)=>Y(ne(ne(Be,w(e)),w(t)),w(s)),Ss=()=>!Z(De),ps=e=>Y(De,w(e)),ws=e=>as((()=>(e=>q(e,Ct,Qt))(e)?Jt(e):0)),ys=e=>as((()=>pt(e)?Mt(e):0)),Is=e=>{try{Lt(Fe(e))}catch{}return js},ms=t=>as((()=>{if((e=q(t,(e=>q(e,bt))))&&(mt(t),!Z(Be))){const e=ls();Ls(),ws(e)}})),Rs=e=>as((()=>{if(t=(e=>q(e,bt))(e)){const s=hs();xs(),Fs(),t=!0,Rt(e),ys(s)}})),Ls=()=>as((()=>Jt({}))),Js=e=>as((e=>Y(Be,e)?At(e):0),e),Es=(e,t)=>as(((e,t)=>m(ne(Be,e),(s=>Y(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>as((()=>Mt({}))),Os=()=>as((()=>{mt({}),e=!1})),xs=()=>as((()=>{Rt({}),t=!1})),zs=(e,t)=>{if(-1!=o){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=o&&o++,1==o&&(d[0]?.(),ft(dt)),js),Ps=e=>(o>0&&(o--,0==o&&(o=1,Zt(1),Z(A)||ts(1),_t(1),Z(G)||ss(1),e?.(js)&&(te(A,((e,t)=>te(e,((e,s)=>te(e,(([e],a)=>Le(js,t,s,a,e))))))),ee(A),te(G,(([e],t)=>Je(js,t,e))),ee(G)),ft(ut[0],void 0),o=-1,Zt(0),Z(A)||ts(0),_t(0),Z(G)||ss(0),d[1]?.(),ft(ut[1],void 0),d[2]?.(),o=0,a=Ts(),l=Ss(),O([y,M,P,j,k,A,_,N,G,Ve],ee))),js),js={getContent:()=>[ls(),hs()],getTables:ls,getTableIds:ns,getTable:e=>ue(ne(Be,w(e))),getTableCellIds:os,getRowCount:rs,getRowIds:is,getSortedRowIds:cs,getRow:(e,t)=>de(ne(ne(Be,w(e)),w(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:fs,getValue:gs,hasTables:Ts,hasTable:bs,hasTableCell:vs,hasRow:Cs,hasCell:Vs,hasValues:Ss,hasValue:ps,getTablesJson:()=>Oe(Be),getValuesJson:()=>Oe(De),getJson:()=>Oe([Be,De]),getTablesSchemaJson:()=>Oe(Ee),getValuesSchemaJson:()=>Oe(Pe),getSchemaJson:()=>Oe([Ee,Pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>as((()=>vt(e)?(([e,t])=>{($(e)?Ls:ws)(e),($(t)?Fs:ys)(t)})(e):0)),setTables:ws,setTable:(e,t)=>as((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>Vt(e,t,s)?Ft(e,kt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=w(e),Ft(e,kt(e),a=jt(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(Vt(e,t,s,1)){const a=kt(e);W(s,((s,l)=>xt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>m(St(e,t,s,L(a)?a(us(e,t,s)):a),(a=>xt(e,kt(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>pt(e,1)?W(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>as((e=>m(wt(e,L(t)?t(gs(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>as((()=>{W(e[0],((e,t)=>I(e)?Js(t):W(e,((e,s)=>I(e)?Es(t,s):W(e,((e,a)=>Le(js,t,s,a,e))))))),W(e[1],((e,t)=>Je(js,t,e)))})),setTablesJson:Is,setValuesJson:e=>{try{zt(Fe(e))}catch{}return js},setJson:e=>as((()=>{try{const[t,s]=Fe(e);Lt(t),zt(s)}catch{Is(e)}})),setTablesSchema:ms,setValuesSchema:Rs,setSchema:(e,t)=>as((()=>{ms(e),Rs(t)})),delTables:Ls,delTable:Js,delRow:Es,delCell:(e,t,s,a)=>as(((e,t,s)=>m(ne(Be,e),(l=>m(ne(l,t),(n=>Y(n,s)?Bt(e,l,t,n,s,a):0))))),e,t,s),delValues:Fs,delValue:e=>as((e=>Y(De,e)?Dt(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>as((()=>{Os(),xs()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[de(A,((e,t)=>-1===ne(y,t)?void 0:de(e,((e,s)=>-1===ne(ne(j,t),s)?void 0:de(e,(([,e])=>e),(e=>me(e)))),Z,$)),Z,$),de(G,(([,e])=>e),(e=>me(e))),1],getTransactionLog:()=>[!Z(A),!Z(G),he(A,Ie,me),he(_),de(G,Ie,me),de(Ve),de(y),ue(j),he(k),de(N)],finishTransaction:Ps,forEachTable:e=>te(Be,((t,s)=>e(s,(e=>te(t,((t,s)=>e(s,(e=>oe(t,e))))))))),forEachTableCell:(e,t)=>oe(ne(Ne,w(e)),t),forEachRow:(e,t)=>te(ne(Be,w(e)),((e,s)=>t(s,(t=>oe(e,t))))),forEachCell:(e,t,s)=>oe(ne(ne(Be,w(e)),w(t)),s),forEachValue:e=>oe(De,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=cs(e,t,s,a,l);return ht((()=>{const o=cs(e,t,s,a,l);var i,c,d;c=r,F(i=o)===F(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(js,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),js),delListener:e=>(gt(e),js),getListenerStats:()=>({hasTables:we(He),tables:we(We),tableIds:we($e),hasTable:we(qe),table:we(Ge),tableCellIds:we(Ke),hasTableCell:we(Qe,U),rowCount:we(Ue),rowIds:we(Xe),sortedRowIds:we(Ye),hasRow:we(Ze,U),row:we(_e,U),cellIds:we(et,U),hasCell:we(tt,X),cell:we(st,X),invalidCell:we(at,X),hasValues:we(nt),values:we(ot),valueIds:we(rt),hasValue:we(it),value:we(ct),invalidValue:we(lt),transaction:Q(dt)+we(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>d=[e,t,s,a,l]};return W({[c+h]:[0,He,[],()=>[Ts()]],[h]:[0,We],[f]:[0,$e],[c+u]:[1,qe,[ns],e=>[bs(...e)]],[u]:[1,Ge,[ns]],[u+C]:[1,Ke,[ns]],[c+u+v]:[2,Qe,[ns,os],e=>[vs(...e)]],[T]:[1,Ue,[ns]],[b]:[1,Xe,[ns]],[c+g]:[2,Ze,[ns,is],e=>[Cs(...e)]],[g]:[2,_e,[ns,is]],[C]:[2,et,[ns,is]],[c+v]:[3,tt,[ns,is,ds],e=>[Vs(...e)]],[v]:[3,st,[ns,is,ds],e=>pe(us(...e))],InvalidCell:[3,at],[c+S]:[0,nt,[],()=>[Ss()]],[S]:[0,ot],[p]:[0,rt],[c+V]:[1,it,[fs],e=>[ps(...e)]],[V]:[1,ct,[fs],e=>pe(gs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{js["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?E(l,0,e):void 0,s,a)})),B(js)};e.createStore=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",a=t(s),l=t(!0),n=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",b=g+d,v="Cell",C=v+d,V="Value",S=V+"s",w=V+d,p=e=>s+e,y=isFinite,I=e=>null==e,m=(e,t,s)=>I(e)?s?.():t(e),R=e=>e==a||e==l,L=e=>t(e)==o,J=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),F=e=>e.length,O=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=Object,P=e=>M.getPrototypeOf(e),j=M.entries,k=M.isFrozen,A=e=>!I(e)&&m(P(e),(e=>e==M.prototype||I(P(e))),(()=>!0)),N=M.keys,B=M.freeze,D=(e,t)=>t in e,H=(e,t)=>(delete e[t],e),W=(e,t)=>x(j(e),(([e,s])=>t(s,e))),$=e=>A(e)&&0==(e=>F(N(e)))(e),q=(e,t,s,a=0)=>I(e)||!A(e)||!a&&$(e)||k(e)?(s?.(),!1):(W(e,((s,a)=>{t(s,a)||H(e,a)})),!!a||!$(e)),G=e=>t=>{return s=(t,s)=>t+e(s),_(t).reduce(s,0);var s},K=e=>e?.size??0,Q=G(K),U=G(Q),X=G(U),Y=(e,t)=>e?.has(t)??!1,Z=e=>I(e)||0==K(e),_=e=>[...e?.values()??[]],ee=e=>e.clear(),te=(e,t)=>e?.forEach(t),se=(e,t)=>e?.delete(t),ae=e=>new Map(e),le=e=>[...e?.keys()??[]],ne=(e,t)=>e?.get(t),oe=(e,t)=>te(e,((e,s)=>t(s,e))),re=(e,t,s)=>I(s)?(se(e,t),e):e?.set(t,s),ie=(e,t,s,a)=>(Y(e,t)?a?.(ne(e,t)):re(e,t,s()),ne(e,t)),ce=(e,t,s,a=re)=>(W(t,((t,a)=>s(e,a,t))),oe(e,(s=>D(t,s)?0:a(e,s))),e),de=(e,t,s,a)=>{const l={};return te(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},ue=(e,t,s)=>de(e,(e=>de(e,t,s)),Z,$),he=(e,t,s)=>de(e,(e=>ue(e,t,s)),Z,$),fe=(e,t)=>{const s=ae();return te(e,((e,a)=>s.set(a,t?.(e)??e))),s},ge=e=>fe(e,fe),Te=e=>fe(e,ge),be=(e,t,s,a,l=0)=>m((s?ie:ne)(e,t[l],l>F(t)-2?s:ae),(n=>{if(l>F(t)-2)return a?.(n)&&re(e,t[l]),n;const o=be(n,t,s,a,l+1);return Z(n)&&re(e,t[l]),o})),ve=e=>new Set(J(e)||I(e)?e:[e]),Ce=(e,t)=>e?.add(t),Ve=/^\d+$/,Se=()=>{const e=[];let t=0;return[a=>(a?e.shift():null)??s+t++,t=>{Ve.test(t)&&F(e)<1e3&&z(e,t)}]},we=e=>[e,e],pe=(e,t=Q)=>t(e[0])+t(e[1]),ye=()=>[ae(),ae()],Ie=e=>[...e],me=([e,t])=>e===t,Re=e=>{const s=t(e);return R(s)||s==n&&y(e)?s:void 0},Le=(e,t,s,a,l)=>I(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),Je=(e,t,s)=>I(s)?e.delValue(t):e.setValue(t,s),Ee=JSON.stringify,Fe=JSON.parse,Oe=e=>Ee(e,((e,t)=>t instanceof Map?M.fromEntries([...t]):t)),xe=(e,t,s)=>re(e,t,ne(e,t)==-s?void 0:s),ze=()=>{let e,t,a=!1,l=!1,o=0,d=[];const y=ae(),M=ae(),P=ae(),j=ae(),k=ae(),A=ae(),N=ae(),G=ae(),_=ae(),Ve=ae(),Ee=ae(),Me=ae(),Pe=ae(),je=ae(),ke=ve(),Ae=ae(),Ne=ae(),Be=ae(),De=ae(),He=ye(),We=ye(),$e=ye(),qe=ye(),Ge=ye(),Ke=ye(),Qe=ye(),Ue=ye(),Xe=ye(),Ye=ye(),Ze=ye(),_e=ye(),et=ye(),tt=ye(),st=ye(),at=ye(),lt=ye(),nt=ye(),ot=ye(),rt=ye(),it=ye(),ct=ye(),dt=ae(),ut=ye(),[ht,ft,gt,Tt]=(()=>{let e;const[t,a]=Se(),l=ae();return[(a,n,o,r=[],i=()=>[])=>{e??=Ps;const c=t(1);return re(l,c,[a,n,o,r,i]),Ce(be(n,o??[s],ve),c),c},(t,a,...n)=>O(((e,t=[s])=>{const a=[],l=(e,s)=>s==F(t)?z(a,e):null===t[s]?te(e,(e=>l(e,s+1))):O([t[s],null],(t=>l(ne(e,t),s+1)));return l(e,0),a})(t,a),(t=>te(t,(t=>ne(l,t)[0](e,...a??[],...n))))),e=>m(ne(l,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(se(t,e),Z(t)?1:0))),re(l,e),a(e),n))),t=>m(ne(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=F(o);r==F(s)?t(e,...o,...l(o)):I(s[r])?O(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!q(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=n||(Re(e[i])!=t&&H(e,i),0))},vt=J,Ct=(t,s)=>(!e||Y(Ee,s)||Kt(s))&&q(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>q(a?s:yt(s,e,t),((a,l)=>m(St(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),St=(t,s,a,l)=>e?m(ne(ne(Ee,t),a),(e=>Re(l)!=e[r]?Kt(t,s,a,l,e[i]):l),(()=>Kt(t,s,a,l))):I(Re(l))?Kt(t,s,a,l):l,wt=(e,t)=>q(t?e:It(e),((t,s)=>m(pt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),pt=(e,s)=>t?m(ne(Pe,e),(t=>Re(s)!=t[r]?Qt(e,s,t[i]):s),(()=>Qt(e,s))):I(Re(s))?Qt(e,s):s,yt=(e,t,s)=>(m(ne(Me,t),(([a,l])=>{te(a,((t,s)=>{D(e,s)||(e[s]=t)})),te(l,(a=>{D(e,a)||Kt(t,s,a)}))})),e),It=e=>(t&&(te(je,((t,s)=>{D(e,s)||(e[s]=t)})),te(ke,(t=>{D(e,t)||Qt(t)}))),e),mt=e=>ce(Ee,e,((e,t,s)=>{const a=ae(),l=ve();ce(ie(Ee,t,ae),s,((e,t,s)=>{re(e,t,s),m(s[i],(e=>re(a,t,e)),(()=>Ce(l,t)))})),re(Me,t,[a,l])}),((e,t)=>{re(Ee,t),re(Me,t)})),Rt=e=>ce(Pe,e,((e,t,s)=>{re(Pe,t,s),m(s[i],(e=>re(je,t,e)),(()=>Ce(ke,t)))}),((e,t)=>{re(Pe,t),re(je,t),se(ke,t)})),Lt=e=>$(e)?Rs():ws(e),Jt=e=>ce(Be,e,((e,t,s)=>Et(t,s)),((e,t)=>kt(t))),Et=(e,t)=>ce(ie(Be,e,(()=>(Dt(e,1),re(Ae,e,Se()),re(Ne,e,ae()),ae()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>At(e,t,s))),Ft=(e,t,s,a,l)=>ce(ie(t,s,(()=>(Ht(e,s,1),ae()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>Nt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{Y(s,a)||Wt(e,t,a,1);const n=ne(s,a);l!==n&&($t(e,t,a,n,l),re(s,a,l))},xt=(e,t,s,a,l)=>m(ne(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,yt({[a]:l},e,s)))),zt=e=>$(e)?Es():ps(e),Mt=e=>ce(De,e,((e,t,s)=>Pt(t,s)),((e,t)=>Bt(t))),Pt=(e,t)=>{Y(De,e)||qt(e,1);const s=ne(De,e);t!==s&&(Gt(e,s,t),re(De,e,t))},jt=e=>ne(Be,e)??Et(e,{}),kt=e=>Et(e,{}),At=(e,t,s)=>{const[,a]=ne(Ae,e);a(s),Ft(e,t,s,{},!0)},Nt=(e,t,s,a,l,n)=>{const o=ne(ne(Me,e)?.[0],l);if(!I(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{$t(e,s,t,ne(a,t)),Wt(e,s,t,-1),re(a,t)};I(o)?r(l):oe(a,r),Z(a)&&(Ht(e,s,-1),Z(re(t,s))&&(Dt(e,-1),re(Be,e),re(Ae,e),re(Ne,e)))},Bt=e=>{const t=ne(je,e);if(!I(t))return Pt(e,t);Gt(e,ne(De,e)),qt(e,-1),re(De,e)},Dt=(e,t)=>xe(y,e,t),Ht=(e,t,s)=>xe(ie(j,e,ae),t,s)&&re(P,e,ie(P,e,(()=>0))+s),Wt=(e,t,s,a)=>{const l=ne(Ne,e),n=ne(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&xe(ie(M,e,ae),s,a),re(l,s,n!=-a?n+a:null),xe(ie(ie(k,e,ae),t,ae),s,a)},$t=(e,t,s,a,l)=>{ie(ie(ie(A,e,ae),t,ae),s,(()=>[a,0]))[1]=l,d[3]?.(e,t,s,l)},qt=(e,t)=>xe(N,e,t),Gt=(e,t,s)=>{ie(G,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(ie(ie(ie(_,e,ae),t,ae),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(ie(Ve,e,(()=>[])),t),s),Ut=(e,t,s)=>m(ne(ne(ne(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...we(ds(e,t,s))])),Xt=e=>m(ne(G,e),(([e,t])=>[!0,e,t]),(()=>[!1,...we(fs(e))])),Yt=e=>Z(_)||Z(at[e])?0:te(e?Te(_):_,((t,s)=>te(t,((t,a)=>te(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>Z(Ve)||Z(lt[e])?0:te(e?fe(Ve):Ve,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!Z(e))return ft(t,a,(()=>de(e))),oe(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(He[e],void 0,t);const s=Z(Ye[e]),l=Z(et[e])&&Z(tt[e])&&Z(Xe[e])&&Z(Ze[e])&&Z(Ke[e])&&Z(Qe[e])&&Z(Ue[e])&&s&&Z($e[e])&&Z(qe[e]),n=Z(st[e])&&Z(_e[e])&&Z(Ge[e])&&Z(We[e]);if(!l||!n){const t=e?[fe(y),ge(M),fe(P),ge(j),Te(k),Te(A)]:[y,M,P,j,k,A];if(!l){_t(t[0],$e[e],qe[e]),te(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),te(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=ve();te(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),Ce(a,l))})),s||te(t[5],((t,s)=>{if(!Y(a,s)){const a=ve();te(t,(e=>te(e,(([t,s],l)=>s!==t?Ce(a,l):se(e,l))))),te(a,(t=>ft(Ye[e],[s,t])))}})),te(t[4],((t,s)=>te(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;te(t[5],((t,a)=>{let l;te(t,((t,n)=>{let o;te(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(We[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=l&&ft(nt[e],void 0,t);const s=Z(rt[e])&&Z(it[e]),a=Z(ct[e])&&Z(ot[e]);if(!s||!a){const t=e?[fe(N),fe(G)]:[N,G];if(s||_t(t[0],rt[e],it[e]),!a){let s;te(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)=>(xs((()=>e(...x(t,p)))),Ps),as=()=>he(Be),ls=()=>le(Be),ns=e=>le(ne(Ne,p(e))),os=e=>K(ne(Be,p(e))),rs=e=>le(ne(Be,p(e))),is=(e,t,s,a=0,l)=>{return x(E((o=ne(Be,p(e)),r=(e,s)=>[I(t)?s:ne(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),x([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,I(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>le(ne(ne(Be,p(e)),p(t))),ds=(e,t,s)=>ne(ne(ne(Be,p(e)),p(t)),p(s)),us=()=>de(De),hs=()=>le(De),fs=e=>ne(De,p(e)),gs=()=>!Z(Be),Ts=e=>Y(Be,p(e)),bs=(e,t)=>Y(ne(Ne,p(e)),p(t)),vs=(e,t)=>Y(ne(Be,p(e)),p(t)),Cs=(e,t,s)=>Y(ne(ne(Be,p(e)),p(t)),p(s)),Vs=()=>!Z(De),Ss=e=>Y(De,p(e)),ws=e=>ss((()=>(e=>q(e,Ct,Kt))(e)?Jt(e):0)),ps=e=>ss((()=>wt(e)?Mt(e):0)),ys=e=>{try{Lt(Fe(e))}catch{}return Ps},Is=t=>ss((()=>{if((e=q(t,(e=>q(e,bt))))&&(mt(t),!Z(Be))){const e=as();Rs(),ws(e)}})),ms=e=>ss((()=>{if(t=(e=>q(e,bt))(e)){const s=us();Os(),Es(),t=!0,Rt(e),ps(s)}})),Rs=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>Y(Be,e)?kt(e):0),e),Js=(e,t)=>ss(((e,t)=>m(ne(Be,e),(s=>Y(s,t)?At(e,s,t):0))),e,t),Es=()=>ss((()=>Mt({}))),Fs=()=>ss((()=>{mt({}),e=!1})),Os=()=>ss((()=>{Rt({}),t=!1})),xs=(e,t)=>{if(-1!=o){zs();const s=e();return Ms(t),s}},zs=()=>(-1!=o&&o++,1==o&&(d[0]?.(),ft(dt)),Ps),Ms=e=>(o>0&&(o--,0==o&&(o=1,Yt(1),Z(A)||es(1),Zt(1),Z(G)||ts(1),e?.(Ps)&&(te(A,((e,t)=>te(e,((e,s)=>te(e,(([e],a)=>Le(Ps,t,s,a,e))))))),ee(A),te(G,(([e],t)=>Je(Ps,t,e))),ee(G)),ft(ut[0],void 0),o=-1,Yt(0),Z(A)||es(0),Zt(0),Z(G)||ts(0),d[1]?.(),ft(ut[1],void 0),d[2]?.(),o=0,a=gs(),l=Vs(),O([y,M,P,j,k,A,_,N,G,Ve],ee))),Ps),Ps={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>ue(ne(Be,p(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>de(ne(ne(Be,p(e)),p(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:Ss,getTablesJson:()=>Oe(Be),getValuesJson:()=>Oe(De),getJson:()=>Oe([Be,De]),getTablesSchemaJson:()=>Oe(Ee),getValuesSchemaJson:()=>Oe(Pe),getSchemaJson:()=>Oe([Ee,Pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>ss((()=>vt(e)?(([e,t])=>{($(e)?Rs:ws)(e),($(t)?Es:ps)(t)})(e):0)),setTables:ws,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,jt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>xs((()=>{let a;return Vt(e,a,t)&&(e=p(e),Ft(e,jt(e),a=((e,t)=>{const[s]=ne(Ae,e);let a;do{a=s(t)}while(Y(ne(Be,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=jt(e);W(s,((s,l)=>xt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>m(St(e,t,s,L(a)?a(ds(e,t,s)):a),(a=>xt(e,jt(e),t,s,a)))),e,t,s),setValues:ps,setPartialValues:e=>ss((()=>wt(e,1)?W(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ss((e=>m(pt(e,L(t)?t(fs(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ss((()=>{W(e[0],((e,t)=>I(e)?Ls(t):W(e,((e,s)=>I(e)?Js(t,s):W(e,((e,a)=>Le(Ps,t,s,a,e))))))),W(e[1],((e,t)=>Je(Ps,t,e)))})),setTablesJson:ys,setValuesJson:e=>{try{zt(Fe(e))}catch{}return Ps},setJson:e=>ss((()=>{try{const[t,s]=Fe(e);Lt(t),zt(s)}catch{ys(e)}})),setTablesSchema:Is,setValuesSchema:ms,setSchema:(e,t)=>ss((()=>{Is(e),ms(t)})),delTables:Rs,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>m(ne(Be,e),(l=>m(ne(l,t),(n=>Y(n,s)?Nt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>Y(De,e)?Bt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:xs,startTransaction:zs,getTransactionChanges:()=>[de(A,((e,t)=>-1===ne(y,t)?void 0:de(e,((e,s)=>-1===ne(ne(j,t),s)?void 0:de(e,(([,e])=>e),(e=>me(e)))),Z,$)),Z,$),de(G,(([,e])=>e),(e=>me(e))),1],getTransactionLog:()=>[!Z(A),!Z(G),he(A,Ie,me),he(_),de(G,Ie,me),de(Ve),de(y),ue(j),he(k),de(N)],finishTransaction:Ms,forEachTable:e=>te(Be,((t,s)=>e(s,(e=>te(t,((t,s)=>e(s,(e=>oe(t,e))))))))),forEachTableCell:(e,t)=>oe(ne(Ne,p(e)),t),forEachRow:(e,t)=>te(ne(Be,p(e)),((e,s)=>t(s,(t=>oe(e,t))))),forEachCell:(e,t,s)=>oe(ne(ne(Be,p(e)),p(t)),s),forEachValue:e=>oe(De,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,F(i=o)===F(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(Ps,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),Ps),delListener:e=>(gt(e),Ps),getListenerStats:()=>({hasTables:pe(He),tables:pe(We),tableIds:pe($e),hasTable:pe(qe),table:pe(Ge),tableCellIds:pe(Ke),hasTableCell:pe(Qe,U),rowCount:pe(Ue),rowIds:pe(Xe),sortedRowIds:pe(Ye),hasRow:pe(Ze,U),row:pe(_e,U),cellIds:pe(et,U),hasCell:pe(tt,X),cell:pe(st,X),invalidCell:pe(at,X),hasValues:pe(nt),values:pe(ot),valueIds:pe(rt),hasValue:pe(it),value:pe(ct),invalidValue:pe(lt),transaction:Q(dt)+pe(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>d=[e,t,s,a,l]};return W({[c+h]:[0,He,[],()=>[gs()]],[h]:[0,We],[f]:[0,$e],[c+u]:[1,qe,[ls],e=>[Ts(...e)]],[u]:[1,Ge,[ls]],[u+C]:[1,Ke,[ls]],[c+u+v]:[2,Qe,[ls,ns],e=>[bs(...e)]],[T]:[1,Ue,[ls]],[b]:[1,Xe,[ls]],[c+g]:[2,Ze,[ls,rs],e=>[vs(...e)]],[g]:[2,_e,[ls,rs]],[C]:[2,et,[ls,rs]],[c+v]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[v]:[3,st,[ls,rs,cs],e=>we(ds(...e))],InvalidCell:[3,at],[c+S]:[0,nt,[],()=>[Vs()]],[S]:[0,ot],[w]:[0,rt],[c+V]:[1,it,[hs],e=>[Ss(...e)]],[V]:[1,ct,[hs],e=>we(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{Ps["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?E(l,0,e):void 0,s,a)})),B(Ps)};e.createStore=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),f=e=>e.shift(),y=Object,h=e=>y.getPrototypeOf(e),p=y.entries,w=y.keys,b=y.freeze,v=(e,t)=>g(p(e),(([e,a])=>t(a,e))),C=e=>(e=>!r(e)&&i(h(e),(e=>e==y.prototype||r(h(e))),(()=>!0)))(e)&&0==(e=>c(w(e)))(e),S=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),M=e=>r(e)||0==(e=>e?.size??0)(e),A=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),m=e=>new Map(e),D=(e,t)=>e?.get(t),L=(e,t,a)=>r(a)?(T(e,t),e):e?.set(t,a),H=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(D(e,t)):L(e,t,a()),D(e,t)},z=(e,t,a,n,s=0)=>i((a?H:D)(e,t[s],s>c(t)-2?a:m),(o=>{if(s>c(t)-2)return n?.(o)&&L(e,t[s]),o;const r=z(o,t,a,n,s+1);return M(o)&&L(e,t[s]),r})),G=(e,t)=>t?[e,t]:[e],R=(e,t)=>((e??"")>(t??"")?e:t)??"",E=(e="")=>G(((e=[])=>y.fromEntries(e))(),e),V=e=>new Set(l(e)||r(e)?e:[e]),x=/^\d+$/,P=m(),j=m(),O=(e,t,a,n,s,o,y,h={},p=[])=>{let w,v,S,G=0,R=0,E=0;H(P,p,(()=>0)),H(j,p,(()=>[]));const O=m(),[$,k,B,F,N]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!C(e)||!C(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!C(e)||!C(t),t.setContent]:u("Store type not supported by this Persister"))(y,e),[U,q,I]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?f(e):null)??""+t++,t=>{x.test(t)&&c(e)<1e3&&d(e,t)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,u;return L(n,l,[a,s,o,r,i]),c=z(s,o??[""],V),u=l,c?.add(u),l},(t,a,...s)=>g(((e,t=[""])=>{const a=[],n=(e,s)=>s==c(t)?d(a,e):null===t[s]?A(e,(e=>n(e,s+1))):g([t[s],null],(t=>n(D(e,t),s+1)));return n(e,0),a})(t,a),(t=>A(t,(t=>D(n,t)[0](e,...a??[],...s))))),e=>i(D(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(T(t,e),M(t)?1:0))),L(n,e),a(e),s))),t=>i(D(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=c(i);l==c(a)?t(e,...i,...s(i)):r(a[l])?g(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),J=e=>{e!=G&&(G=e,q(O,void 0,G))},K=t=>{($&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Q=async e=>(2!=G&&(J(1),R++,await Z((async()=>{try{const a=await t();l(a)?K(a):e?N(e):u("Content is not an array "+a)}catch(t){o?.(t),e&&N(e)}J(0)}))),_),W=()=>(v&&(s(v),v=void 0),_),X=async e=>(1!=G&&(J(2),E++,await Z((async()=>{try{await a(k,e)}catch(e){o?.(e)}J(0)}))),_),Y=()=>(i(S,e.delListener),S=void 0,_),Z=async(...e)=>(d(D(j,p),...e),await(async()=>{if(!D(P,p)){for(L(P,p,1);!r(w=f(D(j,p)));)try{await w()}catch(e){o?.(e)}L(P,p,0)}})(),_),_={load:Q,startAutoLoad:async e=>{await W().load(e);try{v=await n((async(e,t)=>{t||e?2!=G&&(J(1),R++,K(t??e),J(0)):await Q()}))}catch(e){o?.(e)}return _},stopAutoLoad:W,isAutoLoading:()=>!r(v),save:X,startAutoSave:async()=>(await Y().save(),S=e.addDidFinishTransactionListener((()=>{const e=B();F(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(S),getStatus:()=>G,addStatusListener:e=>U(e,O),delListener:t=>(I(t),e),schedule:Z,getStore:()=>e,destroy:()=>(D(j,p).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:R,saves:E}),...h};return b(_)},$=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e);e.Message={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},e.createCustomSynchronizer=(e,t,n,s,o,l,c,u,g={})=>{let d,f=0,y=0;const h=m(),p=(e,a,n,s)=>{f++,l?.(e,a,n,s),t(e,a,n,s)},w=async(e,t,n="")=>new a(((a,s)=>{const r=((e=16)=>{return t=(e,t)=>e+$[63&t],k(new Uint8Array(e)).reduce(t,"");var t})(),i=setTimeout((()=>{T(h,r),s(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);L(h,r,[e,(e,t)=>{clearTimeout(i),T(h,r),a([e,t])}]),p(e,r,t,n)})),b=(e,[t,a])=>{v(t,(([t,a],n)=>{const s=S(e[0],n,E);v(t,(([e,t],a)=>{const n=S(s[0],a,E);v(e,(([e,t],a)=>n[0][a]=G(e,t))),n[1]=R(n[1],t)})),s[1]=R(s[1],a)})),e[1]=R(e[1],a)},M=async(t=null,a)=>{r(a)&&([a,t]=await w(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=E();if(o!=n){const[a,n]=(await w(t,4,e.getMergeableTableHashes()))[0];if(l=a,!C(n)){const[a,s]=(await w(t,5,e.getMergeableRowHashes(n)))[0];if(b(l,a),!C(s)){const a=(await w(t,6,e.getMergeableCellHashes(s)))[0];b(l,a)}}}return[l,i==s?E():(await w(t,7,e.getMergeableValueHashes()))[0],1]},A=O(e,(async()=>{const e=await M();return C(e[0][0])&&C(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),u,2,{startSync:async e=>await(await A.startAutoLoad(e)).startAutoSave(),stopSync:()=>A.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),A.stopSync()),getSynchronizerStats:()=>({sends:f,receives:y}),...g});return n(((t,a,n,s)=>{y++,c?.(t,a,n,s),0==n?i(D(h,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&A.isAutoLoading()?M(t,s).then((e=>{d?.(void 0,e)})):3==n&&A.isAutoLoading()?d?.(void 0,s):i(1==n&&A.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),A}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
1
+ var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),f=Object,h=e=>f.getPrototypeOf(e),p=f.entries,w=f.keys,b=f.freeze,v=(e,t)=>g(p(e),(([e,a])=>t(a,e))),C=e=>(e=>!r(e)&&i(h(e),(e=>e==f.prototype||r(h(e))),(()=>!0)))(e)&&0==(e=>c(w(e)))(e),S=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),M=e=>r(e)||0==(e=>e?.size??0)(e),A=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),m=e=>new Map(e),D=(e,t)=>e?.get(t),L=(e,t,a)=>r(a)?(T(e,t),e):e?.set(t,a),H=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(D(e,t)):L(e,t,a()),D(e,t)},z=(e,t,a,n,s=0)=>i((a?H:D)(e,t[s],s>c(t)-2?a:m),(o=>{if(s>c(t)-2)return n?.(o)&&L(e,t[s]),o;const r=z(o,t,a,n,s+1);return M(o)&&L(e,t[s]),r})),G=(e,t)=>t?[e,t]:[e],R=(e,t)=>((e??"")>(t??"")?e:t)??"",E=(e="")=>G(((e=[])=>f.fromEntries(e))(),e),V=e=>new Set(l(e)||r(e)?e:[e]),x=/^\d+$/,P=m(),j=m(),O=(e,t,a,n,s,o,f,h={},p=0,w=[])=>{let v,S,G,R=0,E=0,O=0;H(P,w,(()=>0)),H(j,w,(()=>[]));const $=m(),[k,B,F,N,U]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!C(e)||!C(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!C(e)||!C(t),t.setContent]:u("Store type not supported by this Persister"))(f,e,p),[q,I,J]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{x.test(t)&&c(e)<1e3&&d(e,t)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{e??=ee;const l=t(1);var c,u;return L(n,l,[a,s,o,r,i]),c=z(s,o??[""],V),u=l,c?.add(u),l},(t,a,...s)=>g(((e,t=[""])=>{const a=[],n=(e,s)=>s==c(t)?d(a,e):null===t[s]?A(e,(e=>n(e,s+1))):g([t[s],null],(t=>n(D(e,t),s+1)));return n(e,0),a})(t,a),(t=>A(t,(t=>D(n,t)[0](e,...a??[],...s))))),e=>i(D(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(T(t,e),M(t)?1:0))),L(n,e),a(e),s))),t=>i(D(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=c(i);l==c(a)?t(e,...i,...s(i)):r(a[l])?g(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),K=e=>{e!=R&&(R=e,I($,void 0,R))},Q=t=>{(k&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},W=async e=>(2!=R&&(K(1),E++,await _((async()=>{try{const a=await t();l(a)?Q(a):e?U(e):u("Content is not an array: "+a)}catch(t){o?.(t),e&&U(e)}K(0)}))),ee),X=()=>(S&&(s(S),S=void 0),ee),Y=async e=>(1!=R&&(K(2),O++,await _((async()=>{try{await a(B,e)}catch(e){o?.(e)}K(0)}))),ee),Z=()=>(G&&(e.delListener(G),G=void 0),ee),_=async(...e)=>(d(D(j,w),...e),await(async()=>{if(!D(P,w)){for(L(P,w,1);!r(v=y(D(j,w)));)try{await v()}catch(e){o?.(e)}L(P,w,0)}})(),ee),ee={load:W,startAutoLoad:async e=>{X(),await W(e);try{S=await n((async(e,t)=>{t||e?2!=R&&(K(1),E++,Q(t??e),K(0)):await W()}))}catch(e){o?.(e)}return ee},stopAutoLoad:X,isAutoLoading:()=>!r(S),save:Y,startAutoSave:async()=>(Z(),await Y(),G=e.addDidFinishTransactionListener((()=>{const e=F();N(e)&&Y(e)})),ee),stopAutoSave:Z,isAutoSaving:()=>!r(G),getStatus:()=>R,addStatusListener:e=>q(e,$),delListener:t=>(J(t),e),schedule:_,getStore:()=>e,destroy:()=>(D(j,w).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:E,saves:O}),...h};return b(ee)},$=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),B=(e=16)=>{return t=(e,t)=>e+$[63&t],k(new Uint8Array(e)).reduce(t,"");var t};e.Message={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},e.createCustomSynchronizer=(e,t,n,s,o,l,c,u,g={})=>{let d,y=0,f=0,h=0;const p=m(),w=()=>B(11),b=(e,a,n,s)=>{f++,l?.(e,a,n,s),t(e,a,n,s)},M=async(e,t,n,s)=>new a(((a,r)=>{const i=s+"."+B(4),l=((e,t=0)=>setTimeout(e,1e3*t))((()=>{T(p,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);L(p,i,[e,(e,t)=>{clearTimeout(l),T(p,i),a([e,t,s])}]),b(e,i,t,n)})),A=(e,[t,a])=>{v(t,(([t,a],n)=>{const s=S(e[0],n,E);v(t,(([e,t],a)=>{const n=S(s[0],a,E);v(e,(([e,t],a)=>n[0][a]=G(e,t))),n[1]=R(n[1],t)})),s[1]=R(s[1],a)})),e[1]=R(e[1],a)},H=async(t=null,a,n=w())=>{try{r(a)&&([a,t,n]=await M(null,1,"",n));const[s,o]=a,[i,l]=e.getMergeableContentHashes();let c=E();if(i!=s){const[a,s]=(await M(t,4,e.getMergeableTableHashes(),n))[0];if(c=a,!C(s)){const[a,o]=(await M(t,5,e.getMergeableRowHashes(s),n))[0];if(A(c,a),!C(o)){const a=(await M(t,6,e.getMergeableCellHashes(o),n))[0];A(c,a)}}}return[c,l==o?E():(await M(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){u?.(e)}},z=O(e,(async()=>{const e=await H();return!e||C(e[0][0])&&C(e[1][0])?void 0:e}),(async(t,a)=>a?b(null,w(),3,a):b(null,w(),2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),u,2,{startSync:async e=>(y=1,await(await z.startAutoLoad(e)).startAutoSave()),stopSync:()=>(y=0,z.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),z.stopSync()),getSynchronizerStats:()=>({sends:f,receives:h}),...g},1);return n(((t,a,n,s)=>{const o=y||z.isAutoLoading();h++,c?.(t,a,n,s),0==n?i(D(p,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&o?H(t,s,a??void 0).then((e=>{d?.(void 0,e)})).catch(u):3==n&&o?d?.(void 0,s):i(1==n&&(y||z.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{b(t,a,0,e)}))})),z}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),h=Object,f=e=>h.getPrototypeOf(e),p=h.entries,w=h.keys,v=h.freeze,b=(e,t)=>g(p(e),(([e,a])=>t(a,e))),C=e=>(e=>!r(e)&&i(f(e),(e=>e==h.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>c(w(e)))(e),S=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),M=e=>r(e)||0==(e=>e?.size??0)(e),A=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),L=e=>new Map(e),T=(e,t)=>e?.get(t),H=(e,t,a)=>r(a)?(m(e,t),e):e?.set(t,a),D=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(T(e,t)):H(e,t,a()),T(e,t)},z=(e,t,a,n,s=0)=>i((a?D:T)(e,t[s],s>c(t)-2?a:L),(o=>{if(s>c(t)-2)return n?.(o)&&H(e,t[s]),o;const r=z(o,t,a,n,s+1);return M(o)&&H(e,t[s]),r})),B=(e,t)=>t?[e,t]:[e],E=(e,t)=>((e??"")>(t??"")?e:t)??"",x=(e="")=>B(((e=[])=>h.fromEntries(e))(),e),P=e=>new Set(l(e)||r(e)?e:[e]),R=/^\d+$/,V=L(),j=L(),N=(e,t,a,n,s,o,h,f={},p=[])=>{let w,b,S,B=0,E=0,x=0;D(V,p,(()=>0)),D(j,p,(()=>[]));const N=L(),[O,$,k,F,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!C(e)||!C(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!C(e)||!C(t),t.setContent]:u("Store type not supported by this Persister"))(h,e),[q,G,I]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{R.test(t)&&c(e)<1e3&&d(e,t)}]})(),n=L();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,u;return H(n,l,[a,s,o,r,i]),c=z(s,o??[""],P),u=l,c?.add(u),l},(t,a,...s)=>g(((e,t=[""])=>{const a=[],n=(e,s)=>s==c(t)?d(a,e):null===t[s]?A(e,(e=>n(e,s+1))):g([t[s],null],(t=>n(T(e,t),s+1)));return n(e,0),a})(t,a),(t=>A(t,(t=>T(n,t)[0](e,...a??[],...s))))),e=>i(T(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(m(t,e),M(t)?1:0))),H(n,e),a(e),s))),t=>i(T(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=c(i);l==c(a)?t(e,...i,...s(i)):r(a[l])?g(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),J=e=>{e!=B&&(B=e,G(N,void 0,B))},K=t=>{(O&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Q=async e=>(2!=B&&(J(1),E++,await Z((async()=>{try{const a=await t();l(a)?K(a):e?U(e):u("Content is not an array "+a)}catch(t){o?.(t),e&&U(e)}J(0)}))),_),W=()=>(b&&(s(b),b=void 0),_),X=async e=>(1!=B&&(J(2),x++,await Z((async()=>{try{await a($,e)}catch(e){o?.(e)}J(0)}))),_),Y=()=>(i(S,e.delListener),S=void 0,_),Z=async(...e)=>(d(T(j,p),...e),await(async()=>{if(!T(V,p)){for(H(V,p,1);!r(w=y(T(j,p)));)try{await w()}catch(e){o?.(e)}H(V,p,0)}})(),_),_={load:Q,startAutoLoad:async e=>{await W().load(e);try{b=await n((async(e,t)=>{t||e?2!=B&&(J(1),E++,K(t??e),J(0)):await Q()}))}catch(e){o?.(e)}return _},stopAutoLoad:W,isAutoLoading:()=>!r(b),save:X,startAutoSave:async()=>(await Y().save(),S=e.addDidFinishTransactionListener((()=>{const e=k();F(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(S),getStatus:()=>B,addStatusListener:e=>q(e,N),delListener:t=>(I(t),e),schedule:Z,getStore:()=>e,destroy:()=>(T(j,p).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:E,saves:x}),...f};return v(_)},O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),k=(e=16)=>{return t=(e,t)=>e+O[63&t],$(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,t,n,s,o)=>{const l=k(),c=new BroadcastChannel(t);return((e,t,n,s,o,l,c,u,g={})=>{let d,y=0,h=0;const f=L(),p=(e,a,n,s)=>{y++,l?.(e,a,n,s),t(e,a,n,s)},w=async(e,t,n="")=>new a(((a,s)=>{const r=k(),i=setTimeout((()=>{m(f,r),s(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);H(f,r,[e,(e,t)=>{clearTimeout(i),m(f,r),a([e,t])}]),p(e,r,t,n)})),v=(e,[t,a])=>{b(t,(([t,a],n)=>{const s=S(e[0],n,x);b(t,(([e,t],a)=>{const n=S(s[0],a,x);b(e,(([e,t],a)=>n[0][a]=B(e,t))),n[1]=E(n[1],t)})),s[1]=E(s[1],a)})),e[1]=E(e[1],a)},M=async(t=null,a)=>{r(a)&&([a,t]=await w(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=x();if(o!=n){const[a,n]=(await w(t,4,e.getMergeableTableHashes()))[0];if(l=a,!C(n)){const[a,s]=(await w(t,5,e.getMergeableRowHashes(n)))[0];if(v(l,a),!C(s)){const a=(await w(t,6,e.getMergeableCellHashes(s)))[0];v(l,a)}}}return[l,i==s?x():(await w(t,7,e.getMergeableValueHashes()))[0],1]},A=N(e,(async()=>{const e=await M();return C(e[0][0])&&C(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),u,2,{startSync:async e=>await(await A.startAutoLoad(e)).startAutoSave(),stopSync:()=>A.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),A.stopSync()),getSynchronizerStats:()=>({sends:y,receives:h}),...g});return n(((t,a,n,s)=>{h++,c?.(t,a,n,s),0==n?i(T(f,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&A.isAutoLoading()?M(t,s).then((e=>{d?.(void 0,e)})):3==n&&A.isAutoLoading()?d?.(void 0,s):i(1==n&&A.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),A})(e,((e,t,a,n)=>c.postMessage([l,e,t,a,n])),(e=>{c.onmessage=({data:[t,a,n,s,o]})=>r(a)||a==l?e(t,n,s,o):0}),(()=>{c.close()}),.01,n,s,o,{getChannelName:()=>t})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
1
+ var e,t;e=this,t=function(e){"use strict";const 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=>e.length,g=e=>{throw Error(e)},u=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),h=Object,f=e=>h.getPrototypeOf(e),p=h.entries,w=h.keys,v=h.freeze,b=(e,t)=>u(p(e),(([e,a])=>t(a,e))),C=e=>(e=>!r(e)&&i(f(e),(e=>e==h.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>l(w(e)))(e),S=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),M=e=>r(e)||0==(e=>e?.size??0)(e),A=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),T=e=>new Map(e),L=(e,t)=>e?.get(t),H=(e,t,a)=>r(a)?(m(e,t),e):e?.set(t,a),D=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(L(e,t)):H(e,t,a()),L(e,t)},z=(e,t,a,n,s=0)=>i((a?D:L)(e,t[s],s>l(t)-2?a:T),(o=>{if(s>l(t)-2)return n?.(o)&&H(e,t[s]),o;const r=z(o,t,a,n,s+1);return M(o)&&H(e,t[s]),r})),B=(e,t)=>t?[e,t]:[e],E=(e,t)=>((e??"")>(t??"")?e:t)??"",x=(e="")=>B(((e=[])=>h.fromEntries(e))(),e),P=e=>new Set(c(e)||r(e)?e:[e]),R=/^\d+$/,V=T(),j=T(),N=(e,t,a,n,s,o,h,f={},p=0,w=[])=>{let b,S,B,E=0,x=0,N=0;D(V,w,(()=>0)),D(j,w,(()=>[]));const O=T(),[$,k,F,U,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!C(e)||!C(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!C(e)||!C(t),t.setContent]:g("Store type not supported by this Persister"))(h,e,p),[G,I,J]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{R.test(t)&&l(e)<1e3&&d(e,t)}]})(),n=T();return[(a,s,o,r=[],i=()=>[])=>{e??=ee;const c=t(1);var l,g;return H(n,c,[a,s,o,r,i]),l=z(s,o??[""],P),g=c,l?.add(g),c},(t,a,...s)=>u(((e,t=[""])=>{const a=[],n=(e,s)=>s==l(t)?d(a,e):null===t[s]?A(e,(e=>n(e,s+1))):u([t[s],null],(t=>n(L(e,t),s+1)));return n(e,0),a})(t,a),(t=>A(t,(t=>L(n,t)[0](e,...a??[],...s))))),e=>i(L(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(m(t,e),M(t)?1:0))),H(n,e),a(e),s))),t=>i(L(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?t(e,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),K=e=>{e!=E&&(E=e,I(O,void 0,E))},Q=t=>{($&&c(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},W=async e=>(2!=E&&(K(1),x++,await _((async()=>{try{const a=await t();c(a)?Q(a):e?q(e):g("Content is not an array: "+a)}catch(t){o?.(t),e&&q(e)}K(0)}))),ee),X=()=>(S&&(s(S),S=void 0),ee),Y=async e=>(1!=E&&(K(2),N++,await _((async()=>{try{await a(k,e)}catch(e){o?.(e)}K(0)}))),ee),Z=()=>(B&&(e.delListener(B),B=void 0),ee),_=async(...e)=>(d(L(j,w),...e),await(async()=>{if(!L(V,w)){for(H(V,w,1);!r(b=y(L(j,w)));)try{await b()}catch(e){o?.(e)}H(V,w,0)}})(),ee),ee={load:W,startAutoLoad:async e=>{X(),await W(e);try{S=await n((async(e,t)=>{t||e?2!=E&&(K(1),x++,Q(t??e),K(0)):await W()}))}catch(e){o?.(e)}return ee},stopAutoLoad:X,isAutoLoading:()=>!r(S),save:Y,startAutoSave:async()=>(Z(),await Y(),B=e.addDidFinishTransactionListener((()=>{const e=F();U(e)&&Y(e)})),ee),stopAutoSave:Z,isAutoSaving:()=>!r(B),getStatus:()=>E,addStatusListener:e=>G(e,O),delListener:t=>(J(t),e),schedule:_,getStore:()=>e,destroy:()=>(L(j,w).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:x,saves:N}),...f};return v(ee)},O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),k=(e=16)=>{return t=(e,t)=>e+O[63&t],$(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,t,n,s,o)=>{const c=k(),l=new BroadcastChannel(t);return((e,t,n,s,o,c,l,g,u={})=>{let d,y=0,h=0,f=0;const p=T(),w=()=>k(11),v=(e,a,n,s)=>{h++,c?.(e,a,n,s),t(e,a,n,s)},M=async(e,t,n,s)=>new a(((a,r)=>{const i=s+"."+k(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{m(p,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);H(p,i,[e,(e,t)=>{clearTimeout(c),m(p,i),a([e,t,s])}]),v(e,i,t,n)})),A=(e,[t,a])=>{b(t,(([t,a],n)=>{const s=S(e[0],n,x);b(t,(([e,t],a)=>{const n=S(s[0],a,x);b(e,(([e,t],a)=>n[0][a]=B(e,t))),n[1]=E(n[1],t)})),s[1]=E(s[1],a)})),e[1]=E(e[1],a)},D=async(t=null,a,n=w())=>{try{r(a)&&([a,t,n]=await M(null,1,"",n));const[s,o]=a,[i,c]=e.getMergeableContentHashes();let l=x();if(i!=s){const[a,s]=(await M(t,4,e.getMergeableTableHashes(),n))[0];if(l=a,!C(s)){const[a,o]=(await M(t,5,e.getMergeableRowHashes(s),n))[0];if(A(l,a),!C(o)){const a=(await M(t,6,e.getMergeableCellHashes(o),n))[0];A(l,a)}}}return[l,c==o?x():(await M(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){g?.(e)}},z=N(e,(async()=>{const e=await D();return!e||C(e[0][0])&&C(e[1][0])?void 0:e}),(async(t,a)=>a?v(null,w(),3,a):v(null,w(),2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),g,2,{startSync:async e=>(y=1,await(await z.startAutoLoad(e)).startAutoSave()),stopSync:()=>(y=0,z.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),z.stopSync()),getSynchronizerStats:()=>({sends:h,receives:f}),...u},1);return n(((t,a,n,s)=>{const o=y||z.isAutoLoading();f++,l?.(t,a,n,s),0==n?i(L(p,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&o?D(t,s,a??void 0).then((e=>{d?.(void 0,e)})).catch(g):3==n&&o?d?.(void 0,s):i(1==n&&(y||z.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{v(t,a,0,e)}))})),z})(e,((e,t,a,n)=>l.postMessage([c,e,t,a,n])),(e=>{l.onmessage=({data:[t,a,n,s,o]})=>r(a)||a==c?e(t,n,s,o):0}),(()=>{l.close()}),.01,n,s,o,{getChannelName:()=>t})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),h=Object,f=e=>h.getPrototypeOf(e),p=h.entries,w=h.keys,v=h.freeze,b=(e,t)=>g(p(e),(([e,a])=>t(a,e))),C=e=>(e=>!r(e)&&i(f(e),(e=>e==h.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>c(w(e)))(e),S=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),M=e=>r(e)||0==(e=>e?.size??0)(e),A=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),L=e=>new Map(e),T=(e,t)=>e?.get(t),H=(e,t,a)=>r(a)?(m(e,t),e):e?.set(t,a),D=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(T(e,t)):H(e,t,a()),T(e,t)},z=(e,t,a,n,s=0)=>i((a?D:T)(e,t[s],s>c(t)-2?a:L),(o=>{if(s>c(t)-2)return n?.(o)&&H(e,t[s]),o;const r=z(o,t,a,n,s+1);return M(o)&&H(e,t[s]),r})),B=(e,t)=>t?[e,t]:[e],E=(e,t)=>((e??"")>(t??"")?e:t)??"",x=(e="")=>B(((e=[])=>h.fromEntries(e))(),e),P=e=>new Set(l(e)||r(e)?e:[e]),R=/^\d+$/,V=L(),j=L(),N=(e,t,a,n,s,o,h,f={},p=[])=>{let w,b,S,B=0,E=0,x=0;D(V,p,(()=>0)),D(j,p,(()=>[]));const N=L(),[O,$,k,F,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!C(e)||!C(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!C(e)||!C(t),t.setContent]:u("Store type not supported by this Persister"))(h,e),[q,G,I]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{R.test(t)&&c(e)<1e3&&d(e,t)}]})(),n=L();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,u;return H(n,l,[a,s,o,r,i]),c=z(s,o??[""],P),u=l,c?.add(u),l},(t,a,...s)=>g(((e,t=[""])=>{const a=[],n=(e,s)=>s==c(t)?d(a,e):null===t[s]?A(e,(e=>n(e,s+1))):g([t[s],null],(t=>n(T(e,t),s+1)));return n(e,0),a})(t,a),(t=>A(t,(t=>T(n,t)[0](e,...a??[],...s))))),e=>i(T(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(m(t,e),M(t)?1:0))),H(n,e),a(e),s))),t=>i(T(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=c(i);l==c(a)?t(e,...i,...s(i)):r(a[l])?g(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),J=e=>{e!=B&&(B=e,G(N,void 0,B))},K=t=>{(O&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Q=async e=>(2!=B&&(J(1),E++,await Z((async()=>{try{const a=await t();l(a)?K(a):e?U(e):u("Content is not an array "+a)}catch(t){o?.(t),e&&U(e)}J(0)}))),_),W=()=>(b&&(s(b),b=void 0),_),X=async e=>(1!=B&&(J(2),x++,await Z((async()=>{try{await a($,e)}catch(e){o?.(e)}J(0)}))),_),Y=()=>(i(S,e.delListener),S=void 0,_),Z=async(...e)=>(d(T(j,p),...e),await(async()=>{if(!T(V,p)){for(H(V,p,1);!r(w=y(T(j,p)));)try{await w()}catch(e){o?.(e)}H(V,p,0)}})(),_),_={load:Q,startAutoLoad:async e=>{await W().load(e);try{b=await n((async(e,t)=>{t||e?2!=B&&(J(1),E++,K(t??e),J(0)):await Q()}))}catch(e){o?.(e)}return _},stopAutoLoad:W,isAutoLoading:()=>!r(b),save:X,startAutoSave:async()=>(await Y().save(),S=e.addDidFinishTransactionListener((()=>{const e=k();F(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(S),getStatus:()=>B,addStatusListener:e=>q(e,N),delListener:t=>(I(t),e),schedule:Z,getStore:()=>e,destroy:()=>(T(j,p).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:E,saves:x}),...f};return v(_)},O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),k=(e=16)=>{return t=(e,t)=>e+O[63&t],$(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,t,n,s,o)=>{const l=k(),c=new BroadcastChannel(t);return((e,t,n,s,o,l,c,u,g={})=>{let d,y=0,h=0;const f=L(),p=(e,a,n,s)=>{y++,l?.(e,a,n,s),t(e,a,n,s)},w=async(e,t,n="")=>new a(((a,s)=>{const r=k(),i=setTimeout((()=>{m(f,r),s(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);H(f,r,[e,(e,t)=>{clearTimeout(i),m(f,r),a([e,t])}]),p(e,r,t,n)})),v=(e,[t,a])=>{b(t,(([t,a],n)=>{const s=S(e[0],n,x);b(t,(([e,t],a)=>{const n=S(s[0],a,x);b(e,(([e,t],a)=>n[0][a]=B(e,t))),n[1]=E(n[1],t)})),s[1]=E(s[1],a)})),e[1]=E(e[1],a)},M=async(t=null,a)=>{r(a)&&([a,t]=await w(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=x();if(o!=n){const[a,n]=(await w(t,4,e.getMergeableTableHashes()))[0];if(l=a,!C(n)){const[a,s]=(await w(t,5,e.getMergeableRowHashes(n)))[0];if(v(l,a),!C(s)){const a=(await w(t,6,e.getMergeableCellHashes(s)))[0];v(l,a)}}}return[l,i==s?x():(await w(t,7,e.getMergeableValueHashes()))[0],1]},A=N(e,(async()=>{const e=await M();return C(e[0][0])&&C(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),u,2,{startSync:async e=>await(await A.startAutoLoad(e)).startAutoSave(),stopSync:()=>A.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),A.stopSync()),getSynchronizerStats:()=>({sends:y,receives:h}),...g});return n(((t,a,n,s)=>{h++,c?.(t,a,n,s),0==n?i(T(f,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&A.isAutoLoading()?M(t,s).then((e=>{d?.(void 0,e)})):3==n&&A.isAutoLoading()?d?.(void 0,s):i(1==n&&A.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),A})(e,((e,t,a,n)=>c.postMessage([l,e,t,a,n])),(e=>{c.onmessage=({data:[t,a,n,s,o]})=>r(a)||a==l?e(t,n,s,o):0}),(()=>{c.close()}),.01,n,s,o,{getChannelName:()=>t})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
1
+ var e,t;e=this,t=function(e){"use strict";const 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=>e.length,g=e=>{throw Error(e)},u=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),h=Object,f=e=>h.getPrototypeOf(e),p=h.entries,w=h.keys,v=h.freeze,b=(e,t)=>u(p(e),(([e,a])=>t(a,e))),C=e=>(e=>!r(e)&&i(f(e),(e=>e==h.prototype||r(f(e))),(()=>!0)))(e)&&0==(e=>l(w(e)))(e),S=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),M=e=>r(e)||0==(e=>e?.size??0)(e),A=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),T=e=>new Map(e),L=(e,t)=>e?.get(t),H=(e,t,a)=>r(a)?(m(e,t),e):e?.set(t,a),D=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(L(e,t)):H(e,t,a()),L(e,t)},z=(e,t,a,n,s=0)=>i((a?D:L)(e,t[s],s>l(t)-2?a:T),(o=>{if(s>l(t)-2)return n?.(o)&&H(e,t[s]),o;const r=z(o,t,a,n,s+1);return M(o)&&H(e,t[s]),r})),B=(e,t)=>t?[e,t]:[e],E=(e,t)=>((e??"")>(t??"")?e:t)??"",x=(e="")=>B(((e=[])=>h.fromEntries(e))(),e),P=e=>new Set(c(e)||r(e)?e:[e]),R=/^\d+$/,V=T(),j=T(),N=(e,t,a,n,s,o,h,f={},p=0,w=[])=>{let b,S,B,E=0,x=0,N=0;D(V,w,(()=>0)),D(j,w,(()=>[]));const O=T(),[$,k,F,U,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!C(e)||!C(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!C(e)||!C(t),t.setContent]:g("Store type not supported by this Persister"))(h,e,p),[G,I,J]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{R.test(t)&&l(e)<1e3&&d(e,t)}]})(),n=T();return[(a,s,o,r=[],i=()=>[])=>{e??=ee;const c=t(1);var l,g;return H(n,c,[a,s,o,r,i]),l=z(s,o??[""],P),g=c,l?.add(g),c},(t,a,...s)=>u(((e,t=[""])=>{const a=[],n=(e,s)=>s==l(t)?d(a,e):null===t[s]?A(e,(e=>n(e,s+1))):u([t[s],null],(t=>n(L(e,t),s+1)));return n(e,0),a})(t,a),(t=>A(t,(t=>L(n,t)[0](e,...a??[],...s))))),e=>i(L(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(m(t,e),M(t)?1:0))),H(n,e),a(e),s))),t=>i(L(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?t(e,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(e=>o(...i,e))):o(...i,a[c])};o()}))]})(),K=e=>{e!=E&&(E=e,I(O,void 0,E))},Q=t=>{($&&c(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},W=async e=>(2!=E&&(K(1),x++,await _((async()=>{try{const a=await t();c(a)?Q(a):e?q(e):g("Content is not an array: "+a)}catch(t){o?.(t),e&&q(e)}K(0)}))),ee),X=()=>(S&&(s(S),S=void 0),ee),Y=async e=>(1!=E&&(K(2),N++,await _((async()=>{try{await a(k,e)}catch(e){o?.(e)}K(0)}))),ee),Z=()=>(B&&(e.delListener(B),B=void 0),ee),_=async(...e)=>(d(L(j,w),...e),await(async()=>{if(!L(V,w)){for(H(V,w,1);!r(b=y(L(j,w)));)try{await b()}catch(e){o?.(e)}H(V,w,0)}})(),ee),ee={load:W,startAutoLoad:async e=>{X(),await W(e);try{S=await n((async(e,t)=>{t||e?2!=E&&(K(1),x++,Q(t??e),K(0)):await W()}))}catch(e){o?.(e)}return ee},stopAutoLoad:X,isAutoLoading:()=>!r(S),save:Y,startAutoSave:async()=>(Z(),await Y(),B=e.addDidFinishTransactionListener((()=>{const e=F();U(e)&&Y(e)})),ee),stopAutoSave:Z,isAutoSaving:()=>!r(B),getStatus:()=>E,addStatusListener:e=>G(e,O),delListener:t=>(J(t),e),schedule:_,getStore:()=>e,destroy:()=>(L(j,w).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:x,saves:N}),...f};return v(ee)},O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),k=(e=16)=>{return t=(e,t)=>e+O[63&t],$(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,t,n,s,o)=>{const c=k(),l=new BroadcastChannel(t);return((e,t,n,s,o,c,l,g,u={})=>{let d,y=0,h=0,f=0;const p=T(),w=()=>k(11),v=(e,a,n,s)=>{h++,c?.(e,a,n,s),t(e,a,n,s)},M=async(e,t,n,s)=>new a(((a,r)=>{const i=s+"."+k(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{m(p,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);H(p,i,[e,(e,t)=>{clearTimeout(c),m(p,i),a([e,t,s])}]),v(e,i,t,n)})),A=(e,[t,a])=>{b(t,(([t,a],n)=>{const s=S(e[0],n,x);b(t,(([e,t],a)=>{const n=S(s[0],a,x);b(e,(([e,t],a)=>n[0][a]=B(e,t))),n[1]=E(n[1],t)})),s[1]=E(s[1],a)})),e[1]=E(e[1],a)},D=async(t=null,a,n=w())=>{try{r(a)&&([a,t,n]=await M(null,1,"",n));const[s,o]=a,[i,c]=e.getMergeableContentHashes();let l=x();if(i!=s){const[a,s]=(await M(t,4,e.getMergeableTableHashes(),n))[0];if(l=a,!C(s)){const[a,o]=(await M(t,5,e.getMergeableRowHashes(s),n))[0];if(A(l,a),!C(o)){const a=(await M(t,6,e.getMergeableCellHashes(o),n))[0];A(l,a)}}}return[l,c==o?x():(await M(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){g?.(e)}},z=N(e,(async()=>{const e=await D();return!e||C(e[0][0])&&C(e[1][0])?void 0:e}),(async(t,a)=>a?v(null,w(),3,a):v(null,w(),2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),g,2,{startSync:async e=>(y=1,await(await z.startAutoLoad(e)).startAutoSave()),stopSync:()=>(y=0,z.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),z.stopSync()),getSynchronizerStats:()=>({sends:h,receives:f}),...u},1);return n(((t,a,n,s)=>{const o=y||z.isAutoLoading();f++,l?.(t,a,n,s),0==n?i(L(p,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&o?D(t,s,a??void 0).then((e=>{d?.(void 0,e)})).catch(g):3==n&&o?d?.(void 0,s):i(1==n&&(y||z.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{v(t,a,0,e)}))})),z})(e,((e,t,a,n)=>l.postMessage([c,e,t,a,n])),(e=>{l.onmessage=({data:[t,a,n,s,o]})=>r(a)||a==c?e(t,n,s,o):0}),(()=>{l.close()}),.01,n,s,o,{getChannelName:()=>t})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),f=Object,h=e=>f.getPrototypeOf(e),p=f.entries,v=f.keys,w=f.freeze,b=(e,t)=>g(p(e),(([e,a])=>t(a,e))),S=e=>(e=>!r(e)&&i(h(e),(e=>e==f.prototype||r(h(e))),(()=>!0)))(e)&&0==(e=>c(v(e)))(e),M=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),A=e=>r(e)||0==(e=>e?.size??0)(e),C=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),T=e=>new Map(e),m=(e,t)=>e?.get(t),H=(e,t,a)=>r(a)?(L(e,t),e):e?.set(t,a),D=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(m(e,t)):H(e,t,a()),m(e,t)},z=(e,t,a,n,s=0)=>i((a?D:m)(e,t[s],s>c(t)-2?a:T),(o=>{if(s>c(t)-2)return n?.(o)&&H(e,t[s]),o;const r=z(o,t,a,n,s+1);return A(o)&&H(e,t[s]),r})),E=(e,t)=>t?[e,t]:[e],x=(e,t)=>((e??"")>(t??"")?e:t)??"",P=(e="")=>E(((e=[])=>f.fromEntries(e))(),e),R=e=>new Set(l(e)||r(e)?e:[e]),V=/^\d+$/,j=T(),O=T(),$=(e,t,a,n,s,o,f,h={},p=[])=>{let v,b,M,E=0,x=0,P=0;D(j,p,(()=>0)),D(O,p,(()=>[]));const $=T(),[k,B,F,N,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!S(e)||!S(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!S(e)||!S(t),t.setContent]:u("Store type not supported by this Persister"))(f,e),[q,G,I]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{V.test(t)&&c(e)<1e3&&d(e,t)}]})(),n=T();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,u;return H(n,l,[a,s,o,r,i]),c=z(s,o??[""],R),u=l,c?.add(u),l},(t,a,...s)=>g(((e,t=[""])=>{const a=[],n=(e,s)=>s==c(t)?d(a,e):null===t[s]?C(e,(e=>n(e,s+1))):g([t[s],null],(t=>n(m(e,t),s+1)));return n(e,0),a})(t,a),(t=>C(t,(t=>m(n,t)[0](e,...a??[],...s))))),e=>i(m(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(L(t,e),A(t)?1:0))),H(n,e),a(e),s))),t=>i(m(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=c(i);l==c(a)?t(e,...i,...s(i)):r(a[l])?g(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),J=e=>{e!=E&&(E=e,G($,void 0,E))},K=t=>{(k&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Q=async e=>(2!=E&&(J(1),x++,await Z((async()=>{try{const a=await t();l(a)?K(a):e?U(e):u("Content is not an array "+a)}catch(t){o?.(t),e&&U(e)}J(0)}))),_),W=()=>(b&&(s(b),b=void 0),_),X=async e=>(1!=E&&(J(2),P++,await Z((async()=>{try{await a(B,e)}catch(e){o?.(e)}J(0)}))),_),Y=()=>(i(M,e.delListener),M=void 0,_),Z=async(...e)=>(d(m(O,p),...e),await(async()=>{if(!m(j,p)){for(H(j,p,1);!r(v=y(m(O,p)));)try{await v()}catch(e){o?.(e)}H(j,p,0)}})(),_),_={load:Q,startAutoLoad:async e=>{await W().load(e);try{b=await n((async(e,t)=>{t||e?2!=E&&(J(1),x++,K(t??e),J(0)):await Q()}))}catch(e){o?.(e)}return _},stopAutoLoad:W,isAutoLoading:()=>!r(b),save:X,startAutoSave:async()=>(await Y().save(),M=e.addDidFinishTransactionListener((()=>{const e=F();N(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(M),getStatus:()=>E,addStatusListener:e=>q(e,$),delListener:t=>(I(t),e),schedule:Z,getStore:()=>e,destroy:()=>(m(O,p).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:x,saves:P}),...h};return w(_)},k=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),F=(e=16)=>{return t=(e,t)=>e+k[63&t],B(new Uint8Array(e)).reduce(t,"");var t},N=T();e.createLocalSynchronizer=(e,t,n,s)=>{const o=F();return((e,t,n,s,o,l,c,u,g={})=>{let d,y=0,f=0;const h=T(),p=(e,a,n,s)=>{y++,l?.(e,a,n,s),t(e,a,n,s)},v=async(e,t,n="")=>new a(((a,s)=>{const r=F(),i=setTimeout((()=>{L(h,r),s(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);H(h,r,[e,(e,t)=>{clearTimeout(i),L(h,r),a([e,t])}]),p(e,r,t,n)})),w=(e,[t,a])=>{b(t,(([t,a],n)=>{const s=M(e[0],n,P);b(t,(([e,t],a)=>{const n=M(s[0],a,P);b(e,(([e,t],a)=>n[0][a]=E(e,t))),n[1]=x(n[1],t)})),s[1]=x(s[1],a)})),e[1]=x(e[1],a)},A=async(t=null,a)=>{r(a)&&([a,t]=await v(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=P();if(o!=n){const[a,n]=(await v(t,4,e.getMergeableTableHashes()))[0];if(l=a,!S(n)){const[a,s]=(await v(t,5,e.getMergeableRowHashes(n)))[0];if(w(l,a),!S(s)){const a=(await v(t,6,e.getMergeableCellHashes(s)))[0];w(l,a)}}}return[l,i==s?P():(await v(t,7,e.getMergeableValueHashes()))[0],1]},C=$(e,(async()=>{const e=await A();return S(e[0][0])&&S(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),u,2,{startSync:async e=>await(await C.startAutoLoad(e)).startAutoSave(),stopSync:()=>C.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),C.stopSync()),getSynchronizerStats:()=>({sends:y,receives:f}),...g});return n(((t,a,n,s)=>{f++,c?.(t,a,n,s),0==n?i(m(h,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&C.isAutoLoading()?A(t,s).then((e=>{d?.(void 0,e)})):3==n&&C.isAutoLoading()?d?.(void 0,s):i(1==n&&C.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),C})(e,((e,t,a,n)=>{setTimeout((()=>{return r(e)?(s=(e,s)=>e!=o?s(o,t,a,n):0,C(N,((e,t)=>s(t,e)))):m(N,e)?.(o,t,a,n);var s}),0)}),(e=>{H(N,o,e)}),(()=>{L(N,o)}),.01,t,n,s)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=(e,t="",a)=>e.split(t,a),a=Promise,n=globalThis,s=(e,t=0)=>setTimeout(e,1e3*t),o=Math,r=o.floor,i=e=>null==e,c=(e,t,a)=>i(e)?a?.():t(e),l=e=>Array.isArray(e),u=e=>e.length,g=e=>{throw Error(e)},d=(e,t)=>e.forEach(t),y=(e,...t)=>e.push(...t),h=e=>e.shift(),f=Object,p=e=>f.getPrototypeOf(e),v=f.entries,w=f.keys,b=f.freeze,S=(e,t)=>d(v(e),(([e,a])=>t(a,e))),M=e=>(e=>!i(e)&&c(p(e),(e=>e==f.prototype||i(p(e))),(()=>!0)))(e)&&0==(e=>u(w(e)))(e),A=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),C=e=>i(e)||0==(e=>e?.size??0)(e),L=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),m=e=>new Map(e),H=(e,t)=>e?.get(t),D=(e,t,a)=>i(a)?(T(e,t),e):e?.set(t,a),z=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(H(e,t)):D(e,t,a()),H(e,t)},E=(e,t,a,n,s=0)=>c((a?z:H)(e,t[s],s>u(t)-2?a:m),(o=>{if(s>u(t)-2)return n?.(o)&&D(e,t[s]),o;const r=E(o,t,a,n,s+1);return C(o)&&D(e,t[s]),r})),x=(e,t)=>t?[e,t]:[e],P=(e,t)=>((e??"")>(t??"")?e:t)??"",R=(e="")=>x(((e=[])=>f.fromEntries(e))(),e),V=e=>new Set(l(e)||i(e)?e:[e]),j=/^\d+$/,O=m(),$=m(),k=(e,t,a,n,s,o,r,f={},p=0,v=[])=>{let w,S,A,x=0,P=0,R=0;z(O,v,(()=>0)),z($,v,(()=>[]));const k=m(),[B,F,N,U,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!M(e)||!M(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!M(e)||!M(t),t.setContent]:g("Store type not supported by this Persister"))(r,e,p),[G,I,J]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?h(e):null)??""+t++,t=>{j.test(t)&&u(e)<1e3&&y(e,t)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{e??=ee;const c=t(1);var l,u;return D(n,c,[a,s,o,r,i]),l=E(s,o??[""],V),u=c,l?.add(u),c},(t,a,...s)=>d(((e,t=[""])=>{const a=[],n=(e,s)=>s==u(t)?y(a,e):null===t[s]?L(e,(e=>n(e,s+1))):d([t[s],null],(t=>n(H(e,t),s+1)));return n(e,0),a})(t,a),(t=>L(t,(t=>H(n,t)[0](e,...a??[],...s))))),e=>c(H(n,e),(([,t,s])=>(E(t,s??[""],void 0,(t=>(T(t,e),C(t)?1:0))),D(n,e),a(e),s))),t=>c(H(n,t),(([t,,a=[],n,s])=>{const o=(...r)=>{const c=u(r);c==u(a)?t(e,...r,...s(r)):i(a[c])?d(n[c]?.(...r)??[],(e=>o(...r,e))):o(...r,a[c])};o()}))]})(),K=e=>{e!=x&&(x=e,I(k,void 0,x))},Q=t=>{(B&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},W=async e=>(2!=x&&(K(1),P++,await _((async()=>{try{const a=await t();l(a)?Q(a):e?q(e):g("Content is not an array: "+a)}catch(t){o?.(t),e&&q(e)}K(0)}))),ee),X=()=>(S&&(s(S),S=void 0),ee),Y=async e=>(1!=x&&(K(2),R++,await _((async()=>{try{await a(F,e)}catch(e){o?.(e)}K(0)}))),ee),Z=()=>(A&&(e.delListener(A),A=void 0),ee),_=async(...e)=>(y(H($,v),...e),await(async()=>{if(!H(O,v)){for(D(O,v,1);!i(w=h(H($,v)));)try{await w()}catch(e){o?.(e)}D(O,v,0)}})(),ee),ee={load:W,startAutoLoad:async e=>{X(),await W(e);try{S=await n((async(e,t)=>{t||e?2!=x&&(K(1),P++,Q(t??e),K(0)):await W()}))}catch(e){o?.(e)}return ee},stopAutoLoad:X,isAutoLoading:()=>!i(S),save:Y,startAutoSave:async()=>(Z(),await Y(),A=e.addDidFinishTransactionListener((()=>{const e=N();U(e)&&Y(e)})),ee),stopAutoSave:Z,isAutoSaving:()=>!i(A),getStatus:()=>x,addStatusListener:e=>G(e,k),delListener:t=>(J(t),e),schedule:_,getStore:()=>e,destroy:()=>(H($,v).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:P,saves:R}),...f};return b(ee)},B=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),F=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>r(256*o.random()))))(e),N=(e=16)=>{return t=(e,t)=>e+B[63&t],F(new Uint8Array(e)).reduce(t,"");var t},U=m();e.createLocalSynchronizer=(e,t,n,o)=>{const r=N();return((e,t,n,o,r,l,u,g,d={})=>{let y,h=0,f=0,p=0;const v=m(),w=()=>N(11),b=(e,a,n,s)=>{f++,l?.(e,a,n,s),t(e,a,n,s)},C=async(e,t,n,o)=>new a(((a,i)=>{const c=o+"."+N(4),l=s((()=>{T(v,c),i(`No response from ${e??"anyone"} to ${c}, `+t)}),r);D(v,c,[e,(e,t)=>{clearTimeout(l),T(v,c),a([e,t,o])}]),b(e,c,t,n)})),L=(e,[t,a])=>{S(t,(([t,a],n)=>{const s=A(e[0],n,R);S(t,(([e,t],a)=>{const n=A(s[0],a,R);S(e,(([e,t],a)=>n[0][a]=x(e,t))),n[1]=P(n[1],t)})),s[1]=P(s[1],a)})),e[1]=P(e[1],a)},z=async(t=null,a,n=w())=>{try{i(a)&&([a,t,n]=await C(null,1,"",n));const[s,o]=a,[r,c]=e.getMergeableContentHashes();let l=R();if(r!=s){const[a,s]=(await C(t,4,e.getMergeableTableHashes(),n))[0];if(l=a,!M(s)){const[a,o]=(await C(t,5,e.getMergeableRowHashes(s),n))[0];if(L(l,a),!M(o)){const a=(await C(t,6,e.getMergeableCellHashes(o),n))[0];L(l,a)}}}return[l,c==o?R():(await C(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){g?.(e)}},E=k(e,(async()=>{const e=await z();return!e||M(e[0][0])&&M(e[1][0])?void 0:e}),(async(t,a)=>a?b(null,w(),3,a):b(null,w(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>(h=1,await(await E.startAutoLoad(e)).startAutoSave()),stopSync:()=>(h=0,E.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),E.stopSync()),getSynchronizerStats:()=>({sends:f,receives:p}),...d},1);return n(((t,a,n,s)=>{const o=h||E.isAutoLoading();p++,u?.(t,a,n,s),0==n?c(H(v,a),(([e,a])=>i(e)||e==t?a(s,t):0)):2==n&&o?z(t,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(g):3==n&&o?y?.(void 0,s):c(1==n&&(h||E.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{b(t,a,0,e)}))})),E})(e,((e,t,a,n)=>s((()=>{return i(e)?(s=(e,s)=>e!=r?s(r,t,a,n):0,L(U,((e,t)=>s(t,e)))):H(U,e)?.(r,t,a,n);var s}))),(e=>{D(U,r,e)}),(()=>{T(U,r)}),.01,t,n,o)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=e=>e.length,u=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),d=(e,...t)=>e.push(...t),y=e=>e.shift(),f=Object,h=e=>f.getPrototypeOf(e),p=f.entries,v=f.keys,w=f.freeze,b=(e,t)=>g(p(e),(([e,a])=>t(a,e))),S=e=>(e=>!r(e)&&i(h(e),(e=>e==f.prototype||r(h(e))),(()=>!0)))(e)&&0==(e=>c(v(e)))(e),M=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),A=e=>r(e)||0==(e=>e?.size??0)(e),C=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),T=e=>new Map(e),m=(e,t)=>e?.get(t),H=(e,t,a)=>r(a)?(L(e,t),e):e?.set(t,a),D=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(m(e,t)):H(e,t,a()),m(e,t)},z=(e,t,a,n,s=0)=>i((a?D:m)(e,t[s],s>c(t)-2?a:T),(o=>{if(s>c(t)-2)return n?.(o)&&H(e,t[s]),o;const r=z(o,t,a,n,s+1);return A(o)&&H(e,t[s]),r})),E=(e,t)=>t?[e,t]:[e],x=(e,t)=>((e??"")>(t??"")?e:t)??"",P=(e="")=>E(((e=[])=>f.fromEntries(e))(),e),R=e=>new Set(l(e)||r(e)?e:[e]),V=/^\d+$/,j=T(),O=T(),$=(e,t,a,n,s,o,f,h={},p=[])=>{let v,b,M,E=0,x=0,P=0;D(j,p,(()=>0)),D(O,p,(()=>[]));const $=T(),[k,B,F,N,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!S(e)||!S(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!S(e)||!S(t),t.setContent]:u("Store type not supported by this Persister"))(f,e),[q,G,I]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?y(e):null)??""+t++,t=>{V.test(t)&&c(e)<1e3&&d(e,t)}]})(),n=T();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,u;return H(n,l,[a,s,o,r,i]),c=z(s,o??[""],R),u=l,c?.add(u),l},(t,a,...s)=>g(((e,t=[""])=>{const a=[],n=(e,s)=>s==c(t)?d(a,e):null===t[s]?C(e,(e=>n(e,s+1))):g([t[s],null],(t=>n(m(e,t),s+1)));return n(e,0),a})(t,a),(t=>C(t,(t=>m(n,t)[0](e,...a??[],...s))))),e=>i(m(n,e),(([,t,s])=>(z(t,s??[""],void 0,(t=>(L(t,e),A(t)?1:0))),H(n,e),a(e),s))),t=>i(m(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=c(i);l==c(a)?t(e,...i,...s(i)):r(a[l])?g(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),J=e=>{e!=E&&(E=e,G($,void 0,E))},K=t=>{(k&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Q=async e=>(2!=E&&(J(1),x++,await Z((async()=>{try{const a=await t();l(a)?K(a):e?U(e):u("Content is not an array "+a)}catch(t){o?.(t),e&&U(e)}J(0)}))),_),W=()=>(b&&(s(b),b=void 0),_),X=async e=>(1!=E&&(J(2),P++,await Z((async()=>{try{await a(B,e)}catch(e){o?.(e)}J(0)}))),_),Y=()=>(i(M,e.delListener),M=void 0,_),Z=async(...e)=>(d(m(O,p),...e),await(async()=>{if(!m(j,p)){for(H(j,p,1);!r(v=y(m(O,p)));)try{await v()}catch(e){o?.(e)}H(j,p,0)}})(),_),_={load:Q,startAutoLoad:async e=>{await W().load(e);try{b=await n((async(e,t)=>{t||e?2!=E&&(J(1),x++,K(t??e),J(0)):await Q()}))}catch(e){o?.(e)}return _},stopAutoLoad:W,isAutoLoading:()=>!r(b),save:X,startAutoSave:async()=>(await Y().save(),M=e.addDidFinishTransactionListener((()=>{const e=F();N(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(M),getStatus:()=>E,addStatusListener:e=>q(e,$),delListener:t=>(I(t),e),schedule:Z,getStore:()=>e,destroy:()=>(m(O,p).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:x,saves:P}),...h};return w(_)},k=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e),F=(e=16)=>{return t=(e,t)=>e+k[63&t],B(new Uint8Array(e)).reduce(t,"");var t},N=T();e.createLocalSynchronizer=(e,t,n,s)=>{const o=F();return((e,t,n,s,o,l,c,u,g={})=>{let d,y=0,f=0;const h=T(),p=(e,a,n,s)=>{y++,l?.(e,a,n,s),t(e,a,n,s)},v=async(e,t,n="")=>new a(((a,s)=>{const r=F(),i=setTimeout((()=>{L(h,r),s(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);H(h,r,[e,(e,t)=>{clearTimeout(i),L(h,r),a([e,t])}]),p(e,r,t,n)})),w=(e,[t,a])=>{b(t,(([t,a],n)=>{const s=M(e[0],n,P);b(t,(([e,t],a)=>{const n=M(s[0],a,P);b(e,(([e,t],a)=>n[0][a]=E(e,t))),n[1]=x(n[1],t)})),s[1]=x(s[1],a)})),e[1]=x(e[1],a)},A=async(t=null,a)=>{r(a)&&([a,t]=await v(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=P();if(o!=n){const[a,n]=(await v(t,4,e.getMergeableTableHashes()))[0];if(l=a,!S(n)){const[a,s]=(await v(t,5,e.getMergeableRowHashes(n)))[0];if(w(l,a),!S(s)){const a=(await v(t,6,e.getMergeableCellHashes(s)))[0];w(l,a)}}}return[l,i==s?P():(await v(t,7,e.getMergeableValueHashes()))[0],1]},C=$(e,(async()=>{const e=await A();return S(e[0][0])&&S(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>d=e),(()=>d=void 0),u,2,{startSync:async e=>await(await C.startAutoLoad(e)).startAutoSave(),stopSync:()=>C.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),C.stopSync()),getSynchronizerStats:()=>({sends:y,receives:f}),...g});return n(((t,a,n,s)=>{f++,c?.(t,a,n,s),0==n?i(m(h,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&C.isAutoLoading()?A(t,s).then((e=>{d?.(void 0,e)})):3==n&&C.isAutoLoading()?d?.(void 0,s):i(1==n&&C.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),C})(e,((e,t,a,n)=>{setTimeout((()=>{return r(e)?(s=(e,s)=>e!=o?s(o,t,a,n):0,C(N,((e,t)=>s(t,e)))):m(N,e)?.(o,t,a,n);var s}),0)}),(e=>{H(N,o,e)}),(()=>{L(N,o)}),.01,t,n,s)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=(e,t="",a)=>e.split(t,a),a=Promise,n=globalThis,s=(e,t=0)=>setTimeout(e,1e3*t),o=Math,r=o.floor,i=e=>null==e,c=(e,t,a)=>i(e)?a?.():t(e),l=e=>Array.isArray(e),u=e=>e.length,g=e=>{throw Error(e)},d=(e,t)=>e.forEach(t),y=(e,...t)=>e.push(...t),h=e=>e.shift(),f=Object,p=e=>f.getPrototypeOf(e),v=f.entries,w=f.keys,b=f.freeze,S=(e,t)=>d(v(e),(([e,a])=>t(a,e))),M=e=>(e=>!i(e)&&c(p(e),(e=>e==f.prototype||i(p(e))),(()=>!0)))(e)&&0==(e=>u(w(e)))(e),A=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),C=e=>i(e)||0==(e=>e?.size??0)(e),L=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),m=e=>new Map(e),H=(e,t)=>e?.get(t),D=(e,t,a)=>i(a)?(T(e,t),e):e?.set(t,a),z=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(H(e,t)):D(e,t,a()),H(e,t)},E=(e,t,a,n,s=0)=>c((a?z:H)(e,t[s],s>u(t)-2?a:m),(o=>{if(s>u(t)-2)return n?.(o)&&D(e,t[s]),o;const r=E(o,t,a,n,s+1);return C(o)&&D(e,t[s]),r})),x=(e,t)=>t?[e,t]:[e],P=(e,t)=>((e??"")>(t??"")?e:t)??"",R=(e="")=>x(((e=[])=>f.fromEntries(e))(),e),V=e=>new Set(l(e)||i(e)?e:[e]),j=/^\d+$/,O=m(),$=m(),k=(e,t,a,n,s,o,r,f={},p=0,v=[])=>{let w,S,A,x=0,P=0,R=0;z(O,v,(()=>0)),z($,v,(()=>[]));const k=m(),[B,F,N,U,q]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!M(e)||!M(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!M(e)||!M(t),t.setContent]:g("Store type not supported by this Persister"))(r,e,p),[G,I,J]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?h(e):null)??""+t++,t=>{j.test(t)&&u(e)<1e3&&y(e,t)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{e??=ee;const c=t(1);var l,u;return D(n,c,[a,s,o,r,i]),l=E(s,o??[""],V),u=c,l?.add(u),c},(t,a,...s)=>d(((e,t=[""])=>{const a=[],n=(e,s)=>s==u(t)?y(a,e):null===t[s]?L(e,(e=>n(e,s+1))):d([t[s],null],(t=>n(H(e,t),s+1)));return n(e,0),a})(t,a),(t=>L(t,(t=>H(n,t)[0](e,...a??[],...s))))),e=>c(H(n,e),(([,t,s])=>(E(t,s??[""],void 0,(t=>(T(t,e),C(t)?1:0))),D(n,e),a(e),s))),t=>c(H(n,t),(([t,,a=[],n,s])=>{const o=(...r)=>{const c=u(r);c==u(a)?t(e,...r,...s(r)):i(a[c])?d(n[c]?.(...r)??[],(e=>o(...r,e))):o(...r,a[c])};o()}))]})(),K=e=>{e!=x&&(x=e,I(k,void 0,x))},Q=t=>{(B&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},W=async e=>(2!=x&&(K(1),P++,await _((async()=>{try{const a=await t();l(a)?Q(a):e?q(e):g("Content is not an array: "+a)}catch(t){o?.(t),e&&q(e)}K(0)}))),ee),X=()=>(S&&(s(S),S=void 0),ee),Y=async e=>(1!=x&&(K(2),R++,await _((async()=>{try{await a(F,e)}catch(e){o?.(e)}K(0)}))),ee),Z=()=>(A&&(e.delListener(A),A=void 0),ee),_=async(...e)=>(y(H($,v),...e),await(async()=>{if(!H(O,v)){for(D(O,v,1);!i(w=h(H($,v)));)try{await w()}catch(e){o?.(e)}D(O,v,0)}})(),ee),ee={load:W,startAutoLoad:async e=>{X(),await W(e);try{S=await n((async(e,t)=>{t||e?2!=x&&(K(1),P++,Q(t??e),K(0)):await W()}))}catch(e){o?.(e)}return ee},stopAutoLoad:X,isAutoLoading:()=>!i(S),save:Y,startAutoSave:async()=>(Z(),await Y(),A=e.addDidFinishTransactionListener((()=>{const e=N();U(e)&&Y(e)})),ee),stopAutoSave:Z,isAutoSaving:()=>!i(A),getStatus:()=>x,addStatusListener:e=>G(e,k),delListener:t=>(J(t),e),schedule:_,getStore:()=>e,destroy:()=>(H($,v).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:P,saves:R}),...f};return b(ee)},B=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),F=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>r(256*o.random()))))(e),N=(e=16)=>{return t=(e,t)=>e+B[63&t],F(new Uint8Array(e)).reduce(t,"");var t},U=m();e.createLocalSynchronizer=(e,t,n,o)=>{const r=N();return((e,t,n,o,r,l,u,g,d={})=>{let y,h=0,f=0,p=0;const v=m(),w=()=>N(11),b=(e,a,n,s)=>{f++,l?.(e,a,n,s),t(e,a,n,s)},C=async(e,t,n,o)=>new a(((a,i)=>{const c=o+"."+N(4),l=s((()=>{T(v,c),i(`No response from ${e??"anyone"} to ${c}, `+t)}),r);D(v,c,[e,(e,t)=>{clearTimeout(l),T(v,c),a([e,t,o])}]),b(e,c,t,n)})),L=(e,[t,a])=>{S(t,(([t,a],n)=>{const s=A(e[0],n,R);S(t,(([e,t],a)=>{const n=A(s[0],a,R);S(e,(([e,t],a)=>n[0][a]=x(e,t))),n[1]=P(n[1],t)})),s[1]=P(s[1],a)})),e[1]=P(e[1],a)},z=async(t=null,a,n=w())=>{try{i(a)&&([a,t,n]=await C(null,1,"",n));const[s,o]=a,[r,c]=e.getMergeableContentHashes();let l=R();if(r!=s){const[a,s]=(await C(t,4,e.getMergeableTableHashes(),n))[0];if(l=a,!M(s)){const[a,o]=(await C(t,5,e.getMergeableRowHashes(s),n))[0];if(L(l,a),!M(o)){const a=(await C(t,6,e.getMergeableCellHashes(o),n))[0];L(l,a)}}}return[l,c==o?R():(await C(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){g?.(e)}},E=k(e,(async()=>{const e=await z();return!e||M(e[0][0])&&M(e[1][0])?void 0:e}),(async(t,a)=>a?b(null,w(),3,a):b(null,w(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>(h=1,await(await E.startAutoLoad(e)).startAutoSave()),stopSync:()=>(h=0,E.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),E.stopSync()),getSynchronizerStats:()=>({sends:f,receives:p}),...d},1);return n(((t,a,n,s)=>{const o=h||E.isAutoLoading();p++,u?.(t,a,n,s),0==n?c(H(v,a),(([e,a])=>i(e)||e==t?a(s,t):0)):2==n&&o?z(t,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(g):3==n&&o?y?.(void 0,s):c(1==n&&(h||E.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{b(t,a,0,e)}))})),E})(e,((e,t,a,n)=>s((()=>{return i(e)?(s=(e,s)=>e!=r?s(r,t,a,n):0,L(U,((e,t)=>s(t,e)))):H(U,e)?.(r,t,a,n);var s}))),(e=>{D(U,r,e)}),(()=>{T(U,r)}),.01,t,n,o)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=(e,t,a)=>e.slice(t,a),d=e=>e.length,u=e=>new a(e),g=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),f=(e,...t)=>e.push(...t),h=e=>e.shift(),p=Object,v=e=>p.getPrototypeOf(e),b=p.entries,w=p.keys,S=p.freeze,M=(e,t)=>y(b(e),(([e,a])=>t(a,e))),A=e=>(e=>!r(e)&&i(v(e),(e=>e==p.prototype||r(v(e))),(()=>!0)))(e)&&0==(e=>d(w(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),H=(e,t)=>e?.forEach(t),D=(e,t)=>e?.delete(t),E=e=>new Map(e),O=(e,t)=>e?.get(t),z=(e,t,a)=>r(a)?(D(e,t),e):e?.set(t,a),x=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(O(e,t)):z(e,t,a()),O(e,t)},N=(e,t,a,n,s=0)=>i((a?x:O)(e,t[s],s>d(t)-2?a:E),(o=>{if(s>d(t)-2)return n?.(o)&&z(e,t[s]),o;const r=N(o,t,a,n,s+1);return T(o)&&z(e,t[s]),r})),P=(e,t)=>t?[e,t]:[e],R=(e,t)=>((e??"")>(t??"")?e:t)??"",V=(e="")=>P(((e=[])=>p.fromEntries(e))(),e),W=e=>new Set(l(e)||r(e)?e:[e]),j=/^\d+$/,k=E(),J=E(),$=(e,t,a,n,s,o,c,u={},p=[])=>{let v,b,w,M=0,C=0,L=0;x(k,p,(()=>0)),x(J,p,(()=>[]));const m=E(),[P,R,V,$,B]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:g("Store type not supported by this Persister"))(c,e),[F,U,q]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?h(e):null)??""+t++,t=>{j.test(t)&&d(e)<1e3&&f(e,t)}]})(),n=E();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,d;return z(n,l,[a,s,o,r,i]),c=N(s,o??[""],W),d=l,c?.add(d),l},(t,a,...s)=>y(((e,t=[""])=>{const a=[],n=(e,s)=>s==d(t)?f(a,e):null===t[s]?H(e,(e=>n(e,s+1))):y([t[s],null],(t=>n(O(e,t),s+1)));return n(e,0),a})(t,a),(t=>H(t,(t=>O(n,t)[0](e,...a??[],...s))))),e=>i(O(n,e),(([,t,s])=>(N(t,s??[""],void 0,(t=>(D(t,e),T(t)?1:0))),z(n,e),a(e),s))),t=>i(O(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=d(i);l==d(a)?t(e,...i,...s(i)):r(a[l])?y(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),G=e=>{e!=M&&(M=e,U(m,void 0,M))},I=t=>{(P&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},K=async e=>(2!=M&&(G(1),C++,await Z((async()=>{try{const a=await t();l(a)?I(a):e?B(e):g("Content is not an array "+a)}catch(t){o?.(t),e&&B(e)}G(0)}))),_),Q=()=>(b&&(s(b),b=void 0),_),X=async e=>(1!=M&&(G(2),L++,await Z((async()=>{try{await a(R,e)}catch(e){o?.(e)}G(0)}))),_),Y=()=>(i(w,e.delListener),w=void 0,_),Z=async(...e)=>(f(O(J,p),...e),await(async()=>{if(!O(k,p)){for(z(k,p,1);!r(v=h(O(J,p)));)try{await v()}catch(e){o?.(e)}z(k,p,0)}})(),_),_={load:K,startAutoLoad:async e=>{await Q().load(e);try{b=await n((async(e,t)=>{t||e?2!=M&&(G(1),C++,I(t??e),G(0)):await K()}))}catch(e){o?.(e)}return _},stopAutoLoad:Q,isAutoLoading:()=>!r(b),save:X,startAutoSave:async()=>(await Y().save(),w=e.addDidFinishTransactionListener((()=>{const e=V();$(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(w),getStatus:()=>M,addStatusListener:e=>F(e,m),delListener:t=>(q(t),e),schedule:Z,getStore:()=>e,destroy:()=>(O(J,p).splice(0,void 0),Q().stopAutoSave()),getStats:()=>({loads:C,saves:L}),...u};return S(_)},B=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),F=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e);e.createWsSynchronizer=async(e,t,a=1,n,s,o)=>{const l=(e,a)=>t.addEventListener(e,a),d=((e,t,a,n,s,o,l,c,d={})=>{let g,y=0,f=0;const h=E(),p=(e,a,n,s)=>{y++,o?.(e,a,n,s),t(e,a,n,s)},v=async(e,t,a="")=>u(((n,o)=>{const r=((e=16)=>{return t=(e,t)=>e+B[63&t],F(new Uint8Array(e)).reduce(t,"");var t})(),i=setTimeout((()=>{D(h,r),o(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*s);z(h,r,[e,(e,t)=>{clearTimeout(i),D(h,r),n([e,t])}]),p(e,r,t,a)})),b=(e,[t,a])=>{M(t,(([t,a],n)=>{const s=C(e[0],n,V);M(t,(([e,t],a)=>{const n=C(s[0],a,V);M(e,(([e,t],a)=>n[0][a]=P(e,t))),n[1]=R(n[1],t)})),s[1]=R(s[1],a)})),e[1]=R(e[1],a)},w=async(t=null,a)=>{r(a)&&([a,t]=await v(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=V();if(o!=n){const[a,n]=(await v(t,4,e.getMergeableTableHashes()))[0];if(l=a,!A(n)){const[a,s]=(await v(t,5,e.getMergeableRowHashes(n)))[0];if(b(l,a),!A(s)){const a=(await v(t,6,e.getMergeableCellHashes(s)))[0];b(l,a)}}}return[l,i==s?V():(await v(t,7,e.getMergeableValueHashes()))[0],1]},S=$(e,(async()=>{const e=await w();return A(e[0][0])&&A(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>g=e),(()=>g=void 0),c,2,{startSync:async e=>await(await S.startAutoLoad(e)).startAutoSave(),stopSync:()=>S.stopAutoLoad().stopAutoSave(),destroy:()=>(n(),S.stopSync()),getSynchronizerStats:()=>({sends:y,receives:f}),...d});return a(((t,a,n,s)=>{f++,l?.(t,a,n,s),0==n?i(O(h,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&S.isAutoLoading()?w(t,s).then((e=>{g?.(void 0,e)})):3==n&&S.isAutoLoading()?g?.(void 0,s):i(1==n&&S.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),S})(e,((e,...a)=>t.send(((e,...t)=>((e,t)=>e+"\n"+t)(e??"",L(t,((e,t)=>void 0===t?"":t))))(e,...a))),(e=>l("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=c(e,0,a),s=c(e,a+1),t(n,...(o=s,m(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{t.close()}),a,n,s,o,{getWebSocket:()=>t});return u(((e,a)=>{t.readyState!=t.OPEN?(l("error",a),l("open",(()=>e(d)))):e(d)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
1
+ var e,t;e=this,t=function(e){"use strict";const t="",a=(e,t="",a)=>e.split(t,a),n=Promise,s=globalThis,o=Math,r=o.floor,i=e=>null==e,c=(e,t,a)=>i(e)?a?.():t(e),l=e=>Array.isArray(e),d=(e,t,a)=>e.slice(t,a),u=e=>e.length,g=e=>new n(e),y=e=>{throw Error(e)},f=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),p=e=>e.shift(),v=Object,b=e=>v.getPrototypeOf(e),w=v.entries,S=v.keys,M=v.freeze,C=(e,t)=>f(w(e),(([e,a])=>t(a,e))),A=e=>(e=>!i(e)&&c(b(e),(e=>e==v.prototype||i(b(e))),(()=>!0)))(e)&&0==(e=>u(S(e)))(e),m=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),L=JSON.stringify,T=JSON.parse,E=e=>i(e)||0==(e=>e?.size??0)(e),H=(e,t)=>e?.forEach(t),D=(e,t)=>e?.delete(t),O=e=>new Map(e),z=(e,t)=>e?.get(t),x=(e,t,a)=>i(a)?(D(e,t),e):e?.set(t,a),N=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(z(e,t)):x(e,t,a()),z(e,t)},P=(e,t,a,n,s=0)=>c((a?N:z)(e,t[s],s>u(t)-2?a:O),(o=>{if(s>u(t)-2)return n?.(o)&&x(e,t[s]),o;const r=P(o,t,a,n,s+1);return E(o)&&x(e,t[s]),r})),R=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",W=(e="")=>R(((e=[])=>v.fromEntries(e))(),e),j=e=>new Set(l(e)||i(e)?e:[e]),k=/^\d+$/,J=O(),$=O(),B=(e,a,n,s,o,r,d,g={},v=0,b=[])=>{let w,S,C,m=0,L=0,T=0;N(J,b,(()=>0)),N($,b,(()=>[]));const R=O(),[V,W,B,F,U]=((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]:y("Store type not supported by this Persister"))(d,e,v),[q,G,I]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?p(e):null)??t+a++,t=>{k.test(t)&&u(e)<1e3&&h(e,t)}]})(),s=O();return[(n,o,r,i=[],c=()=>[])=>{e??=te;const l=a(1);var d,u;return x(s,l,[n,o,r,i,c]),d=P(o,r??[t],j),u=l,d?.add(u),l},(a,n,...o)=>f(((e,a=[t])=>{const n=[],s=(e,t)=>t==u(a)?h(n,e):null===a[t]?H(e,(e=>s(e,t+1))):f([a[t],null],(a=>s(z(e,a),t+1)));return s(e,0),n})(a,n),(t=>H(t,(t=>z(s,t)[0](e,...n??[],...o))))),e=>c(z(s,e),(([,a,o])=>(P(a,o??[t],void 0,(t=>(D(t,e),E(t)?1:0))),x(s,e),n(e),o))),t=>c(z(s,t),(([t,,a=[],n,s])=>{const o=(...r)=>{const c=u(r);c==u(a)?t(e,...r,...s(r)):i(a[c])?f(n[c]?.(...r)??[],(e=>o(...r,e))):o(...r,a[c])};o()}))]})(),K=e=>{e!=m&&(m=e,G(R,void 0,m))},Q=t=>{(V&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=m&&(K(1),L++,await ee((async()=>{try{const t=await a();l(t)?Q(t):e?U(e):y("Content is not an array: "+t)}catch(t){r?.(t),e&&U(e)}K(0)}))),te),Y=()=>(S&&(o(S),S=void 0),te),Z=async e=>(1!=m&&(K(2),T++,await ee((async()=>{try{await n(W,e)}catch(e){r?.(e)}K(0)}))),te),_=()=>(C&&(e.delListener(C),C=void 0),te),ee=async(...e)=>(h(z($,b),...e),await(async()=>{if(!z(J,b)){for(x(J,b,1);!i(w=p(z($,b)));)try{await w()}catch(e){r?.(e)}x(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{S=await s((async(e,t)=>{t||e?2!=m&&(K(1),L++,Q(t??e),K(0)):await X()}))}catch(e){r?.(e)}return te},stopAutoLoad:Y,isAutoLoading:()=>!i(S),save:Z,startAutoSave:async()=>(_(),await Z(),C=e.addDidFinishTransactionListener((()=>{const e=B();F(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!i(C),getStatus:()=>m,addStatusListener:e=>q(e,R),delListener:t=>(I(t),e),schedule:ee,getStore:()=>e,destroy:()=>(z($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:L,saves:T}),...g};return M(te)},F=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),U=s.crypto?e=>s.crypto.getRandomValues(e):e=>(e=>e.map((()=>r(256*o.random()))))(e),q=(e=16)=>{return t=(e,t)=>e+F[63&t],U(new Uint8Array(e)).reduce(t,"");var t};e.createWsSynchronizer=async(e,a,n=1,s,o,r)=>{const l=(e,t)=>(a.addEventListener(e,t),()=>a.removeEventListener(e,t)),u=((e,a,n,s,o,r,l,d,u={})=>{let y,f=0,h=0,p=0;const v=O(),b=()=>q(11),w=(e,t,n,s)=>{h++,r?.(e,t,n,s),a(e,t,n,s)},S=async(e,t,a,n)=>g(((s,r)=>{const i=n+"."+q(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{D(v,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);x(v,i,[e,(e,t)=>{clearTimeout(c),D(v,i),s([e,t,n])}]),w(e,i,t,a)})),M=(e,[t,a])=>{C(t,(([t,a],n)=>{const s=m(e[0],n,W);C(t,(([e,t],a)=>{const n=m(s[0],a,W);C(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)},L=async(a=null,n,s=b())=>{try{i(n)&&([n,a,s]=await S(null,1,t,s));const[o,r]=n,[c,l]=e.getMergeableContentHashes();let d=W();if(c!=o){const[t,n]=(await S(a,4,e.getMergeableTableHashes(),s))[0];if(d=t,!A(n)){const[t,o]=(await S(a,5,e.getMergeableRowHashes(n),s))[0];if(M(d,t),!A(o)){const t=(await S(a,6,e.getMergeableCellHashes(o),s))[0];M(d,t)}}}return[d,l==r?W():(await S(a,7,e.getMergeableValueHashes(),s))[0],1]}catch(e){d?.(e)}},T=B(e,(async()=>{const e=await L();return!e||A(e[0][0])&&A(e[1][0])?void 0:e}),(async(t,a)=>a?w(null,b(),3,a):w(null,b(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),d,2,{startSync:async e=>(f=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(f=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),T.stopSync()),getSynchronizerStats:()=>({sends:h,receives:p}),...u},1);return n(((t,a,n,s)=>{const o=f||T.isAutoLoading();p++,l?.(t,a,n,s),0==n?c(z(v,a),(([e,a])=>i(e)||e==t?a(s,t):0)):2==n&&o?L(t,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==n&&o?y?.(void 0,s):c(1==n&&(f||T.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{w(t,a,0,e)}))})),T})(e,((e,...n)=>a.send(((e,...a)=>{return n=e??t,s=L(a,((e,t)=>void 0===t?"":t)),n+"\n"+s;var n,s})(e,...n))),(e=>l("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=d(e,0,a),s=d(e,a+1),t(n,...(o=s,T(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{a.close()}),n,s,o,r,{getWebSocket:()=>a});return g((e=>{if(a.readyState!=a.OPEN){const t=t=>{t&&r?.(t),a(),n(),e(u)},a=l("open",(()=>t())),n=l("error",t)}else e(u)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const 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),l=e=>Array.isArray(e),c=(e,t,a)=>e.slice(t,a),d=e=>e.length,u=e=>new a(e),g=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),f=(e,...t)=>e.push(...t),h=e=>e.shift(),p=Object,v=e=>p.getPrototypeOf(e),b=p.entries,w=p.keys,S=p.freeze,M=(e,t)=>y(b(e),(([e,a])=>t(a,e))),A=e=>(e=>!r(e)&&i(v(e),(e=>e==p.prototype||r(v(e))),(()=>!0)))(e)&&0==(e=>d(w(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),H=(e,t)=>e?.forEach(t),D=(e,t)=>e?.delete(t),E=e=>new Map(e),O=(e,t)=>e?.get(t),z=(e,t,a)=>r(a)?(D(e,t),e):e?.set(t,a),x=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(O(e,t)):z(e,t,a()),O(e,t)},N=(e,t,a,n,s=0)=>i((a?x:O)(e,t[s],s>d(t)-2?a:E),(o=>{if(s>d(t)-2)return n?.(o)&&z(e,t[s]),o;const r=N(o,t,a,n,s+1);return T(o)&&z(e,t[s]),r})),P=(e,t)=>t?[e,t]:[e],R=(e,t)=>((e??"")>(t??"")?e:t)??"",V=(e="")=>P(((e=[])=>p.fromEntries(e))(),e),W=e=>new Set(l(e)||r(e)?e:[e]),j=/^\d+$/,k=E(),J=E(),$=(e,t,a,n,s,o,c,u={},p=[])=>{let v,b,w,M=0,C=0,L=0;x(k,p,(()=>0)),x(J,p,(()=>[]));const m=E(),[P,R,V,$,B]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:g("Store type not supported by this Persister"))(c,e),[F,U,q]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?h(e):null)??""+t++,t=>{j.test(t)&&d(e)<1e3&&f(e,t)}]})(),n=E();return[(a,s,o,r=[],i=()=>[])=>{e??=_;const l=t(1);var c,d;return z(n,l,[a,s,o,r,i]),c=N(s,o??[""],W),d=l,c?.add(d),l},(t,a,...s)=>y(((e,t=[""])=>{const a=[],n=(e,s)=>s==d(t)?f(a,e):null===t[s]?H(e,(e=>n(e,s+1))):y([t[s],null],(t=>n(O(e,t),s+1)));return n(e,0),a})(t,a),(t=>H(t,(t=>O(n,t)[0](e,...a??[],...s))))),e=>i(O(n,e),(([,t,s])=>(N(t,s??[""],void 0,(t=>(D(t,e),T(t)?1:0))),z(n,e),a(e),s))),t=>i(O(n,t),(([t,,a=[],n,s])=>{const o=(...i)=>{const l=d(i);l==d(a)?t(e,...i,...s(i)):r(a[l])?y(n[l]?.(...i)??[],(e=>o(...i,e))):o(...i,a[l])};o()}))]})(),G=e=>{e!=M&&(M=e,U(m,void 0,M))},I=t=>{(P&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},K=async e=>(2!=M&&(G(1),C++,await Z((async()=>{try{const a=await t();l(a)?I(a):e?B(e):g("Content is not an array "+a)}catch(t){o?.(t),e&&B(e)}G(0)}))),_),Q=()=>(b&&(s(b),b=void 0),_),X=async e=>(1!=M&&(G(2),L++,await Z((async()=>{try{await a(R,e)}catch(e){o?.(e)}G(0)}))),_),Y=()=>(i(w,e.delListener),w=void 0,_),Z=async(...e)=>(f(O(J,p),...e),await(async()=>{if(!O(k,p)){for(z(k,p,1);!r(v=h(O(J,p)));)try{await v()}catch(e){o?.(e)}z(k,p,0)}})(),_),_={load:K,startAutoLoad:async e=>{await Q().load(e);try{b=await n((async(e,t)=>{t||e?2!=M&&(G(1),C++,I(t??e),G(0)):await K()}))}catch(e){o?.(e)}return _},stopAutoLoad:Q,isAutoLoading:()=>!r(b),save:X,startAutoSave:async()=>(await Y().save(),w=e.addDidFinishTransactionListener((()=>{const e=V();$(e)&&X(e)})),_),stopAutoSave:Y,isAutoSaving:()=>!r(w),getStatus:()=>M,addStatusListener:e=>F(e,m),delListener:t=>(q(t),e),schedule:Z,getStore:()=>e,destroy:()=>(O(J,p).splice(0,void 0),Q().stopAutoSave()),getStats:()=>({loads:C,saves:L}),...u};return S(_)},B=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),F=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>o(256*s.random()))))(e);e.createWsSynchronizer=async(e,t,a=1,n,s,o)=>{const l=(e,a)=>t.addEventListener(e,a),d=((e,t,a,n,s,o,l,c,d={})=>{let g,y=0,f=0;const h=E(),p=(e,a,n,s)=>{y++,o?.(e,a,n,s),t(e,a,n,s)},v=async(e,t,a="")=>u(((n,o)=>{const r=((e=16)=>{return t=(e,t)=>e+B[63&t],F(new Uint8Array(e)).reduce(t,"");var t})(),i=setTimeout((()=>{D(h,r),o(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*s);z(h,r,[e,(e,t)=>{clearTimeout(i),D(h,r),n([e,t])}]),p(e,r,t,a)})),b=(e,[t,a])=>{M(t,(([t,a],n)=>{const s=C(e[0],n,V);M(t,(([e,t],a)=>{const n=C(s[0],a,V);M(e,(([e,t],a)=>n[0][a]=P(e,t))),n[1]=R(n[1],t)})),s[1]=R(s[1],a)})),e[1]=R(e[1],a)},w=async(t=null,a)=>{r(a)&&([a,t]=await v(t,1));const[n,s]=a,[o,i]=e.getMergeableContentHashes();let l=V();if(o!=n){const[a,n]=(await v(t,4,e.getMergeableTableHashes()))[0];if(l=a,!A(n)){const[a,s]=(await v(t,5,e.getMergeableRowHashes(n)))[0];if(b(l,a),!A(s)){const a=(await v(t,6,e.getMergeableCellHashes(s)))[0];b(l,a)}}}return[l,i==s?V():(await v(t,7,e.getMergeableValueHashes()))[0],1]},S=$(e,(async()=>{const e=await w();return A(e[0][0])&&A(e[1][0])?void 0:e}),(async(t,a)=>a?p(null,null,3,a):p(null,null,2,e.getMergeableContentHashes())),(e=>g=e),(()=>g=void 0),c,2,{startSync:async e=>await(await S.startAutoLoad(e)).startAutoSave(),stopSync:()=>S.stopAutoLoad().stopAutoSave(),destroy:()=>(n(),S.stopSync()),getSynchronizerStats:()=>({sends:y,receives:f}),...d});return a(((t,a,n,s)=>{f++,l?.(t,a,n,s),0==n?i(O(h,a),(([e,a])=>r(e)||e==t?a(s,t):0)):2==n&&S.isAutoLoading()?w(t,s).then((e=>{g?.(void 0,e)})):3==n&&S.isAutoLoading()?g?.(void 0,s):i(1==n&&S.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{p(t,a,0,e)}))})),S})(e,((e,...a)=>t.send(((e,...t)=>((e,t)=>e+"\n"+t)(e??"",L(t,((e,t)=>void 0===t?"":t))))(e,...a))),(e=>l("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=c(e,0,a),s=c(e,a+1),t(n,...(o=s,m(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{t.close()}),a,n,s,o,{getWebSocket:()=>t});return u(((e,a)=>{t.readyState!=t.OPEN?(l("error",a),l("open",(()=>e(d)))):e(d)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
1
+ var e,t;e=this,t=function(e){"use strict";const t="",a=(e,t="",a)=>e.split(t,a),n=Promise,s=globalThis,o=Math,r=o.floor,i=e=>null==e,c=(e,t,a)=>i(e)?a?.():t(e),l=e=>Array.isArray(e),d=(e,t,a)=>e.slice(t,a),u=e=>e.length,g=e=>new n(e),y=e=>{throw Error(e)},f=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),p=e=>e.shift(),v=Object,b=e=>v.getPrototypeOf(e),w=v.entries,S=v.keys,M=v.freeze,C=(e,t)=>f(w(e),(([e,a])=>t(a,e))),A=e=>(e=>!i(e)&&c(b(e),(e=>e==v.prototype||i(b(e))),(()=>!0)))(e)&&0==(e=>u(S(e)))(e),m=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),L=JSON.stringify,T=JSON.parse,E=e=>i(e)||0==(e=>e?.size??0)(e),H=(e,t)=>e?.forEach(t),D=(e,t)=>e?.delete(t),O=e=>new Map(e),z=(e,t)=>e?.get(t),x=(e,t,a)=>i(a)?(D(e,t),e):e?.set(t,a),N=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(z(e,t)):x(e,t,a()),z(e,t)},P=(e,t,a,n,s=0)=>c((a?N:z)(e,t[s],s>u(t)-2?a:O),(o=>{if(s>u(t)-2)return n?.(o)&&x(e,t[s]),o;const r=P(o,t,a,n,s+1);return E(o)&&x(e,t[s]),r})),R=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",W=(e="")=>R(((e=[])=>v.fromEntries(e))(),e),j=e=>new Set(l(e)||i(e)?e:[e]),k=/^\d+$/,J=O(),$=O(),B=(e,a,n,s,o,r,d,g={},v=0,b=[])=>{let w,S,C,m=0,L=0,T=0;N(J,b,(()=>0)),N($,b,(()=>[]));const R=O(),[V,W,B,F,U]=((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]:y("Store type not supported by this Persister"))(d,e,v),[q,G,I]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?p(e):null)??t+a++,t=>{k.test(t)&&u(e)<1e3&&h(e,t)}]})(),s=O();return[(n,o,r,i=[],c=()=>[])=>{e??=te;const l=a(1);var d,u;return x(s,l,[n,o,r,i,c]),d=P(o,r??[t],j),u=l,d?.add(u),l},(a,n,...o)=>f(((e,a=[t])=>{const n=[],s=(e,t)=>t==u(a)?h(n,e):null===a[t]?H(e,(e=>s(e,t+1))):f([a[t],null],(a=>s(z(e,a),t+1)));return s(e,0),n})(a,n),(t=>H(t,(t=>z(s,t)[0](e,...n??[],...o))))),e=>c(z(s,e),(([,a,o])=>(P(a,o??[t],void 0,(t=>(D(t,e),E(t)?1:0))),x(s,e),n(e),o))),t=>c(z(s,t),(([t,,a=[],n,s])=>{const o=(...r)=>{const c=u(r);c==u(a)?t(e,...r,...s(r)):i(a[c])?f(n[c]?.(...r)??[],(e=>o(...r,e))):o(...r,a[c])};o()}))]})(),K=e=>{e!=m&&(m=e,G(R,void 0,m))},Q=t=>{(V&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=m&&(K(1),L++,await ee((async()=>{try{const t=await a();l(t)?Q(t):e?U(e):y("Content is not an array: "+t)}catch(t){r?.(t),e&&U(e)}K(0)}))),te),Y=()=>(S&&(o(S),S=void 0),te),Z=async e=>(1!=m&&(K(2),T++,await ee((async()=>{try{await n(W,e)}catch(e){r?.(e)}K(0)}))),te),_=()=>(C&&(e.delListener(C),C=void 0),te),ee=async(...e)=>(h(z($,b),...e),await(async()=>{if(!z(J,b)){for(x(J,b,1);!i(w=p(z($,b)));)try{await w()}catch(e){r?.(e)}x(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{S=await s((async(e,t)=>{t||e?2!=m&&(K(1),L++,Q(t??e),K(0)):await X()}))}catch(e){r?.(e)}return te},stopAutoLoad:Y,isAutoLoading:()=>!i(S),save:Z,startAutoSave:async()=>(_(),await Z(),C=e.addDidFinishTransactionListener((()=>{const e=B();F(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!i(C),getStatus:()=>m,addStatusListener:e=>q(e,R),delListener:t=>(I(t),e),schedule:ee,getStore:()=>e,destroy:()=>(z($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:L,saves:T}),...g};return M(te)},F=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),U=s.crypto?e=>s.crypto.getRandomValues(e):e=>(e=>e.map((()=>r(256*o.random()))))(e),q=(e=16)=>{return t=(e,t)=>e+F[63&t],U(new Uint8Array(e)).reduce(t,"");var t};e.createWsSynchronizer=async(e,a,n=1,s,o,r)=>{const l=(e,t)=>(a.addEventListener(e,t),()=>a.removeEventListener(e,t)),u=((e,a,n,s,o,r,l,d,u={})=>{let y,f=0,h=0,p=0;const v=O(),b=()=>q(11),w=(e,t,n,s)=>{h++,r?.(e,t,n,s),a(e,t,n,s)},S=async(e,t,a,n)=>g(((s,r)=>{const i=n+"."+q(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{D(v,i),r(`No response from ${e??"anyone"} to ${i}, `+t)}),o);x(v,i,[e,(e,t)=>{clearTimeout(c),D(v,i),s([e,t,n])}]),w(e,i,t,a)})),M=(e,[t,a])=>{C(t,(([t,a],n)=>{const s=m(e[0],n,W);C(t,(([e,t],a)=>{const n=m(s[0],a,W);C(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)},L=async(a=null,n,s=b())=>{try{i(n)&&([n,a,s]=await S(null,1,t,s));const[o,r]=n,[c,l]=e.getMergeableContentHashes();let d=W();if(c!=o){const[t,n]=(await S(a,4,e.getMergeableTableHashes(),s))[0];if(d=t,!A(n)){const[t,o]=(await S(a,5,e.getMergeableRowHashes(n),s))[0];if(M(d,t),!A(o)){const t=(await S(a,6,e.getMergeableCellHashes(o),s))[0];M(d,t)}}}return[d,l==r?W():(await S(a,7,e.getMergeableValueHashes(),s))[0],1]}catch(e){d?.(e)}},T=B(e,(async()=>{const e=await L();return!e||A(e[0][0])&&A(e[1][0])?void 0:e}),(async(t,a)=>a?w(null,b(),3,a):w(null,b(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),d,2,{startSync:async e=>(f=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(f=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),T.stopSync()),getSynchronizerStats:()=>({sends:h,receives:p}),...u},1);return n(((t,a,n,s)=>{const o=f||T.isAutoLoading();p++,l?.(t,a,n,s),0==n?c(z(v,a),(([e,a])=>i(e)||e==t?a(s,t):0)):2==n&&o?L(t,s,a??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==n&&o?y?.(void 0,s):c(1==n&&(f||T.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{w(t,a,0,e)}))})),T})(e,((e,...n)=>a.send(((e,...a)=>{return n=e??t,s=L(a,((e,t)=>void 0===t?"":t)),n+"\n"+s;var n,s})(e,...n))),(e=>l("message",(({data:t})=>((e,t)=>(e=>{const a=e.indexOf("\n");var n,s,o;-1!==a&&(n=d(e,0,a),s=d(e,a+1),t(n,...(o=s,T(o,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{a.close()}),n,s,o,r,{getWebSocket:()=>a});return g((e=>{if(a.readyState!=a.OPEN){const t=t=>{t&&r?.(t),a(),n(),e(u)},a=l("open",(()=>t())),n=l("error",t)}else e(u)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t="",a=(e,t="",a)=>e.split(t,a),s=Promise,n=globalThis,o=Math,r=o.floor,i=e=>null==e,c=(e,t,a)=>i(e)?a?.():t(e),l=e=>Array.isArray(e),d=(e,t,a)=>e.slice(t,a),u=e=>e.length,g=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),h=(e,t,a)=>e.reduce(t,a),f=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,S=e=>p.getPrototypeOf(e),w=p.entries,b=p.keys,A=p.freeze,C=(e,t)=>y(w(e),(([e,a])=>t(a,e))),M=e=>(e=>!i(e)&&c(S(e),(e=>e==p.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>u(b(e)))(e),L=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),m=e=>e?.size??0,T=(H=m,e=>h(k(e),((e,t)=>e+H(t)),0));var H;const D=e=>i(e)||0==m(e),k=e=>[...e?.values()??[]],O=(e,t)=>e?.forEach(t),P=(e,t)=>e?.delete(t),x=e=>new Map(e),z=e=>[...e?.keys()??[]],E=(e,t)=>e?.get(t),I=(e,t,a)=>i(a)?(P(e,t),e):e?.set(t,a),N=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(E(e,t)):I(e,t,a()),E(e,t)},R=(e,t,a,s,n=0)=>c((a?N:E)(e,t[n],n>u(t)-2?a:x),(o=>{if(n>u(t)-2)return s?.(o)&&I(e,t[n]),o;const r=R(o,t,a,s,n+1);return D(o)&&I(e,t[n]),r})),V=JSON.stringify,W=JSON.parse,j=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(d(e,0,a),d(e,a+1))},J=(e,t)=>e+"\n"+t,$=(e,t)=>t?[e,t]:[e],B=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>$(((e=[])=>p.fromEntries(e))(),e),U=e=>new Set(l(e)||i(e)?e:[e]),q=/^\d+$/,G=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?v(e):null)??t+a++,t=>{q.test(t)&&u(e)<1e3&&f(e,t)}]})(),o=x();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var u,g;return I(o,d,[n,r,i,c,l]),u=R(r,i??[t],U),g=d,u?.add(g),d},(e,s,...n)=>y(((e,a=[t])=>{const s=[],n=(e,t)=>t==u(a)?f(s,e):null===a[t]?O(e,(e=>n(e,t+1))):y([a[t],null],(a=>n(E(e,a),t+1)));return n(e,0),s})(e,s),(e=>O(e,(e=>E(o,e)[0](a,...s??[],...n))))),e=>c(E(o,e),(([,a,s])=>(R(a,s??[t],void 0,(t=>(P(t,e),D(t)?1:0))),I(o,e),n(e),s))),e=>c(E(o,e),(([e,,t=[],s,n])=>{const o=(...r)=>{const c=u(r);c==u(t)?e(a,...r,...n(r)):i(t[c])?y(s[c]?.(...r)??[],(e=>o(...r,e))):o(...r,t[c])};o()}))]},K=x(),Q=x(),X=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Y=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>r(256*o.random()))))(e),Z=/\/([^?]*)/;e.createWsServer=(e,a)=>{const n=x(),o=x(),r=x(),d=x(),[u,p,S]=G((()=>H)),w=e=>{e[1]?.destroy(),e[2]?.destroy()},b=(e,a,s)=>n=>j(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,((e,t)=>i(t,e)))):"S"===n?s[3]?.(r):E(a,n)?.send(r)}));e.on("connection",((e,u)=>{return c((S=u.url,m=Z,S?.match(m)),(([,S])=>c(u.headers["sec-websocket-key"],(async u=>{const m=N(r,S,x),T=N(d,S,(()=>[0])),H=b(u,m,T);D(m)&&(p(n,void 0,S,1),await(async(e,n,o)=>c(await(a?.(n)),(a=>{e[0]=1,e[1]=l(a)?a[0]:a;const n=b("S",o,e);e[2]=((e,t,a,n,o,r,d,u,y={})=>{let p,S=0,w=0;const b=x(),m=(e,a,s,n)=>{S++,t(e,a,s,n)},T=async(e,t,a="")=>new s(((s,n)=>{const r=((e=16)=>h(Y(new Uint8Array(e)),((e,t)=>e+X[63&t]),""))(),i=setTimeout((()=>{P(b,r),n(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);I(b,r,[e,(e,t)=>{clearTimeout(i),P(b,r),s([e,t])}]),m(e,r,t,a)})),H=(e,[t,a])=>{C(t,(([t,a],s)=>{const n=L(e[0],s,F);C(t,(([e,t],a)=>{const s=L(n[0],a,F);C(e,(([e,t],a)=>s[0][a]=$(e,t))),s[1]=B(s[1],t)})),n[1]=B(n[1],a)})),e[1]=B(e[1],a)},D=async(t=null,a)=>{i(a)&&([a,t]=await T(t,1));const[s,n]=a,[o,r]=e.getMergeableContentHashes();let c=F();if(o!=s){const[a,s]=(await T(t,4,e.getMergeableTableHashes()))[0];if(c=a,!M(s)){const[a,n]=(await T(t,5,e.getMergeableRowHashes(s)))[0];if(H(c,a),!M(n)){const a=(await T(t,6,e.getMergeableCellHashes(n)))[0];H(c,a)}}}return[c,r==n?F():(await T(t,7,e.getMergeableValueHashes()))[0],1]},k=((e,t,a,s,n,o,r,d={},u=[])=>{let y,h,p,S=0,w=0,b=0;N(K,u,(()=>0)),N(Q,u,(()=>[]));const C=x(),[L,m,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!M(e)||!M(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!M(e)||!M(t),t.setContent]:g("Store type not supported by this Persister"))(r,e),[k,O,P]=G((()=>B)),z=e=>{e!=S&&(S=e,O(C,void 0,S))},R=t=>{(L&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},V=async e=>(2!=S&&(z(1),w++,await $((async()=>{try{const a=await t();l(a)?R(a):e?D(e):g("Content is not an array "+a)}catch(t){e&&D(e)}z(0)}))),B),W=()=>(h&&(n(h),h=void 0),B),j=async e=>(1!=S&&(z(2),b++,await $((async()=>{try{await a(m,e)}catch(e){}z(0)}))),B),J=()=>(c(p,e.delListener),p=void 0,B),$=async(...e)=>(f(E(Q,u),...e),await(async()=>{if(!E(K,u)){for(I(K,u,1);!i(y=v(E(Q,u)));)try{await y()}catch(e){}I(K,u,0)}})(),B),B={load:V,startAutoLoad:async e=>{await W().load(e);try{h=await s((async(e,t)=>{t||e?2!=S&&(z(1),w++,R(t??e),z(0)):await V()}))}catch(e){}return B},stopAutoLoad:W,isAutoLoading:()=>!i(h),save:j,startAutoSave:async()=>(await J().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&j(e)})),B),stopAutoSave:J,isAutoSaving:()=>!i(p),getStatus:()=>S,addStatusListener:e=>k(e,C),delListener:t=>(P(t),e),schedule:$,getStore:()=>e,destroy:()=>(E(Q,u).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:w,saves:b}),...d};return A(B)})(e,(async()=>{const e=await D();return M(e[0][0])&&M(e[1][0])?void 0:e}),(async(t,a)=>a?m(null,null,3,a):m(null,null,2,e.getMergeableContentHashes())),(e=>p=e),(()=>p=void 0),0,2,{startSync:async e=>await(await k.startAutoLoad(e)).startAutoSave(),stopSync:()=>k.stopAutoLoad().stopAutoSave(),destroy:()=>k.stopSync(),getSynchronizerStats:()=>({sends:S,receives:w}),...y});return a(((t,a,s,n)=>{w++,0==s?c(E(b,a),(([e,a])=>i(e)||e==t?a(n,t):0)):2==s&&k.isAutoLoading()?D(t,n).then((e=>{p?.(void 0,e)})):3==s&&k.isAutoLoading()?p?.(void 0,n):c(1==s&&k.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=>{m(t,a,0,e)}))})),k})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>J(e??t,V(a,((e,t)=>void 0===t?"":t))))(e,a,s,o))),(t=>e[3]=e=>((e,t)=>j(e,((e,a)=>{return t(e,...(s=a,W(s,((e,t)=>""===t?void 0:t))));var s})))(e,t)),0,1),e[4]=[],e[5]=l(a)?a[1]:e=>0})))(T,S,m)),I(m,u,e),p(o,[S],u,1),e.on("message",(e=>{const t=e.toString("utf8");0==T[0]?H(t):f(T[4],t)})),1==T[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(T),y(T[4],H),T[4]=[]),e.on("close",(()=>{P(m,u),p(o,[S],u,-1),D(m)&&(w(T),P(d,S),P(r,S),p(n,void 0,S,-1))}))}))));var S,m}));const H={getWebSocketServer:()=>e,getPathIds:()=>z(r),getClientIds:e=>z(E(r,e)),addPathIdsListener:e=>u(e,n),addClientIdsListener:(e,t)=>u(t,o,[e]),delListener:e=>(S(e),H),getStats:()=>({paths:m(r),clients:T(r)}),destroy:()=>{r.clear(),O(d,w),e.close()}};return A(H)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
1
+ var e,t;e=this,t=function(e){"use strict";const t="",a="error",s=(e,t="",a)=>e.split(t,a),n=Promise,o=globalThis,r=Math,i=r.floor,c=e=>null==e,l=(e,t,a)=>c(e)?a?.():t(e),d=e=>Array.isArray(e),u=(e,t,a)=>e.slice(t,a),g=e=>e.length,y=e=>{throw Error(e)},h=(e,t)=>e.forEach(t),f=(e,t,a)=>e.reduce(t,a),v=(e,...t)=>e.push(...t),p=e=>e.shift(),S=Object,w=e=>S.getPrototypeOf(e),b=S.entries,A=S.keys,C=S.freeze,M=(e,t)=>h(b(e),(([e,a])=>t(a,e))),L=e=>(e=>!c(e)&&l(w(e),(e=>e==S.prototype||c(w(e))),(()=>!0)))(e)&&0==(e=>g(A(e)))(e),m=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),T=e=>e?.size??0,H=(D=T,e=>f(O(e),((e,t)=>e+D(t)),0));var D;const k=e=>c(e)||0==T(e),O=e=>[...e?.values()??[]],P=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),z=e=>new Map(e),E=e=>[...e?.keys()??[]],I=(e,t)=>e?.get(t),N=(e,t,a)=>c(a)?(x(e,t),e):e?.set(t,a),R=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(I(e,t)):N(e,t,a()),I(e,t)},V=(e,t,a,s,n=0)=>l((a?R:I)(e,t[n],n>g(t)-2?a:z),(o=>{if(n>g(t)-2)return s?.(o)&&N(e,t[n]),o;const r=V(o,t,a,s,n+1);return k(o)&&N(e,t[n]),r})),W=JSON.stringify,j=JSON.parse,J=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(u(e,0,a),u(e,a+1))},$=(e,t)=>e+"\n"+t,B=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>B(((e=[])=>S.fromEntries(e))(),e),q=e=>new Set(d(e)||c(e)?e:[e]),G=/^\d+$/,K=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?p(e):null)??t+a++,t=>{G.test(t)&&g(e)<1e3&&v(e,t)}]})(),o=z();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var u,g;return N(o,d,[n,r,i,c,l]),u=V(r,i??[t],q),g=d,u?.add(g),d},(e,s,...n)=>h(((e,a=[t])=>{const s=[],n=(e,t)=>t==g(a)?v(s,e):null===a[t]?P(e,(e=>n(e,t+1))):h([a[t],null],(a=>n(I(e,a),t+1)));return n(e,0),s})(e,s),(e=>P(e,(e=>I(o,e)[0](a,...s??[],...n))))),e=>l(I(o,e),(([,a,s])=>(V(a,s??[t],void 0,(t=>(x(t,e),k(t)?1:0))),N(o,e),n(e),s))),e=>l(I(o,e),(([e,,t=[],s,n])=>{const o=(...r)=>{const i=g(r);i==g(t)?e(a,...r,...n(r)):c(t[i])?h(s[i]?.(...r)??[],(e=>o(...r,e))):o(...r,t[i])};o()}))]},Q=z(),X=z(),Y=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Z=o.crypto?e=>o.crypto.getRandomValues(e):e=>(e=>e.map((()=>i(256*r.random()))))(e),_=(e=16)=>f(Z(new Uint8Array(e)),((e,t)=>e+Y[63&t]),""),ee=/\/([^?]*)/;e.createWsServer=(e,s,o)=>{const r=z(),i=z(),u=z(),g=z(),[f,S,w]=K((()=>D)),b=e=>{e[1]?.destroy(),e[2]?.destroy()},A=(e,a,s)=>n=>J(n,((n,o)=>{const r=$(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,P(a,((e,t)=>i(t,e)))):"S"===n?s[3]?.(r):I(a,n)?.send(r)}));e.on("connection",((e,f)=>{return l((w=f.url,T=ee,w?.match(T)),(([,w])=>l(f.headers["sec-websocket-key"],(async f=>{const T=R(u,w,z),H=R(g,w,(()=>[0])),D=A(f,T,H);k(T)&&(S(r,void 0,w,1),await(async(e,a,r)=>l(await(s?.(a)),(a=>{e[0]=1,e[1]=d(a)?a[0]:a;const s=A("S",r,e);e[2]=((e,a,s,o,r,i,u,g,h={})=>{let f,S=0,w=0,b=0;const A=z(),T=()=>_(11),H=(e,t,s,n)=>{w++,a(e,t,s,n)},D=async(e,t,a,s)=>new n(((n,o)=>{const i=s+"."+_(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{x(A,i),o(`No response from ${e??"anyone"} to ${i}, `+t)}),r);N(A,i,[e,(e,t)=>{clearTimeout(c),x(A,i),n([e,t,s])}]),H(e,i,t,a)})),k=(e,[t,a])=>{M(t,(([t,a],s)=>{const n=m(e[0],s,U);M(t,(([e,t],a)=>{const s=m(n[0],a,U);M(e,(([e,t],a)=>s[0][a]=B(e,t))),s[1]=F(s[1],t)})),n[1]=F(n[1],a)})),e[1]=F(e[1],a)},O=async(a=null,s,n=T())=>{try{c(s)&&([s,a,n]=await D(null,1,t,n));const[o,r]=s,[i,l]=e.getMergeableContentHashes();let d=U();if(i!=o){const[t,s]=(await D(a,4,e.getMergeableTableHashes(),n))[0];if(d=t,!L(s)){const[t,o]=(await D(a,5,e.getMergeableRowHashes(s),n))[0];if(k(d,t),!L(o)){const t=(await D(a,6,e.getMergeableCellHashes(o),n))[0];k(d,t)}}}return[d,l==r?U():(await D(a,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){g?.(e)}},P=((e,t,a,s,n,o,r,i={},l=0,u=[])=>{let g,h,f,S=0,w=0,b=0;R(Q,u,(()=>0)),R(X,u,(()=>[]));const A=z(),[M,m,T,H,D]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!L(e)||!L(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!L(e)||!L(t),t.setContent]:y("Store type not supported by this Persister"))(r,e,l),[k,O,P]=K((()=>B)),x=e=>{e!=S&&(S=e,O(A,void 0,S))},E=t=>{(M&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},V=async e=>(2!=S&&(x(1),w++,await $((async()=>{try{const a=await t();d(a)?E(a):e?D(e):y("Content is not an array: "+a)}catch(t){o?.(t),e&&D(e)}x(0)}))),B),W=()=>(h&&(n(h),h=void 0),B),j=async e=>(1!=S&&(x(2),b++,await $((async()=>{try{await a(m,e)}catch(e){o?.(e)}x(0)}))),B),J=()=>(f&&(e.delListener(f),f=void 0),B),$=async(...e)=>(v(I(X,u),...e),await(async()=>{if(!I(Q,u)){for(N(Q,u,1);!c(g=p(I(X,u)));)try{await g()}catch(e){o?.(e)}N(Q,u,0)}})(),B),B={load:V,startAutoLoad:async e=>{W(),await V(e);try{h=await s((async(e,t)=>{t||e?2!=S&&(x(1),w++,E(t??e),x(0)):await V()}))}catch(e){o?.(e)}return B},stopAutoLoad:W,isAutoLoading:()=>!c(h),save:j,startAutoSave:async()=>(J(),await j(),f=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&j(e)})),B),stopAutoSave:J,isAutoSaving:()=>!c(f),getStatus:()=>S,addStatusListener:e=>k(e,A),delListener:t=>(P(t),e),schedule:$,getStore:()=>e,destroy:()=>(I(X,u).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:w,saves:b}),...i};return C(B)})(e,(async()=>{const e=await O();return!e||L(e[0][0])&&L(e[1][0])?void 0:e}),(async(t,a)=>a?H(null,T(),3,a):H(null,T(),2,e.getMergeableContentHashes())),(e=>f=e),(()=>f=void 0),g,2,{startSync:async e=>(S=1,await(await P.startAutoLoad(e)).startAutoSave()),stopSync:()=>(S=0,P.stopAutoLoad().stopAutoSave()),destroy:()=>P.stopSync(),getSynchronizerStats:()=>({sends:w,receives:b}),...h},1);return s(((t,a,s,n)=>{const o=S||P.isAutoLoading();b++,0==s?l(I(A,a),(([e,a])=>c(e)||e==t?a(n,t):0)):2==s&&o?O(t,n,a??void 0).then((e=>{f?.(void 0,e)})).catch(g):3==s&&o?f?.(void 0,n):l(1==s&&(S||P.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)}))})),P})(e[1].getStore(),((e,a,n,o)=>s(((e,...a)=>$(e??t,W(a,((e,t)=>void 0===t?"":t))))(e,a,n,o))),(t=>e[3]=e=>((e,t)=>J(e,((e,a)=>{return t(e,...(s=a,j(s,((e,t)=>""===t?void 0:t))));var s})))(e,t)),0,1,0,0,o),e[4]=[],e[5]=d(a)?a[1]:e=>0})))(H,w,T)),N(T,f,e),S(i,[w],f,1),e.on("message",(e=>{const t=e.toString("utf8");0==H[0]?D(t):v(H[4],t)})),1==H[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(H),h(H[4],D),H[4]=[]),e.on("close",(()=>{x(T,f),S(i,[w],f,-1),k(T)&&(b(H),x(g,w),x(u,w),S(r,void 0,w,-1))})),o&&e.on(a,o)}))));var w,T})),o&&e.on(a,o);const D={getWebSocketServer:()=>e,getPathIds:()=>E(u),getClientIds:e=>E(I(u,e)),addPathIdsListener:e=>f(e,r),addClientIdsListener:(e,t)=>f(t,i,[e]),delListener:e=>(w(e),D),getStats:()=>({paths:T(u),clients:H(u)}),destroy:()=>{u.clear(),P(g,b),e.close()}};return C(D)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t="",a=(e,t="",a)=>e.split(t,a),s=Promise,n=globalThis,o=Math,r=o.floor,i=e=>null==e,c=(e,t,a)=>i(e)?a?.():t(e),l=e=>Array.isArray(e),d=(e,t,a)=>e.slice(t,a),u=e=>e.length,g=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),h=(e,t,a)=>e.reduce(t,a),f=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,S=e=>p.getPrototypeOf(e),w=p.entries,b=p.keys,A=p.freeze,C=(e,t)=>y(w(e),(([e,a])=>t(a,e))),M=e=>(e=>!i(e)&&c(S(e),(e=>e==p.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>u(b(e)))(e),L=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),m=e=>e?.size??0,T=(H=m,e=>h(k(e),((e,t)=>e+H(t)),0));var H;const D=e=>i(e)||0==m(e),k=e=>[...e?.values()??[]],O=(e,t)=>e?.forEach(t),P=(e,t)=>e?.delete(t),x=e=>new Map(e),z=e=>[...e?.keys()??[]],E=(e,t)=>e?.get(t),I=(e,t,a)=>i(a)?(P(e,t),e):e?.set(t,a),N=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(E(e,t)):I(e,t,a()),E(e,t)},R=(e,t,a,s,n=0)=>c((a?N:E)(e,t[n],n>u(t)-2?a:x),(o=>{if(n>u(t)-2)return s?.(o)&&I(e,t[n]),o;const r=R(o,t,a,s,n+1);return D(o)&&I(e,t[n]),r})),V=JSON.stringify,W=JSON.parse,j=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(d(e,0,a),d(e,a+1))},J=(e,t)=>e+"\n"+t,$=(e,t)=>t?[e,t]:[e],B=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>$(((e=[])=>p.fromEntries(e))(),e),U=e=>new Set(l(e)||i(e)?e:[e]),q=/^\d+$/,G=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?v(e):null)??t+a++,t=>{q.test(t)&&u(e)<1e3&&f(e,t)}]})(),o=x();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var u,g;return I(o,d,[n,r,i,c,l]),u=R(r,i??[t],U),g=d,u?.add(g),d},(e,s,...n)=>y(((e,a=[t])=>{const s=[],n=(e,t)=>t==u(a)?f(s,e):null===a[t]?O(e,(e=>n(e,t+1))):y([a[t],null],(a=>n(E(e,a),t+1)));return n(e,0),s})(e,s),(e=>O(e,(e=>E(o,e)[0](a,...s??[],...n))))),e=>c(E(o,e),(([,a,s])=>(R(a,s??[t],void 0,(t=>(P(t,e),D(t)?1:0))),I(o,e),n(e),s))),e=>c(E(o,e),(([e,,t=[],s,n])=>{const o=(...r)=>{const c=u(r);c==u(t)?e(a,...r,...n(r)):i(t[c])?y(s[c]?.(...r)??[],(e=>o(...r,e))):o(...r,t[c])};o()}))]},K=x(),Q=x(),X=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Y=n.crypto?e=>n.crypto.getRandomValues(e):e=>(e=>e.map((()=>r(256*o.random()))))(e),Z=/\/([^?]*)/;e.createWsServer=(e,a)=>{const n=x(),o=x(),r=x(),d=x(),[u,p,S]=G((()=>H)),w=e=>{e[1]?.destroy(),e[2]?.destroy()},b=(e,a,s)=>n=>j(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,((e,t)=>i(t,e)))):"S"===n?s[3]?.(r):E(a,n)?.send(r)}));e.on("connection",((e,u)=>{return c((S=u.url,m=Z,S?.match(m)),(([,S])=>c(u.headers["sec-websocket-key"],(async u=>{const m=N(r,S,x),T=N(d,S,(()=>[0])),H=b(u,m,T);D(m)&&(p(n,void 0,S,1),await(async(e,n,o)=>c(await(a?.(n)),(a=>{e[0]=1,e[1]=l(a)?a[0]:a;const n=b("S",o,e);e[2]=((e,t,a,n,o,r,d,u,y={})=>{let p,S=0,w=0;const b=x(),m=(e,a,s,n)=>{S++,t(e,a,s,n)},T=async(e,t,a="")=>new s(((s,n)=>{const r=((e=16)=>h(Y(new Uint8Array(e)),((e,t)=>e+X[63&t]),""))(),i=setTimeout((()=>{P(b,r),n(`No response from ${e??"anyone"} to ${r}, `+t)}),1e3*o);I(b,r,[e,(e,t)=>{clearTimeout(i),P(b,r),s([e,t])}]),m(e,r,t,a)})),H=(e,[t,a])=>{C(t,(([t,a],s)=>{const n=L(e[0],s,F);C(t,(([e,t],a)=>{const s=L(n[0],a,F);C(e,(([e,t],a)=>s[0][a]=$(e,t))),s[1]=B(s[1],t)})),n[1]=B(n[1],a)})),e[1]=B(e[1],a)},D=async(t=null,a)=>{i(a)&&([a,t]=await T(t,1));const[s,n]=a,[o,r]=e.getMergeableContentHashes();let c=F();if(o!=s){const[a,s]=(await T(t,4,e.getMergeableTableHashes()))[0];if(c=a,!M(s)){const[a,n]=(await T(t,5,e.getMergeableRowHashes(s)))[0];if(H(c,a),!M(n)){const a=(await T(t,6,e.getMergeableCellHashes(n)))[0];H(c,a)}}}return[c,r==n?F():(await T(t,7,e.getMergeableValueHashes()))[0],1]},k=((e,t,a,s,n,o,r,d={},u=[])=>{let y,h,p,S=0,w=0,b=0;N(K,u,(()=>0)),N(Q,u,(()=>[]));const C=x(),[L,m,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!M(e)||!M(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!M(e)||!M(t),t.setContent]:g("Store type not supported by this Persister"))(r,e),[k,O,P]=G((()=>B)),z=e=>{e!=S&&(S=e,O(C,void 0,S))},R=t=>{(L&&l(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},V=async e=>(2!=S&&(z(1),w++,await $((async()=>{try{const a=await t();l(a)?R(a):e?D(e):g("Content is not an array "+a)}catch(t){e&&D(e)}z(0)}))),B),W=()=>(h&&(n(h),h=void 0),B),j=async e=>(1!=S&&(z(2),b++,await $((async()=>{try{await a(m,e)}catch(e){}z(0)}))),B),J=()=>(c(p,e.delListener),p=void 0,B),$=async(...e)=>(f(E(Q,u),...e),await(async()=>{if(!E(K,u)){for(I(K,u,1);!i(y=v(E(Q,u)));)try{await y()}catch(e){}I(K,u,0)}})(),B),B={load:V,startAutoLoad:async e=>{await W().load(e);try{h=await s((async(e,t)=>{t||e?2!=S&&(z(1),w++,R(t??e),z(0)):await V()}))}catch(e){}return B},stopAutoLoad:W,isAutoLoading:()=>!i(h),save:j,startAutoSave:async()=>(await J().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&j(e)})),B),stopAutoSave:J,isAutoSaving:()=>!i(p),getStatus:()=>S,addStatusListener:e=>k(e,C),delListener:t=>(P(t),e),schedule:$,getStore:()=>e,destroy:()=>(E(Q,u).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:w,saves:b}),...d};return A(B)})(e,(async()=>{const e=await D();return M(e[0][0])&&M(e[1][0])?void 0:e}),(async(t,a)=>a?m(null,null,3,a):m(null,null,2,e.getMergeableContentHashes())),(e=>p=e),(()=>p=void 0),0,2,{startSync:async e=>await(await k.startAutoLoad(e)).startAutoSave(),stopSync:()=>k.stopAutoLoad().stopAutoSave(),destroy:()=>k.stopSync(),getSynchronizerStats:()=>({sends:S,receives:w}),...y});return a(((t,a,s,n)=>{w++,0==s?c(E(b,a),(([e,a])=>i(e)||e==t?a(n,t):0)):2==s&&k.isAutoLoading()?D(t,n).then((e=>{p?.(void 0,e)})):3==s&&k.isAutoLoading()?p?.(void 0,n):c(1==s&&k.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=>{m(t,a,0,e)}))})),k})(e[1].getStore(),((e,a,s,o)=>n(((e,...a)=>J(e??t,V(a,((e,t)=>void 0===t?"":t))))(e,a,s,o))),(t=>e[3]=e=>((e,t)=>j(e,((e,a)=>{return t(e,...(s=a,W(s,((e,t)=>""===t?void 0:t))));var s})))(e,t)),0,1),e[4]=[],e[5]=l(a)?a[1]:e=>0})))(T,S,m)),I(m,u,e),p(o,[S],u,1),e.on("message",(e=>{const t=e.toString("utf8");0==T[0]?H(t):f(T[4],t)})),1==T[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(T),y(T[4],H),T[4]=[]),e.on("close",(()=>{P(m,u),p(o,[S],u,-1),D(m)&&(w(T),P(d,S),P(r,S),p(n,void 0,S,-1))}))}))));var S,m}));const H={getWebSocketServer:()=>e,getPathIds:()=>z(r),getClientIds:e=>z(E(r,e)),addPathIdsListener:e=>u(e,n),addClientIdsListener:(e,t)=>u(t,o,[e]),delListener:e=>(S(e),H),getStats:()=>({paths:m(r),clients:T(r)}),destroy:()=>{r.clear(),O(d,w),e.close()}};return A(H)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
1
+ var e,t;e=this,t=function(e){"use strict";const t="",a="error",s=(e,t="",a)=>e.split(t,a),n=Promise,o=globalThis,r=Math,i=r.floor,c=e=>null==e,l=(e,t,a)=>c(e)?a?.():t(e),d=e=>Array.isArray(e),u=(e,t,a)=>e.slice(t,a),g=e=>e.length,y=e=>{throw Error(e)},h=(e,t)=>e.forEach(t),f=(e,t,a)=>e.reduce(t,a),v=(e,...t)=>e.push(...t),p=e=>e.shift(),S=Object,w=e=>S.getPrototypeOf(e),b=S.entries,A=S.keys,C=S.freeze,M=(e,t)=>h(b(e),(([e,a])=>t(a,e))),L=e=>(e=>!c(e)&&l(w(e),(e=>e==S.prototype||c(w(e))),(()=>!0)))(e)&&0==(e=>g(A(e)))(e),m=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),T=e=>e?.size??0,H=(D=T,e=>f(O(e),((e,t)=>e+D(t)),0));var D;const k=e=>c(e)||0==T(e),O=e=>[...e?.values()??[]],P=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),z=e=>new Map(e),E=e=>[...e?.keys()??[]],I=(e,t)=>e?.get(t),N=(e,t,a)=>c(a)?(x(e,t),e):e?.set(t,a),R=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(I(e,t)):N(e,t,a()),I(e,t)},V=(e,t,a,s,n=0)=>l((a?R:I)(e,t[n],n>g(t)-2?a:z),(o=>{if(n>g(t)-2)return s?.(o)&&N(e,t[n]),o;const r=V(o,t,a,s,n+1);return k(o)&&N(e,t[n]),r})),W=JSON.stringify,j=JSON.parse,J=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(u(e,0,a),u(e,a+1))},$=(e,t)=>e+"\n"+t,B=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>B(((e=[])=>S.fromEntries(e))(),e),q=e=>new Set(d(e)||c(e)?e:[e]),G=/^\d+$/,K=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?p(e):null)??t+a++,t=>{G.test(t)&&g(e)<1e3&&v(e,t)}]})(),o=z();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var u,g;return N(o,d,[n,r,i,c,l]),u=V(r,i??[t],q),g=d,u?.add(g),d},(e,s,...n)=>h(((e,a=[t])=>{const s=[],n=(e,t)=>t==g(a)?v(s,e):null===a[t]?P(e,(e=>n(e,t+1))):h([a[t],null],(a=>n(I(e,a),t+1)));return n(e,0),s})(e,s),(e=>P(e,(e=>I(o,e)[0](a,...s??[],...n))))),e=>l(I(o,e),(([,a,s])=>(V(a,s??[t],void 0,(t=>(x(t,e),k(t)?1:0))),N(o,e),n(e),s))),e=>l(I(o,e),(([e,,t=[],s,n])=>{const o=(...r)=>{const i=g(r);i==g(t)?e(a,...r,...n(r)):c(t[i])?h(s[i]?.(...r)??[],(e=>o(...r,e))):o(...r,t[i])};o()}))]},Q=z(),X=z(),Y=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Z=o.crypto?e=>o.crypto.getRandomValues(e):e=>(e=>e.map((()=>i(256*r.random()))))(e),_=(e=16)=>f(Z(new Uint8Array(e)),((e,t)=>e+Y[63&t]),""),ee=/\/([^?]*)/;e.createWsServer=(e,s,o)=>{const r=z(),i=z(),u=z(),g=z(),[f,S,w]=K((()=>D)),b=e=>{e[1]?.destroy(),e[2]?.destroy()},A=(e,a,s)=>n=>J(n,((n,o)=>{const r=$(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,P(a,((e,t)=>i(t,e)))):"S"===n?s[3]?.(r):I(a,n)?.send(r)}));e.on("connection",((e,f)=>{return l((w=f.url,T=ee,w?.match(T)),(([,w])=>l(f.headers["sec-websocket-key"],(async f=>{const T=R(u,w,z),H=R(g,w,(()=>[0])),D=A(f,T,H);k(T)&&(S(r,void 0,w,1),await(async(e,a,r)=>l(await(s?.(a)),(a=>{e[0]=1,e[1]=d(a)?a[0]:a;const s=A("S",r,e);e[2]=((e,a,s,o,r,i,u,g,h={})=>{let f,S=0,w=0,b=0;const A=z(),T=()=>_(11),H=(e,t,s,n)=>{w++,a(e,t,s,n)},D=async(e,t,a,s)=>new n(((n,o)=>{const i=s+"."+_(4),c=((e,t=0)=>setTimeout(e,1e3*t))((()=>{x(A,i),o(`No response from ${e??"anyone"} to ${i}, `+t)}),r);N(A,i,[e,(e,t)=>{clearTimeout(c),x(A,i),n([e,t,s])}]),H(e,i,t,a)})),k=(e,[t,a])=>{M(t,(([t,a],s)=>{const n=m(e[0],s,U);M(t,(([e,t],a)=>{const s=m(n[0],a,U);M(e,(([e,t],a)=>s[0][a]=B(e,t))),s[1]=F(s[1],t)})),n[1]=F(n[1],a)})),e[1]=F(e[1],a)},O=async(a=null,s,n=T())=>{try{c(s)&&([s,a,n]=await D(null,1,t,n));const[o,r]=s,[i,l]=e.getMergeableContentHashes();let d=U();if(i!=o){const[t,s]=(await D(a,4,e.getMergeableTableHashes(),n))[0];if(d=t,!L(s)){const[t,o]=(await D(a,5,e.getMergeableRowHashes(s),n))[0];if(k(d,t),!L(o)){const t=(await D(a,6,e.getMergeableCellHashes(o),n))[0];k(d,t)}}}return[d,l==r?U():(await D(a,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){g?.(e)}},P=((e,t,a,s,n,o,r,i={},l=0,u=[])=>{let g,h,f,S=0,w=0,b=0;R(Q,u,(()=>0)),R(X,u,(()=>[]));const A=z(),[M,m,T,H,D]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!a),([[e],[t]])=>!L(e)||!L(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!L(e)||!L(t),t.setContent]:y("Store type not supported by this Persister"))(r,e,l),[k,O,P]=K((()=>B)),x=e=>{e!=S&&(S=e,O(A,void 0,S))},E=t=>{(M&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},V=async e=>(2!=S&&(x(1),w++,await $((async()=>{try{const a=await t();d(a)?E(a):e?D(e):y("Content is not an array: "+a)}catch(t){o?.(t),e&&D(e)}x(0)}))),B),W=()=>(h&&(n(h),h=void 0),B),j=async e=>(1!=S&&(x(2),b++,await $((async()=>{try{await a(m,e)}catch(e){o?.(e)}x(0)}))),B),J=()=>(f&&(e.delListener(f),f=void 0),B),$=async(...e)=>(v(I(X,u),...e),await(async()=>{if(!I(Q,u)){for(N(Q,u,1);!c(g=p(I(X,u)));)try{await g()}catch(e){o?.(e)}N(Q,u,0)}})(),B),B={load:V,startAutoLoad:async e=>{W(),await V(e);try{h=await s((async(e,t)=>{t||e?2!=S&&(x(1),w++,E(t??e),x(0)):await V()}))}catch(e){o?.(e)}return B},stopAutoLoad:W,isAutoLoading:()=>!c(h),save:j,startAutoSave:async()=>(J(),await j(),f=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&j(e)})),B),stopAutoSave:J,isAutoSaving:()=>!c(f),getStatus:()=>S,addStatusListener:e=>k(e,A),delListener:t=>(P(t),e),schedule:$,getStore:()=>e,destroy:()=>(I(X,u).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:w,saves:b}),...i};return C(B)})(e,(async()=>{const e=await O();return!e||L(e[0][0])&&L(e[1][0])?void 0:e}),(async(t,a)=>a?H(null,T(),3,a):H(null,T(),2,e.getMergeableContentHashes())),(e=>f=e),(()=>f=void 0),g,2,{startSync:async e=>(S=1,await(await P.startAutoLoad(e)).startAutoSave()),stopSync:()=>(S=0,P.stopAutoLoad().stopAutoSave()),destroy:()=>P.stopSync(),getSynchronizerStats:()=>({sends:w,receives:b}),...h},1);return s(((t,a,s,n)=>{const o=S||P.isAutoLoading();b++,0==s?l(I(A,a),(([e,a])=>c(e)||e==t?a(n,t):0)):2==s&&o?O(t,n,a??void 0).then((e=>{f?.(void 0,e)})).catch(g):3==s&&o?f?.(void 0,n):l(1==s&&(S||P.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)}))})),P})(e[1].getStore(),((e,a,n,o)=>s(((e,...a)=>$(e??t,W(a,((e,t)=>void 0===t?"":t))))(e,a,n,o))),(t=>e[3]=e=>((e,t)=>J(e,((e,a)=>{return t(e,...(s=a,j(s,((e,t)=>""===t?void 0:t))));var s})))(e,t)),0,1,0,0,o),e[4]=[],e[5]=d(a)?a[1]:e=>0})))(H,w,T)),N(T,f,e),S(i,[w],f,1),e.on("message",(e=>{const t=e.toString("utf8");0==H[0]?D(t):v(H[4],t)})),1==H[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(H),h(H[4],D),H[4]=[]),e.on("close",(()=>{x(T,f),S(i,[w],f,-1),k(T)&&(b(H),x(g,w),x(u,w),S(r,void 0,w,-1))})),o&&e.on(a,o)}))));var w,T})),o&&e.on(a,o);const D={getWebSocketServer:()=>e,getPathIds:()=>E(u),getClientIds:e=>E(I(u,e)),addPathIdsListener:e=>f(e,r),addClientIdsListener:(e,t)=>f(t,i,[e]),delListener:e=>(w(e),D),getStats:()=>({paths:T(u),clients:H(u)}),destroy:()=>{u.clear(),P(g,b),e.close()}};return C(D)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});