cojson 0.16.2 → 0.16.4

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 (113) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +9 -0
  3. package/dist/coValue.d.ts +1 -1
  4. package/dist/coValueContentMessage.d.ts +10 -0
  5. package/dist/coValueContentMessage.d.ts.map +1 -0
  6. package/dist/coValueContentMessage.js +46 -0
  7. package/dist/coValueContentMessage.js.map +1 -0
  8. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  9. package/dist/coValueCore/coValueCore.js +5 -3
  10. package/dist/coValueCore/coValueCore.js.map +1 -1
  11. package/dist/coValueCore/verifiedState.d.ts +1 -0
  12. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  13. package/dist/coValueCore/verifiedState.js +14 -27
  14. package/dist/coValueCore/verifiedState.js.map +1 -1
  15. package/dist/coValues/group.d.ts.map +1 -1
  16. package/dist/coValues/group.js +16 -8
  17. package/dist/coValues/group.js.map +1 -1
  18. package/dist/localNode.d.ts +6 -1
  19. package/dist/localNode.d.ts.map +1 -1
  20. package/dist/localNode.js +7 -2
  21. package/dist/localNode.js.map +1 -1
  22. package/dist/queue/LocalTransactionsSyncQueue.d.ts +24 -0
  23. package/dist/queue/LocalTransactionsSyncQueue.d.ts.map +1 -0
  24. package/dist/queue/LocalTransactionsSyncQueue.js +55 -0
  25. package/dist/queue/LocalTransactionsSyncQueue.js.map +1 -0
  26. package/dist/queue/StoreQueue.d.ts +9 -6
  27. package/dist/queue/StoreQueue.d.ts.map +1 -1
  28. package/dist/queue/StoreQueue.js +10 -2
  29. package/dist/queue/StoreQueue.js.map +1 -1
  30. package/dist/storage/storageAsync.d.ts +11 -3
  31. package/dist/storage/storageAsync.d.ts.map +1 -1
  32. package/dist/storage/storageAsync.js +59 -46
  33. package/dist/storage/storageAsync.js.map +1 -1
  34. package/dist/storage/storageSync.d.ts +9 -3
  35. package/dist/storage/storageSync.d.ts.map +1 -1
  36. package/dist/storage/storageSync.js +48 -35
  37. package/dist/storage/storageSync.js.map +1 -1
  38. package/dist/storage/syncUtils.d.ts +2 -1
  39. package/dist/storage/syncUtils.d.ts.map +1 -1
  40. package/dist/storage/syncUtils.js +4 -0
  41. package/dist/storage/syncUtils.js.map +1 -1
  42. package/dist/storage/types.d.ts +3 -2
  43. package/dist/storage/types.d.ts.map +1 -1
  44. package/dist/sync.d.ts +6 -6
  45. package/dist/sync.d.ts.map +1 -1
  46. package/dist/sync.js +33 -56
  47. package/dist/sync.js.map +1 -1
  48. package/dist/tests/StorageApiAsync.test.d.ts +2 -0
  49. package/dist/tests/StorageApiAsync.test.d.ts.map +1 -0
  50. package/dist/tests/StorageApiAsync.test.js +574 -0
  51. package/dist/tests/StorageApiAsync.test.js.map +1 -0
  52. package/dist/tests/StorageApiSync.test.d.ts +2 -0
  53. package/dist/tests/StorageApiSync.test.d.ts.map +1 -0
  54. package/dist/tests/StorageApiSync.test.js +426 -0
  55. package/dist/tests/StorageApiSync.test.js.map +1 -0
  56. package/dist/tests/StoreQueue.test.js +9 -21
  57. package/dist/tests/StoreQueue.test.js.map +1 -1
  58. package/dist/tests/SyncStateManager.test.js +18 -8
  59. package/dist/tests/SyncStateManager.test.js.map +1 -1
  60. package/dist/tests/group.inheritance.test.js +79 -2
  61. package/dist/tests/group.inheritance.test.js.map +1 -1
  62. package/dist/tests/sync.auth.test.js +22 -10
  63. package/dist/tests/sync.auth.test.js.map +1 -1
  64. package/dist/tests/sync.load.test.js +25 -23
  65. package/dist/tests/sync.load.test.js.map +1 -1
  66. package/dist/tests/sync.mesh.test.js +12 -6
  67. package/dist/tests/sync.mesh.test.js.map +1 -1
  68. package/dist/tests/sync.peerReconciliation.test.js +6 -4
  69. package/dist/tests/sync.peerReconciliation.test.js.map +1 -1
  70. package/dist/tests/sync.storage.test.js +8 -14
  71. package/dist/tests/sync.storage.test.js.map +1 -1
  72. package/dist/tests/sync.storageAsync.test.js +31 -14
  73. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  74. package/dist/tests/sync.test.js +5 -9
  75. package/dist/tests/sync.test.js.map +1 -1
  76. package/dist/tests/sync.upload.test.js +31 -1
  77. package/dist/tests/sync.upload.test.js.map +1 -1
  78. package/dist/tests/testStorage.d.ts +2 -3
  79. package/dist/tests/testStorage.d.ts.map +1 -1
  80. package/dist/tests/testStorage.js +16 -8
  81. package/dist/tests/testStorage.js.map +1 -1
  82. package/dist/tests/testUtils.d.ts +3 -0
  83. package/dist/tests/testUtils.d.ts.map +1 -1
  84. package/dist/tests/testUtils.js +17 -4
  85. package/dist/tests/testUtils.js.map +1 -1
  86. package/package.json +1 -1
  87. package/src/coValueContentMessage.ts +73 -0
  88. package/src/coValueCore/coValueCore.ts +14 -5
  89. package/src/coValueCore/verifiedState.ts +28 -35
  90. package/src/coValues/group.ts +20 -9
  91. package/src/localNode.ts +8 -3
  92. package/src/queue/LocalTransactionsSyncQueue.ts +96 -0
  93. package/src/queue/StoreQueue.ts +22 -12
  94. package/src/storage/storageAsync.ts +78 -56
  95. package/src/storage/storageSync.ts +66 -45
  96. package/src/storage/syncUtils.ts +9 -1
  97. package/src/storage/types.ts +6 -5
  98. package/src/sync.ts +47 -67
  99. package/src/tests/StorageApiAsync.test.ts +829 -0
  100. package/src/tests/StorageApiSync.test.ts +628 -0
  101. package/src/tests/StoreQueue.test.ts +10 -24
  102. package/src/tests/SyncStateManager.test.ts +22 -21
  103. package/src/tests/group.inheritance.test.ts +136 -1
  104. package/src/tests/sync.auth.test.ts +22 -10
  105. package/src/tests/sync.load.test.ts +27 -24
  106. package/src/tests/sync.mesh.test.ts +12 -6
  107. package/src/tests/sync.peerReconciliation.test.ts +6 -4
  108. package/src/tests/sync.storage.test.ts +8 -14
  109. package/src/tests/sync.storageAsync.test.ts +39 -14
  110. package/src/tests/sync.test.ts +6 -14
  111. package/src/tests/sync.upload.test.ts +38 -1
  112. package/src/tests/testStorage.ts +19 -13
  113. package/src/tests/testUtils.ts +24 -5
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.d.ts","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.d.ts","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
package/dist/localNode.js CHANGED
@@ -190,7 +190,7 @@ export class LocalNode {
190
190
  }
