tinybase 5.0.0-beta.27 → 5.0.0-beta.28

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 (249) hide show
  1. package/@types/_internal/ui-react/with-schemas/index.d.cts +274 -0
  2. package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
  3. package/@types/checkpoints/index.d.cts +30 -1
  4. package/@types/checkpoints/index.d.ts +30 -1
  5. package/@types/checkpoints/with-schemas/index.d.cts +30 -1
  6. package/@types/checkpoints/with-schemas/index.d.ts +30 -1
  7. package/@types/common/index.d.cts +9 -0
  8. package/@types/common/index.d.ts +9 -0
  9. package/@types/common/with-schemas/index.d.cts +9 -0
  10. package/@types/common/with-schemas/index.d.ts +9 -0
  11. package/@types/index.d.cts +1 -0
  12. package/@types/index.d.ts +1 -0
  13. package/@types/indexes/index.d.cts +32 -1
  14. package/@types/indexes/index.d.ts +32 -1
  15. package/@types/indexes/with-schemas/index.d.cts +32 -1
  16. package/@types/indexes/with-schemas/index.d.ts +32 -1
  17. package/@types/mergeable-store/index.d.cts +0 -2
  18. package/@types/mergeable-store/index.d.ts +0 -2
  19. package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
  20. package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
  21. package/@types/metrics/index.d.cts +30 -4
  22. package/@types/metrics/index.d.ts +30 -4
  23. package/@types/metrics/with-schemas/index.d.cts +30 -4
  24. package/@types/metrics/with-schemas/index.d.ts +30 -4
  25. package/@types/persisters/index.d.cts +87 -25
  26. package/@types/persisters/index.d.ts +87 -25
  27. package/@types/persisters/persister-automerge/index.d.cts +4 -4
  28. package/@types/persisters/persister-automerge/index.d.ts +4 -4
  29. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +4 -4
  30. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
  31. package/@types/persisters/persister-browser/index.d.cts +7 -4
  32. package/@types/persisters/persister-browser/index.d.ts +7 -4
  33. package/@types/persisters/persister-browser/with-schemas/index.d.cts +7 -4
  34. package/@types/persisters/persister-browser/with-schemas/index.d.ts +7 -4
  35. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +4 -4
  36. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -4
  37. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +4 -4
  38. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -4
  39. package/@types/persisters/persister-electric-sql/index.d.cts +4 -4
  40. package/@types/persisters/persister-electric-sql/index.d.ts +4 -4
  41. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +4 -4
  42. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -4
  43. package/@types/persisters/persister-expo-sqlite/index.d.cts +4 -4
  44. package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -4
  45. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +4 -4
  46. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -4
  47. package/@types/persisters/persister-file/index.d.cts +6 -4
  48. package/@types/persisters/persister-file/index.d.ts +6 -4
  49. package/@types/persisters/persister-file/with-schemas/index.d.cts +6 -4
  50. package/@types/persisters/persister-file/with-schemas/index.d.ts +6 -4
  51. package/@types/persisters/persister-indexed-db/index.d.cts +5 -4
  52. package/@types/persisters/persister-indexed-db/index.d.ts +5 -4
  53. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +5 -4
  54. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +5 -4
  55. package/@types/persisters/persister-libsql/index.d.cts +5 -4
  56. package/@types/persisters/persister-libsql/index.d.ts +5 -4
  57. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +5 -4
  58. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +5 -4
  59. package/@types/persisters/persister-partykit-client/index.d.cts +12 -6
  60. package/@types/persisters/persister-partykit-client/index.d.ts +12 -6
  61. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +12 -6
  62. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +12 -6
  63. package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
  64. package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
  65. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
  66. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
  67. package/@types/persisters/persister-powersync/index.d.cts +5 -4
  68. package/@types/persisters/persister-powersync/index.d.ts +5 -4
  69. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +5 -4
  70. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +5 -4
  71. package/@types/persisters/persister-remote/index.d.cts +6 -4
  72. package/@types/persisters/persister-remote/index.d.ts +6 -4
  73. package/@types/persisters/persister-remote/with-schemas/index.d.cts +6 -4
  74. package/@types/persisters/persister-remote/with-schemas/index.d.ts +6 -4
  75. package/@types/persisters/persister-sqlite-wasm/index.d.cts +4 -4
  76. package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -4
  77. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +4 -4
  78. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -4
  79. package/@types/persisters/persister-sqlite3/index.d.cts +4 -4
  80. package/@types/persisters/persister-sqlite3/index.d.ts +4 -4
  81. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +4 -4
  82. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -4
  83. package/@types/persisters/persister-yjs/index.d.cts +4 -4
  84. package/@types/persisters/persister-yjs/index.d.ts +4 -4
  85. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +4 -4
  86. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
  87. package/@types/persisters/with-schemas/index.d.cts +87 -25
  88. package/@types/persisters/with-schemas/index.d.ts +87 -25
  89. package/@types/queries/index.d.cts +64 -4
  90. package/@types/queries/index.d.ts +64 -4
  91. package/@types/queries/with-schemas/index.d.cts +64 -4
  92. package/@types/queries/with-schemas/index.d.ts +64 -4
  93. package/@types/relationships/index.d.cts +34 -1
  94. package/@types/relationships/index.d.ts +34 -1
  95. package/@types/relationships/with-schemas/index.d.cts +34 -1
  96. package/@types/relationships/with-schemas/index.d.ts +34 -1
  97. package/@types/store/index.d.cts +125 -0
  98. package/@types/store/index.d.ts +125 -0
  99. package/@types/store/with-schemas/index.d.cts +125 -0
  100. package/@types/store/with-schemas/index.d.ts +125 -0
  101. package/@types/synchronizers/index.d.cts +32 -10
  102. package/@types/synchronizers/index.d.ts +32 -10
  103. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
  104. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
  105. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
  106. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
  107. package/@types/synchronizers/synchronizer-local/index.d.cts +16 -17
  108. package/@types/synchronizers/synchronizer-local/index.d.ts +16 -17
  109. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +16 -17
  110. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +16 -17
  111. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +66 -6
  112. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +66 -6
  113. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +77 -6
  114. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +77 -6
  115. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
  116. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
  117. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
  118. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
  119. package/@types/synchronizers/with-schemas/index.d.cts +29 -11
  120. package/@types/synchronizers/with-schemas/index.d.ts +29 -11
  121. package/@types/tools/index.d.cts +22 -0
  122. package/@types/tools/index.d.ts +22 -0
  123. package/@types/tools/with-schemas/index.d.cts +22 -0
  124. package/@types/tools/with-schemas/index.d.ts +22 -0
  125. package/@types/ui-react/index.d.cts +375 -1
  126. package/@types/ui-react/index.d.ts +375 -1
  127. package/@types/ui-react/with-schemas/index.d.cts +100 -1
  128. package/@types/ui-react/with-schemas/index.d.ts +100 -1
  129. package/@types/ui-react-dom/index.d.cts +112 -0
  130. package/@types/ui-react-dom/index.d.ts +112 -0
  131. package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
  132. package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
  133. package/@types/ui-react-inspector/index.d.cts +6 -2
  134. package/@types/ui-react-inspector/index.d.ts +6 -2
  135. package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
  136. package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
  137. package/@types/with-schemas/index.d.cts +1 -0
  138. package/@types/with-schemas/index.d.ts +1 -0
  139. package/cjs/es6/index.cjs +2 -2
  140. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  141. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  142. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  143. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  145. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  146. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  147. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/es6/synchronizers/index.cjs +2 -2
  149. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
  150. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
  151. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +4 -4
  152. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
  153. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +15 -21
  154. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
  155. package/cjs/es6/synchronizers/with-schemas/index.cjs +2 -2
  156. package/cjs/es6/with-schemas/index.cjs +2 -2
  157. package/cjs/index.cjs +2 -2
  158. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  159. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  160. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  161. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  163. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  164. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  165. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/synchronizers/index.cjs +2 -2
  167. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
  168. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
  169. package/cjs/synchronizers/synchronizer-local/index.cjs +4 -4
  170. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
  171. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +15 -21
  172. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
  173. package/cjs/synchronizers/with-schemas/index.cjs +2 -2
  174. package/cjs/with-schemas/index.cjs +2 -2
  175. package/es6/index.js +2 -2
  176. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  177. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  178. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  179. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  180. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  181. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  182. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  183. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  184. package/es6/synchronizers/index.js +2 -2
  185. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
  186. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
  187. package/es6/synchronizers/synchronizer-local/index.js +4 -4
  188. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  189. package/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
  190. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  191. package/es6/synchronizers/with-schemas/index.js +2 -2
  192. package/es6/with-schemas/index.js +2 -2
  193. package/index.js +2 -2
  194. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  195. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  196. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  197. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  198. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  199. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  200. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  201. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  202. package/package.json +105 -1
  203. package/readme.md +9 -9
  204. package/releases.md +4 -4
  205. package/synchronizers/index.js +2 -2
  206. package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
  207. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
  208. package/synchronizers/synchronizer-local/index.js +4 -4
  209. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  210. package/synchronizers/synchronizer-ws-client/index.js +15 -21
  211. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  212. package/synchronizers/with-schemas/index.js +2 -2
  213. package/umd/es6/index.js +2 -2
  214. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  215. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  216. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  217. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  218. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  219. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  220. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  221. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  222. package/umd/es6/synchronizers/index.js +2 -2
  223. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
  224. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
  225. package/umd/es6/synchronizers/synchronizer-local/index.js +4 -4
  226. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  227. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
  228. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  229. package/umd/es6/synchronizers/with-schemas/index.js +2 -2
  230. package/umd/es6/with-schemas/index.js +2 -2
  231. package/umd/index.js +2 -2
  232. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  233. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  234. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  235. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  236. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  237. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  238. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  239. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  240. package/umd/synchronizers/index.js +2 -2
  241. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
  242. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
  243. package/umd/synchronizers/synchronizer-local/index.js +4 -4
  244. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  245. package/umd/synchronizers/synchronizer-ws-client/index.js +15 -21
  246. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  247. package/umd/synchronizers/with-schemas/index.js +2 -2
  248. package/umd/with-schemas/index.js +2 -2
  249. package/with-schemas/index.js +2 -2
