cojson 0.16.5 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +12 -0
  3. package/dist/GarbageCollector.d.ts +12 -0
  4. package/dist/GarbageCollector.d.ts.map +1 -0
  5. package/dist/GarbageCollector.js +37 -0
  6. package/dist/GarbageCollector.js.map +1 -0
  7. package/dist/coValue.d.ts +1 -1
  8. package/dist/coValueContentMessage.d.ts +1 -0
  9. package/dist/coValueContentMessage.d.ts.map +1 -1
  10. package/dist/coValueContentMessage.js +11 -3
  11. package/dist/coValueContentMessage.js.map +1 -1
  12. package/dist/coValueCore/coValueCore.d.ts +2 -1
  13. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  14. package/dist/coValueCore/coValueCore.js +15 -0
  15. package/dist/coValueCore/coValueCore.js.map +1 -1
  16. package/dist/coValueCore/utils.d.ts.map +1 -1
  17. package/dist/coValueCore/utils.js.map +1 -1
  18. package/dist/coValueCore/verifiedState.d.ts +1 -0
  19. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  20. package/dist/coValueCore/verifiedState.js.map +1 -1
  21. package/dist/coValues/coMap.d.ts +3 -3
  22. package/dist/coValues/coPlainText.d.ts +1 -0
  23. package/dist/coValues/coPlainText.d.ts.map +1 -1
  24. package/dist/coValues/coPlainText.js +27 -8
  25. package/dist/coValues/coPlainText.js.map +1 -1
  26. package/dist/coValues/coStream.d.ts +2 -2
  27. package/dist/coValues/group.d.ts +1 -1
  28. package/dist/config.d.ts +10 -1
  29. package/dist/config.d.ts.map +1 -1
  30. package/dist/config.js +16 -1
  31. package/dist/config.js.map +1 -1
  32. package/dist/exports.d.ts +11 -4
  33. package/dist/exports.d.ts.map +1 -1
  34. package/dist/exports.js +8 -3
  35. package/dist/exports.js.map +1 -1
  36. package/dist/localNode.d.ts +3 -0
  37. package/dist/localNode.d.ts.map +1 -1
  38. package/dist/localNode.js +11 -0
  39. package/dist/localNode.js.map +1 -1
  40. package/dist/queue/LocalTransactionsSyncQueue.js +1 -1
  41. package/dist/queue/LocalTransactionsSyncQueue.js.map +1 -1
  42. package/dist/queue/StoreQueue.d.ts +7 -1
  43. package/dist/queue/StoreQueue.d.ts.map +1 -1
  44. package/dist/queue/StoreQueue.js +35 -13
  45. package/dist/queue/StoreQueue.js.map +1 -1
  46. package/dist/storage/sqlite/client.d.ts +4 -4
  47. package/dist/storage/sqlite/client.d.ts.map +1 -1
  48. package/dist/storage/sqlite/client.js +13 -4
  49. package/dist/storage/sqlite/client.js.map +1 -1
  50. package/dist/storage/sqliteAsync/client.d.ts +3 -3
  51. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  52. package/dist/storage/sqliteAsync/client.js +12 -3
  53. package/dist/storage/sqliteAsync/client.js.map +1 -1
  54. package/dist/storage/storageAsync.d.ts.map +1 -1
  55. package/dist/storage/storageAsync.js +2 -7
  56. package/dist/storage/storageAsync.js.map +1 -1
  57. package/dist/storage/storageSync.d.ts.map +1 -1
  58. package/dist/storage/storageSync.js +2 -7
  59. package/dist/storage/storageSync.js.map +1 -1
  60. package/dist/storage/types.d.ts +2 -2
  61. package/dist/storage/types.d.ts.map +1 -1
  62. package/dist/sync.d.ts.map +1 -1
  63. package/dist/sync.js +17 -3
  64. package/dist/sync.js.map +1 -1
  65. package/dist/tests/GarbageCollector.test.d.ts +2 -0
  66. package/dist/tests/GarbageCollector.test.d.ts.map +1 -0
  67. package/dist/tests/GarbageCollector.test.js +85 -0
  68. package/dist/tests/GarbageCollector.test.js.map +1 -0
  69. package/dist/tests/coPlainText.test.js +142 -4
  70. package/dist/tests/coPlainText.test.js.map +1 -1
  71. package/dist/tests/coStream.test.js +3 -3
  72. package/dist/tests/coStream.test.js.map +1 -1
  73. package/dist/tests/sync.garbageCollection.test.d.ts +2 -0
  74. package/dist/tests/sync.garbageCollection.test.d.ts.map +1 -0
  75. package/dist/tests/sync.garbageCollection.test.js +133 -0
  76. package/dist/tests/sync.garbageCollection.test.js.map +1 -0
  77. package/dist/tests/sync.mesh.test.js +48 -34
  78. package/dist/tests/sync.mesh.test.js.map +1 -1
  79. package/dist/tests/sync.storage.test.js +31 -21
  80. package/dist/tests/sync.storage.test.js.map +1 -1
  81. package/dist/tests/sync.storageAsync.test.js +76 -29
  82. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  83. package/dist/tests/testStorage.d.ts +1 -0
  84. package/dist/tests/testStorage.d.ts.map +1 -1
  85. package/dist/tests/testStorage.js +1 -1
  86. package/dist/tests/testStorage.js.map +1 -1
  87. package/dist/tests/testUtils.d.ts +1 -0
  88. package/dist/tests/testUtils.d.ts.map +1 -1
  89. package/dist/tests/testUtils.js +1 -0
  90. package/dist/tests/testUtils.js.map +1 -1
  91. package/package.json +1 -1
  92. package/src/GarbageCollector.ts +48 -0
  93. package/src/coValueContentMessage.ts +16 -3
  94. package/src/coValueCore/coValueCore.ts +27 -10
  95. package/src/coValueCore/utils.ts +1 -0
  96. package/src/coValueCore/verifiedState.ts +1 -0
  97. package/src/coValues/coPlainText.ts +40 -8
  98. package/src/config.ts +20 -1
  99. package/src/exports.ts +13 -5
  100. package/src/localNode.ts +15 -1
  101. package/src/queue/LocalTransactionsSyncQueue.ts +1 -1
  102. package/src/queue/StoreQueue.ts +45 -12
  103. package/src/storage/sqlite/client.ts +24 -10
  104. package/src/storage/sqliteAsync/client.ts +26 -5
  105. package/src/storage/storageAsync.ts +5 -9
  106. package/src/storage/storageSync.ts +2 -9
  107. package/src/storage/types.ts +7 -4
  108. package/src/sync.ts +19 -3
  109. package/src/tests/GarbageCollector.test.ts +127 -0
  110. package/src/tests/coPlainText.test.ts +176 -4
  111. package/src/tests/coStream.test.ts +7 -3
  112. package/src/tests/sync.garbageCollection.test.ts +178 -0
  113. package/src/tests/sync.mesh.test.ts +49 -34
  114. package/src/tests/sync.storage.test.ts +31 -21
  115. package/src/tests/sync.storageAsync.test.ts +81 -29
  116. package/src/tests/testStorage.ts +11 -3
  117. package/src/tests/testUtils.ts +4 -1