191
191
  const id = idforHeader(header, this.crypto);
192
192
  const coValue = this.putCoValue(id, new VerifiedState(id, this.crypto, header, new Map()));
193
- void this.syncManager.requestCoValueSync(coValue);
193
+ this.syncManager.syncHeader(coValue.verified);
194
194
  return coValue;
195
195
  }
196
196
  /** @internal */
@@ -442,9 +442,14 @@ export class LocalNode {
442
442
  this.putCoValue(coValueID, coValue.verified);
443
443
  }
444
444
  }
445
+ /**
446
+ * Closes all the peer connections, drains all the queues and closes the storage.
447
+ *
448
+ * @returns Promise of the current pending store operation, if any.
449
+ */
445
450
  gracefulShutdown() {
446
- this.storage?.close();
447
451
  this.syncManager.gracefulShutdown();
452
+ return this.storage?.close();
448
453
  }
449
454
  }
450
455
  //# sourceMappingURL=localNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Transaction, VerifiedState } from "../coValueCore/verifiedState.js";
2
+ import { Signature } from "../crypto/crypto.js";
3
+ import { SessionID } from "../ids.js";
4
+ import { NewContentMessage } from "../sync.js";
5
+ /**
6
+ * This queue is used to batch the sync of local transactions while preserving the order of updates between CoValues.
7
+ *
8
+ * We need to preserve the order of updates between CoValues to keep the state always consistent in case of shutdown in the middle of a sync.
9
+ *
10
+ * Examples:
11
+ * 1. When we extend a Group we need to always ensure that the parent group is persisted before persisting the extension transaction.
12
+ * 2. If we do multiple updates on the same CoMap, the updates will be batched because it's safe to do so.
13
+ */
14
+ export declare class LocalTransactionsSyncQueue {
15
+ private readonly sync;
16
+ private readonly queue;
17
+ constructor(sync: (content: NewContentMessage) => void);
18
+ syncHeader: (coValue: VerifiedState) => void;
19
+ syncTransaction: (coValue: VerifiedState, transaction: Transaction, sessionID: SessionID, signature: Signature, txIdx: number) => void;
20
+ enqueue(content: NewContentMessage): void;
21
+ private processingSyncs;
22
+ processPendingSyncs(): void;
23
+ }
24
+ //# sourceMappingURL=LocalTransactionsSyncQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalTransactionsSyncQueue.d.ts","sourceRoot":"","sources":["../../src/queue/LocalTransactionsSyncQueue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAGzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;gBAEhC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAEvE,UAAU,YAAa,aAAa,UAQlC;IAEF,eAAe,YACJ,aAAa,eACT,WAAW,aACb,SAAS,aACT,SAAS,SACb,MAAM,UA8Bb;IAEF,OAAO,CAAC,OAAO,EAAE,iBAAiB;IAMlC,OAAO,CAAC,eAAe,CAAS;IAChC,mBAAmB;CAiBpB"}
@@ -0,0 +1,55 @@
1
+ import { addTransactionToContentMessage, createContentMessage, } from "../coValueContentMessage.js";
2
+ import { LinkedList } from "./LinkedList.js";
3
+ /**
4
+ * This queue is used to batch the sync of local transactions while preserving the order of updates between CoValues.
5
+ *
6
+ * We need to preserve the order of updates between CoValues to keep the state always consistent in case of shutdown in the middle of a sync.
7
+ *
8
+ * Examples:
9
+ * 1. When we extend a Group we need to always ensure that the parent group is persisted before persisting the extension transaction.
10
+ * 2. If we do multiple updates on the same CoMap, the updates will be batched because it's safe to do so.
11
+ */
12
+ export class LocalTransactionsSyncQueue {
13
+ constructor(sync) {
14
+ this.sync = sync;
15
+ this.queue = new LinkedList();
16
+ this.syncHeader = (coValue) => {
17
+ const lastPendingSync = this.queue.tail?.value;
18
+ if (lastPendingSync?.id === coValue.id) {
19
+ return;
20
+ }
21
+ this.enqueue(createContentMessage(coValue.id, coValue.header));
22
+ };
23
+ this.syncTransaction = (coValue, transaction, sessionID, signature, txIdx) => {
24
+ const lastPendingSync = this.queue.tail?.value;
25
+ const lastSignatureIdx = coValue.getLastSignatureCheckpoint(sessionID);
26
+ const isSignatureCheckpoint = lastSignatureIdx > -1 && lastSignatureIdx === txIdx - 1;
27
+ if (lastPendingSync?.id === coValue.id && !isSignatureCheckpoint) {
28
+ addTransactionToContentMessage(lastPendingSync, transaction, sessionID, signature, txIdx);
29
+ return;
30
+ }
31
+ const content = createContentMessage(coValue.id, coValue.header, false);
32
+ addTransactionToContentMessage(content, transaction, sessionID, signature, txIdx);
33
+ this.enqueue(content);
34
+ };
35
+ this.processingSyncs = false;
36
+ }
37
+ enqueue(content) {
38
+ this.queue.push(content);
39
+ this.processPendingSyncs();
40
+ }
41
+ processPendingSyncs() {
42
+ if (this.processingSyncs)
43
+ return;
44
+ this.processingSyncs = true;
45
+ queueMicrotask(() => {
46
+ while (this.queue.head) {
47
+ const content = this.queue.head.value;
48
+ this.sync(content);
49
+ this.queue.shift();
50
+ }
51
+ this.processingSyncs = false;
52
+ });
53
+ }
54
+ }
55
+ //# sourceMappingURL=LocalTransactionsSyncQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalTransactionsSyncQueue.js","sourceRoot":"","sources":["../../src/queue/LocalTransactionsSyncQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA0B;IAGrC,YAA6B,IAA0C;QAA1C,SAAI,GAAJ,IAAI,CAAsC;QAFtD,UAAK,GAAG,IAAI,UAAU,EAAqB,CAAC;QAI7D,eAAU,GAAG,CAAC,OAAsB,EAAE,EAAE;YACtC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;YAE/C,IAAI,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,oBAAe,GAAG,CAChB,OAAsB,EACtB,WAAwB,EACxB,SAAoB,EACpB,SAAoB,EACpB,KAAa,EACb,EAAE;YACF,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,qBAAqB,GACzB,gBAAgB,GAAG,CAAC,CAAC,IAAI,gBAAgB,KAAK,KAAK,GAAG,CAAC,CAAC;YAE1D,IAAI,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACjE,8BAA8B,CAC5B,eAAe,EACf,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,CACN,CAAC;gBAEF,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAExE,8BAA8B,CAC5B,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,CACN,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;QAQM,oBAAe,GAAG,KAAK,CAAC;IAvD0C,CAAC;IAiD3E,OAAO,CAAC,OAA0B;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAGD,mBAAmB;QACjB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,cAAc,CAAC,GAAG,EAAE;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;gBAEtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,15 +1,18 @@
1
- import { CoValueKnownState, NewContentMessage } from "../sync.js";
1
+ import { CorrectionCallback } from "../exports.js";
2
+ import { NewContentMessage } from "../sync.js";
2
3
  type StoreQueueEntry = {
3
- data: NewContentMessage[];
4
- correctionCallback: (data: CoValueKnownState) => void;
4
+ data: NewContentMessage;
5
+ correctionCallback: CorrectionCallback;
5
6
  };
