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
@@ -294,7 +294,7 @@ const Message = {
294
294
  const createCustomSynchronizer = (
295
295
  store,
296
296
  send,
297
- onReceive,
297
+ registerReceive,
298
298
  destroyImpl,
299
299
  requestTimeoutSeconds,
300
300
  onIgnoredError,
@@ -304,7 +304,7 @@ const createCustomSynchronizer = (
304
304
  let sends = 0;
305
305
  let receives = 0;
306
306
  const pendingRequests = mapNew();
307
- onReceive((fromClientId, requestId, message, body) => {
307
+ registerReceive((fromClientId, requestId, message, body) => {
308
308
  receives++;
309
309
  if (message == Message.Response) {
310
310
  ifNotUndefined(
@@ -480,43 +480,37 @@ const createWsSynchronizer = async (
480
480
  requestTimeoutSeconds = 1,
481
481
  onIgnoredError,
482
482
  ) => {
483
- let currentReceive;
484
483
  const addEventListener = (event, handler) =>
485
484
  webSocket.addEventListener(event, handler);
486
- const onReceive = (receive) => {
487
- currentReceive = receive;
488
- };
489
- const send = (toClientId, ...args) => {
485
+ const registerReceive = (receive) =>
486
+ addEventListener('message', ({data}) => {
487
+ const payload = data.toString(UTF8);
488
+ const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
489
+ if (splitAt !== -1) {
490
+ receive(
491
+ slice(data, 0, splitAt),
492
+ ...jsonParseWithUndefined(slice(data, splitAt + 1)),
493
+ );
494
+ }
495
+ });
496
+ const send = (toClientId, ...args) =>
490
497
  webSocket.send(
491
498
  (toClientId ?? EMPTY_STRING) +
492
499
  MESSAGE_SEPARATOR +
493
500
  jsonStringWithUndefined(args),
494
501
  );
495
- };
496
502
  const destroy = () => {
497
503
  webSocket.close();
498
504
  };
499
505
  const synchronizer = createCustomSynchronizer(
500
506
  store,
501
507
  send,
502
- onReceive,
508
+ registerReceive,
503
509
  destroy,
504
510
  requestTimeoutSeconds,
505
511
  onIgnoredError,
506
512
  {getWebSocket: () => webSocket},
507
513
  );
508
- addEventListener('message', ({data}) => {
509
- if (!isUndefined(currentReceive)) {
510
- const payload = data.toString(UTF8);
511
- const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
512
- if (splitAt !== -1) {
513
- currentReceive(
514
- slice(data, 0, splitAt),
515
- ...jsonParseWithUndefined(slice(data, splitAt + 1)),
516
- );
517
- }
518
- }
519
- });
520
514
  return promiseNew((resolve, reject) => {
521
515
  if (webSocket.readyState != webSocket.OPEN) {
522
516
  addEventListener('error', reject);
@@ -284,7 +284,7 @@ const Message = {
284
284
  const createCustomSynchronizer = (
285
285
  store,
286
286
  send,
287
- onReceive,
287
+ registerReceive,
288
288
  destroyImpl,
289
289
  requestTimeoutSeconds,
290
290
  onIgnoredError,
@@ -294,7 +294,7 @@ const createCustomSynchronizer = (
294
294
  let sends = 0;
295
295
  let receives = 0;
296
296
  const pendingRequests = mapNew();
297
- onReceive((fromClientId, requestId, message, body) => {
297
+ registerReceive((fromClientId, requestId, message, body) => {
298
298
  receives++;
299
299
  if (message == Message.Response) {
300
300
  ifNotUndefined(
package/umd/es6/index.js CHANGED
@@ -1605,7 +1605,7 @@
1605
1605
  const createCustomSynchronizer = (
1606
1606
  store,
1607
1607
  send,
1608
- onReceive,
1608
+ registerReceive,
1609
1609
  destroyImpl,
1610
1610
  requestTimeoutSeconds,
1611
1611
  onIgnoredError,
@@ -1615,7 +1615,7 @@
1615
1615
  let sends = 0;
1616
1616
  let receives = 0;
1617
1617
  const pendingRequests = mapNew();
1618
- onReceive((fromClientId, requestId, message, body) => {
1618
+ registerReceive((fromClientId, requestId, message, body) => {
1619
1619
  receives++;
1620
1620
  if (message == Message.Response) {
1621
1621
  ifNotUndefined(
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,n=globalThis,o=Math,l=o.floor,r=e=>null==e,a=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=(e,t)=>e.map(t),s=Object,u=e=>s.getPrototypeOf(e),d=s.entries,c=s.keys,y=s.freeze,v=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,n])=>t(n,e))),f=e=>(e=>!r(e)&&a(u(e),(e=>e==s.prototype||r(u(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),h=e=>new Map(e),b=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>r(n)?(p(e,t),e):null==e?void 0:e.set(t,n),C=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a||m(e,t,n()),b(e,t)};var M=Object.defineProperty,S=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,O=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,P=(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 T=h(),j=h();new n.TextEncoder;const L=(e,t)=>t?[e,t]:[e],x=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>L(((e=[])=>s.fromEntries(e))(),e),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");h(i(D,((e,t)=>[e,t])));const E=n.crypto?e=>n.crypto.getRandomValues(e):e=>i(e,(()=>l(256*o.random()))),z=(e=16)=>{return t=(e,t)=>e+D[63&t],E(new Uint8Array(e)).reduce(t,"");var t};var B=Object.defineProperty,R=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?B(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())}));e.createBroadcastChannelSynchronizer=(e,n,o)=>{const l=z(),i=new BroadcastChannel(n);return((e,n,o,l,i,s,u={})=>{let d,c=0,M=0;const D=h();o(((t,o,l,i)=>{M++,0==l?a(b(D,o),(([e,n])=>r(e)||e==t?n(i,t):0)):2==l&&U.isAutoLoading()?F(t,i).then((e=>{null==d||d(void 0,e)})):3==l&&U.isAutoLoading()?null==d||d(void 0,i):a(1==l&&U.isAutoSaving()?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(i):5==l?e.getMergeableRowDiff(i):6==l?e.getMergeableCellDiff(i):7==l?e.getMergeableValueDiff(i):void 0,(e=>{c++,n(t,o,0,e)}))}));const E=(e,o,...l)=>k(void 0,[e,o,...l],(function*(e,o,l=""){return new t(((t,r)=>{const a=z(),s=setTimeout((()=>{p(D,a),r(`No response from ${null!=e?e:"anyone"} to '${o}'`)}),1e3*i);m(D,a,[e,(e,n)=>{clearTimeout(s),p(D,a),t([e,n])}]),c++,n(e,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]=x(o[1],t)})),l[1]=x(l[1],n)})),e[1]=x(e[1],n)},F=(t=null,n)=>k(void 0,null,(function*(){r(n)&&([n,t]=yield E(t,1));const[o,l]=n,[a,i]=e.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield E(t,4,e.getMergeableTableHashes()))[0];if(s=n,!f(o)){const[n,l]=(yield E(t,5,e.getMergeableRowHashes(o)))[0];if(B(s,n),!f(l)){const n=(yield E(t,6,e.getMergeableCellHashes(l)))[0];B(s,n)}}}return[s,i==l?H():(yield E(t,7,e.getMergeableValueHashes()))[0],1]})),U=((e,t,n,o,l,i,s,u={},d=[])=>{let c,v,g,p=0,h=0,M=0;C(T,d,(()=>0)),C(j,d,(()=>[]));const[L,x,H,D,E]=((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),z=t=>{var n;(L&&(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)},B=e=>P(void 0,null,(function*(){return 2!=p&&(p=1,h++,yield N((()=>P(void 0,null,(function*(){try{z(yield t())}catch(t){null==i||i(t),e&&E(e)}p=0}))))),k})),R=()=>(v&&(l(v),v=void 0),k),V=e=>P(void 0,null,(function*(){return 1!=p&&(p=2,M++,yield N((()=>P(void 0,null,(function*(){try{yield n(x,e)}catch(e){null==i||i(e)}p=0}))))),k})),I=()=>(a(g,e.delListener),g=void 0,k),N=(...e)=>P(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(b(j,d),...e),yield P(void 0,null,(function*(){if(!b(T,d)){for(m(T,d,1);!r((e=b(j,d),c=e.shift()));)try{yield c()}catch(e){null==i||i(e)}m(T,d,0)}var e})),k})),k=((e,t)=>{for(var n in t||(t={}))w.call(t,n)&&O(e,n,t[n]);if(S)for(var n of S(t))A.call(t,n)&&O(e,n,t[n]);return e})({load:B,startAutoLoad:e=>P(void 0,null,(function*(){return yield R().load(e),v=o(((e,t)=>P(void 0,null,(function*(){t||e?2!=p&&(p=1,h++,z(null!=t?t:e),p=0):yield B()})))),k})),stopAutoLoad:R,isAutoLoading:()=>!r(v),save:V,startAutoSave:()=>P(void 0,null,(function*(){return yield I().save(),g=e.addDidFinishTransactionListener((()=>{const e=H();D(e)&&V(e)})),k})),stopAutoSave:I,isAutoSaving:()=>!r(g),schedule:N,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:h,saves:M})},u);return y(k)})(e,(()=>k(void 0,null,(function*(){const e=yield F();return f(e[0][0])&&f(e[1][0])?void 0:e}))),((t,o)=>k(void 0,null,(function*(){c++,o?n(null,null,3,o):n(null,null,2,e.getMergeableContentHashes())}))),(e=>d=e),(()=>d=void 0),s,2,((e,t)=>{for(var n in t||(t={}))V.call(t,n)&&N(e,n,t[n]);if(R)for(var n of R(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:()=>(l(),U.stopSync()),getSynchronizerStats:()=>({sends:c,receives:M})},u));return U})(e,((e,t,n,o)=>i.postMessage([l,e,t,n,o])),(e=>{i.onmessage=({data:[t,n,o,a,i]})=>r(n)||n==l?e(t,o,a,i):0}),(()=>{i.close()}),.01,o,{getChannelName:()=>n})}},"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={});
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,n=globalThis,o=Math,l=o.floor,r=e=>null==e,a=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=(e,t)=>e.map(t),s=Object,u=e=>s.getPrototypeOf(e),d=s.entries,c=s.keys,y=s.freeze,v=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,n])=>t(n,e))),f=e=>(e=>!r(e)&&a(u(e),(e=>e==s.prototype||r(u(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),h=e=>new Map(e),b=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>r(n)?(p(e,t),e):null==e?void 0:e.set(t,n),C=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a||m(e,t,n()),b(e,t)};var M=Object.defineProperty,S=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable,O=(e,t,n)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,P=(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 T=h(),j=h();new n.TextEncoder;const L=(e,t)=>t?[e,t]:[e],x=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},H=(e="")=>L(((e=[])=>s.fromEntries(e))(),e),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");h(i(D,((e,t)=>[e,t])));const E=n.crypto?e=>n.crypto.getRandomValues(e):e=>i(e,(()=>l(256*o.random()))),z=(e=16)=>{return t=(e,t)=>e+D[63&t],E(new Uint8Array(e)).reduce(t,"");var t};var B=Object.defineProperty,R=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?B(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())}));e.createBroadcastChannelSynchronizer=(e,n,o)=>{const l=z(),i=new BroadcastChannel(n);return((e,n,o,l,i,s,u={})=>{let d,c=0,M=0;const D=h();o(((t,o,l,i)=>{M++,0==l?a(b(D,o),(([e,n])=>r(e)||e==t?n(i,t):0)):2==l&&U.isAutoLoading()?F(t,i).then((e=>{null==d||d(void 0,e)})):3==l&&U.isAutoLoading()?null==d||d(void 0,i):a(1==l&&U.isAutoSaving()?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(i):5==l?e.getMergeableRowDiff(i):6==l?e.getMergeableCellDiff(i):7==l?e.getMergeableValueDiff(i):void 0,(e=>{c++,n(t,o,0,e)}))}));const E=(e,o,...l)=>k(void 0,[e,o,...l],(function*(e,o,l=""){return new t(((t,r)=>{const a=z(),s=setTimeout((()=>{p(D,a),r(`No response from ${null!=e?e:"anyone"} to '${o}'`)}),1e3*i);m(D,a,[e,(e,n)=>{clearTimeout(s),p(D,a),t([e,n])}]),c++,n(e,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]=x(o[1],t)})),l[1]=x(l[1],n)})),e[1]=x(e[1],n)},F=(t=null,n)=>k(void 0,null,(function*(){r(n)&&([n,t]=yield E(t,1));const[o,l]=n,[a,i]=e.getMergeableContentHashes();let s=H();if(a!=o){const[n,o]=(yield E(t,4,e.getMergeableTableHashes()))[0];if(s=n,!f(o)){const[n,l]=(yield E(t,5,e.getMergeableRowHashes(o)))[0];if(B(s,n),!f(l)){const n=(yield E(t,6,e.getMergeableCellHashes(l)))[0];B(s,n)}}}return[s,i==l?H():(yield E(t,7,e.getMergeableValueHashes()))[0],1]})),U=((e,t,n,o,l,i,s,u={},d=[])=>{let c,v,g,p=0,h=0,M=0;C(T,d,(()=>0)),C(j,d,(()=>[]));const[L,x,H,D,E]=((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),z=t=>{var n;(L&&(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)},B=e=>P(void 0,null,(function*(){return 2!=p&&(p=1,h++,yield N((()=>P(void 0,null,(function*(){try{z(yield t())}catch(t){null==i||i(t),e&&E(e)}p=0}))))),k})),R=()=>(v&&(l(v),v=void 0),k),V=e=>P(void 0,null,(function*(){return 1!=p&&(p=2,M++,yield N((()=>P(void 0,null,(function*(){try{yield n(x,e)}catch(e){null==i||i(e)}p=0}))))),k})),I=()=>(a(g,e.delListener),g=void 0,k),N=(...e)=>P(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(b(j,d),...e),yield P(void 0,null,(function*(){if(!b(T,d)){for(m(T,d,1);!r((e=b(j,d),c=e.shift()));)try{yield c()}catch(e){null==i||i(e)}m(T,d,0)}var e})),k})),k=((e,t)=>{for(var n in t||(t={}))w.call(t,n)&&O(e,n,t[n]);if(S)for(var n of S(t))A.call(t,n)&&O(e,n,t[n]);return e})({load:B,startAutoLoad:e=>P(void 0,null,(function*(){return yield R().load(e),v=o(((e,t)=>P(void 0,null,(function*(){t||e?2!=p&&(p=1,h++,z(null!=t?t:e),p=0):yield B()})))),k})),stopAutoLoad:R,isAutoLoading:()=>!r(v),save:V,startAutoSave:()=>P(void 0,null,(function*(){return yield I().save(),g=e.addDidFinishTransactionListener((()=>{const e=H();D(e)&&V(e)})),k})),stopAutoSave:I,isAutoSaving:()=>!r(g),schedule:N,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:h,saves:M})},u);return y(k)})(e,(()=>k(void 0,null,(function*(){const e=yield F();return f(e[0][0])&&f(e[1][0])?void 0:e}))),((t,o)=>k(void 0,null,(function*(){c++,o?n(null,null,3,o):n(null,null,2,e.getMergeableContentHashes())}))),(e=>d=e),(()=>d=void 0),s,2,((e,t)=>{for(var n in t||(t={}))V.call(t,n)&&N(e,n,t[n]);if(R)for(var n of R(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:()=>(l(),U.stopSync()),getSynchronizerStats:()=>({sends:c,receives:M})},u));return U})(e,((e,t,n,o)=>i.postMessage([l,e,t,n,o])),(e=>{i.onmessage=({data:[t,n,o,a,i]})=>r(n)||n==l?e(t,o,a,i):0}),(()=>{i.close()}),.01,o,{getChannelName:()=>n})}},"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=Promise,n=globalThis,o=Math,r=o.floor,l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),s=e=>new t(e),u=(e,t)=>e.map(t),d=Object,c=e=>d.getPrototypeOf(e),v=d.entries,y=d.keys,f=d.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(v(e),(([e,n])=>t(n,e))),p=e=>(e=>!l(e)&&i(c(e),(e=>e==d.prototype||l(c(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),h=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),b=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),w=(e,t,n)=>l(n)?(b(e,t),e):null==e?void 0:e.set(t,n),M=(e,t,n,o)=>{var r,l,i;return l=t,null!=(i=null==(r=e)?void 0:r.has(l))&&i||w(e,t,n()),m(e,t)};var O=Object.defineProperty,A=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);a((n=n.apply(e,t)).next())}));const j=S(),L=S();new n.TextEncoder;const E=(e,t)=>t?[e,t]:[e],H=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},D=(e="")=>E(((e=[])=>d.fromEntries(e))(),e),z="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");S(u(z,((e,t)=>[e,t])));const N=n.crypto?e=>n.crypto.getRandomValues(e):e=>u(e,(()=>r(256*o.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,k=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{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);a((n=n.apply(e,t)).next())}));const B=(e,t,n,o,r,a,u={})=>{let d,c=0,v=0;const y=S();n(((n,o,r,a)=>{v++,0==r?i(m(y,o),(([e,t])=>l(e)||e==n?t(a,n):0)):2==r&&F.isAutoLoading()?B(n,a).then((e=>{null==d||d(void 0,e)})):3==r&&F.isAutoLoading()?null==d||d(void 0,a):i(1==r&&F.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(a):5==r?e.getMergeableRowDiff(a):6==r?e.getMergeableCellDiff(a):7==r?e.getMergeableValueDiff(a):void 0,(e=>{c++,t(n,o,0,e)}))}));const O=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return s(((l,i)=>{const a=((e=16)=>{return t=(e,t)=>e+z[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{b(y,a),i(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*r);w(y,a,[e,(e,t)=>{clearTimeout(s),b(y,a),l([e,t])}]),c++,t(e,a,n,o)}))})),R=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=h(e[0],o,D);g(t,(([e,t],n)=>{const o=h(r[0],n,D);g(e,(([e,t],n)=>o[0][n]=E(e,t))),o[1]=H(o[1],t)})),r[1]=H(r[1],n)})),e[1]=H(e[1],n)},B=(t=null,n)=>J(void 0,null,(function*(){l(n)&&([n,t]=yield O(t,1));const[o,r]=n,[i,a]=e.getMergeableContentHashes();let s=D();if(i!=o){const[n,o]=(yield O(t,4,e.getMergeableTableHashes()))[0];if(s=n,!p(o)){const[n,r]=(yield O(t,5,e.getMergeableRowHashes(o)))[0];if(R(s,n),!p(r)){const n=(yield O(t,6,e.getMergeableCellHashes(r)))[0];R(s,n)}}}return[s,a==r?D():(yield O(t,7,e.getMergeableValueHashes()))[0],1]})),F=((e,t,n,o,r,a,s,u={},d=[])=>{let c,v,y,g=0,h=0,b=0;M(j,d,(()=>0)),M(L,d,(()=>[]));const[S,O,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),z=t=>{var n;(S&&(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)},N=e=>x(void 0,null,(function*(){return 2!=g&&(g=1,h++,yield k((()=>x(void 0,null,(function*(){try{z(yield t())}catch(t){null==a||a(t),e&&D(e)}g=0}))))),I})),R=()=>(v&&(r(v),v=void 0),I),V=e=>x(void 0,null,(function*(){return 1!=g&&(g=2,b++,yield k((()=>x(void 0,null,(function*(){try{yield n(O,e)}catch(e){null==a||a(e)}g=0}))))),I})),W=()=>(i(y,e.delListener),y=void 0,I),k=(...e)=>x(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(m(L,d),...e),yield x(void 0,null,(function*(){if(!m(j,d)){for(w(j,d,1);!l((e=m(L,d),c=e.shift()));)try{yield c()}catch(e){null==a||a(e)}w(j,d,0)}var e})),I})),I=((e,t)=>{for(var n in t||(t={}))C.call(t,n)&&T(e,n,t[n]);if(A)for(var n of A(t))P.call(t,n)&&T(e,n,t[n]);return e})({load:N,startAutoLoad:e=>x(void 0,null,(function*(){return yield R().load(e),v=o(((e,t)=>x(void 0,null,(function*(){t||e?2!=g&&(g=1,h++,z(null!=t?t:e),g=0):yield N()})))),I})),stopAutoLoad:R,isAutoLoading:()=>!l(v),save:V,startAutoSave:()=>x(void 0,null,(function*(){return yield W().save(),y=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&V(e)})),I})),stopAutoSave:W,isAutoSaving:()=>!l(y),schedule:k,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return f(I)})(e,(()=>J(void 0,null,(function*(){const e=yield B();return p(e[0][0])&&p(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){c++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>d=e),(()=>d=void 0),a,2,((e,t)=>{for(var n in t||(t={}))W.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))k.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield F.startAutoLoad(e)).startAutoSave()})),stopSync:()=>F.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),F.stopSync()),getSynchronizerStats:()=>({sends:c,receives:v})},u));return F};e.createWsSynchronizer=(e,t,n=1,o)=>{return r=function*(){let r;const i=(e,n)=>t.addEventListener(e,n),u=B(e,((e,...n)=>{t.send((null!=e?e:"")+"\n"+JSON.stringify(n,((e,t)=>void 0===t?"":t)))}),(e=>{r=e}),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return i("message",(({data:e})=>{if(!l(r)){const n=e.toString("utf8").indexOf("\n");-1!==n&&r(a(e,0,n),...(t=a(e,n+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),s(((e,n)=>{t.readyState!=t.OPEN?(i("error",n),i("open",(()=>e(u)))):e(u)}))},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}},"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=Promise,n=globalThis,o=Math,r=o.floor,l=e=>null==e,a=(e,t,n)=>l(e)?null==n?void 0:n():t(e),i=(e,t,n)=>e.slice(t,n),s=e=>new t(e),u=(e,t)=>e.map(t),d=Object,c=e=>d.getPrototypeOf(e),v=d.entries,y=d.keys,f=d.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(v(e),(([e,n])=>t(n,e))),p=e=>(e=>!l(e)&&a(c(e),(e=>e==d.prototype||l(c(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),h=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),b=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),w=(e,t,n)=>l(n)?(b(e,t),e):null==e?void 0:e.set(t,n),M=(e,t,n,o)=>{var r,l,a;return l=t,null!=(a=null==(r=e)?void 0:r.has(l))&&a||w(e,t,n()),m(e,t)};var O=Object.defineProperty,A=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(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=S(),L=S();new n.TextEncoder;const E=(e,t)=>t?[e,t]:[e],H=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},D=(e="")=>E(((e=[])=>d.fromEntries(e))(),e),z="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");S(u(z,((e,t)=>[e,t])));const N=n.crypto?e=>n.crypto.getRandomValues(e):e=>u(e,(()=>r(256*o.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,k=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 B=(e,t,n,o,r,i,u={})=>{let d,c=0,v=0;const y=S();n(((n,o,r,i)=>{v++,0==r?a(m(y,o),(([e,t])=>l(e)||e==n?t(i,n):0)):2==r&&F.isAutoLoading()?B(n,i).then((e=>{null==d||d(void 0,e)})):3==r&&F.isAutoLoading()?null==d||d(void 0,i):a(1==r&&F.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{c++,t(n,o,0,e)}))}));const O=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return s(((l,a)=>{const i=((e=16)=>{return t=(e,t)=>e+z[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{b(y,i),a(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*r);w(y,i,[e,(e,t)=>{clearTimeout(s),b(y,i),l([e,t])}]),c++,t(e,i,n,o)}))})),R=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=h(e[0],o,D);g(t,(([e,t],n)=>{const o=h(r[0],n,D);g(e,(([e,t],n)=>o[0][n]=E(e,t))),o[1]=H(o[1],t)})),r[1]=H(r[1],n)})),e[1]=H(e[1],n)},B=(t=null,n)=>J(void 0,null,(function*(){l(n)&&([n,t]=yield O(t,1));const[o,r]=n,[a,i]=e.getMergeableContentHashes();let s=D();if(a!=o){const[n,o]=(yield O(t,4,e.getMergeableTableHashes()))[0];if(s=n,!p(o)){const[n,r]=(yield O(t,5,e.getMergeableRowHashes(o)))[0];if(R(s,n),!p(r)){const n=(yield O(t,6,e.getMergeableCellHashes(r)))[0];R(s,n)}}}return[s,i==r?D():(yield O(t,7,e.getMergeableValueHashes()))[0],1]})),F=((e,t,n,o,r,i,s,u={},d=[])=>{let c,v,y,g=0,h=0,b=0;M(j,d,(()=>0)),M(L,d,(()=>[]));const[S,O,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),z=t=>{var n;(S&&(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)},N=e=>x(void 0,null,(function*(){return 2!=g&&(g=1,h++,yield k((()=>x(void 0,null,(function*(){try{z(yield t())}catch(t){null==i||i(t),e&&D(e)}g=0}))))),I})),R=()=>(v&&(r(v),v=void 0),I),V=e=>x(void 0,null,(function*(){return 1!=g&&(g=2,b++,yield k((()=>x(void 0,null,(function*(){try{yield n(O,e)}catch(e){null==i||i(e)}g=0}))))),I})),W=()=>(a(y,e.delListener),y=void 0,I),k=(...e)=>x(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(m(L,d),...e),yield x(void 0,null,(function*(){if(!m(j,d)){for(w(j,d,1);!l((e=m(L,d),c=e.shift()));)try{yield c()}catch(e){null==i||i(e)}w(j,d,0)}var e})),I})),I=((e,t)=>{for(var n in t||(t={}))C.call(t,n)&&T(e,n,t[n]);if(A)for(var n of A(t))P.call(t,n)&&T(e,n,t[n]);return e})({load:N,startAutoLoad:e=>x(void 0,null,(function*(){return yield R().load(e),v=o(((e,t)=>x(void 0,null,(function*(){t||e?2!=g&&(g=1,h++,z(null!=t?t:e),g=0):yield N()})))),I})),stopAutoLoad:R,isAutoLoading:()=>!l(v),save:V,startAutoSave:()=>x(void 0,null,(function*(){return yield W().save(),y=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&V(e)})),I})),stopAutoSave:W,isAutoSaving:()=>!l(y),schedule:k,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return f(I)})(e,(()=>J(void 0,null,(function*(){const e=yield B();return p(e[0][0])&&p(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){c++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>d=e),(()=>d=void 0),i,2,((e,t)=>{for(var n in t||(t={}))W.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))k.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield F.startAutoLoad(e)).startAutoSave()})),stopSync:()=>F.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),F.stopSync()),getSynchronizerStats:()=>({sends:c,receives:v})},u));return F};e.createWsSynchronizer=(e,t,n=1,o)=>{return r=function*(){const r=(e,n)=>t.addEventListener(e,n),l=B(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(i(t,0,n),...(o=i(t,n+1),JSON.parse(o,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return s(((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}},"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=Promise,n=globalThis,o=Math,r=o.floor,l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),s=e=>new t(e),u=(e,t)=>e.map(t),d=Object,c=e=>d.getPrototypeOf(e),v=d.entries,y=d.keys,f=d.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(v(e),(([e,n])=>t(n,e))),p=e=>(e=>!l(e)&&i(c(e),(e=>e==d.prototype||l(c(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),h=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),b=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),w=(e,t,n)=>l(n)?(b(e,t),e):null==e?void 0:e.set(t,n),M=(e,t,n,o)=>{var r,l,i;return l=t,null!=(i=null==(r=e)?void 0:r.has(l))&&i||w(e,t,n()),m(e,t)};var O=Object.defineProperty,A=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);a((n=n.apply(e,t)).next())}));const j=S(),L=S();new n.TextEncoder;const E=(e,t)=>t?[e,t]:[e],H=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},D=(e="")=>E(((e=[])=>d.fromEntries(e))(),e),z="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");S(u(z,((e,t)=>[e,t])));const N=n.crypto?e=>n.crypto.getRandomValues(e):e=>u(e,(()=>r(256*o.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,k=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{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);a((n=n.apply(e,t)).next())}));const B=(e,t,n,o,r,a,u={})=>{let d,c=0,v=0;const y=S();n(((n,o,r,a)=>{v++,0==r?i(m(y,o),(([e,t])=>l(e)||e==n?t(a,n):0)):2==r&&F.isAutoLoading()?B(n,a).then((e=>{null==d||d(void 0,e)})):3==r&&F.isAutoLoading()?null==d||d(void 0,a):i(1==r&&F.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(a):5==r?e.getMergeableRowDiff(a):6==r?e.getMergeableCellDiff(a):7==r?e.getMergeableValueDiff(a):void 0,(e=>{c++,t(n,o,0,e)}))}));const O=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return s(((l,i)=>{const a=((e=16)=>{return t=(e,t)=>e+z[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{b(y,a),i(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*r);w(y,a,[e,(e,t)=>{clearTimeout(s),b(y,a),l([e,t])}]),c++,t(e,a,n,o)}))})),R=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=h(e[0],o,D);g(t,(([e,t],n)=>{const o=h(r[0],n,D);g(e,(([e,t],n)=>o[0][n]=E(e,t))),o[1]=H(o[1],t)})),r[1]=H(r[1],n)})),e[1]=H(e[1],n)},B=(t=null,n)=>J(void 0,null,(function*(){l(n)&&([n,t]=yield O(t,1));const[o,r]=n,[i,a]=e.getMergeableContentHashes();let s=D();if(i!=o){const[n,o]=(yield O(t,4,e.getMergeableTableHashes()))[0];if(s=n,!p(o)){const[n,r]=(yield O(t,5,e.getMergeableRowHashes(o)))[0];if(R(s,n),!p(r)){const n=(yield O(t,6,e.getMergeableCellHashes(r)))[0];R(s,n)}}}return[s,a==r?D():(yield O(t,7,e.getMergeableValueHashes()))[0],1]})),F=((e,t,n,o,r,a,s,u={},d=[])=>{let c,v,y,g=0,h=0,b=0;M(j,d,(()=>0)),M(L,d,(()=>[]));const[S,O,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),z=t=>{var n;(S&&(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)},N=e=>x(void 0,null,(function*(){return 2!=g&&(g=1,h++,yield k((()=>x(void 0,null,(function*(){try{z(yield t())}catch(t){null==a||a(t),e&&D(e)}g=0}))))),I})),R=()=>(v&&(r(v),v=void 0),I),V=e=>x(void 0,null,(function*(){return 1!=g&&(g=2,b++,yield k((()=>x(void 0,null,(function*(){try{yield n(O,e)}catch(e){null==a||a(e)}g=0}))))),I})),W=()=>(i(y,e.delListener),y=void 0,I),k=(...e)=>x(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(m(L,d),...e),yield x(void 0,null,(function*(){if(!m(j,d)){for(w(j,d,1);!l((e=m(L,d),c=e.shift()));)try{yield c()}catch(e){null==a||a(e)}w(j,d,0)}var e})),I})),I=((e,t)=>{for(var n in t||(t={}))C.call(t,n)&&T(e,n,t[n]);if(A)for(var n of A(t))P.call(t,n)&&T(e,n,t[n]);return e})({load:N,startAutoLoad:e=>x(void 0,null,(function*(){return yield R().load(e),v=o(((e,t)=>x(void 0,null,(function*(){t||e?2!=g&&(g=1,h++,z(null!=t?t:e),g=0):yield N()})))),I})),stopAutoLoad:R,isAutoLoading:()=>!l(v),save:V,startAutoSave:()=>x(void 0,null,(function*(){return yield W().save(),y=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&V(e)})),I})),stopAutoSave:W,isAutoSaving:()=>!l(y),schedule:k,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return f(I)})(e,(()=>J(void 0,null,(function*(){const e=yield B();return p(e[0][0])&&p(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){c++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>d=e),(()=>d=void 0),a,2,((e,t)=>{for(var n in t||(t={}))W.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))k.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield F.startAutoLoad(e)).startAutoSave()})),stopSync:()=>F.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),F.stopSync()),getSynchronizerStats:()=>({sends:c,receives:v})},u));return F};e.createWsSynchronizer=(e,t,n=1,o)=>{return r=function*(){let r;const i=(e,n)=>t.addEventListener(e,n),u=B(e,((e,...n)=>{t.send((null!=e?e:"")+"\n"+JSON.stringify(n,((e,t)=>void 0===t?"":t)))}),(e=>{r=e}),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return i("message",(({data:e})=>{if(!l(r)){const n=e.toString("utf8").indexOf("\n");-1!==n&&r(a(e,0,n),...(t=a(e,n+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),s(((e,n)=>{t.readyState!=t.OPEN?(i("error",n),i("open",(()=>e(u)))):e(u)}))},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}},"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=Promise,n=globalThis,o=Math,r=o.floor,l=e=>null==e,a=(e,t,n)=>l(e)?null==n?void 0:n():t(e),i=(e,t,n)=>e.slice(t,n),s=e=>new t(e),u=(e,t)=>e.map(t),d=Object,c=e=>d.getPrototypeOf(e),v=d.entries,y=d.keys,f=d.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(v(e),(([e,n])=>t(n,e))),p=e=>(e=>!l(e)&&a(c(e),(e=>e==d.prototype||l(c(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),h=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),b=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),w=(e,t,n)=>l(n)?(b(e,t),e):null==e?void 0:e.set(t,n),M=(e,t,n,o)=>{var r,l,a;return l=t,null!=(a=null==(r=e)?void 0:r.has(l))&&a||w(e,t,n()),m(e,t)};var O=Object.defineProperty,A=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(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=S(),L=S();new n.TextEncoder;const E=(e,t)=>t?[e,t]:[e],H=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},D=(e="")=>E(((e=[])=>d.fromEntries(e))(),e),z="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");S(u(z,((e,t)=>[e,t])));const N=n.crypto?e=>n.crypto.getRandomValues(e):e=>u(e,(()=>r(256*o.random())));var R=Object.defineProperty,V=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,k=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 B=(e,t,n,o,r,i,u={})=>{let d,c=0,v=0;const y=S();n(((n,o,r,i)=>{v++,0==r?a(m(y,o),(([e,t])=>l(e)||e==n?t(i,n):0)):2==r&&F.isAutoLoading()?B(n,i).then((e=>{null==d||d(void 0,e)})):3==r&&F.isAutoLoading()?null==d||d(void 0,i):a(1==r&&F.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{c++,t(n,o,0,e)}))}));const O=(e,n,...o)=>J(void 0,[e,n,...o],(function*(e,n,o=""){return s(((l,a)=>{const i=((e=16)=>{return t=(e,t)=>e+z[63&t],N(new Uint8Array(e)).reduce(t,"");var t})(),s=setTimeout((()=>{b(y,i),a(`No response from ${null!=e?e:"anyone"} to '${n}'`)}),1e3*r);w(y,i,[e,(e,t)=>{clearTimeout(s),b(y,i),l([e,t])}]),c++,t(e,i,n,o)}))})),R=(e,[t,n])=>{g(t,(([t,n],o)=>{const r=h(e[0],o,D);g(t,(([e,t],n)=>{const o=h(r[0],n,D);g(e,(([e,t],n)=>o[0][n]=E(e,t))),o[1]=H(o[1],t)})),r[1]=H(r[1],n)})),e[1]=H(e[1],n)},B=(t=null,n)=>J(void 0,null,(function*(){l(n)&&([n,t]=yield O(t,1));const[o,r]=n,[a,i]=e.getMergeableContentHashes();let s=D();if(a!=o){const[n,o]=(yield O(t,4,e.getMergeableTableHashes()))[0];if(s=n,!p(o)){const[n,r]=(yield O(t,5,e.getMergeableRowHashes(o)))[0];if(R(s,n),!p(r)){const n=(yield O(t,6,e.getMergeableCellHashes(r)))[0];R(s,n)}}}return[s,i==r?D():(yield O(t,7,e.getMergeableValueHashes()))[0],1]})),F=((e,t,n,o,r,i,s,u={},d=[])=>{let c,v,y,g=0,h=0,b=0;M(j,d,(()=>0)),M(L,d,(()=>[]));const[S,O,E,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(s,e),z=t=>{var n;(S&&(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)},N=e=>x(void 0,null,(function*(){return 2!=g&&(g=1,h++,yield k((()=>x(void 0,null,(function*(){try{z(yield t())}catch(t){null==i||i(t),e&&D(e)}g=0}))))),I})),R=()=>(v&&(r(v),v=void 0),I),V=e=>x(void 0,null,(function*(){return 1!=g&&(g=2,b++,yield k((()=>x(void 0,null,(function*(){try{yield n(O,e)}catch(e){null==i||i(e)}g=0}))))),I})),W=()=>(a(y,e.delListener),y=void 0,I),k=(...e)=>x(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(m(L,d),...e),yield x(void 0,null,(function*(){if(!m(j,d)){for(w(j,d,1);!l((e=m(L,d),c=e.shift()));)try{yield c()}catch(e){null==i||i(e)}w(j,d,0)}var e})),I})),I=((e,t)=>{for(var n in t||(t={}))C.call(t,n)&&T(e,n,t[n]);if(A)for(var n of A(t))P.call(t,n)&&T(e,n,t[n]);return e})({load:N,startAutoLoad:e=>x(void 0,null,(function*(){return yield R().load(e),v=o(((e,t)=>x(void 0,null,(function*(){t||e?2!=g&&(g=1,h++,z(null!=t?t:e),g=0):yield N()})))),I})),stopAutoLoad:R,isAutoLoading:()=>!l(v),save:V,startAutoSave:()=>x(void 0,null,(function*(){return yield W().save(),y=e.addDidFinishTransactionListener((()=>{const e=E();H(e)&&V(e)})),I})),stopAutoSave:W,isAutoSaving:()=>!l(y),schedule:k,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:h,saves:b})},u);return f(I)})(e,(()=>J(void 0,null,(function*(){const e=yield B();return p(e[0][0])&&p(e[1][0])?void 0:e}))),((n,o)=>J(void 0,null,(function*(){c++,o?t(null,null,3,o):t(null,null,2,e.getMergeableContentHashes())}))),(e=>d=e),(()=>d=void 0),i,2,((e,t)=>{for(var n in t||(t={}))W.call(t,n)&&I(e,n,t[n]);if(V)for(var n of V(t))k.call(t,n)&&I(e,n,t[n]);return e})({startSync:e=>J(void 0,null,(function*(){return yield(yield F.startAutoLoad(e)).startAutoSave()})),stopSync:()=>F.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),F.stopSync()),getSynchronizerStats:()=>({sends:c,receives:v})},u));return F};e.createWsSynchronizer=(e,t,n=1,o)=>{return r=function*(){const r=(e,n)=>t.addEventListener(e,n),l=B(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(i(t,0,n),...(o=i(t,n+1),JSON.parse(o,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),n,o,{getWebSocket:()=>t});return s(((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}},"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={});
@@ -423,7 +423,7 @@
423
423
  const createCustomSynchronizer = (
424
424
  store,
425
425
  send,
426
- onReceive,
426
+ registerReceive,
427
427
  destroyImpl,
428
428
  requestTimeoutSeconds,
429
429
  onIgnoredError,
@@ -433,7 +433,7 @@
433
433
  let sends = 0;
434
434
  let receives = 0;
435
435
  const pendingRequests = mapNew();
436
- onReceive((fromClientId, requestId, message, body) => {
436
+ registerReceive((fromClientId, requestId, message, body) => {
437
437
  receives++;
438
438
  if (message == Message.Response) {
439
439
  ifNotUndefined(