@@ -296,7 +296,7 @@ const Message = {
296
296
  const createCustomSynchronizer = (
297
297
  store,
298
298
  send,
299
- onReceive,
299
+ registerReceive,
300
300
  destroyImpl,
301
301
  requestTimeoutSeconds,
302
302
  onIgnoredError,
@@ -306,7 +306,7 @@ const createCustomSynchronizer = (
306
306
  let sends = 0;
307
307
  let receives = 0;
308
308
  const pendingRequests = mapNew();
309
- onReceive((fromClientId, requestId, message, body) => {
309
+ registerReceive((fromClientId, requestId, message, body) => {
310
310
  receives++;
311
311
  if (message == Message.Response) {
312
312
  ifNotUndefined(
@@ -482,43 +482,37 @@ const createWsSynchronizer = async (
482
482
  requestTimeoutSeconds = 1,
483
483
  onIgnoredError,
484
484
  ) => {
485
- let currentReceive;
486
485
  const addEventListener = (event, handler) =>
487
486
  webSocket.addEventListener(event, handler);
488
- const onReceive = (receive) => {
489
- currentReceive = receive;
490
- };
491
- const send = (toClientId, ...args) => {
487
+ const registerReceive = (receive) =>
488
+ addEventListener('message', ({data}) => {
489
+ const payload = data.toString(UTF8);
490
+ const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
491
+ if (splitAt !== -1) {
492
+ receive(
493
+ slice(data, 0, splitAt),
494
+ ...jsonParseWithUndefined(slice(data, splitAt + 1)),
495
+ );
496
+ }
497
+ });
498
+ const send = (toClientId, ...args) =>
492
499
  webSocket.send(
493
500
  (toClientId ?? EMPTY_STRING) +
494
501
  MESSAGE_SEPARATOR +
495
502
  jsonStringWithUndefined(args),
496
503
  );
497
- };
498
504
  const destroy = () => {
499
505
  webSocket.close();
500
506
  };
501
507
  const synchronizer = createCustomSynchronizer(
502
508
  store,
503
509
  send,
504
- onReceive,
510
+ registerReceive,
505
511
  destroy,
506
512
  requestTimeoutSeconds,
507
513
  onIgnoredError,
508
514
  {getWebSocket: () => webSocket},
509
515
  );
510
- addEventListener('message', ({data}) => {
511
- if (!isUndefined(currentReceive)) {
512
- const payload = data.toString(UTF8);
513
- const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
514
- if (splitAt !== -1) {
515
- currentReceive(
516
- slice(data, 0, splitAt),
517
- ...jsonParseWithUndefined(slice(data, splitAt + 1)),
518
- );
519
- }
520
- }
521
- });
522
516
  return promiseNew((resolve, reject) => {
523
517
  if (webSocket.readyState != webSocket.OPEN) {
524
518
  addEventListener('error', reject);
@@ -286,7 +286,7 @@ const Message = {
286
286
  const createCustomSynchronizer = (
287
287
  store,
288
288
  send,
289
- onReceive,
289
+ registerReceive,
290
290
  destroyImpl,
291
291
  requestTimeoutSeconds,
292
292
  onIgnoredError,
@@ -296,7 +296,7 @@ const createCustomSynchronizer = (
296
296
  let sends = 0;
297
297
  let receives = 0;
298
298
  const pendingRequests = mapNew();
299
- onReceive((fromClientId, requestId, message, body) => {
299
+ registerReceive((fromClientId, requestId, message, body) => {
300
300
  receives++;
301
301
  if (message == Message.Response) {
302
302
  ifNotUndefined(
@@ -1384,7 +1384,7 @@ const Message = {
1384
1384
  const createCustomSynchronizer = (
1385
1385
  store,
1386
1386
  send,
1387
- onReceive,
1387
+ registerReceive,
1388
1388
  destroyImpl,
1389
1389
  requestTimeoutSeconds,
1390
1390
  onIgnoredError,
@@ -1394,7 +1394,7 @@ const createCustomSynchronizer = (
1394
1394
  let sends = 0;
1395
1395
  let receives = 0;
1396
1396
  const pendingRequests = mapNew();
1397
- onReceive((fromClientId, requestId, message, body) => {
1397
+ registerReceive((fromClientId, requestId, message, body) => {
1398
1398
  receives++;
1399
1399
  if (message == Message.Response) {
1400
1400
  ifNotUndefined(
package/es6/index.js CHANGED
@@ -1567,7 +1567,7 @@ const Message = {
1567
1567
  const createCustomSynchronizer = (
1568
1568
  store,
1569
1569
  send,
1570
- onReceive,
1570
+ registerReceive,
1571
1571
  destroyImpl,
1572
1572
  requestTimeoutSeconds,
1573
1573
  onIgnoredError,
@@ -1577,7 +1577,7 @@ const createCustomSynchronizer = (
1577
1577
  let sends = 0;
1578
1578
  let receives = 0;
1579
1579
  const pendingRequests = mapNew();
1580
- onReceive((fromClientId, requestId, message, body) => {
1580
+ registerReceive((fromClientId, requestId, message, body) => {
1581
1581
  receives++;
1582
1582
  if (message == Message.Response) {
1583
1583
  ifNotUndefined(
@@ -0,0 +1 @@
1
+ const e=Promise,t=globalThis,n=Math,o=n.floor,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=(e,t)=>e.map(t),i=Object,s=e=>i.getPrototypeOf(e),u=i.entries,c=i.keys,d=i.freeze,v=(e,t)=>((e,t)=>e.forEach(t))(u(e),(([e,n])=>t(n,e))),y=e=>(e=>!l(e)&&r(s(e),(e=>e==i.prototype||l(s(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),g=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),p=(e,t)=>null==e?void 0:e.delete(t),f=e=>new Map(e),b=(e,t)=>null==e?void 0:e.get(t),h=(e,t,n)=>l(n)?(p(e,t),e):null==e?void 0:e.set(t,n),m=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a||h(e,t,n()),b(e,t)};var M=Object.defineProperty,w=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,S=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const P=f(),j=f();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],T=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>L(((e=[])=>i.fromEntries(e))(),e),x="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");f(a(x,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>a(e,(()=>o(256*n.random()))),E=(e=16)=>{return t=(e,t)=>e+x[63&t],D(new Uint8Array(e)).reduce(t,"");var t};var R=Object.defineProperty,V=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const B=(t,n,o)=>{const a=E(),i=new BroadcastChannel(n);return((t,n,o,a,i,s,u={})=>{let c,M=0,x=0;const D=f();o(((e,o,a,i)=>{x++,0==a?r(b(D,o),(([t,n])=>l(t)||t==e?n(i,e):0)):2==a&&U.isAutoLoading()?F(e,i).then((e=>{null==c||c(void 0,e)})):3==a&&U.isAutoLoading()?null==c||c(void 0,i):r(1==a&&U.isAutoSaving()?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(i):5==a?t.getMergeableRowDiff(i):6==a?t.getMergeableCellDiff(i):7==a?t.getMergeableValueDiff(i):void 0,(t=>{M++,n(e,o,0,t)}))}));const R=(t,o,...l)=>k(void 0,[t,o,...l],(function*(t,o,l=""){return new e(((e,r)=>{const a=E(),s=setTimeout((()=>{p(D,a),r(`No response from ${null!=t?t:"anyone"} to '${o}'`)}),1e3*i);h(D,a,[t,(t,n)=>{clearTimeout(s),p(D,a),e([t,n])}]),M++,n(t,a,o,l)}))})),B=(e,[t,n])=>{v(t,(([t,n],o)=>{const l=g(e[0],o,H);v(t,(([e,t],n)=>{const o=g(l[0],n,H);v(e,(([e,t],n)=>o[0][n]=L(e,t))),o[1]=T(o[1],t)})),l[1]=T(l[1],n)})),e[1]=T(e[1],n)},F=(e=null,n)=>k(void 0,null,(function*(){l(n)&&([n,e]=yield R(e,1));const[o,r]=n,[a,i]=t.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield R(e,4,t.getMergeableTableHashes()))[0];if(s=n,!y(o)){const[n,l]=(yield R(e,5,t.getMergeableRowHashes(o)))[0];if(B(s,n),!y(l)){const n=(yield R(e,6,t.getMergeableCellHashes(l)))[0];B(s,n)}}}return[s,i==r?H():(yield R(e,7,t.getMergeableValueHashes()))[0],1]})),U=((e,t,n,o,a,i,s,u={},c=[])=>{let v,g,p,f=0,M=0,L=0;m(P,c,(()=>0)),m(j,c,(()=>[]));const[T,H,x,D,E]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!y(e)||!y(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),R=t=>{var n;(T&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},V=e=>O(void 0,null,(function*(){return 2!=f&&(f=1,M++,yield k((()=>O(void 0,null,(function*(){try{R(yield t())}catch(t){null==i||i(t),e&&E(e)}f=0}))))),B})),z=()=>(g&&(a(g),g=void 0),B),I=e=>O(void 0,null,(function*(){return 1!=f&&(f=2,L++,yield k((()=>O(void 0,null,(function*(){try{yield n(H,e)}catch(e){null==i||i(e)}f=0}))))),B})),N=()=>(r(p,e.delListener),p=void 0,B),k=(...e)=>O(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(b(j,c),...e),yield O(void 0,null,(function*(){if(!b(P,c)){for(h(P,c,1);!l((e=b(j,c),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}h(P,c,0)}var e})),B})),B=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&S(e,n,t[n]);if(w)for(var n of w(t))C.call(t,n)&&S(e,n,t[n]);return e})({load:V,startAutoLoad:e=>O(void 0,null,(function*(){return yield z().load(e),g=o(((e,t)=>O(void 0,null,(function*(){t||e?2!=f&&(f=1,M++,R(null!=t?t:e),f=0):yield V()})))),B})),stopAutoLoad:z,isAutoLoading:()=>!l(g),save:I,startAutoSave:()=>O(void 0,null,(function*(){return yield N().save(),p=e.addDidFinishTransactionListener((()=>{const e=x();D(e)&&I(e)})),B})),stopAutoSave:N,isAutoSaving:()=>!l(p),schedule:k,getStore:()=>e,destroy:()=>z().stopAutoSave(),getStats:()=>({loads:M,saves:L})},u);return d(B)})(t,(()=>k(void 0,null,(function*(){const e=yield F();return y(e[0][0])&&y(e[1][0])?void 0:e}))),((e,o)=>k(void 0,null,(function*(){M++,o?n(null,null,3,o):n(null,null,2,t.getMergeableContentHashes())}))),(e=>c=e),(()=>c=void 0),s,2,((e,t)=>{for(var n in t||(t={}))z.call(t,n)&&N(e,n,t[n]);if(V)for(var n of V(t))I.call(t,n)&&N(e,n,t[n]);return e})({startSync:e=>k(void 0,null,(function*(){return yield(yield U.startAutoLoad(e)).startAutoSave()})),stopSync:()=>U.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),U.stopSync()),getSynchronizerStats:()=>({sends:M,receives:x})},u));return U})(t,((e,t,n,o)=>i.postMessage([a,e,t,n,o])),(e=>{i.onmessage=({data:[t,n,o,r,i]})=>l(n)||n==a?e(t,o,r,i):0}),(()=>{i.close()}),.01,o,{getChannelName:()=>n})};export{B as createBroadcastChannelSynchronizer};
@@ -0,0 +1 @@
1
+ const e=Promise,t=globalThis,n=Math,o=n.floor,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=(e,t)=>e.map(t),i=Object,s=e=>i.getPrototypeOf(e),u=i.entries,c=i.keys,d=i.freeze,v=(e,t)=>((e,t)=>e.forEach(t))(u(e),(([e,n])=>t(n,e))),y=e=>(e=>!l(e)&&r(s(e),(e=>e==i.prototype||l(s(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),g=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),p=(e,t)=>null==e?void 0:e.delete(t),f=e=>new Map(e),b=(e,t)=>null==e?void 0:e.get(t),h=(e,t,n)=>l(n)?(p(e,t),e):null==e?void 0:e.set(t,n),m=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a||h(e,t,n()),b(e,t)};var M=Object.defineProperty,w=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,S=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const P=f(),j=f();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],T=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>L(((e=[])=>i.fromEntries(e))(),e),x="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");f(a(x,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>a(e,(()=>o(256*n.random()))),E=(e=16)=>{return t=(e,t)=>e+x[63&t],D(new Uint8Array(e)).reduce(t,"");var t};var R=Object.defineProperty,V=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const B=(t,n,o)=>{const a=E(),i=new BroadcastChannel(n);return((t,n,o,a,i,s,u={})=>{let c,M=0,x=0;const D=f();o(((e,o,a,i)=>{x++,0==a?r(b(D,o),(([t,n])=>l(t)||t==e?n(i,e):0)):2==a&&U.isAutoLoading()?F(e,i).then((e=>{null==c||c(void 0,e)})):3==a&&U.isAutoLoading()?null==c||c(void 0,i):r(1==a&&U.isAutoSaving()?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(i):5==a?t.getMergeableRowDiff(i):6==a?t.getMergeableCellDiff(i):7==a?t.getMergeableValueDiff(i):void 0,(t=>{M++,n(e,o,0,t)}))}));const R=(t,o,...l)=>k(void 0,[t,o,...l],(function*(t,o,l=""){return new e(((e,r)=>{const a=E(),s=setTimeout((()=>{p(D,a),r(`No response from ${null!=t?t:"anyone"} to '${o}'`)}),1e3*i);h(D,a,[t,(t,n)=>{clearTimeout(s),p(D,a),e([t,n])}]),M++,n(t,a,o,l)}))})),B=(e,[t,n])=>{v(t,(([t,n],o)=>{const l=g(e[0],o,H);v(t,(([e,t],n)=>{const o=g(l[0],n,H);v(e,(([e,t],n)=>o[0][n]=L(e,t))),o[1]=T(o[1],t)})),l[1]=T(l[1],n)})),e[1]=T(e[1],n)},F=(e=null,n)=>k(void 0,null,(function*(){l(n)&&([n,e]=yield R(e,1));const[o,r]=n,[a,i]=t.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield R(e,4,t.getMergeableTableHashes()))[0];if(s=n,!y(o)){const[n,l]=(yield R(e,5,t.getMergeableRowHashes(o)))[0];if(B(s,n),!y(l)){const n=(yield R(e,6,t.getMergeableCellHashes(l)))[0];B(s,n)}}}return[s,i==r?H():(yield R(e,7,t.getMergeableValueHashes()))[0],1]})),U=((e,t,n,o,a,i,s,u={},c=[])=>{let v,g,p,f=0,M=0,L=0;m(P,c,(()=>0)),m(j,c,(()=>[]));const[T,H,x,D,E]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!y(e)||!y(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),R=t=>{var n;(T&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},V=e=>O(void 0,null,(function*(){return 2!=f&&(f=1,M++,yield k((()=>O(void 0,null,(function*(){try{R(yield t())}catch(t){null==i||i(t),e&&E(e)}f=0}))))),B})),z=()=>(g&&(a(g),g=void 0),B),I=e=>O(void 0,null,(function*(){return 1!=f&&(f=2,L++,yield k((()=>O(void 0,null,(function*(){try{yield n(H,e)}catch(e){null==i||i(e)}f=0}))))),B})),N=()=>(r(p,e.delListener),p=void 0,B),k=(...e)=>O(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(b(j,c),...e),yield O(void 0,null,(function*(){if(!b(P,c)){for(h(P,c,1);!l((e=b(j,c),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}h(P,c,0)}var e})),B})),B=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&S(e,n,t[n]);if(w)for(var n of w(t))C.call(t,n)&&S(e,n,t[n]);return e})({load:V,startAutoLoad:e=>O(void 0,null,(function*(){return yield z().load(e),g=o(((e,t)=>O(void 0,null,(function*(){t||e?2!=f&&(f=1,M++,R(null!=t?t:e),f=0):yield V()})))),B})),stopAutoLoad:z,isAutoLoading:()=>!l(g),save:I,startAutoSave:()=>O(void 0,null,(function*(){return yield N().save(),p=e.addDidFinishTransactionListener((()=>{const e=x();D(e)&&I(e)})),B})),stopAutoSave:N,isAutoSaving:()=>!l(p),schedule:k,getStore:()=>e,destroy:()=>z().stopAutoSave(),getStats:()=>({loads:M,saves:L})},u);return d(B)})(t,(()=>k(void 0,null,(function*(){const e=yield F();return y(e[0][0])&&y(e[1][0])?void 0:e}))),((e,o)=>k(void 0,null,(function*(){M++,o?n(null,null,3,o):n(null,null,2,t.getMergeableContentHashes())}))),(e=>c=e),(()=>c=void 0),s,2,((e,t)=>{for(var n in t||(t={}))z.call(t,n)&&N(e,n,t[n]);if(V)for(var n of V(t))I.call(t,n)&&N(e,n,t[n]);return e})({startSync:e=>k(void 0,null,(function*(){return yield(yield U.startAutoLoad(e)).startAutoSave()})),stopSync:()=>U.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),U.stopSync()),getSynchronizerStats:()=>({sends:M,receives:x})},u));return U})(t,((e,t,n,o)=>i.postMessage([a,e,t,n,o])),(e=>{i.onmessage=({data:[t,n,o,r,i]})=>l(n)||n==a?e(t,o,r,i):0}),(()=>{i.close()}),.01,o,{getChannelName:()=>n})};export{B as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,n=Math,o=n.floor,r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),i=t=>new e(t),s=(e,t)=>e.map(t),u=Object,c=e=>u.getPrototypeOf(e),d=u.entries,v=u.keys,y=u.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,n])=>t(n,e))),f=e=>(e=>!r(e)&&l(c(e),(e=>e==u.prototype||r(c(e))),(()=>!0)))(e)&&0==(e=>v(e).length)(e),p=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),h=(e,t)=>null==e?void 0:e.delete(t),b=e=>new Map(e),S=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>r(n)?(h(e,t),e):null==e?void 0:e.set(t,n),w=(e,t,n,o)=>{var r,l,a;return l=t,null!=(a=null==(r=e)?void 0:r.has(l))&&a||m(e,t,n()),S(e,t)};var M=Object.defineProperty,O=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,C=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const j=b(),x=b();new t.TextEncoder;const T=(e,t)=>t?[e,t]:[e],E=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>T(((e=[])=>u.fromEntries(e))(),e),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(s(D,((e,t)=>[e,t])));const N=t.crypto?e=>t.crypto.getRandomValues(e):e=>s(e,(()=>o(256*n.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const F=(e,t,n,o,a,s,u={})=>{let c,d=0,v=0;const M=b();n(((n,o,a,i)=>{v++,0==a?l(S(M,o),(([e,t])=>r(e)||e==n?t(i,n):0)):2==a&&W.isAutoLoading()?U(n,i).then((e=>{null==c||c(void 0,e)})):3==a&&W.isAutoLoading()?null==c||c(void 0,i):l(1==a&&W.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(i):5==a?e.getMergeableRowDiff(i):6==a?e.getMergeableCellDiff(i):7==a?e.getMergeableValueDiff(i):void 0,(e=>{d++,t(n,o,0,e)}))}));const R=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return i(((r,l)=>{const i=((e=16)=>{return t=(e,t)=>e+D[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{h(M,i),l(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*a);m(M,i,[e,(e,t)=>{clearTimeout(s),h(M,i),r([e,t])}]),d++,t(e,i,n,o)}))})),F=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=p(e[0],o,H);g(t,(([e,t],n)=>{const o=p(r[0],n,H);g(e,(([e,t],n)=>o[0][n]=T(e,t))),o[1]=E(o[1],t)})),r[1]=E(r[1],n)})),e[1]=E(e[1],n)},U=(t=null,n)=>J(void 0,null,(function*(){r(n)&&([n,t]=yield R(t,1));const[o,l]=n,[a,i]=e.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield R(t,4,e.getMergeableTableHashes()))[0];if(s=n,!f(o)){const[n,r]=(yield R(t,5,e.getMergeableRowHashes(o)))[0];if(F(s,n),!f(r)){const n=(yield R(t,6,e.getMergeableCellHashes(r)))[0];F(s,n)}}}return[s,i==l?H():(yield R(t,7,e.getMergeableValueHashes()))[0],1]})),W=((e,t,n,o,a,i,s,u={},c=[])=>{let d,v,g,p=0,h=0,b=0;w(j,c,(()=>0)),w(x,c,(()=>[]));const[M,T,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),N=t=>{var n;(M&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},R=e=>L(void 0,null,(function*(){return 2!=p&&(p=1,h++,yield I((()=>L(void 0,null,(function*(){try{N(yield t())}catch(t){null==i||i(t),e&&D(e)}p=0}))))),J})),V=()=>(v&&(a(v),v=void 0),J),k=e=>L(void 0,null,(function*(){return 1!=p&&(p=2,b++,yield I((()=>L(void 0,null,(function*(){try{yield n(T,e)}catch(e){null==i||i(e)}p=0}))))),J})),z=()=>(l(g,e.delListener),g=void 0,J),I=(...e)=>L(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S(x,c),...e),yield L(void 0,null,(function*(){if(!S(j,c)){for(m(j,c,1);!r((e=S(x,c),d=e.shift()));)try{yield d()}catch(e){null==i||i(e)}m(j,c,0)}var e})),J})),J=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&C(e,n,t[n]);if(O)for(var n of O(t))P.call(t,n)&&C(e,n,t[n]);return e})({load:R,startAutoLoad:e=>L(void 0,null,(function*(){return yield V().load(e),v=o(((e,t)=>L(void 0,null,(function*(){t||e?2!=p&&(p=1,h++,N(null!=t?t:e),p=0):yield R()})))),J})),stopAutoLoad:V,isAutoLoading:()=>!r(v),save:k,startAutoSave:()=>L(void 0,null,(function*(){return yield z().save(),g=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&k(e)})),J})),stopAutoSave:z,isAutoSaving:()=>!r(g),schedule:I,getStore:()=>e,destroy:()=>V().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return y(J)})(e,(()=>J(void 0,null,(function*(){const e=yield U();return f(e[0][0])&&f(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){d++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>c=e),(()=>c=void 0),s,2,((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))z.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield W.startAutoLoad(e)).startAutoSave()})),stopSync:()=>W.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),W.stopSync()),getSynchronizerStats:()=>({sends:d,receives:v})},u));return W},U=(e,t,n=1,o)=>{return l=function*(){let l;const s=(e,n)=>t.addEventListener(e,n),u=F(e,((e,...n)=>{t.send((null!=e?e:"")+"\n"+JSON.stringify(n,((e,t)=>void 0===t?"":t)))}),(e=>{l=e}),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return s("message",(({data:e})=>{if(!r(l)){const n=e.toString("utf8").indexOf("\n");-1!==n&&l(a(e,0,n),...(t=a(e,n+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),i(((e,n)=>{t.readyState!=t.OPEN?(s("error",n),s("open",(()=>e(u)))):e(u)}))},new Promise(((e,t)=>{var n=e=>{try{r(l.next(e))}catch(e){t(e)}},o=e=>{try{r(l.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);r((l=l.apply(void 0,null)).next())}));var l};export{U as createWsSynchronizer};
1
+ const e=Promise,t=globalThis,n=Math,o=n.floor,r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),i=t=>new e(t),s=(e,t)=>e.map(t),u=Object,c=e=>u.getPrototypeOf(e),d=u.entries,v=u.keys,y=u.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,n])=>t(n,e))),f=e=>(e=>!r(e)&&l(c(e),(e=>e==u.prototype||r(c(e))),(()=>!0)))(e)&&0==(e=>v(e).length)(e),p=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),h=(e,t)=>null==e?void 0:e.delete(t),b=e=>new Map(e),S=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>r(n)?(h(e,t),e):null==e?void 0:e.set(t,n),w=(e,t,n,o)=>{var r,l,a;return l=t,null!=(a=null==(r=e)?void 0:r.has(l))&&a||m(e,t,n()),S(e,t)};var M=Object.defineProperty,O=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,C=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const j=b(),x=b();new t.TextEncoder;const T=(e,t)=>t?[e,t]:[e],E=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>T(((e=[])=>u.fromEntries(e))(),e),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(s(D,((e,t)=>[e,t])));const N=t.crypto?e=>t.crypto.getRandomValues(e):e=>s(e,(()=>o(256*n.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const F=(e,t,n,o,a,s,u={})=>{let c,d=0,v=0;const M=b();n(((n,o,a,i)=>{v++,0==a?l(S(M,o),(([e,t])=>r(e)||e==n?t(i,n):0)):2==a&&W.isAutoLoading()?U(n,i).then((e=>{null==c||c(void 0,e)})):3==a&&W.isAutoLoading()?null==c||c(void 0,i):l(1==a&&W.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(i):5==a?e.getMergeableRowDiff(i):6==a?e.getMergeableCellDiff(i):7==a?e.getMergeableValueDiff(i):void 0,(e=>{d++,t(n,o,0,e)}))}));const R=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return i(((r,l)=>{const i=((e=16)=>{return t=(e,t)=>e+D[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{h(M,i),l(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*a);m(M,i,[e,(e,t)=>{clearTimeout(s),h(M,i),r([e,t])}]),d++,t(e,i,n,o)}))})),F=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=p(e[0],o,H);g(t,(([e,t],n)=>{const o=p(r[0],n,H);g(e,(([e,t],n)=>o[0][n]=T(e,t))),o[1]=E(o[1],t)})),r[1]=E(r[1],n)})),e[1]=E(e[1],n)},U=(t=null,n)=>J(void 0,null,(function*(){r(n)&&([n,t]=yield R(t,1));const[o,l]=n,[a,i]=e.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield R(t,4,e.getMergeableTableHashes()))[0];if(s=n,!f(o)){const[n,r]=(yield R(t,5,e.getMergeableRowHashes(o)))[0];if(F(s,n),!f(r)){const n=(yield R(t,6,e.getMergeableCellHashes(r)))[0];F(s,n)}}}return[s,i==l?H():(yield R(t,7,e.getMergeableValueHashes()))[0],1]})),W=((e,t,n,o,a,i,s,u={},c=[])=>{let d,v,g,p=0,h=0,b=0;w(j,c,(()=>0)),w(x,c,(()=>[]));const[M,T,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),N=t=>{var n;(M&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},R=e=>L(void 0,null,(function*(){return 2!=p&&(p=1,h++,yield I((()=>L(void 0,null,(function*(){try{N(yield t())}catch(t){null==i||i(t),e&&D(e)}p=0}))))),J})),V=()=>(v&&(a(v),v=void 0),J),k=e=>L(void 0,null,(function*(){return 1!=p&&(p=2,b++,yield I((()=>L(void 0,null,(function*(){try{yield n(T,e)}catch(e){null==i||i(e)}p=0}))))),J})),z=()=>(l(g,e.delListener),g=void 0,J),I=(...e)=>L(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S(x,c),...e),yield L(void 0,null,(function*(){if(!S(j,c)){for(m(j,c,1);!r((e=S(x,c),d=e.shift()));)try{yield d()}catch(e){null==i||i(e)}m(j,c,0)}var e})),J})),J=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&C(e,n,t[n]);if(O)for(var n of O(t))P.call(t,n)&&C(e,n,t[n]);return e})({load:R,startAutoLoad:e=>L(void 0,null,(function*(){return yield V().load(e),v=o(((e,t)=>L(void 0,null,(function*(){t||e?2!=p&&(p=1,h++,N(null!=t?t:e),p=0):yield R()})))),J})),stopAutoLoad:V,isAutoLoading:()=>!r(v),save:k,startAutoSave:()=>L(void 0,null,(function*(){return yield z().save(),g=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&k(e)})),J})),stopAutoSave:z,isAutoSaving:()=>!r(g),schedule:I,getStore:()=>e,destroy:()=>V().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return y(J)})(e,(()=>J(void 0,null,(function*(){const e=yield U();return f(e[0][0])&&f(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){d++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>c=e),(()=>c=void 0),s,2,((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))z.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield W.startAutoLoad(e)).startAutoSave()})),stopSync:()=>W.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),W.stopSync()),getSynchronizerStats:()=>({sends:d,receives:v})},u));return W},U=(e,t,n=1,o)=>{return r=function*(){const r=(e,n)=>t.addEventListener(e,n),l=F(e,((e,...n)=>t.send((null!=e?e:"")+"\n"+JSON.stringify(n,((e,t)=>void 0===t?"":t)))),(e=>r("message",(({data:t})=>{const n=t.toString("utf8").indexOf("\n");var o;-1!==n&&e(a(t,0,n),...(o=a(t,n+1),JSON.parse(o,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return i(((e,n)=>{t.readyState!=t.OPEN?(r("error",n),r("open",(()=>e(l)))):e(l)}))},new Promise(((e,t)=>{var n=e=>{try{l(r.next(e))}catch(e){t(e)}},o=e=>{try{l(r.throw(e))}catch(e){t(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);l((r=r.apply(void 0,null)).next())}));var r};export{U as createWsSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,n=Math,o=n.floor,r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),i=t=>new e(t),s=(e,t)=>e.map(t),u=Object,c=e=>u.getPrototypeOf(e),d=u.entries,v=u.keys,y=u.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,n])=>t(n,e))),f=e=>(e=>!r(e)&&l(c(e),(e=>e==u.prototype||r(c(e))),(()=>!0)))(e)&&0==(e=>v(e).length)(e),p=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),h=(e,t)=>null==e?void 0:e.delete(t),b=e=>new Map(e),S=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>r(n)?(h(e,t),e):null==e?void 0:e.set(t,n),w=(e,t,n,o)=>{var r,l,a;return l=t,null!=(a=null==(r=e)?void 0:r.has(l))&&a||m(e,t,n()),S(e,t)};var M=Object.defineProperty,O=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,C=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const j=b(),x=b();new t.TextEncoder;const T=(e,t)=>t?[e,t]:[e],E=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>T(((e=[])=>u.fromEntries(e))(),e),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(s(D,((e,t)=>[e,t])));const N=t.crypto?e=>t.crypto.getRandomValues(e):e=>s(e,(()=>o(256*n.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const F=(e,t,n,o,a,s,u={})=>{let c,d=0,v=0;const M=b();n(((n,o,a,i)=>{v++,0==a?l(S(M,o),(([e,t])=>r(e)||e==n?t(i,n):0)):2==a&&W.isAutoLoading()?U(n,i).then((e=>{null==c||c(void 0,e)})):3==a&&W.isAutoLoading()?null==c||c(void 0,i):l(1==a&&W.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(i):5==a?e.getMergeableRowDiff(i):6==a?e.getMergeableCellDiff(i):7==a?e.getMergeableValueDiff(i):void 0,(e=>{d++,t(n,o,0,e)}))}));const R=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return i(((r,l)=>{const i=((e=16)=>{return t=(e,t)=>e+D[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{h(M,i),l(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*a);m(M,i,[e,(e,t)=>{clearTimeout(s),h(M,i),r([e,t])}]),d++,t(e,i,n,o)}))})),F=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=p(e[0],o,H);g(t,(([e,t],n)=>{const o=p(r[0],n,H);g(e,(([e,t],n)=>o[0][n]=T(e,t))),o[1]=E(o[1],t)})),r[1]=E(r[1],n)})),e[1]=E(e[1],n)},U=(t=null,n)=>J(void 0,null,(function*(){r(n)&&([n,t]=yield R(t,1));const[o,l]=n,[a,i]=e.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield R(t,4,e.getMergeableTableHashes()))[0];if(s=n,!f(o)){const[n,r]=(yield R(t,5,e.getMergeableRowHashes(o)))[0];if(F(s,n),!f(r)){const n=(yield R(t,6,e.getMergeableCellHashes(r)))[0];F(s,n)}}}return[s,i==l?H():(yield R(t,7,e.getMergeableValueHashes()))[0],1]})),W=((e,t,n,o,a,i,s,u={},c=[])=>{let d,v,g,p=0,h=0,b=0;w(j,c,(()=>0)),w(x,c,(()=>[]));const[M,T,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),N=t=>{var n;(M&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},R=e=>L(void 0,null,(function*(){return 2!=p&&(p=1,h++,yield I((()=>L(void 0,null,(function*(){try{N(yield t())}catch(t){null==i||i(t),e&&D(e)}p=0}))))),J})),V=()=>(v&&(a(v),v=void 0),J),k=e=>L(void 0,null,(function*(){return 1!=p&&(p=2,b++,yield I((()=>L(void 0,null,(function*(){try{yield n(T,e)}catch(e){null==i||i(e)}p=0}))))),J})),z=()=>(l(g,e.delListener),g=void 0,J),I=(...e)=>L(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S(x,c),...e),yield L(void 0,null,(function*(){if(!S(j,c)){for(m(j,c,1);!r((e=S(x,c),d=e.shift()));)try{yield d()}catch(e){null==i||i(e)}m(j,c,0)}var e})),J})),J=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&C(e,n,t[n]);if(O)for(var n of O(t))P.call(t,n)&&C(e,n,t[n]);return e})({load:R,startAutoLoad:e=>L(void 0,null,(function*(){return yield V().load(e),v=o(((e,t)=>L(void 0,null,(function*(){t||e?2!=p&&(p=1,h++,N(null!=t?t:e),p=0):yield R()})))),J})),stopAutoLoad:V,isAutoLoading:()=>!r(v),save:k,startAutoSave:()=>L(void 0,null,(function*(){return yield z().save(),g=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&k(e)})),J})),stopAutoSave:z,isAutoSaving:()=>!r(g),schedule:I,getStore:()=>e,destroy:()=>V().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return y(J)})(e,(()=>J(void 0,null,(function*(){const e=yield U();return f(e[0][0])&&f(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){d++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>c=e),(()=>c=void 0),s,2,((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))z.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield W.startAutoLoad(e)).startAutoSave()})),stopSync:()=>W.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),W.stopSync()),getSynchronizerStats:()=>({sends:d,receives:v})},u));return W},U=(e,t,n=1,o)=>{return l=function*(){let l;const s=(e,n)=>t.addEventListener(e,n),u=F(e,((e,...n)=>{t.send((null!=e?e:"")+"\n"+JSON.stringify(n,((e,t)=>void 0===t?"":t)))}),(e=>{l=e}),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return s("message",(({data:e})=>{if(!r(l)){const n=e.toString("utf8").indexOf("\n");-1!==n&&l(a(e,0,n),...(t=a(e,n+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),i(((e,n)=>{t.readyState!=t.OPEN?(s("error",n),s("open",(()=>e(u)))):e(u)}))},new Promise(((e,t)=>{var n=e=>{try{r(l.next(e))}catch(e){t(e)}},o=e=>{try{r(l.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);r((l=l.apply(void 0,null)).next())}));var l};export{U as createWsSynchronizer};
1
+ const e=Promise,t=globalThis,n=Math,o=n.floor,r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),i=t=>new e(t),s=(e,t)=>e.map(t),u=Object,c=e=>u.getPrototypeOf(e),d=u.entries,v=u.keys,y=u.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,n])=>t(n,e))),f=e=>(e=>!r(e)&&l(c(e),(e=>e==u.prototype||r(c(e))),(()=>!0)))(e)&&0==(e=>v(e).length)(e),p=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),h=(e,t)=>null==e?void 0:e.delete(t),b=e=>new Map(e),S=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>r(n)?(h(e,t),e):null==e?void 0:e.set(t,n),w=(e,t,n,o)=>{var r,l,a;return l=t,null!=(a=null==(r=e)?void 0:r.has(l))&&a||m(e,t,n()),S(e,t)};var M=Object.defineProperty,O=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,C=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const j=b(),x=b();new t.TextEncoder;const T=(e,t)=>t?[e,t]:[e],E=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>T(((e=[])=>u.fromEntries(e))(),e),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(s(D,((e,t)=>[e,t])));const N=t.crypto?e=>t.crypto.getRandomValues(e):e=>s(e,(()=>o(256*n.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},a=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,a);i((n=n.apply(e,t)).next())}));const F=(e,t,n,o,a,s,u={})=>{let c,d=0,v=0;const M=b();n(((n,o,a,i)=>{v++,0==a?l(S(M,o),(([e,t])=>r(e)||e==n?t(i,n):0)):2==a&&W.isAutoLoading()?U(n,i).then((e=>{null==c||c(void 0,e)})):3==a&&W.isAutoLoading()?null==c||c(void 0,i):l(1==a&&W.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(i):5==a?e.getMergeableRowDiff(i):6==a?e.getMergeableCellDiff(i):7==a?e.getMergeableValueDiff(i):void 0,(e=>{d++,t(n,o,0,e)}))}));const R=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return i(((r,l)=>{const i=((e=16)=>{return t=(e,t)=>e+D[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{h(M,i),l(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*a);m(M,i,[e,(e,t)=>{clearTimeout(s),h(M,i),r([e,t])}]),d++,t(e,i,n,o)}))})),F=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=p(e[0],o,H);g(t,(([e,t],n)=>{const o=p(r[0],n,H);g(e,(([e,t],n)=>o[0][n]=T(e,t))),o[1]=E(o[1],t)})),r[1]=E(r[1],n)})),e[1]=E(e[1],n)},U=(t=null,n)=>J(void 0,null,(function*(){r(n)&&([n,t]=yield R(t,1));const[o,l]=n,[a,i]=e.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield R(t,4,e.getMergeableTableHashes()))[0];if(s=n,!f(o)){const[n,r]=(yield R(t,5,e.getMergeableRowHashes(o)))[0];if(F(s,n),!f(r)){const n=(yield R(t,6,e.getMergeableCellHashes(r)))[0];F(s,n)}}}return[s,i==l?H():(yield R(t,7,e.getMergeableValueHashes()))[0],1]})),W=((e,t,n,o,a,i,s,u={},c=[])=>{let d,v,g,p=0,h=0,b=0;w(j,c,(()=>0)),w(x,c,(()=>[]));const[M,T,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),N=t=>{var n;(M&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},R=e=>L(void 0,null,(function*(){return 2!=p&&(p=1,h++,yield I((()=>L(void 0,null,(function*(){try{N(yield t())}catch(t){null==i||i(t),e&&D(e)}p=0}))))),J})),V=()=>(v&&(a(v),v=void 0),J),k=e=>L(void 0,null,(function*(){return 1!=p&&(p=2,b++,yield I((()=>L(void 0,null,(function*(){try{yield n(T,e)}catch(e){null==i||i(e)}p=0}))))),J})),z=()=>(l(g,e.delListener),g=void 0,J),I=(...e)=>L(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S(x,c),...e),yield L(void 0,null,(function*(){if(!S(j,c)){for(m(j,c,1);!r((e=S(x,c),d=e.shift()));)try{yield d()}catch(e){null==i||i(e)}m(j,c,0)}var e})),J})),J=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&C(e,n,t[n]);if(O)for(var n of O(t))P.call(t,n)&&C(e,n,t[n]);return e})({load:R,startAutoLoad:e=>L(void 0,null,(function*(){return yield V().load(e),v=o(((e,t)=>L(void 0,null,(function*(){t||e?2!=p&&(p=1,h++,N(null!=t?t:e),p=0):yield R()})))),J})),stopAutoLoad:V,isAutoLoading:()=>!r(v),save:k,startAutoSave:()=>L(void 0,null,(function*(){return yield z().save(),g=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&k(e)})),J})),stopAutoSave:z,isAutoSaving:()=>!r(g),schedule:I,getStore:()=>e,destroy:()=>V().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return y(J)})(e,(()=>J(void 0,null,(function*(){const e=yield U();return f(e[0][0])&&f(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){d++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>c=e),(()=>c=void 0),s,2,((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))z.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield W.startAutoLoad(e)).startAutoSave()})),stopSync:()=>W.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),W.stopSync()),getSynchronizerStats:()=>({sends:d,receives:v})},u));return W},U=(e,t,n=1,o)=>{return r=function*(){const r=(e,n)=>t.addEventListener(e,n),l=F(e,((e,...n)=>t.send((null!=e?e:"")+"\n"+JSON.stringify(n,((e,t)=>void 0===t?"":t)))),(e=>r("message",(({data:t})=>{const n=t.toString("utf8").indexOf("\n");var o;-1!==n&&e(a(t,0,n),...(o=a(t,n+1),JSON.parse(o,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return i(((e,n)=>{t.readyState!=t.OPEN?(r("error",n),r("open",(()=>e(l)))):e(l)}))},new Promise(((e,t)=>{var n=e=>{try{l(r.next(e))}catch(e){t(e)}},o=e=>{try{l(r.throw(e))}catch(e){t(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);l((r=r.apply(void 0,null)).next())}));var r};export{U as createWsSynchronizer};
@@ -408,7 +408,7 @@ const Message = {
408
408
  const createCustomSynchronizer = (
409
409
  store,
410
410
  send,
411
- onReceive,
411
+ registerReceive,
412
412
  destroyImpl,
413
413
  requestTimeoutSeconds,
414
414
  onIgnoredError,
@@ -418,7 +418,7 @@ const createCustomSynchronizer = (
418
418
  let sends = 0;
419
419
  let receives = 0;
420
420
  const pendingRequests = mapNew();
421
- onReceive((fromClientId, requestId, message, body) => {
421
+ registerReceive((fromClientId, requestId, message, body) => {
422
422
  receives++;
423
423
  if (message == Message.Response) {
424
424
  ifNotUndefined(