6
7
  export declare class StoreQueue {
7
8
  private queue;
8
- push(data: NewContentMessage[], correctionCallback: (data: CoValueKnownState) => void): void;
9
+ closed: boolean;
10
+ push(data: NewContentMessage, correctionCallback: CorrectionCallback): void;
9
11
  pull(): StoreQueueEntry | undefined;
10
12
  processing: boolean;
11
- processQueue(callback: (data: NewContentMessage[], correctionCallback: (data: CoValueKnownState) => void) => Promise<void>): Promise<void>;
12
- drain(): void;
13
+ lastCallback: Promise<unknown> | undefined;
14
+ processQueue(callback: (data: NewContentMessage, correctionCallback: CorrectionCallback) => Promise<unknown>): Promise<void>;
15
+ close(): Promise<unknown> | undefined;
13
16
  }
14
17
  export {};
15
18
  //# sourceMappingURL=StoreQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreQueue.d.ts","sourceRoot":"","sources":["../../src/queue/StoreQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGlE,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,kBAAkB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAqC;IAE3C,IAAI,CACT,IAAI,EAAE,iBAAiB,EAAE,EACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IAKhD,IAAI;IAIX,UAAU,UAAS;IAEb,YAAY,CAChB,QAAQ,EAAE,CACR,IAAI,EAAE,iBAAiB,EAAE,EACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,KAClD,OAAO,CAAC,IAAI,CAAC;IAuBpB,KAAK;CAGN"}