package/dist/config.js CHANGED
@@ -5,7 +5,12 @@
5
5
  This also means that we want to keep signatures roughly after each MAX_RECOMMENDED_TX size chunk,
6
6
  to be able to verify partially loaded CoValues or CoValues that are still being created (like a video live stream).
7
7
  **/
8
- export const MAX_RECOMMENDED_TX_SIZE = 100 * 1024;
8
+ export const TRANSACTION_CONFIG = {
9
+ MAX_RECOMMENDED_TX_SIZE: 100 * 1024,
10
+ };
11
+ export function setMaxRecommendedTxSize(size) {
12
+ TRANSACTION_CONFIG.MAX_RECOMMENDED_TX_SIZE = size;
13
+ }
9
14
  export const CO_VALUE_LOADING_CONFIG = {
10
15
  MAX_RETRIES: 1,
11
16
  TIMEOUT: 30000,
@@ -26,4 +31,14 @@ export const SYNC_SCHEDULER_CONFIG = {
26
31
  export function setIncomingMessagesTimeBudget(budget) {
27
32
  SYNC_SCHEDULER_CONFIG.INCOMING_MESSAGES_TIME_BUDGET = budget;
28
33
  }
34
+ export const GARBAGE_COLLECTOR_CONFIG = {
35
+ MAX_AGE: 1000 * 60 * 10, // 10 minutes
36
+ INTERVAL: 1000 * 60 * 5, // 5 minutes
37
+ };
38
+ export function setGarbageCollectorMaxAge(maxAge) {
39
+ GARBAGE_COLLECTOR_CONFIG.MAX_AGE = maxAge;
40
+ }
41
+ export function setGarbageCollectorInterval(interval) {
42
+ GARBAGE_COLLECTOR_CONFIG.INTERVAL = interval;
43
+ }
29
44
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC;AAElD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,KAAM;IACf,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,UAAkB;IAC5D,uBAAuB,CAAC,WAAW,GAAG,UAAU,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,uBAAuB,CAAC,WAAW,GAAG,KAAK,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,6BAA6B,EAAE,EAAE;CAClC,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,qBAAqB,CAAC,6BAA6B,GAAG,MAAM,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,uBAAuB,EAAE,GAAG,GAAG,IAAI;CACpC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,kBAAkB,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,KAAM;IACf,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,UAAkB;IAC5D,uBAAuB,CAAC,WAAW,GAAG,UAAU,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,uBAAuB,CAAC,WAAW,GAAG,KAAK,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,6BAA6B,EAAE,EAAE;CAClC,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,qBAAqB,CAAC,6BAA6B,GAAG,MAAM,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa;IACtC,QAAQ,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY;CACtC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,wBAAwB,CAAC,OAAO,GAAG,MAAM,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,wBAAwB,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/C,CAAC"}
package/dist/exports.d.ts CHANGED
@@ -29,13 +29,14 @@ import type * as Media from "./media.js";
29
29
  import { disablePermissionErrors } from "./permissions.js";
30
30
  import type { Peer, SyncMessage } from "./sync.js";
31
31
  import { DisconnectedError, SyncManager, emptyKnownState } from "./sync.js";
32
- type Value = JsonValue | AnyRawCoValue;
33
- export { PriorityBasedMessageQueue } from "./queue/PriorityBasedMessageQueue.js";
32
+ import { getContentMessageSize, getTransactionSize } from "./coValueContentMessage.js";
34
33
  import { getDependedOnCoValuesFromRawData } from "./coValueCore/utils.js";
35
- import { MAX_RECOMMENDED_TX_SIZE, setCoValueLoadingRetryDelay, setIncomingMessagesTimeBudget } from "./config.js";
34
+ import { setCoValueLoadingRetryDelay, setIncomingMessagesTimeBudget, setMaxRecommendedTxSize } from "./config.js";
36
35
  import { LogLevel, logger } from "./logger.js";
37
36
  import { getPriorityFromHeader } from "./priority.js";
38
37
  import { getDependedOnCoValues } from "./storage/syncUtils.js";
38
+ type Value = JsonValue | AnyRawCoValue;
39
+ export { PriorityBasedMessageQueue } from "./queue/PriorityBasedMessageQueue.js";
39
40
  /** @hidden */
40
41
  export declare const cojsonInternals: {
41
42
  connectedPeers: typeof connectedPeers;
@@ -75,8 +76,14 @@ export declare const cojsonInternals: {
75
76
  ConnectedPeerChannel: typeof ConnectedPeerChannel;
76
77
  textEncoder: import("util").TextEncoder;
77
78
  textDecoder: import("util").TextDecoder;
79
+ getTransactionSize: typeof getTransactionSize;
80
+ getContentMessageSize: typeof getContentMessageSize;
81
+ TRANSACTION_CONFIG: {
82
+ MAX_RECOMMENDED_TX_SIZE: number;
83
+ };
84
+ setMaxRecommendedTxSize: typeof setMaxRecommendedTxSize;
78
85
  };
79
- export { LocalNode, RawGroup, Role, EVERYONE, Everyone, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawCoValue, RawCoID, CoID, AnyRawCoValue, RawAccount, RawAccountID, ControlledAccount, AccountMeta, RawAccountMigration, RawProfile as Profile, SessionID, Media, CoValueCore, ControlledAgent, MAX_RECOMMENDED_TX_SIZE, JsonObject, JsonValue, Peer, BinaryStreamInfo, BinaryCoStreamMeta, AgentID, AgentSecret, InviteSecret, CryptoProvider, SyncMessage, isRawCoID, emptyKnownState, RawCoPlainText, stringifyOpID, logger, LogLevel, base64URLtoBytes, bytesToBase64url, };
86
+ export { LocalNode, RawGroup, Role, EVERYONE, Everyone, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawCoValue, RawCoID, CoID, AnyRawCoValue, RawAccount, RawAccountID, ControlledAccount, AccountMeta, RawAccountMigration, RawProfile as Profile, SessionID, Media, CoValueCore, ControlledAgent, JsonObject, JsonValue, Peer, BinaryStreamInfo, BinaryCoStreamMeta, AgentID, AgentSecret, InviteSecret, CryptoProvider, SyncMessage, isRawCoID, emptyKnownState, RawCoPlainText, stringifyOpID, logger, LogLevel, base64URLtoBytes, bytesToBase64url, };
80
87
  export type { Value, DisconnectedError, CoValueUniqueness, Stringified, CoStreamItem, BinaryStreamItem, BinaryStreamStart, OpID, AccountRole, };
81
88
  export * from "./storage/index.js";
82
89
  export declare namespace CojsonInternalTypes {
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"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"}
package/dist/exports.js CHANGED
@@ -17,12 +17,13 @@ import { isAccountID } from "./typeUtils/isAccountID.js";
17
17
  import { textDecoder, textEncoder } from "./crypto/crypto.js";
18
18
  import { disablePermissionErrors } from "./permissions.js";
19
19
  import { SyncManager, emptyKnownState } from "./sync.js";
20
- export { PriorityBasedMessageQueue } from "./queue/PriorityBasedMessageQueue.js";
20
+ import { getContentMessageSize, getTransactionSize, } from "./coValueContentMessage.js";
21
21
  import { getDependedOnCoValuesFromRawData } from "./coValueCore/utils.js";
22
- import { CO_VALUE_LOADING_CONFIG, MAX_RECOMMENDED_TX_SIZE, setCoValueLoadingRetryDelay, setIncomingMessagesTimeBudget, } from "./config.js";
22
+ import { CO_VALUE_LOADING_CONFIG, TRANSACTION_CONFIG, setCoValueLoadingRetryDelay, setIncomingMessagesTimeBudget, setMaxRecommendedTxSize, } from "./config.js";
23
23
  import { LogLevel, logger } from "./logger.js";
24
24
  import { CO_VALUE_PRIORITY, getPriorityFromHeader } from "./priority.js";
25
25
  import { getDependedOnCoValues } from "./storage/syncUtils.js";
26
+ export { PriorityBasedMessageQueue } from "./queue/PriorityBasedMessageQueue.js";
26
27
  /** @hidden */
27
28
  export const cojsonInternals = {
28
29
  connectedPeers,
@@ -54,8 +55,12 @@ export const cojsonInternals = {
54
55
  ConnectedPeerChannel,
55
56
  textEncoder,
56
57
  textDecoder,
58
+ getTransactionSize,
59
+ getContentMessageSize,
60
+ TRANSACTION_CONFIG,
61
+ setMaxRecommendedTxSize,
57
62
  };
58
- export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, ControlledAccount, RawProfile as Profile, CoValueCore, ControlledAgent, MAX_RECOMMENDED_TX_SIZE, CryptoProvider, isRawCoID, emptyKnownState, RawCoPlainText, stringifyOpID, logger, LogLevel, base64URLtoBytes, bytesToBase64url, };
63
+ export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, ControlledAccount, RawProfile as Profile, CoValueCore, ControlledAgent, CryptoProvider, isRawCoID, emptyKnownState, RawCoPlainText, stringifyOpID, logger, LogLevel, base64URLtoBytes, bytesToBase64url, };
59
64
  export * from "./storage/index.js";
60
65
  // biome-ignore format: on
61
66
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Result } from "neverthrow";
2
+ import { GarbageCollector } from "./GarbageCollector.js";
2
3
  import type { CoID } from "./coValue.js";
3
4
  import type { RawCoValue } from "./coValue.js";
4
5
  import { type AvailableCoValueCore, CoValueCore } from "./coValueCore/coValueCore.js";
@@ -30,10 +31,12 @@ export declare class LocalNode {
30
31
  readonly agentSecret: AgentSecret;
31
32
  /** @category 3. Low-level */
32
33
  syncManager: SyncManager;
34
+ garbageCollector: GarbageCollector | undefined;
33
35
  crashed: Error | undefined;
34
36
  storage?: StorageAPI;
35
37
  /** @category 3. Low-level */
36
38
  constructor(agentSecret: AgentSecret, currentSessionID: SessionID, crypto: CryptoProvider);
39
+ enableGarbageCollector(): void;
37
40
  setStorage(storage: StorageAPI): void;
38
41
  removeStorage(): void;
39
42
  getCoValue(id: RawCoID): CoValueCore;
@@ -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
@@ -1,4 +1,5 @@
1
1
  import { err, ok } from "neverthrow";
2
+ import { GarbageCollector } from "./GarbageCollector.js";
2
3
  import { CoValueCore, idforHeader, } from "./coValueCore/coValueCore.js";
3
4
  import { VerifiedState, } from "./coValueCore/verifiedState.js";
4
5
  import { ControlledAccount, ControlledAgent, accountHeaderForInitialAgentSecret, expectAccount, } from "./coValues/account.js";
@@ -27,11 +28,18 @@ export class LocalNode {
27
28
  this.coValues = new Map();
28
29
  /** @category 3. Low-level */
29
30
  this.syncManager = new SyncManager(this);
31
+ this.garbageCollector = undefined;
30
32
  this.crashed = undefined;
31
33
  this.agentSecret = agentSecret;
32
34
  this.currentSessionID = currentSessionID;
33
35
  this.crypto = crypto;
34
36
  }
37
+ enableGarbageCollector() {
38
+ if (this.garbageCollector) {
39
+ return;
40
+ }
41
+ this.garbageCollector = new GarbageCollector(this.coValues);
42
+ }
35
43
  setStorage(storage) {
36
44
  this.storage = storage;
37
45
  }
@@ -45,6 +53,7 @@ export class LocalNode {
45
53
  entry = CoValueCore.fromID(id, this);
46
54
  this.coValues.set(id, entry);
47
55
  }
56
+ this.garbageCollector?.trackCoValueAccess(entry);
48
57
  return entry;
49
58
  }
50
59
  allCoValues() {
@@ -190,6 +199,7 @@ export class LocalNode {
190
199
  }
191
200
  const id = idforHeader(header, this.crypto);
192
201
  const coValue = this.putCoValue(id, new VerifiedState(id, this.crypto, header, new Map()));
202
+ this.garbageCollector?.trackCoValueAccess(coValue);
193
203
  this.syncManager.syncHeader(coValue.verified);
194
204
  return coValue;
195
205
  }
@@ -449,6 +459,7 @@ export class LocalNode {
449
459
  */
450
460
  gracefulShutdown() {
451
461
  this.syncManager.gracefulShutdown();
462
+ this.garbageCollector?.stop();
452
463
  return this.storage?.close();
453
464
  }
454
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAEL,WAAW,EACX,WAAW,GACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,iBAAiB,EAEjB,eAAe,EAOf,kCAAkC,EAClC,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAA+B,SAAS,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAgB,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD;;;;;;;;;;EAUE;AACF,MAAM,OAAO,SAAS;IAiBpB,6BAA6B;IAC7B,YACE,WAAwB,EACxB,gBAA2B,EAC3B,MAAsB;QAlBxB,gBAAgB;QACC,aAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;QAM5D,6BAA6B;QAC7B,gBAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpC,YAAO,GAAsB,SAAS,CAAC;QAUrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,OAAmB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,EAAW;QACpB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAEO,UAAU,CAChB,EAAW,EACX,QAAuB,EACvB,EAAE,cAAc,GAAG,KAAK,KAAmC,EAAE;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,8BAA8B,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACnE,OAAO,KAA6B,CAAC;IACvC,CAAC;IAED,qBAAqB,CAAC,EAAW;QAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,0BAA0B;QACxB,OAAO,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACzD,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,iBAAiB,CAC1B,aAAa,CACX,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,iBAAiB,EAAE,CAC7D,EACD,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACzD,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,MAAM,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,aAAa,CAClB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,CACxD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAK5B;QACC,MAAM,EACJ,MAAM,EACN,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAClD,eAAe,GAAG,EAAE,GACrB,GAAG,IAAI,CAAC;QACT,MAAM,aAAa,GAAG,kCAAkC,CACtD,kBAAkB,EAClB,MAAM,CACP,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,IAAI,SAAS,CACxB,kBAAkB,EAClB,MAAM,CAAC,kBAAkB,CAAC,SAAyB,CAAC,EACpD,MAAM,CACP,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,WAAW,CAC5B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,iBAAiB,EAAE,CACtD,CAAC;QAEF,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACrD,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC;YAC3C,aAAa,EAAE;gBACb,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;aACxC;SACF,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE1E,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EACnC,aAAa,EACb,eAAe,EACf,SAAS,EACT,MAAM,EACN,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAClD,OAAO,GAQR;QAMC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,CAAC;YAC9C,MAAM;YACN,kBAAkB;YAClB,eAAe;YACf,OAAO;SACR,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAE/B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAU;gBAC9C,IAAI,EAAE,aAAa,CAAC,IAAI;aACzB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,aAAa,EAAE,kBAAkB;YACjC,SAAS,EAAE,IAAI,CAAC,gBAAgB;SACjC,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7B,SAAS,EACT,aAAa,EACb,SAAS,EACT,eAAe,EACf,MAAM,EACN,SAAS,EACT,OAAO,GASR;QACC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,SAAS,CACxB,aAAa,EACb,SAAS,IAAI,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EACjD,MAAM,CACP,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAExC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,aAAa,CAAC,MAAqB;QACjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iDAAiD,EAAE;gBACjE,KAAK,EAAE,IAAI,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,EAAE,EACF,IAAI,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CACtD,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,eAAe,CACnB,EAAW,EACX,mBAA4B,EAC5B,SAAmB;QAEnB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,SAAS,CACjB,0CAA0C,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,EAAE;gBAC/D,KAAK,EAAE,IAAI,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,IACE,OAAO,CAAC,YAAY,KAAK,SAAS;gBAClC,OAAO,CAAC,YAAY,KAAK,aAAa,EACtC,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBAEnE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,6BAA6B,EAAE,CAAC;YAC7D,IACE,MAAM,CAAC,WAAW,EAAE;gBACpB,SAAS;gBACT,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAC9C,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC,CACzD;gBACD,OAAO,CAAC,gBAAgB,EAAE,EAAE,gDAAgD;aAC7E,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,EAAW,EACX,SAAmB;QAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,EAAO,CAAC;IACvC,CAAC;IAED,SAAS,CAAuB,EAAW;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,iBAAiB,EAAO,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6BAA6B;IAC7B,SAAS,CACP,EAAW,EACX,QAA6C,EAC7C,SAAmB;QAEnB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,WAAwB,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;aACrB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC9B,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACjC,EAAE;gBACF,GAAG,EAAE,CAAC;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,IAAI,CAAC;YACf,WAAW,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,mBAA4B,EAC5B,YAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEnD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QAEnD,IAAI,KAAe,CAAC;QAEpB,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAuB,CAAC,CAAC;YAE/D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,CAAC;YAED,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAC7D,0BAA0B,CAAC,YAAY,CAAC,CACzC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,EAC9D,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3C,IACE,YAAY,KAAK,OAAO;YACxB,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,KAAK,cAAc,CAAC;YAC5D,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,CAAC;YACtD,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,KAAK,cAAc,CAAC;YAC5D,CAAC,YAAY,IAAI,UAAU,KAAK,iBAAiB,CAAC,EAClD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,WAAW,CAC/B,IAAI,CAAC,2BAA2B,CAC9B,KAAK,CAAC,EAAE,EACR,iBAAiB,CAClB,CAAC,iBAAiB,EAAE,CACtB,CAAC;QAEF,aAAa,CAAC,iBAAiB,CAC7B,OAAO,EACP,UAAU,KAAK,aAAa;YAC1B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU,KAAK,cAAc;gBAC7B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,UAAU,KAAK,iBAAiB;oBAChC,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,QAAQ,CACjB,CAAC;QAEF,MAAM,aAAa,GACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpE,EAAE,CAAC;QAEL,uDAAuD;QACvD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,mBAAmB,CAAC,EAAW,EAAE,WAAoB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,CACxE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,mBAAmB,CAAC,EAAgB,EAAE,WAAoB;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAC7B,SAAS,EACT,WAAW,CACZ,CAAC,iBAAiB,EAAgB,CAAC;IACtC,CAAC;IAED,gBAAgB;IAChB,mBAAmB,CACjB,EAA0B,EAC1B,WAAoB;QAEpB,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,OAA6B,CAAC;QAElC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,yBAAyB;gBAC/B,WAAW;gBACX,EAAE;gBACF,KAAK,EAAE,CAAC;aACsB,CAAC,CAAC;QACpC,CAAC;QAED,IACE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;YAC7B,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAC/C,CAAC;YACD,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,wBAAwB;gBAC9B,WAAW;gBACX,EAAE;aACmC,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,CAAE,OAAO,CAAC,iBAAiB,EAAiB,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,WAAW,CACT,aAAgC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAE9D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE;YACpD,IAAI,EAAE,IAAI;YACV,GAAG,UAAU;SACd,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE5D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAEjD,KAAK,CAAC,GAAG,CACP,GAAG,OAAO,CAAC,EAAE,QAAQ,OAAO,CAAC,EAAE,EAAE,EACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE;YACnC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE;YAC7B,aAAa,EAAE;gBACb,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,EAAE,EAAE,YAAY,CAAC,iBAAiB,EAAE;aACrC;SACF,CAAC,EACF,UAAU,CACX,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B,CACzB,EAAW,EACX,MAAmB,EACnB,SAAkC;QAElC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,SAAS,CAC3B,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,EACrD,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;IAChB,sBAAsB,CAAC,SAAoB,EAAE,EAAW;QACtD,MAAM,iBAAiB,GAAG,CAAC,EAAE,CAAC,CAAC;QAE/B,qDAAqD;QACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAE,CAAC;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAClD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAG,CAAC;YAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export class LocalTransactionsSyncQueue {
23
23
  this.syncTransaction = (coValue, transaction, sessionID, signature, txIdx) => {
24
24
  const lastPendingSync = this.queue.tail?.value;
25
25
  const lastSignatureIdx = coValue.getLastSignatureCheckpoint(sessionID);
26
- const isSignatureCheckpoint = lastSignatureIdx > -1 && lastSignatureIdx === txIdx - 1;
26
+ const isSignatureCheckpoint = lastSignatureIdx > -1 && lastSignatureIdx === txIdx;
27
27
  if (lastPendingSync?.id === coValue.id && !isSignatureCheckpoint) {
28
28
  addTransactionToContentMessage(lastPendingSync, transaction, sessionID, signature, txIdx);
29
29
  return;
@@ -1 +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
+ {"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,CAAC;YAEtD,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"}
@@ -4,14 +4,20 @@ type StoreQueueEntry = {
4
4
  data: NewContentMessage;
5
5
  correctionCallback: CorrectionCallback;
6
6
  };
7
+ declare class StoreQueueManager {
8
+ private backlog;
9
+ private processing;
10
+ schedule(queue: StoreQueue, callback: () => Promise<unknown>): Promise<void>;
11
+ }
7
12
  export declare class StoreQueue {
13
+ static manager: StoreQueueManager;
8
14
  private queue;
9
15
  closed: boolean;
10
16
  push(data: NewContentMessage, correctionCallback: CorrectionCallback): void;
11
17
  pull(): StoreQueueEntry | undefined;
12
18
  processing: boolean;
13
19
  lastCallback: Promise<unknown> | undefined;
14
- processQueue(callback: (data: NewContentMessage, correctionCallback: CorrectionCallback) => Promise<unknown>): Promise<void>;
20
+ processQueue(callback: (data: NewContentMessage, correctionCallback: CorrectionCallback) => Promise<unknown>): Promise<void> | undefined;
15
21
  close(): Promise<unknown> | undefined;
16
22
  }
17
23
  export {};
@@ -1 +1 @@
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"}
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,cAAM,iBAAiB;IACrB,OAAO,CAAC,OAAO,CAGV;IAEL,OAAO,CAAC,UAAU,CAAS;IAErB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC;CAmBnE;AAED,qBAAa,UAAU;IACrB,MAAM,CAAC,OAAO,oBAA2B;IAEzC,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;IAE3C,YAAY,CACV,QAAQ,EAAE,CACR,IAAI,EAAE,iBAAiB,EACvB,kBAAkB,EAAE,kBAAkB,KACnC,OAAO,CAAC,OAAO,CAAC;IA2BvB,KAAK;CAON"}
@@ -1,5 +1,24 @@
1
1
  import { logger } from "../logger.js";
2
2
  import { LinkedList } from "./LinkedList.js";
3
+ class StoreQueueManager {
4
+ constructor() {
5
+ this.backlog = new LinkedList();
6
+ this.processing = false;
7
+ }
8
+ async schedule(queue, callback) {
9
+ this.backlog.push({ queue, callback });
10
+ if (this.processing) {
11
+ return;
12
+ }
13
+ this.processing = true;
14
+ while (this.backlog.head) {
15
+ const entry = this.backlog.head;
16
+ await entry.value.callback();
17
+ this.backlog.shift();
18
+ }
19
+ this.processing = false;
20
+ }
21
+ }
3
22
  export class StoreQueue {
4
23
  constructor() {
5
24
  this.queue = new LinkedList();
@@ -15,24 +34,26 @@ export class StoreQueue {
15
34
  pull() {
16
35
  return this.queue.shift();
17
36
  }
18
- async processQueue(callback) {
37
+ processQueue(callback) {
19
38
  if (this.processing) {
20
39
  return;
21
40
  }
22
41
  this.processing = true;
23
- let entry;
24
- while ((entry = this.pull())) {
25
- const { data, correctionCallback } = entry;
26
- try {
27
- this.lastCallback = callback(data, correctionCallback);
28
- await this.lastCallback;
42
+ return StoreQueue.manager.schedule(this, async () => {
43
+ let entry;
44
+ while ((entry = this.pull())) {
45
+ const { data, correctionCallback } = entry;
46
+ try {
47
+ this.lastCallback = callback(data, correctionCallback);
48
+ await this.lastCallback;
49
+ }
50
+ catch (err) {
51
+ logger.error("Error processing message in store queue", { err });
52
+ }
29
53
  }
30
- catch (err) {
31
- logger.error("Error processing message in store queue", { err });
32
- }
33
- }
34
- this.lastCallback = undefined;
35
- this.processing = false;
54
+ this.lastCallback = undefined;
55
+ this.processing = false;
56
+ });
36
57
  }
37
58
  close() {
38
59
  this.closed = true;
@@ -40,4 +61,5 @@ export class StoreQueue {
40
61
  return this.lastCallback;
41
62
  }
42
63
  }
64
+ StoreQueue.manager = new StoreQueueManager();
43
65
  //# sourceMappingURL=StoreQueue.js.map
@@ -1 +1 @@
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"}
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,iBAAiB;IAAvB;QACU,YAAO,GAAG,IAAI,UAAU,EAG5B,CAAC;QAEG,eAAU,GAAG,KAAK,CAAC;IAqB7B,CAAC;IAnBC,KAAK,CAAC,QAAQ,CAAC,KAAiB,EAAE,QAAgC;QAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAEhC,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAE7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IAAvB;QAGU,UAAK,GAAG,IAAI,UAAU,EAAmB,CAAC;QAClD,WAAM,GAAG,KAAK,CAAC;QAcf,eAAU,GAAG,KAAK,CAAC;IAyCrB,CAAC;IArDQ,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,YAAY,CACV,QAGqB;QAErB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAClD,IAAI,KAAkC,CAAC;YAEvC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;gBAE3C,IAAI,CAAC;oBACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;oBACvD,MAAM,IAAI,CAAC,YAAY,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,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;;AAzDM,kBAAO,GAAG,IAAI,iBAAiB,EAAE,AAA1B,CAA2B"}
@@ -1,7 +1,6 @@
1
- import type { Transaction } from "../../coValueCore/verifiedState.js";
1
+ import type { CoValueHeader, Transaction } from "../../coValueCore/verifiedState.js";
2
2
  import type { Signature } from "../../crypto/crypto.js";
3
3
  import type { RawCoID, SessionID } from "../../exports.js";
4
- import type { NewContentMessage } from "../../sync.js";
5
4
  import type { DBClientInterfaceSync, SessionRow, SignatureAfterRow, StoredCoValueRow, StoredSessionRow, TransactionRow } from "../types.js";
6
5
  import type { SQLiteDatabaseDriver } from "./types.js";
7
6
  export type RawCoValueRow = {
@@ -22,8 +21,9 @@ export declare class SQLiteClient implements DBClientInterfaceSync {
22
21
  getSingleCoValueSession(coValueRowId: number, sessionID: SessionID): StoredSessionRow | undefined;
23
22
  getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): TransactionRow[];
24
23
  getSignatures(sessionRowId: number, firstNewTxIdx: number): SignatureAfterRow[];
25
- addCoValue(msg: NewContentMessage): number;
26
- addSessionUpdate({ sessionUpdate, }: {
24
+ getCoValueRowID(id: RawCoID): number | undefined;
25
+ upsertCoValue(id: RawCoID, header?: CoValueHeader): number | undefined;
26
+ addSessionUpdate({ sessionUpdate }: {
27
27
  sessionUpdate: SessionRow;
28
28
  }): number;
29
29
  addTransaction(sessionRowID: number, nextIdx: number, newTransaction: Transaction): void;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,YAAa,YAAW,qBAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAuB;gBAE9B,EAAE,EAAE,oBAAoB;IAIpC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS;IA0B5D,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAO5D,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,gBAAgB,GAAG,SAAS;IAO/B,0BAA0B,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,cAAc,EAAE;IAiBnB,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,EAAE;IAOtB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM;IAa1C,gBAAgB,CAAC,EACf,aAAa,GACd,EAAE;QACD,aAAa,EAAE,UAAU,CAAC;KAC3B,GAAG,MAAM;IAqBV,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IAS7B,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAO9D,WAAW,CAAC,kBAAkB,EAAE,MAAM,OAAO;CAI9C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,YAAa,YAAW,qBAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAuB;gBAE9B,EAAE,EAAE,oBAAoB;IAIpC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS;IA0B5D,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAO5D,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,gBAAgB,GAAG,SAAS;IAO/B,0BAA0B,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,cAAc,EAAE;IAiBnB,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,EAAE;IAOtB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAQhD,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;IAmBtE,gBAAgB,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,GAAG,MAAM;IAqB1E,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IAS7B,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,SAAS,CAAC;KACtB;IAOD,WAAW,CAAC,kBAAkB,EAAE,MAAM,OAAO;CAI9C"}
@@ -49,14 +49,23 @@ export class SQLiteClient {
49
49
  getSignatures(sessionRowId, firstNewTxIdx) {
50
50
  return this.db.query("SELECT * FROM signatureAfter WHERE ses = ? AND idx >= ?", [sessionRowId, firstNewTxIdx]);
51
51
  }
52
- addCoValue(msg) {
53
- const result = this.db.get("INSERT INTO coValues (id, header) VALUES (?, ?) RETURNING rowID", [msg.id, JSON.stringify(msg.header)]);
52
+ getCoValueRowID(id) {
53
+ const row = this.db.get("SELECT rowID FROM coValues WHERE id = ?", [id]);
54
+ return row?.rowID;
55
+ }
56
+ upsertCoValue(id, header) {
57
+ if (!header) {
58
+ return this.getCoValueRowID(id);
59
+ }
60
+ const result = this.db.get(`INSERT INTO coValues (id, header) VALUES (?, ?)
61
+ ON CONFLICT(id) DO NOTHING
62
+ RETURNING rowID`, [id, JSON.stringify(header)]);
54
63
  if (!result) {
55
- throw new Error("Failed to add coValue");
64
+ return this.getCoValueRowID(id);
56
65
  }
57
66
  return result.rowID;
58
67
  }
59
- addSessionUpdate({ sessionUpdate, }) {
68
+ addSessionUpdate({ sessionUpdate }) {
60
69
  const result = this.db.get(`INSERT INTO sessions (coValue, sessionID, lastIdx, lastSignature, bytesSinceLastSignature) VALUES (?, ?, ?, ?, ?)
61
70
  ON CONFLICT(coValue, sessionID) DO UPDATE SET lastIdx=excluded.lastIdx, lastSignature=excluded.lastSignature, bytesSinceLastSignature=excluded.bytesSinceLastSignature
62
71
  RETURNING rowID`, [
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import type { Transaction } from "../../coValueCore/verifiedState.js";
1
+ import type { CoValueHeader, Transaction } from "../../coValueCore/verifiedState.js";
2
2
  import type { Signature } from "../../crypto/crypto.js";
3
3
  import type { RawCoID, SessionID } from "../../exports.js";
4
- import type { NewContentMessage } from "../../sync.js";
5
4
  import type { DBClientInterfaceAsync, SessionRow, SignatureAfterRow, StoredCoValueRow, StoredSessionRow, TransactionRow } from "../types.js";
6
5
  import type { SQLiteDatabaseDriverAsync } from "./types.js";
7
6
  export type RawCoValueRow = {
@@ -22,7 +21,8 @@ export declare class SQLiteClientAsync implements DBClientInterfaceAsync {
22
21
  getSingleCoValueSession(coValueRowId: number, sessionID: SessionID): Promise<StoredSessionRow | undefined>;
23
22
  getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): Promise<TransactionRow[]>;
24
23
  getSignatures(sessionRowId: number, firstNewTxIdx: number): Promise<SignatureAfterRow[]>;
25
- addCoValue(msg: NewContentMessage): Promise<number>;
24
+ getCoValueRowID(id: RawCoID): Promise<number | undefined>;
25
+ upsertCoValue(id: RawCoID, header?: CoValueHeader): Promise<number | undefined>;
26
26
  addSessionUpdate({ sessionUpdate, }: {
27
27
  sessionUpdate: SessionRow;
28
28
  }): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,iBAAkB,YAAW,sBAAsB;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA4B;gBAEnC,EAAE,EAAE,yBAAyB;IAInC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA0BrE,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOrE,uBAAuB,CAC3B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAOlC,0BAA0B,CAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBtB,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAOzB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAanD,gBAAgB,CAAC,EACrB,aAAa,GACd,EAAE;QACD,aAAa,EAAE,UAAU,CAAC;KAC3B,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnB,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IASvB,iBAAiB,CAAC,EACtB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAOxD,WAAW,CAAC,kBAAkB,EAAE,MAAM,OAAO;CAGpD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EACV,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,iBAAkB,YAAW,sBAAsB;IAC9D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA4B;gBAEnC,EAAE,EAAE,yBAAyB;IAInC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA0BrE,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAOrE,uBAAuB,CAC3B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAOlC,0BAA0B,CAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBtB,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAOzB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQzD,aAAa,CACjB,EAAE,EAAE,OAAO,EACX,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmBxB,gBAAgB,CAAC,EACrB,aAAa,GACd,EAAE;QACD,aAAa,EAAE,UAAU,CAAC;KAC3B,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnB,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IASvB,iBAAiB,CAAC,EACtB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,SAAS,CAAC;KACtB;IAOK,WAAW,CAAC,kBAAkB,EAAE,MAAM,OAAO;CAGpD"}
@@ -49,10 +49,19 @@ export class SQLiteClientAsync {
49
49
  async getSignatures(sessionRowId, firstNewTxIdx) {
50
50
  return this.db.query("SELECT * FROM signatureAfter WHERE ses = ? AND idx >= ?", [sessionRowId, firstNewTxIdx]);
51
51
  }
52
- async addCoValue(msg) {
53
- const result = await this.db.get("INSERT INTO coValues (id, header) VALUES (?, ?) RETURNING rowID", [msg.id, JSON.stringify(msg.header)]);
52
+ async getCoValueRowID(id) {
53
+ const row = await this.db.get("SELECT rowID FROM coValues WHERE id = ?", [id]);
54
+ return row?.rowID;
55
+ }
56
+ async upsertCoValue(id, header) {
57
+ if (!header) {
58
+ return this.getCoValueRowID(id);
59
+ }
60
+ const result = await this.db.get(`INSERT INTO coValues (id, header) VALUES (?, ?)
61
+ ON CONFLICT(id) DO NOTHING
62
+ RETURNING rowID`, [id, JSON.stringify(header)]);
54
63
  if (!result) {
55
- throw new Error("Failed to add coValue");
64
+ return this.getCoValueRowID(id);
56
65
  }
57
66
  return result.rowID;
58
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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
+ {"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;YAgEX,SAAS;IAiEvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,KAAK;CAGN"}