@powerhousedao/reactor 6.0.0-dev.25 → 6.0.0-dev.27
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.
- package/dist/src/cache/document-meta-cache.js +3 -3
- package/dist/src/cache/document-meta-cache.js.map +1 -1
- package/dist/src/cache/kysely-operation-index.d.ts +2 -1
- package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
- package/dist/src/cache/kysely-operation-index.js +16 -4
- package/dist/src/cache/kysely-operation-index.js.map +1 -1
- package/dist/src/cache/kysely-write-cache.js +8 -8
- package/dist/src/cache/kysely-write-cache.js.map +1 -1
- package/dist/src/cache/operation-index-types.d.ts +2 -1
- package/dist/src/cache/operation-index-types.d.ts.map +1 -1
- package/dist/src/cache/operation-index-types.js.map +1 -1
- package/dist/src/client/reactor-client.d.ts +4 -6
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +20 -25
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +1 -4
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +2 -5
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/reactor-client-builder.d.ts +3 -2
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-client-builder.js +13 -4
- package/dist/src/core/reactor-client-builder.js.map +1 -1
- package/dist/src/core/reactor.d.ts +11 -75
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +89 -552
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +28 -19
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +6 -1
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +22 -6
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/events/types.d.ts +24 -8
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js +7 -5
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +14 -4
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +24 -9
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/index.d.ts +4 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts +2 -2
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.js +11 -11
- package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -1
- package/dist/src/read-models/base-read-model.js +4 -4
- package/dist/src/read-models/base-read-model.js.map +1 -1
- package/dist/src/read-models/coordinator.d.ts +2 -2
- package/dist/src/read-models/coordinator.d.ts.map +1 -1
- package/dist/src/read-models/coordinator.js +8 -8
- package/dist/src/read-models/coordinator.js.map +1 -1
- package/dist/src/read-models/document-view.d.ts +5 -2
- package/dist/src/read-models/document-view.d.ts.map +1 -1
- package/dist/src/read-models/document-view.js +128 -28
- package/dist/src/read-models/document-view.js.map +1 -1
- package/dist/src/shared/awaiter.d.ts +2 -2
- package/dist/src/shared/awaiter.d.ts.map +1 -1
- package/dist/src/shared/awaiter.js +11 -11
- package/dist/src/shared/awaiter.js.map +1 -1
- package/dist/src/shared/collect-all-pages.d.ts +7 -0
- package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
- package/dist/src/shared/collect-all-pages.js +17 -0
- package/dist/src/shared/collect-all-pages.js.map +1 -0
- package/dist/src/shared/types.d.ts +4 -4
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js +4 -4
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +1 -1
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
- package/dist/src/signer/passthrough-signer.js +1 -3
- package/dist/src/signer/passthrough-signer.js.map +1 -1
- package/dist/src/storage/interfaces.d.ts +38 -94
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/interfaces.js.map +1 -1
- package/dist/src/storage/kysely/document-indexer.d.ts +6 -6
- package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
- package/dist/src/storage/kysely/document-indexer.js +123 -52
- package/dist/src/storage/kysely/document-indexer.js.map +1 -1
- package/dist/src/storage/kysely/store.d.ts +2 -1
- package/dist/src/storage/kysely/store.d.ts.map +1 -1
- package/dist/src/storage/kysely/store.js +33 -15
- package/dist/src/storage/kysely/store.js.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +1 -1
- package/dist/src/subs/subscription-notification-read-model.js +1 -1
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/composite-channel-factory.js +5 -2
- package/dist/src/sync/channels/composite-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel-factory.js +5 -2
- package/dist/src/sync/channels/gql-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel.d.ts +4 -9
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel.js +11 -31
- package/dist/src/sync/channels/gql-channel.js.map +1 -1
- package/dist/src/sync/channels/index.d.ts +2 -0
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +2 -0
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/interval-poll-timer.d.ts +18 -0
- package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
- package/dist/src/sync/channels/interval-poll-timer.js +43 -0
- package/dist/src/sync/channels/interval-poll-timer.js.map +1 -0
- package/dist/src/sync/channels/poll-timer.d.ts +14 -0
- package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
- package/dist/src/sync/channels/poll-timer.js +2 -0
- package/dist/src/sync/channels/poll-timer.js.map +1 -0
- package/dist/src/sync/channels/utils.d.ts.map +1 -1
- package/dist/src/sync/channels/utils.js +2 -2
- package/dist/src/sync/channels/utils.js.map +1 -1
- package/dist/src/sync/index.d.ts +3 -3
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +2 -2
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +11 -1
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/sync-awaiter.d.ts +34 -0
- package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
- package/dist/src/sync/sync-awaiter.js +124 -0
- package/dist/src/sync/sync-awaiter.js.map +1 -0
- package/dist/src/sync/sync-manager.d.ts +6 -2
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +87 -9
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/dist/src/sync/sync-operation.d.ts +2 -1
- package/dist/src/sync/sync-operation.d.ts.map +1 -1
- package/dist/src/sync/sync-operation.js +3 -1
- package/dist/src/sync/sync-operation.js.map +1 -1
- package/dist/src/sync/types.d.ts +62 -0
- package/dist/src/sync/types.d.ts.map +1 -1
- package/dist/src/sync/types.js +10 -0
- package/dist/src/sync/types.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
- package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
- package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
package/dist/src/sync/types.d.ts
CHANGED
|
@@ -59,4 +59,66 @@ export type RemoteRecord = {
|
|
|
59
59
|
options: RemoteOptions;
|
|
60
60
|
status: RemoteStatus;
|
|
61
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* Event types for sync lifecycle events.
|
|
64
|
+
* These events track the sync progress of a job's operations to remotes.
|
|
65
|
+
* Uses a separate namespace (20000 range) from ReactorEventTypes (10000 range).
|
|
66
|
+
*/
|
|
67
|
+
export declare const SyncEventTypes: {
|
|
68
|
+
readonly SYNC_PENDING: 20001;
|
|
69
|
+
readonly SYNC_SUCCEEDED: 20002;
|
|
70
|
+
readonly SYNC_FAILED: 20003;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Event emitted when all SyncOperations for a job are queued in outboxes.
|
|
74
|
+
*/
|
|
75
|
+
export type SyncPendingEvent = {
|
|
76
|
+
jobId: string;
|
|
77
|
+
syncOperationCount: number;
|
|
78
|
+
remoteNames: string[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Event emitted when all sync operations for a job succeed.
|
|
82
|
+
*/
|
|
83
|
+
export type SyncSucceededEvent = {
|
|
84
|
+
jobId: string;
|
|
85
|
+
syncOperationCount: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Event emitted when at least one sync operation for a job fails.
|
|
89
|
+
*/
|
|
90
|
+
export type SyncFailedEvent = {
|
|
91
|
+
jobId: string;
|
|
92
|
+
successCount: number;
|
|
93
|
+
failureCount: number;
|
|
94
|
+
errors: Array<{
|
|
95
|
+
remoteName: string;
|
|
96
|
+
documentId: string;
|
|
97
|
+
error: string;
|
|
98
|
+
}>;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Status of a sync operation result.
|
|
102
|
+
*/
|
|
103
|
+
export type SyncResultStatus = "succeeded" | "failed";
|
|
104
|
+
/**
|
|
105
|
+
* Error information for a failed sync operation to a specific remote.
|
|
106
|
+
*/
|
|
107
|
+
export type SyncResultError = {
|
|
108
|
+
remoteName: string;
|
|
109
|
+
documentId: string;
|
|
110
|
+
error: string;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Result of waiting for sync operations to complete for a job.
|
|
114
|
+
* Returned by ISyncManager.waitForSync().
|
|
115
|
+
*/
|
|
116
|
+
export type SyncResult = {
|
|
117
|
+
jobId: string;
|
|
118
|
+
status: SyncResultStatus;
|
|
119
|
+
syncOperationCount: number;
|
|
120
|
+
successCount: number;
|
|
121
|
+
failureCount: number;
|
|
122
|
+
errors: SyncResultError[];
|
|
123
|
+
};
|
|
62
124
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,oBAAY,mBAAmB;IAC7B,OAAO,KAAK;IACZ,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;IACpB,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,CAAC;AAErB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/sync/types.js
CHANGED
|
@@ -13,4 +13,14 @@ export var ChannelErrorSource;
|
|
|
13
13
|
ChannelErrorSource["Inbox"] = "inbox";
|
|
14
14
|
ChannelErrorSource["Outbox"] = "outbox";
|
|
15
15
|
})(ChannelErrorSource || (ChannelErrorSource = {}));
|
|
16
|
+
/**
|
|
17
|
+
* Event types for sync lifecycle events.
|
|
18
|
+
* These events track the sync progress of a job's operations to remotes.
|
|
19
|
+
* Uses a separate namespace (20000 range) from ReactorEventTypes (10000 range).
|
|
20
|
+
*/
|
|
21
|
+
export const SyncEventTypes = {
|
|
22
|
+
SYNC_PENDING: 20001,
|
|
23
|
+
SYNC_SUCCEEDED: 20002,
|
|
24
|
+
SYNC_FAILED: 20003,
|
|
25
|
+
};
|
|
16
26
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AA+BA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,oEAAY,CAAA;IACZ,qFAAoB,CAAA;IACpB,qFAAoB,CAAA;IACpB,mEAAW,CAAA;IACX,+DAAS,CAAA;AACX,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,uCAAiB,CAAA;AACnB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AA+BA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,oEAAY,CAAA;IACZ,qFAAoB,CAAA;IACpB,qFAAoB,CAAA;IACpB,mEAAW,CAAA;IACX,+DAAS,CAAA;AACX,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,uCAAiB,CAAA;AACnB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAqCD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,KAAK;IACrB,WAAW,EAAE,KAAK;CACV,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.27",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/powerhouse-inc/powerhouse",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"kysely": "^0.28.2",
|
|
29
29
|
"kysely-pglite-dialect": "^1.1.1",
|
|
30
30
|
"uuid": "^11.0.5",
|
|
31
|
-
"document-drive": "6.0.0-dev.
|
|
32
|
-
"document-model": "6.0.0-dev.
|
|
31
|
+
"document-drive": "6.0.0-dev.27",
|
|
32
|
+
"document-model": "6.0.0-dev.27"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@vitest/coverage-v8": "^3.2.4",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { IDocumentStorage } from "document-drive";
|
|
2
|
-
import type { PHDocument } from "document-model";
|
|
3
|
-
import type { IEventBus } from "../events/interfaces.js";
|
|
4
|
-
import type { IConsistencyTracker } from "../shared/consistency-tracker.js";
|
|
5
|
-
import type { ConsistencyToken } from "../shared/types.js";
|
|
6
|
-
import type { IConsistencyAwareStorage } from "./interfaces.js";
|
|
7
|
-
/**
|
|
8
|
-
* A wrapper around IDocumentStorage that provides read-after-write consistency
|
|
9
|
-
* by waiting for the consistency tracker to be updated before delegating reads
|
|
10
|
-
* to the inner storage.
|
|
11
|
-
*
|
|
12
|
-
* This is used when legacy storage mode is enabled with async persistence
|
|
13
|
-
* (e.g., BrowserStorage with IndexedDB) to ensure documents are available
|
|
14
|
-
* for reading after being written.
|
|
15
|
-
*/
|
|
16
|
-
export declare class ConsistencyAwareLegacyStorage implements IConsistencyAwareStorage {
|
|
17
|
-
private inner;
|
|
18
|
-
private consistencyTracker;
|
|
19
|
-
constructor(inner: IDocumentStorage, consistencyTracker: IConsistencyTracker, eventBus: IEventBus);
|
|
20
|
-
private waitForConsistency;
|
|
21
|
-
get<TDocument extends PHDocument>(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
|
|
22
|
-
getBySlug<TDocument extends PHDocument>(slug: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
|
|
23
|
-
exists(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<boolean>;
|
|
24
|
-
findByType(type: string, limit?: number, cursor?: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
|
|
25
|
-
documents: string[];
|
|
26
|
-
nextCursor: string | undefined;
|
|
27
|
-
}>;
|
|
28
|
-
getChildren(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
29
|
-
resolveIds(slugs: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
30
|
-
resolveSlugs(ids: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
31
|
-
getParents(childId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=consistency-aware-legacy-storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consistency-aware-legacy-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/consistency-aware-legacy-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,6BAA8B,YAAW,wBAAwB;IAE1E,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;gBADlB,KAAK,EAAE,gBAAgB,EACvB,kBAAkB,EAAE,mBAAmB,EAC/C,QAAQ,EAAE,SAAS;YAgBP,kBAAkB;IAa1B,GAAG,CAAC,SAAS,SAAS,UAAU,EACpC,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAKf,SAAS,CAAC,SAAS,SAAS,UAAU,EAC1C,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAKf,MAAM,CACV,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAK7D,WAAW,CACf,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,YAAY,CAChB,GAAG,EAAE,MAAM,EAAE,EACb,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,UAAU,CACd,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;CAIrB"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { OperationEventTypes } from "../events/types.js";
|
|
2
|
-
/**
|
|
3
|
-
* A wrapper around IDocumentStorage that provides read-after-write consistency
|
|
4
|
-
* by waiting for the consistency tracker to be updated before delegating reads
|
|
5
|
-
* to the inner storage.
|
|
6
|
-
*
|
|
7
|
-
* This is used when legacy storage mode is enabled with async persistence
|
|
8
|
-
* (e.g., BrowserStorage with IndexedDB) to ensure documents are available
|
|
9
|
-
* for reading after being written.
|
|
10
|
-
*/
|
|
11
|
-
export class ConsistencyAwareLegacyStorage {
|
|
12
|
-
inner;
|
|
13
|
-
consistencyTracker;
|
|
14
|
-
constructor(inner, consistencyTracker, eventBus) {
|
|
15
|
-
this.inner = inner;
|
|
16
|
-
this.consistencyTracker = consistencyTracker;
|
|
17
|
-
eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN, (_type, event) => {
|
|
18
|
-
const coordinates = event.operations.map((op) => ({
|
|
19
|
-
documentId: op.context.documentId,
|
|
20
|
-
scope: op.context.scope,
|
|
21
|
-
branch: op.context.branch,
|
|
22
|
-
operationIndex: op.operation.index,
|
|
23
|
-
}));
|
|
24
|
-
this.consistencyTracker.update(coordinates);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
async waitForConsistency(consistencyToken, signal) {
|
|
28
|
-
if (consistencyToken && consistencyToken.coordinates.length > 0) {
|
|
29
|
-
await this.consistencyTracker.waitFor(consistencyToken.coordinates, undefined, signal);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async get(id, consistencyToken, signal) {
|
|
33
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
34
|
-
return this.inner.get(id);
|
|
35
|
-
}
|
|
36
|
-
async getBySlug(slug, consistencyToken, signal) {
|
|
37
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
38
|
-
return this.inner.getBySlug(slug);
|
|
39
|
-
}
|
|
40
|
-
async exists(id, consistencyToken, signal) {
|
|
41
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
42
|
-
return this.inner.exists(id);
|
|
43
|
-
}
|
|
44
|
-
async findByType(type, limit, cursor, consistencyToken, signal) {
|
|
45
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
46
|
-
return this.inner.findByType(type, limit, cursor);
|
|
47
|
-
}
|
|
48
|
-
async getChildren(id, consistencyToken, signal) {
|
|
49
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
50
|
-
return this.inner.getChildren(id);
|
|
51
|
-
}
|
|
52
|
-
async resolveIds(slugs, consistencyToken, signal) {
|
|
53
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
54
|
-
return this.inner.resolveIds(slugs, signal);
|
|
55
|
-
}
|
|
56
|
-
async resolveSlugs(ids, consistencyToken, signal) {
|
|
57
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
58
|
-
return this.inner.resolveSlugs(ids, signal);
|
|
59
|
-
}
|
|
60
|
-
async getParents(childId, consistencyToken, signal) {
|
|
61
|
-
await this.waitForConsistency(consistencyToken, signal);
|
|
62
|
-
return this.inner.getParents(childId);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=consistency-aware-legacy-storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consistency-aware-legacy-storage.js","sourceRoot":"","sources":["../../../src/storage/consistency-aware-legacy-storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAMzD;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA6B;IAE9B;IACA;IAFV,YACU,KAAuB,EACvB,kBAAuC,EAC/C,QAAmB;QAFX,UAAK,GAAL,KAAK,CAAkB;QACvB,uBAAkB,GAAlB,kBAAkB,CAAqB;QAG/C,QAAQ,CAAC,SAAS,CAChB,mBAAmB,CAAC,iBAAiB,EACrC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChD,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU;gBACjC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK;gBACvB,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM;gBACzB,cAAc,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK;aACnC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,gBAA8C,EAC9C,MAAoB;QAEpB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CACnC,gBAAgB,CAAC,WAAW,EAC5B,SAAS,EACT,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CACP,EAAU,EACV,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAY,EACZ,KAAc,EACd,MAAe,EACf,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,EAAU,EACV,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAe,EACf,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,GAAa,EACb,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,OAAe,EACf,gBAAmC,EACnC,MAAoB;QAEpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
|