1
+ {"version":3,"file":"StoreQueue.d.ts","sourceRoot":"","sources":["../../src/queue/StoreQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAqC;IAClD,MAAM,UAAS;IAER,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAQpE,IAAI;IAIX,UAAU,UAAS;IACnB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAErC,YAAY,CAChB,QAAQ,EAAE,CACR,IAAI,EAAE,iBAAiB,EACvB,kBAAkB,EAAE,kBAAkB,KACnC,OAAO,CAAC,OAAO,CAAC;IAyBvB,KAAK;CAON"}
@@ -3,9 +3,13 @@ import { LinkedList } from "./LinkedList.js";
3
3
  export class StoreQueue {
4
4
  constructor() {
5
5
  this.queue = new LinkedList();
6
+ this.closed = false;
6
7
  this.processing = false;
7
8
  }
8
9
  push(data, correctionCallback) {
10
+ if (this.closed) {
11
+ return;
12
+ }
9
13
  this.queue.push({ data, correctionCallback });
10
14
  }
11
15
  pull() {
@@ -20,16 +24,20 @@ export class StoreQueue {
20
24
  while ((entry = this.pull())) {
21
25
  const { data, correctionCallback } = entry;
22
26
  try {
23
- await callback(data, correctionCallback);
27
+ this.lastCallback = callback(data, correctionCallback);
28
+ await this.lastCallback;
24
29
  }
25
30
  catch (err) {
26
31
  logger.error("Error processing message in store queue", { err });
27
32
  }
28
33
  }
34
+ this.lastCallback = undefined;
29
35
  this.processing = false;
30
36
  }
31
- drain() {
37
+ close() {
38
+ this.closed = true;
32
39
  while (this.pull()) { }
40
+ return this.lastCallback;
33
41
  }
34
42
  }
35
43
  //# sourceMappingURL=StoreQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreQueue.js","sourceRoot":"","sources":["../../src/queue/StoreQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7C,MAAM,OAAO,UAAU;IAAvB;QACU,UAAK,GAAG,IAAI,UAAU,EAAmB,CAAC;QAalD,eAAU,GAAG,KAAK,CAAC;IAgCrB,CAAC;IA3CQ,IAAI,CACT,IAAyB,EACzB,kBAAqD;QAErD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAID,KAAK,CAAC,YAAY,CAChB,QAGkB;QAElB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,KAAkC,CAAC;QAEvC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"StoreQueue.js","sourceRoot":"","sources":["../../src/queue/StoreQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7C,MAAM,OAAO,UAAU;IAAvB;QACU,UAAK,GAAG,IAAI,UAAU,EAAmB,CAAC;QAClD,WAAM,GAAG,KAAK,CAAC;QAcf,eAAU,GAAG,KAAK,CAAC;IAuCrB,CAAC;IAnDQ,IAAI,CAAC,IAAuB,EAAE,kBAAsC;QACzE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAKD,KAAK,CAAC,YAAY,CAChB,QAGqB;QAErB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,KAAkC,CAAC;QAEvC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;YAE3C,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,YAAY,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA,CAAC;QAEtB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { type CoValueCore, type StorageAPI } from "../exports.js";
2
2
  import { StoreQueue } from "../queue/StoreQueue.js";
3
3
  import { CoValueKnownState, NewContentMessage } from "../sync.js";
4
4
  import { StorageKnownState } from "./knownState.js";
5
- import type { DBClientInterfaceAsync, StoredCoValueRow } from "./types.js";
5
+ import type { CorrectionCallback, DBClientInterfaceAsync, StoredCoValueRow } from "./types.js";
6
6
  export declare class StorageApiAsync implements StorageAPI {
7
7
  private readonly dbClient;
8
8
  private loadedCoValues;
@@ -13,10 +13,18 @@ export declare class StorageApiAsync implements StorageAPI {
13
13
  loadCoValue(id: string, callback: (data: NewContentMessage) => void, done: (found: boolean) => void): Promise<void>;
14
14
  pushContentWithDependencies(coValueRow: StoredCoValueRow, contentMessage: NewContentMessage, pushCallback: (data: NewContentMessage) => void): Promise<void>;
15
15
  storeQueue: StoreQueue;
16
- store(msgs: NewContentMessage[], correctionCallback: (data: CoValueKnownState) => void): Promise<void>;
16
+ store(msg: NewContentMessage, correctionCallback: CorrectionCallback): Promise<void>;
17
+ /**
18
+ * This function is called when the storage lacks the information required to store the incoming content.
19
+ *
20
+ * It triggers a `correctionCallback` to ask the syncManager to provide the missing information.
21
+ *
22
+ * The correction is applied immediately, to ensure that, when applicable, the dependent content in the queue won't require additional corrections.
23
+ */
24
+ private handleCorrection;
17
25
  private storeSingle;
18
26
  private putNewTxs;
19
27
  waitForSync(id: string, coValue: CoValueCore): Promise<void>;
20
- close(): void;
28
+ close(): Promise<unknown> | undefined;
21
29
  }
22
30
  //# sourceMappingURL=storageAsync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storageAsync.d.ts","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAIhB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EACV,sBAAsB,EAEtB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,QAAQ,EAAE,sBAAsB;IAI5C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAItC,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAoH1B,2BAA2B,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IA0BjD,UAAU,aAAoB;IAExB,KAAK,CACT,IAAI,EAAE,iBAAiB,EAAE,EACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;YAqBzC,WAAW;YAkEX,SAAS;IAwEvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,KAAK;CAIN"}
1
+ {"version":3,"file":"storageAsync.d.ts","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAEtB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,QAAQ,EAAE,sBAAsB;IAI5C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAItC,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IA4G1B,2BAA2B,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IA0BjD,UAAU,aAAoB;IAExB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAY1E;;;;;;OAMG;YACW,gBAAgB;YA+BhB,WAAW;YAoEX,SAAS;IAiEvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,KAAK;CAGN"}
@@ -1,9 +1,9 @@
1
- import { MAX_RECOMMENDED_TX_SIZE, } from "../exports.js";
2
- import { getPriorityFromHeader } from "../priority.js";
1
+ import { createContentMessage, exceedsRecommendedSize, } from "../coValueContentMessage.js";
2
+ import { logger, } from "../exports.js";
3
3
  import { StoreQueue } from "../queue/StoreQueue.js";
4
4
  import { emptyKnownState, } from "../sync.js";
5
5
  import { StorageKnownState } from "./knownState.js";
6
- import { collectNewTxs, getDependedOnCoValues } from "./syncUtils.js";
6
+ import { collectNewTxs, getDependedOnCoValues, getNewTransactionsSize, } from "./syncUtils.js";
7
7
  export class StorageApiAsync {
8
8
  constructor(dbClient) {
9
9
  this.loadedCoValues = new Set();
@@ -34,17 +34,12 @@ export class StorageApiAsync {
34
34
  }
35
35
  }));
36
36
  const knownState = this.knwonStates.getKnownState(coValueRow.id);
37
+ knownState.header = true;
37
38
  for (const sessionRow of allCoValueSessions) {
38
39
  knownState.sessions[sessionRow.sessionID] = sessionRow.lastIdx;
39
40
  }
40
41
  this.loadedCoValues.add(coValueRow.id);
41
- let contentMessage = {
42
- action: "content",
43
- id: coValueRow.id,
44
- header: coValueRow.header,
45
- new: {},
46
- priority: getPriorityFromHeader(coValueRow.header),
47
- };
42
+ let contentMessage = createContentMessage(coValueRow.id, coValueRow.header);
48
43
  if (contentStreaming) {
49
44
  contentMessage.expectContentUntil = knownState["sessions"];
50
45
  }
@@ -69,13 +64,7 @@ export class StorageApiAsync {
69
64
  // Having more than one signature means that the content needs streaming
70
65
  // So we start pushing the content to the client, and start a new content message
71
66
  await this.pushContentWithDependencies(coValueRow, contentMessage, callback);
72
- contentMessage = {
73
- action: "content",
74
- id: coValueRow.id,
75
- header: coValueRow.header,
76
- new: {},
77
- priority: getPriorityFromHeader(coValueRow.header),
78
- };
67
+ contentMessage = createContentMessage(coValueRow.id, coValueRow.header);
79
68
  }
80
69
  }
81
70
  }
@@ -102,24 +91,50 @@ export class StorageApiAsync {
102
91
  await Promise.all(promises);
103
92
  pushCallback(contentMessage);
104
93
  }
105
- async store(msgs, correctionCallback) {
94
+ async store(msg, correctionCallback) {
106
95
  /**
107
96
  * The store operations must be done one by one, because we can't start a new transaction when there
108
97
  * is already a transaction open.
109
98
  */
110
- this.storeQueue.push(msgs, correctionCallback);
99
+ this.storeQueue.push(msg, correctionCallback);
111
100
  this.storeQueue.processQueue(async (data, correctionCallback) => {
112
- for (const msg of data) {
113
- const success = await this.storeSingle(msg, correctionCallback);
114
- if (!success) {
115
- // Stop processing the messages for this entry, because the data is out of sync with storage
116
- // and the other transactions will be rejected anyway.
117
- break;
118
- }
119
- }
101
+ return this.storeSingle(data, correctionCallback);
120
102
  });
121
103
  }
104
+ /**
105
+ * This function is called when the storage lacks the information required to store the incoming content.
106
+ *
107
+ * It triggers a `correctionCallback` to ask the syncManager to provide the missing information.
108
+ *
109
+ * The correction is applied immediately, to ensure that, when applicable, the dependent content in the queue won't require additional corrections.
110
+ */
111
+ async handleCorrection(knownState, correctionCallback) {
112
+ const correction = correctionCallback(knownState);
113
+ if (!correction) {
114
+ logger.error("Correction callback returned undefined", {
115
+ knownState,
116
+ correction: correction ?? null,
117
+ });
118
+ return false;
119
+ }
120
+ for (const msg of correction) {
121
+ const success = await this.storeSingle(msg, (knownState) => {
122
+ logger.error("Double correction requested", {
123
+ msg,
124
+ knownState,
125
+ });
126
+ return undefined;
127
+ });
128
+ if (!success) {
129
+ return false;
130
+ }
131
+ }
132
+ return true;
133
+ }
122
134
  async storeSingle(msg, correctionCallback) {
135
+ if (this.storeQueue.closed) {
136
+ return false;
137
+ }
123
138
  const id = msg.id;
124
139
  const coValueRow = await this.dbClient.getCoValue(id);
125
140
  // We have no info about coValue header
@@ -127,8 +142,7 @@ export class StorageApiAsync {
127
142
  if (invalidAssumptionOnHeaderPresence) {
128
143
  const knownState = emptyKnownState(id);
129
144
  this.knwonStates.setKnownState(id, knownState);
130
- correctionCallback(knownState);
131
- return false;
145
+ return this.handleCorrection(knownState, correctionCallback);
132
146
  }
133
147
  const storedCoValueRowID = coValueRow
134
148
  ? coValueRow.rowID
@@ -156,30 +170,30 @@ export class StorageApiAsync {
156
170
  }
157
171
  this.knwonStates.handleUpdate(id, knownState);
158
172
  if (invalidAssumptions) {
159
- correctionCallback(knownState);
160
- return false;
173
+ return this.handleCorrection(knownState, correctionCallback);
161
174
  }
162
175
  return true;
163
176
  }
164
177
  async putNewTxs(msg, sessionID, sessionRow, storedCoValueRowID) {
165
178
  const newTransactions = msg.new[sessionID]?.newTransactions || [];
166
- const actuallyNewOffset = (sessionRow?.lastIdx || 0) - (msg.new[sessionID]?.after || 0);
179
+ const lastIdx = sessionRow?.lastIdx || 0;
180
+ const actuallyNewOffset = lastIdx - (msg.new[sessionID]?.after || 0);
167
181
  const actuallyNewTransactions = newTransactions.slice(actuallyNewOffset);
168
182
  if (actuallyNewTransactions.length === 0) {
169
- return sessionRow?.lastIdx || 0;
170
- }
171
- let newBytesSinceLastSignature = (sessionRow?.bytesSinceLastSignature || 0) +
172
- actuallyNewTransactions.reduce((sum, tx) => sum +
173
- (tx.privacy === "private"
174
- ? tx.encryptedChanges.length
175
- : tx.changes.length), 0);
176
- const newLastIdx = (sessionRow?.lastIdx || 0) + actuallyNewTransactions.length;
183
+ return lastIdx;
184
+ }
185
+ let bytesSinceLastSignature = sessionRow?.bytesSinceLastSignature || 0;
186
+ const newTransactionsSize = getNewTransactionsSize(actuallyNewTransactions);
187
+ const newLastIdx = lastIdx + actuallyNewTransactions.length;
177
188
  let shouldWriteSignature = false;
178
- if (newBytesSinceLastSignature > MAX_RECOMMENDED_TX_SIZE) {
189
+ if (exceedsRecommendedSize(bytesSinceLastSignature, newTransactionsSize)) {
179
190
  shouldWriteSignature = true;
180
- newBytesSinceLastSignature = 0;
191
+ bytesSinceLastSignature = 0;
192
+ }
193
+ else {
194
+ bytesSinceLastSignature += newTransactionsSize;
181
195
  }
182
- const nextIdx = sessionRow?.lastIdx || 0;
196
+ const nextIdx = lastIdx;
183
197
  if (!msg.new[sessionID])
184
198
  throw new Error("Session ID not found");
185
199
  const sessionUpdate = {
@@ -187,7 +201,7 @@ export class StorageApiAsync {
187
201
  sessionID,
188
202
  lastIdx: newLastIdx,
189
203
  lastSignature: msg.new[sessionID].lastSignature,
190
- bytesSinceLastSignature: newBytesSinceLastSignature,
204
+ bytesSinceLastSignature,
191
205
  };
192
206
  const sessionRowID = await this.dbClient.addSessionUpdate({
193
207
  sessionUpdate,
@@ -207,8 +221,7 @@ export class StorageApiAsync {
207
221
  return this.knwonStates.waitForSync(id, coValue);
208
222
  }
209
223
  close() {
210
- // Drain the store queue
211
- this.storeQueue.drain();
224
+ return this.storeQueue.close();
212
225
  }
213
226
  }
214
227
  //# sourceMappingURL=storageAsync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storageAsync.js","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageAsync.js","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { CoValueCore, type StorageAPI } from "../exports.js";
2
2
  import { CoValueKnownState, NewContentMessage } from "../sync.js";
3
3
  import { StorageKnownState } from "./knownState.js";
4
- import type { DBClientInterfaceSync, StoredCoValueRow } from "./types.js";
4
+ import type { CorrectionCallback, DBClientInterfaceSync, StoredCoValueRow } from "./types.js";
5
5
  export declare class StorageApiSync implements StorageAPI {
6
6
  private streamingCounter;
7
7
  private readonly dbClient;
@@ -12,10 +12,16 @@ export declare class StorageApiSync implements StorageAPI {
12
12
  load(id: string, callback: (data: NewContentMessage) => void, done: (found: boolean) => void): Promise<void>;
13
13
  loadCoValue(id: string, callback: (data: NewContentMessage) => void, done?: (found: boolean) => void): Promise<void>;
14
14
  pushContentWithDependencies(coValueRow: StoredCoValueRow, contentMessage: NewContentMessage, pushCallback: (data: NewContentMessage) => void): Promise<void>;
15
- store(msgs: NewContentMessage[], correctionCallback: (data: CoValueKnownState) => void): false | undefined;
15
+ store(msg: NewContentMessage, correctionCallback: CorrectionCallback): boolean;
16
+ /**
17
+ * This function is called when the storage lacks the information required to store the incoming content.
18
+ *
19
+ * It triggers a `correctionCallback` to ask the syncManager to provide the missing information.
20
+ */
21
+ private handleCorrection;
16
22
  private storeSingle;
17
23
  private putNewTxs;
18
24
  waitForSync(id: string, coValue: CoValueCore): Promise<void>;
19
- close(): void;
25
+ close(): undefined;
20
26
  }
21
27
  //# sourceMappingURL=storageSync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storageSync.d.ts","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAIX,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EACV,qBAAqB,EAErB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,QAAQ,EAAE,qBAAqB;IAW3C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAItC,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAiH3B,2BAA2B,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IAkBjD,KAAK,CACH,IAAI,EAAE,iBAAiB,EAAE,EACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IAWvD,OAAO,CAAC,WAAW;IA+DnB,OAAO,CAAC,SAAS;IAsEjB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,KAAK;CACN"}
1
+ {"version":3,"file":"storageSync.d.ts","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EAGX,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EAErB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,QAAQ,EAAE,qBAAqB;IAW3C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAItC,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAyG3B,2BAA2B,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IAkBjD,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAIpE;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,WAAW;IA4DnB,OAAO,CAAC,SAAS;IAgEjB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,KAAK;CAGN"}