@verdant-web/store 3.3.1 → 3.4.0-next.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.
- package/dist/bundle/index.js +8 -8
- package/dist/bundle/index.js.map +4 -4
- package/dist/esm/BackoffScheduler.js.map +1 -1
- package/dist/esm/IDBService.js.map +1 -1
- package/dist/esm/UndoHistory.js.map +1 -1
- package/dist/esm/__tests__/documents.test.js.map +1 -1
- package/dist/esm/__tests__/queries.test.js.map +1 -1
- package/dist/esm/backup.js.map +1 -1
- package/dist/esm/client/Client.js +7 -0
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/client/ClientDescriptor.js.map +1 -1
- package/dist/esm/entities/Entity.js.map +1 -1
- package/dist/esm/entities/EntityCache.js.map +1 -1
- package/dist/esm/entities/EntityMetadata.js.map +1 -1
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/entities/OperationBatcher.js.map +1 -1
- package/dist/esm/files/EntityFile.js.map +1 -1
- package/dist/esm/files/FileManager.js +3 -0
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/files/FileStorage.js.map +1 -1
- package/dist/esm/files/utils.js.map +1 -1
- package/dist/esm/idb.js.map +1 -1
- package/dist/esm/metadata/AckInfoStore.js.map +1 -1
- package/dist/esm/metadata/LocalReplicaStore.js.map +1 -1
- package/dist/esm/metadata/MessageCreator.js.map +1 -1
- package/dist/esm/metadata/Metadata.js +7 -4
- package/dist/esm/metadata/Metadata.js.map +1 -1
- package/dist/esm/metadata/OperationsStore.js.map +1 -1
- package/dist/esm/metadata/SchemaStore.js.map +1 -1
- package/dist/esm/metadata/openMetadataDatabase.js.map +1 -1
- package/dist/esm/migration/db.js.map +1 -1
- package/dist/esm/migration/openDatabase.js.map +1 -1
- package/dist/esm/migration/paths.js.map +1 -1
- package/dist/esm/queries/BaseQuery.js.map +1 -1
- package/dist/esm/queries/QueryCache.js.map +1 -1
- package/dist/esm/queries/QueryableStorage.js.map +1 -1
- package/dist/esm/queries/dbQueries.js.map +1 -1
- package/dist/esm/queries/keys.js.map +1 -1
- package/dist/esm/queries/ranges.js.map +1 -1
- package/dist/esm/queries/utils.js.map +1 -1
- package/dist/esm/sync/FileSync.js.map +1 -1
- package/dist/esm/sync/Heartbeat.js.map +1 -1
- package/dist/esm/sync/PresenceManager.js.map +1 -1
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/ServerSyncEndpointProvider.js.map +1 -1
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/package.json +9 -10
- package/src/client/Client.ts +8 -1
- package/src/files/FileManager.ts +4 -0
- package/src/metadata/Metadata.ts +11 -7
- package/src/sync/Sync.ts +2 -2
- package/dist/cjs/BackoffScheduler.d.ts +0 -19
- package/dist/cjs/BackoffScheduler.js +0 -45
- package/dist/cjs/BackoffScheduler.js.map +0 -1
- package/dist/cjs/DocumentManager.d.ts +0 -28
- package/dist/cjs/DocumentManager.js +0 -45
- package/dist/cjs/DocumentManager.js.map +0 -1
- package/dist/cjs/FakeWeakRef.d.ts +0 -11
- package/dist/cjs/FakeWeakRef.js +0 -19
- package/dist/cjs/FakeWeakRef.js.map +0 -1
- package/dist/cjs/IDBService.d.ts +0 -30
- package/dist/cjs/IDBService.js +0 -101
- package/dist/cjs/IDBService.js.map +0 -1
- package/dist/cjs/UndoHistory.d.ts +0 -16
- package/dist/cjs/UndoHistory.js +0 -55
- package/dist/cjs/UndoHistory.js.map +0 -1
- package/dist/cjs/__tests__/batching.test.d.ts +0 -1
- package/dist/cjs/__tests__/batching.test.js +0 -47
- package/dist/cjs/__tests__/batching.test.js.map +0 -1
- package/dist/cjs/__tests__/documents.test.d.ts +0 -1
- package/dist/cjs/__tests__/documents.test.js +0 -468
- package/dist/cjs/__tests__/documents.test.js.map +0 -1
- package/dist/cjs/__tests__/fixtures/testStorage.d.ts +0 -76
- package/dist/cjs/__tests__/fixtures/testStorage.js +0 -96
- package/dist/cjs/__tests__/fixtures/testStorage.js.map +0 -1
- package/dist/cjs/__tests__/legacyOids.test.d.ts +0 -1
- package/dist/cjs/__tests__/legacyOids.test.js +0 -354
- package/dist/cjs/__tests__/legacyOids.test.js.map +0 -1
- package/dist/cjs/__tests__/mutations.test.d.ts +0 -1
- package/dist/cjs/__tests__/mutations.test.js +0 -48
- package/dist/cjs/__tests__/mutations.test.js.map +0 -1
- package/dist/cjs/__tests__/queries.test.d.ts +0 -1
- package/dist/cjs/__tests__/queries.test.js +0 -323
- package/dist/cjs/__tests__/queries.test.js.map +0 -1
- package/dist/cjs/__tests__/setup/indexedDB.d.ts +0 -1
- package/dist/cjs/__tests__/setup/indexedDB.js +0 -16
- package/dist/cjs/__tests__/setup/indexedDB.js.map +0 -1
- package/dist/cjs/__tests__/undo.test.d.ts +0 -1
- package/dist/cjs/__tests__/undo.test.js +0 -94
- package/dist/cjs/__tests__/undo.test.js.map +0 -1
- package/dist/cjs/backup.d.ts +0 -10
- package/dist/cjs/backup.js +0 -58
- package/dist/cjs/backup.js.map +0 -1
- package/dist/cjs/client/Client.d.ts +0 -120
- package/dist/cjs/client/Client.js +0 -300
- package/dist/cjs/client/Client.js.map +0 -1
- package/dist/cjs/client/ClientDescriptor.d.ts +0 -76
- package/dist/cjs/client/ClientDescriptor.js +0 -213
- package/dist/cjs/client/ClientDescriptor.js.map +0 -1
- package/dist/cjs/client/constants.d.ts +0 -1
- package/dist/cjs/client/constants.js +0 -5
- package/dist/cjs/client/constants.js.map +0 -1
- package/dist/cjs/constants.d.ts +0 -1
- package/dist/cjs/constants.js +0 -5
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/context.d.ts +0 -38
- package/dist/cjs/context.js +0 -3
- package/dist/cjs/context.js.map +0 -1
- package/dist/cjs/entities/Entity.d.ts +0 -148
- package/dist/cjs/entities/Entity.js +0 -711
- package/dist/cjs/entities/Entity.js.map +0 -1
- package/dist/cjs/entities/Entity.test.d.ts +0 -1
- package/dist/cjs/entities/Entity.test.js +0 -194
- package/dist/cjs/entities/Entity.test.js.map +0 -1
- package/dist/cjs/entities/EntityCache.d.ts +0 -15
- package/dist/cjs/entities/EntityCache.js +0 -39
- package/dist/cjs/entities/EntityCache.js.map +0 -1
- package/dist/cjs/entities/EntityMetadata.d.ts +0 -68
- package/dist/cjs/entities/EntityMetadata.js +0 -261
- package/dist/cjs/entities/EntityMetadata.js.map +0 -1
- package/dist/cjs/entities/EntityStore.d.ts +0 -80
- package/dist/cjs/entities/EntityStore.js +0 -352
- package/dist/cjs/entities/EntityStore.js.map +0 -1
- package/dist/cjs/entities/OperationBatcher.d.ts +0 -52
- package/dist/cjs/entities/OperationBatcher.js +0 -165
- package/dist/cjs/entities/OperationBatcher.js.map +0 -1
- package/dist/cjs/entities/types.d.ts +0 -103
- package/dist/cjs/entities/types.js +0 -3
- package/dist/cjs/entities/types.js.map +0 -1
- package/dist/cjs/files/EntityFile.d.ts +0 -35
- package/dist/cjs/files/EntityFile.js +0 -81
- package/dist/cjs/files/EntityFile.js.map +0 -1
- package/dist/cjs/files/FileManager.d.ts +0 -46
- package/dist/cjs/files/FileManager.js +0 -174
- package/dist/cjs/files/FileManager.js.map +0 -1
- package/dist/cjs/files/FileStorage.d.ts +0 -39
- package/dist/cjs/files/FileStorage.js +0 -110
- package/dist/cjs/files/FileStorage.js.map +0 -1
- package/dist/cjs/files/utils.d.ts +0 -10
- package/dist/cjs/files/utils.js +0 -62
- package/dist/cjs/files/utils.js.map +0 -1
- package/dist/cjs/files/utils.test.d.ts +0 -1
- package/dist/cjs/files/utils.test.js +0 -81
- package/dist/cjs/files/utils.test.js.map +0 -1
- package/dist/cjs/idb.d.ts +0 -13
- package/dist/cjs/idb.js +0 -158
- package/dist/cjs/idb.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -23
- package/dist/cjs/index.js +0 -25
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/metadata/AckInfoStore.d.ts +0 -10
- package/dist/cjs/metadata/AckInfoStore.js +0 -26
- package/dist/cjs/metadata/AckInfoStore.js.map +0 -1
- package/dist/cjs/metadata/BaselinesStore.d.ts +0 -40
- package/dist/cjs/metadata/BaselinesStore.js +0 -106
- package/dist/cjs/metadata/BaselinesStore.js.map +0 -1
- package/dist/cjs/metadata/LocalReplicaStore.d.ts +0 -18
- package/dist/cjs/metadata/LocalReplicaStore.js +0 -62
- package/dist/cjs/metadata/LocalReplicaStore.js.map +0 -1
- package/dist/cjs/metadata/MessageCreator.d.ts +0 -19
- package/dist/cjs/metadata/MessageCreator.js +0 -128
- package/dist/cjs/metadata/MessageCreator.js.map +0 -1
- package/dist/cjs/metadata/Metadata.d.ts +0 -134
- package/dist/cjs/metadata/Metadata.js +0 -405
- package/dist/cjs/metadata/Metadata.js.map +0 -1
- package/dist/cjs/metadata/OperationsStore.d.ts +0 -62
- package/dist/cjs/metadata/OperationsStore.js +0 -179
- package/dist/cjs/metadata/OperationsStore.js.map +0 -1
- package/dist/cjs/metadata/SchemaStore.d.ts +0 -9
- package/dist/cjs/metadata/SchemaStore.js +0 -39
- package/dist/cjs/metadata/SchemaStore.js.map +0 -1
- package/dist/cjs/metadata/openMetadataDatabase.d.ts +0 -19
- package/dist/cjs/metadata/openMetadataDatabase.js +0 -220
- package/dist/cjs/metadata/openMetadataDatabase.js.map +0 -1
- package/dist/cjs/migration/db.d.ts +0 -8
- package/dist/cjs/migration/db.js +0 -112
- package/dist/cjs/migration/db.js.map +0 -1
- package/dist/cjs/migration/errors.d.ts +0 -5
- package/dist/cjs/migration/errors.js +0 -12
- package/dist/cjs/migration/errors.js.map +0 -1
- package/dist/cjs/migration/openDatabase.d.ts +0 -20
- package/dist/cjs/migration/openDatabase.js +0 -468
- package/dist/cjs/migration/openDatabase.js.map +0 -1
- package/dist/cjs/migration/paths.d.ts +0 -6
- package/dist/cjs/migration/paths.js +0 -53
- package/dist/cjs/migration/paths.js.map +0 -1
- package/dist/cjs/migration/paths.test.d.ts +0 -1
- package/dist/cjs/migration/paths.test.js +0 -91
- package/dist/cjs/migration/paths.test.js.map +0 -1
- package/dist/cjs/queries/BaseQuery.d.ts +0 -53
- package/dist/cjs/queries/BaseQuery.js +0 -148
- package/dist/cjs/queries/BaseQuery.js.map +0 -1
- package/dist/cjs/queries/CollectionQueries.d.ts +0 -55
- package/dist/cjs/queries/CollectionQueries.js +0 -92
- package/dist/cjs/queries/CollectionQueries.js.map +0 -1
- package/dist/cjs/queries/FindAllQuery.d.ts +0 -12
- package/dist/cjs/queries/FindAllQuery.js +0 -44
- package/dist/cjs/queries/FindAllQuery.js.map +0 -1
- package/dist/cjs/queries/FindInfiniteQuery.d.ts +0 -19
- package/dist/cjs/queries/FindInfiniteQuery.js +0 -70
- package/dist/cjs/queries/FindInfiniteQuery.js.map +0 -1
- package/dist/cjs/queries/FindOneQuery.d.ts +0 -12
- package/dist/cjs/queries/FindOneQuery.js +0 -43
- package/dist/cjs/queries/FindOneQuery.js.map +0 -1
- package/dist/cjs/queries/FindPageQuery.d.ts +0 -24
- package/dist/cjs/queries/FindPageQuery.js +0 -77
- package/dist/cjs/queries/FindPageQuery.js.map +0 -1
- package/dist/cjs/queries/GetQuery.d.ts +0 -10
- package/dist/cjs/queries/GetQuery.js +0 -30
- package/dist/cjs/queries/GetQuery.js.map +0 -1
- package/dist/cjs/queries/QueryCache.d.ts +0 -17
- package/dist/cjs/queries/QueryCache.js +0 -46
- package/dist/cjs/queries/QueryCache.js.map +0 -1
- package/dist/cjs/queries/QueryableStorage.d.ts +0 -20
- package/dist/cjs/queries/QueryableStorage.js +0 -94
- package/dist/cjs/queries/QueryableStorage.js.map +0 -1
- package/dist/cjs/queries/dbQueries.d.ts +0 -22
- package/dist/cjs/queries/dbQueries.js +0 -136
- package/dist/cjs/queries/dbQueries.js.map +0 -1
- package/dist/cjs/queries/keys.d.ts +0 -10
- package/dist/cjs/queries/keys.js +0 -34
- package/dist/cjs/queries/keys.js.map +0 -1
- package/dist/cjs/queries/ranges.d.ts +0 -2
- package/dist/cjs/queries/ranges.js +0 -70
- package/dist/cjs/queries/ranges.js.map +0 -1
- package/dist/cjs/queries/types.d.ts +0 -6
- package/dist/cjs/queries/types.js +0 -3
- package/dist/cjs/queries/types.js.map +0 -1
- package/dist/cjs/queries/utils.d.ts +0 -3
- package/dist/cjs/queries/utils.js +0 -25
- package/dist/cjs/queries/utils.js.map +0 -1
- package/dist/cjs/sync/FileSync.d.ts +0 -24
- package/dist/cjs/sync/FileSync.js +0 -87
- package/dist/cjs/sync/FileSync.js.map +0 -1
- package/dist/cjs/sync/Heartbeat.d.ts +0 -25
- package/dist/cjs/sync/Heartbeat.js +0 -64
- package/dist/cjs/sync/Heartbeat.js.map +0 -1
- package/dist/cjs/sync/PresenceManager.d.ts +0 -55
- package/dist/cjs/sync/PresenceManager.js +0 -126
- package/dist/cjs/sync/PresenceManager.js.map +0 -1
- package/dist/cjs/sync/PushPullSync.d.ts +0 -39
- package/dist/cjs/sync/PushPullSync.js +0 -159
- package/dist/cjs/sync/PushPullSync.js.map +0 -1
- package/dist/cjs/sync/ServerSyncEndpointProvider.d.ts +0 -34
- package/dist/cjs/sync/ServerSyncEndpointProvider.js +0 -69
- package/dist/cjs/sync/ServerSyncEndpointProvider.js.map +0 -1
- package/dist/cjs/sync/Sync.d.ts +0 -160
- package/dist/cjs/sync/Sync.js +0 -293
- package/dist/cjs/sync/Sync.js.map +0 -1
- package/dist/cjs/sync/WebSocketSync.d.ts +0 -44
- package/dist/cjs/sync/WebSocketSync.js +0 -221
- package/dist/cjs/sync/WebSocketSync.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -12
- package/dist/cjs/types.js +0 -3
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/utils/Disposable.d.ts +0 -6
- package/dist/cjs/utils/Disposable.js +0 -19
- package/dist/cjs/utils/Disposable.js.map +0 -1
- package/dist/cjs/utils/Resolvable.d.ts +0 -8
- package/dist/cjs/utils/Resolvable.js +0 -23
- package/dist/cjs/utils/Resolvable.js.map +0 -1
- package/dist/cjs/vanilla.d.ts +0 -1
- package/dist/cjs/vanilla.js +0 -28
- package/dist/cjs/vanilla.js.map +0 -1
- package/dist/esm/BackoffScheduler.d.ts +0 -19
- package/dist/esm/DocumentManager.d.ts +0 -28
- package/dist/esm/FakeWeakRef.d.ts +0 -11
- package/dist/esm/IDBService.d.ts +0 -30
- package/dist/esm/UndoHistory.d.ts +0 -16
- package/dist/esm/__tests__/batching.test.d.ts +0 -1
- package/dist/esm/__tests__/documents.test.d.ts +0 -1
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +0 -76
- package/dist/esm/__tests__/legacyOids.test.d.ts +0 -1
- package/dist/esm/__tests__/mutations.test.d.ts +0 -1
- package/dist/esm/__tests__/queries.test.d.ts +0 -1
- package/dist/esm/__tests__/setup/indexedDB.d.ts +0 -1
- package/dist/esm/__tests__/undo.test.d.ts +0 -1
- package/dist/esm/backup.d.ts +0 -10
- package/dist/esm/client/Client.d.ts +0 -120
- package/dist/esm/client/ClientDescriptor.d.ts +0 -76
- package/dist/esm/client/constants.d.ts +0 -1
- package/dist/esm/constants.d.ts +0 -1
- package/dist/esm/context.d.ts +0 -38
- package/dist/esm/entities/Entity.d.ts +0 -148
- package/dist/esm/entities/Entity.test.d.ts +0 -1
- package/dist/esm/entities/EntityCache.d.ts +0 -15
- package/dist/esm/entities/EntityMetadata.d.ts +0 -68
- package/dist/esm/entities/EntityStore.d.ts +0 -80
- package/dist/esm/entities/OperationBatcher.d.ts +0 -52
- package/dist/esm/entities/types.d.ts +0 -103
- package/dist/esm/files/EntityFile.d.ts +0 -35
- package/dist/esm/files/FileManager.d.ts +0 -46
- package/dist/esm/files/FileStorage.d.ts +0 -39
- package/dist/esm/files/utils.d.ts +0 -10
- package/dist/esm/files/utils.test.d.ts +0 -1
- package/dist/esm/idb.d.ts +0 -13
- package/dist/esm/index.d.ts +0 -23
- package/dist/esm/metadata/AckInfoStore.d.ts +0 -10
- package/dist/esm/metadata/BaselinesStore.d.ts +0 -40
- package/dist/esm/metadata/LocalReplicaStore.d.ts +0 -18
- package/dist/esm/metadata/MessageCreator.d.ts +0 -19
- package/dist/esm/metadata/Metadata.d.ts +0 -134
- package/dist/esm/metadata/OperationsStore.d.ts +0 -62
- package/dist/esm/metadata/SchemaStore.d.ts +0 -9
- package/dist/esm/metadata/openMetadataDatabase.d.ts +0 -19
- package/dist/esm/migration/db.d.ts +0 -8
- package/dist/esm/migration/errors.d.ts +0 -5
- package/dist/esm/migration/openDatabase.d.ts +0 -20
- package/dist/esm/migration/paths.d.ts +0 -6
- package/dist/esm/migration/paths.test.d.ts +0 -1
- package/dist/esm/queries/BaseQuery.d.ts +0 -53
- package/dist/esm/queries/CollectionQueries.d.ts +0 -55
- package/dist/esm/queries/FindAllQuery.d.ts +0 -12
- package/dist/esm/queries/FindInfiniteQuery.d.ts +0 -19
- package/dist/esm/queries/FindOneQuery.d.ts +0 -12
- package/dist/esm/queries/FindPageQuery.d.ts +0 -24
- package/dist/esm/queries/GetQuery.d.ts +0 -10
- package/dist/esm/queries/QueryCache.d.ts +0 -17
- package/dist/esm/queries/QueryableStorage.d.ts +0 -20
- package/dist/esm/queries/dbQueries.d.ts +0 -22
- package/dist/esm/queries/keys.d.ts +0 -10
- package/dist/esm/queries/ranges.d.ts +0 -2
- package/dist/esm/queries/types.d.ts +0 -6
- package/dist/esm/queries/utils.d.ts +0 -3
- package/dist/esm/sync/FileSync.d.ts +0 -24
- package/dist/esm/sync/Heartbeat.d.ts +0 -25
- package/dist/esm/sync/PresenceManager.d.ts +0 -55
- package/dist/esm/sync/PushPullSync.d.ts +0 -39
- package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +0 -34
- package/dist/esm/sync/Sync.d.ts +0 -160
- package/dist/esm/sync/WebSocketSync.d.ts +0 -44
- package/dist/esm/types.d.ts +0 -12
- package/dist/esm/utils/Disposable.d.ts +0 -6
- package/dist/esm/utils/Resolvable.d.ts +0 -8
- package/dist/esm/vanilla.d.ts +0 -1
- package/dist/tsconfig-cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { DocumentBaseline, ObjectIdentifier } from '@verdant-web/common';
|
|
2
|
-
import { IDBService } from '../IDBService.js';
|
|
3
|
-
import { Context } from '../context.js';
|
|
4
|
-
export declare class BaselinesStore extends IDBService {
|
|
5
|
-
constructor(db: IDBDatabase, opts: {
|
|
6
|
-
log?: Context['log'];
|
|
7
|
-
});
|
|
8
|
-
getAllForDocument: (oid: ObjectIdentifier, { mode, transaction, }?: {
|
|
9
|
-
mode?: "readonly" | "readwrite" | undefined;
|
|
10
|
-
transaction?: IDBTransaction | undefined;
|
|
11
|
-
}) => Promise<DocumentBaseline<any>[]>;
|
|
12
|
-
iterateOverAllForDocument: (oid: ObjectIdentifier, iterator: (baseline: DocumentBaseline, store: IDBObjectStore) => void, { mode, transaction, }?: {
|
|
13
|
-
mode?: "readonly" | "readwrite" | undefined;
|
|
14
|
-
transaction?: IDBTransaction | undefined;
|
|
15
|
-
}) => Promise<void>;
|
|
16
|
-
iterateOverAllForCollection: (collection: string, iterator: (baseline: DocumentBaseline, store: IDBObjectStore) => void, { mode, transaction, }?: {
|
|
17
|
-
mode?: "readonly" | "readwrite" | undefined;
|
|
18
|
-
transaction?: IDBTransaction | undefined;
|
|
19
|
-
}) => Promise<void>;
|
|
20
|
-
getAllForMultipleDocuments: (docOids: string[], { mode }?: {
|
|
21
|
-
mode?: "readonly" | "readwrite" | undefined;
|
|
22
|
-
}) => Promise<DocumentBaseline<any>[]>;
|
|
23
|
-
getAllSince: (timestamp: string | null, { mode }?: {
|
|
24
|
-
mode?: "readonly" | "readwrite" | undefined;
|
|
25
|
-
}) => Promise<DocumentBaseline<any>[]>;
|
|
26
|
-
get: (oid: ObjectIdentifier, { transaction, mode, }?: {
|
|
27
|
-
transaction?: IDBTransaction | undefined;
|
|
28
|
-
mode?: "readonly" | "readwrite" | undefined;
|
|
29
|
-
}) => Promise<DocumentBaseline<any>>;
|
|
30
|
-
set: <T>(baseline: DocumentBaseline<T>, { transaction }?: {
|
|
31
|
-
transaction?: IDBTransaction | undefined;
|
|
32
|
-
}) => Promise<void>;
|
|
33
|
-
setAll: <T>(baselines: DocumentBaseline<T>[], { transaction }?: {
|
|
34
|
-
transaction?: IDBTransaction | undefined;
|
|
35
|
-
}) => Promise<void>;
|
|
36
|
-
reset: () => Promise<undefined>;
|
|
37
|
-
delete: (oid: ObjectIdentifier, { transaction }: {
|
|
38
|
-
transaction?: IDBTransaction | undefined;
|
|
39
|
-
}) => Promise<void>;
|
|
40
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaselinesStore = void 0;
|
|
4
|
-
const common_1 = require("@verdant-web/common");
|
|
5
|
-
const IDBService_js_1 = require("../IDBService.js");
|
|
6
|
-
class BaselinesStore extends IDBService_js_1.IDBService {
|
|
7
|
-
constructor(db, opts) {
|
|
8
|
-
super(db, opts);
|
|
9
|
-
this.getAllForDocument = async (oid, { mode = 'readonly', transaction, } = {}) => {
|
|
10
|
-
const baselines = [];
|
|
11
|
-
await this.iterateOverAllForDocument(oid, (baseline) => {
|
|
12
|
-
baselines.push(baseline);
|
|
13
|
-
}, { mode, transaction });
|
|
14
|
-
return baselines;
|
|
15
|
-
};
|
|
16
|
-
this.iterateOverAllForDocument = async (oid, iterator, { mode = 'readonly', transaction, } = {}) => {
|
|
17
|
-
return this.iterate('baselines', (store) => {
|
|
18
|
-
const root = (0, common_1.getOidRoot)(oid);
|
|
19
|
-
const [start, end] = (0, common_1.getOidSubIdRange)(oid);
|
|
20
|
-
// FIXME: get rid of legacy dot OIDs...
|
|
21
|
-
// if (isLegacyDotOid(oid)) {
|
|
22
|
-
const [dotStart, dotEnd] = (0, common_1.getLegacyDotOidSubIdRange)(oid);
|
|
23
|
-
return [
|
|
24
|
-
store.openCursor(IDBKeyRange.only(root)),
|
|
25
|
-
store.openCursor(IDBKeyRange.bound(start, end, false, false)),
|
|
26
|
-
store.openCursor(IDBKeyRange.bound(dotStart, dotEnd, false, false)),
|
|
27
|
-
];
|
|
28
|
-
// } else {
|
|
29
|
-
// return [
|
|
30
|
-
// // first the root itself
|
|
31
|
-
// store.openCursor(IDBKeyRange.only(root)),
|
|
32
|
-
// // then the range of its possible subdocuments
|
|
33
|
-
// store.openCursor(IDBKeyRange.bound(start, end, false, false)),
|
|
34
|
-
// ];
|
|
35
|
-
// }
|
|
36
|
-
}, iterator, { mode, transaction });
|
|
37
|
-
};
|
|
38
|
-
this.iterateOverAllForCollection = async (collection, iterator, { mode = 'readonly', transaction, } = {}) => {
|
|
39
|
-
return this.iterate('baselines', (store) => {
|
|
40
|
-
return [
|
|
41
|
-
store.openCursor(IDBKeyRange.bound(collection, collection + '\uffff', false, false)),
|
|
42
|
-
];
|
|
43
|
-
}, iterator, { mode, transaction });
|
|
44
|
-
};
|
|
45
|
-
this.getAllForMultipleDocuments = async (docOids, { mode = 'readonly' } = {}) => {
|
|
46
|
-
const result = await this.runAll('baselines', (store) => {
|
|
47
|
-
return docOids.flatMap((oid) => {
|
|
48
|
-
const root = (0, common_1.getOidRoot)(oid);
|
|
49
|
-
const [start, end] = (0, common_1.getOidSubIdRange)(oid);
|
|
50
|
-
// FIXME: get rid of legacy dot OIDs...
|
|
51
|
-
// if (isLegacyDotOid(oid)) {
|
|
52
|
-
const [dotStart, dotEnd] = (0, common_1.getLegacyDotOidSubIdRange)(oid);
|
|
53
|
-
return [
|
|
54
|
-
store.get(root),
|
|
55
|
-
store.getAll(IDBKeyRange.bound(start, end, false, false)),
|
|
56
|
-
store.getAll(IDBKeyRange.bound(dotStart, dotEnd, false, false)),
|
|
57
|
-
];
|
|
58
|
-
// } else {
|
|
59
|
-
// return [
|
|
60
|
-
// store.get(root),
|
|
61
|
-
// store.getAll(IDBKeyRange.bound(start, end, false, false)),
|
|
62
|
-
// ];
|
|
63
|
-
// }
|
|
64
|
-
});
|
|
65
|
-
}, { mode });
|
|
66
|
-
return result.flat();
|
|
67
|
-
};
|
|
68
|
-
this.getAllSince = async (timestamp, { mode = 'readonly' } = {}) => {
|
|
69
|
-
return this.run('baselines', (store) => {
|
|
70
|
-
const range = timestamp
|
|
71
|
-
? IDBKeyRange.lowerBound(timestamp, true)
|
|
72
|
-
: undefined;
|
|
73
|
-
const index = store.index('timestamp');
|
|
74
|
-
return index.getAll(range);
|
|
75
|
-
}, { mode });
|
|
76
|
-
};
|
|
77
|
-
this.get = async (oid, { transaction, mode = 'readonly', } = {}) => {
|
|
78
|
-
return this.run('baselines', (store) => store.get(oid), {
|
|
79
|
-
mode,
|
|
80
|
-
transaction,
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
this.set = async (baseline, { transaction } = {}) => {
|
|
84
|
-
await this.run('baselines', (store) => store.put(baseline), {
|
|
85
|
-
mode: 'readwrite',
|
|
86
|
-
transaction,
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
this.setAll = async (baselines, { transaction } = {}) => {
|
|
90
|
-
await this.runAll('baselines', (store) => {
|
|
91
|
-
return baselines.map((baseline) => store.put(baseline));
|
|
92
|
-
}, { mode: 'readwrite', transaction });
|
|
93
|
-
};
|
|
94
|
-
this.reset = () => {
|
|
95
|
-
return this.clear('baselines');
|
|
96
|
-
};
|
|
97
|
-
this.delete = async (oid, { transaction }) => {
|
|
98
|
-
await this.run('baselines', (store) => store.delete(oid), {
|
|
99
|
-
mode: 'readwrite',
|
|
100
|
-
transaction,
|
|
101
|
-
});
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.BaselinesStore = BaselinesStore;
|
|
106
|
-
//# sourceMappingURL=BaselinesStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaselinesStore.js","sourceRoot":"","sources":["../../../src/metadata/BaselinesStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IDBService } from '../IDBService.js';
|
|
2
|
-
export type LocalReplicaInfo = {
|
|
3
|
-
type: 'localReplicaInfo';
|
|
4
|
-
id: string;
|
|
5
|
-
ackedLogicalTime: string | null;
|
|
6
|
-
lastSyncedLogicalTime: string | null;
|
|
7
|
-
};
|
|
8
|
-
export declare class LocalReplicaStore extends IDBService {
|
|
9
|
-
private _creating;
|
|
10
|
-
private cached;
|
|
11
|
-
get: ({ transaction, }?: {
|
|
12
|
-
transaction?: IDBTransaction | undefined;
|
|
13
|
-
}) => Promise<LocalReplicaInfo>;
|
|
14
|
-
update: (data: Partial<LocalReplicaInfo>, { transaction }?: {
|
|
15
|
-
transaction?: IDBTransaction | undefined;
|
|
16
|
-
}) => Promise<void>;
|
|
17
|
-
reset: () => Promise<void>;
|
|
18
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LocalReplicaStore = void 0;
|
|
7
|
-
const cuid_1 = __importDefault(require("cuid"));
|
|
8
|
-
const IDBService_js_1 = require("../IDBService.js");
|
|
9
|
-
class LocalReplicaStore extends IDBService_js_1.IDBService {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.get = async ({ transaction, } = {}) => {
|
|
13
|
-
if (this.cached) {
|
|
14
|
-
return this.cached;
|
|
15
|
-
}
|
|
16
|
-
const lookup = await this.run('info', (store) => store.get('localReplicaInfo'), { transaction });
|
|
17
|
-
// not cached, not in db, create it
|
|
18
|
-
if (!lookup) {
|
|
19
|
-
// prevent a race condition if get() is called again while we are
|
|
20
|
-
// creating the replica info
|
|
21
|
-
if (!this._creating) {
|
|
22
|
-
this._creating = (async () => {
|
|
23
|
-
// create our own replica info now
|
|
24
|
-
const replicaId = (0, cuid_1.default)();
|
|
25
|
-
const replicaInfo = {
|
|
26
|
-
type: 'localReplicaInfo',
|
|
27
|
-
id: replicaId,
|
|
28
|
-
ackedLogicalTime: null,
|
|
29
|
-
lastSyncedLogicalTime: null,
|
|
30
|
-
};
|
|
31
|
-
await this.run('info', (store) => store.put(replicaInfo), {
|
|
32
|
-
mode: 'readwrite',
|
|
33
|
-
});
|
|
34
|
-
this.cached = replicaInfo;
|
|
35
|
-
})();
|
|
36
|
-
}
|
|
37
|
-
await this._creating;
|
|
38
|
-
return this.get({ transaction });
|
|
39
|
-
}
|
|
40
|
-
this.cached = lookup;
|
|
41
|
-
return lookup;
|
|
42
|
-
};
|
|
43
|
-
this.update = async (data, { transaction } = {}) => {
|
|
44
|
-
const localReplicaInfo = await this.get({ transaction });
|
|
45
|
-
Object.assign(localReplicaInfo, data);
|
|
46
|
-
await this.run('info', (store) => store.put(localReplicaInfo), {
|
|
47
|
-
mode: 'readwrite',
|
|
48
|
-
});
|
|
49
|
-
this.cached = localReplicaInfo;
|
|
50
|
-
};
|
|
51
|
-
this.reset = async () => {
|
|
52
|
-
const localInfo = await this.get();
|
|
53
|
-
localInfo.ackedLogicalTime = null;
|
|
54
|
-
localInfo.lastSyncedLogicalTime = null;
|
|
55
|
-
await this.run('info', (store) => store.put(localInfo), {
|
|
56
|
-
mode: 'readwrite',
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.LocalReplicaStore = LocalReplicaStore;
|
|
62
|
-
//# sourceMappingURL=LocalReplicaStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalReplicaStore.js","sourceRoot":"","sources":["../../../src/metadata/LocalReplicaStore.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,oDAA8C;AAS9C,MAAa,iBAAkB,SAAQ,0BAAU;IAAjD;;QAIC,QAAG,GAAG,KAAK,EAAE,EACZ,WAAW,MAC0B,EAAE,EAA6B,EAAE;YACtE,IAAI,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,IAAI,CAAC,MAAM,CAAC;aACnB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAC5B,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACxC,EAAE,WAAW,EAAE,CACf,CAAC;YAEF,mCAAmC;YACnC,IAAI,CAAC,MAAM,EAAE;gBACZ,iEAAiE;gBACjE,4BAA4B;gBAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACpB,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC5B,kCAAkC;wBAClC,MAAM,SAAS,GAAG,IAAA,cAAI,GAAE,CAAC;wBACzB,MAAM,WAAW,GAAqB;4BACrC,IAAI,EAAE,kBAAkB;4BACxB,EAAE,EAAE,SAAS;4BACb,gBAAgB,EAAE,IAAI;4BACtB,qBAAqB,EAAE,IAAI;yBAC3B,CAAC;wBACF,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;4BACzD,IAAI,EAAE,WAAW;yBACjB,CAAC,CAAC;wBACH,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC3B,CAAC,CAAC,EAAE,CAAC;iBACL;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC;gBAErB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;aACjC;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EACb,IAA+B,EAC/B,EAAE,WAAW,KAAuC,EAAE,EACrD,EAAE;YACH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;gBAC9D,IAAI,EAAE,WAAW;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAChC,CAAC,CAAC;QAEF,UAAK,GAAG,KAAK,IAAI,EAAE;YAClB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAClC,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACvC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACvD,IAAI,EAAE,WAAW;aACjB,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;CAAA;AAlED,8CAkEC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AckMessage, HeartbeatMessage, OperationMessage, PresenceUpdateMessage, SyncMessage } from '@verdant-web/common';
|
|
2
|
-
import { Metadata } from './Metadata.js';
|
|
3
|
-
export declare class MessageCreator {
|
|
4
|
-
private meta;
|
|
5
|
-
constructor(meta: Metadata);
|
|
6
|
-
createOperation: (init: Pick<OperationMessage, 'operations'> & {
|
|
7
|
-
timestamp?: string;
|
|
8
|
-
}) => Promise<OperationMessage>;
|
|
9
|
-
createMigrationOperation: ({ targetVersion, ...init }: Pick<OperationMessage, "operations"> & {
|
|
10
|
-
targetVersion: number;
|
|
11
|
-
}) => Promise<OperationMessage>;
|
|
12
|
-
/**
|
|
13
|
-
* @param since - override local understanding of last sync time
|
|
14
|
-
*/
|
|
15
|
-
createSyncStep1: (since?: string | null) => Promise<SyncMessage>;
|
|
16
|
-
createPresenceUpdate: (presence: any) => Promise<PresenceUpdateMessage>;
|
|
17
|
-
createHeartbeat: () => Promise<HeartbeatMessage>;
|
|
18
|
-
createAck: (nonce: string) => Promise<AckMessage>;
|
|
19
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.MessageCreator = void 0;
|
|
15
|
-
const common_1 = require("@verdant-web/common");
|
|
16
|
-
class MessageCreator {
|
|
17
|
-
constructor(meta) {
|
|
18
|
-
this.meta = meta;
|
|
19
|
-
this.createOperation = async (init) => {
|
|
20
|
-
const localInfo = await this.meta.localReplica.get();
|
|
21
|
-
return {
|
|
22
|
-
type: 'op',
|
|
23
|
-
timestamp: this.meta.now,
|
|
24
|
-
replicaId: localInfo.id,
|
|
25
|
-
operations: init.operations.map((op) => ({
|
|
26
|
-
data: op.data,
|
|
27
|
-
oid: op.oid,
|
|
28
|
-
timestamp: op.timestamp,
|
|
29
|
-
})),
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
this.createMigrationOperation = async (_a) => {
|
|
33
|
-
var { targetVersion } = _a, init = __rest(_a, ["targetVersion"]);
|
|
34
|
-
const localInfo = await this.meta.localReplica.get();
|
|
35
|
-
return {
|
|
36
|
-
type: 'op',
|
|
37
|
-
operations: init.operations.map((op) => (Object.assign(Object.assign({}, op), { timestamp: this.meta.time.zero(targetVersion) }))),
|
|
38
|
-
timestamp: this.meta.time.zero(targetVersion),
|
|
39
|
-
replicaId: localInfo.id,
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* @param since - override local understanding of last sync time
|
|
44
|
-
*/
|
|
45
|
-
this.createSyncStep1 = async (since) => {
|
|
46
|
-
const localReplicaInfo = await this.meta.localReplica.get();
|
|
47
|
-
const provideChangesSince = since === null ? null : localReplicaInfo.lastSyncedLogicalTime;
|
|
48
|
-
// collect all of our operations that are newer than the server's last operation
|
|
49
|
-
// if server replica isn't stored, we're syncing for the first time.
|
|
50
|
-
const operations = [];
|
|
51
|
-
const affectedDocs = new Set();
|
|
52
|
-
// FIXME: this branch gives bad vibes. should we always
|
|
53
|
-
// send all operations from other replicas too? is there
|
|
54
|
-
// ever a case where we have a "since" timestamp and there
|
|
55
|
-
// are foreign ops that match it?
|
|
56
|
-
if (provideChangesSince) {
|
|
57
|
-
await this.meta.operations.iterateOverAllLocalOperations((patch) => {
|
|
58
|
-
operations.push({
|
|
59
|
-
data: patch.data,
|
|
60
|
-
oid: patch.oid,
|
|
61
|
-
timestamp: patch.timestamp,
|
|
62
|
-
});
|
|
63
|
-
affectedDocs.add((0, common_1.getOidRoot)(patch.oid));
|
|
64
|
-
}, {
|
|
65
|
-
after: provideChangesSince,
|
|
66
|
-
// block on writes to prevent race conditions
|
|
67
|
-
mode: 'readwrite',
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
// if providing the whole history, don't limit to only local
|
|
72
|
-
// operations
|
|
73
|
-
await this.meta.operations.iterateOverAllOperations((patch) => {
|
|
74
|
-
operations.push({
|
|
75
|
-
data: patch.data,
|
|
76
|
-
oid: patch.oid,
|
|
77
|
-
timestamp: patch.timestamp,
|
|
78
|
-
});
|
|
79
|
-
affectedDocs.add((0, common_1.getOidRoot)(patch.oid));
|
|
80
|
-
}, {
|
|
81
|
-
mode: 'readwrite',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
// we only need to send baselines if we've never synced before
|
|
85
|
-
let baselines = [];
|
|
86
|
-
if (!provideChangesSince) {
|
|
87
|
-
baselines = await this.meta.baselines.getAllSince('');
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
type: 'sync',
|
|
91
|
-
schemaVersion: this.meta.schema.currentVersion,
|
|
92
|
-
timestamp: this.meta.now,
|
|
93
|
-
replicaId: localReplicaInfo.id,
|
|
94
|
-
resyncAll: !localReplicaInfo.lastSyncedLogicalTime,
|
|
95
|
-
operations,
|
|
96
|
-
baselines,
|
|
97
|
-
since: provideChangesSince,
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
this.createPresenceUpdate = async (presence) => {
|
|
101
|
-
const localReplicaInfo = await this.meta.localReplica.get();
|
|
102
|
-
return {
|
|
103
|
-
type: 'presence-update',
|
|
104
|
-
presence,
|
|
105
|
-
replicaId: localReplicaInfo.id,
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
this.createHeartbeat = async () => {
|
|
109
|
-
const localReplicaInfo = await this.meta.localReplica.get();
|
|
110
|
-
return {
|
|
111
|
-
type: 'heartbeat',
|
|
112
|
-
timestamp: this.meta.now,
|
|
113
|
-
replicaId: localReplicaInfo.id,
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
this.createAck = async (nonce) => {
|
|
117
|
-
const localReplicaInfo = await this.meta.localReplica.get();
|
|
118
|
-
return {
|
|
119
|
-
type: 'ack',
|
|
120
|
-
timestamp: this.meta.now,
|
|
121
|
-
replicaId: localReplicaInfo.id,
|
|
122
|
-
nonce,
|
|
123
|
-
};
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
exports.MessageCreator = MessageCreator;
|
|
128
|
-
//# sourceMappingURL=MessageCreator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageCreator.js","sourceRoot":"","sources":["../../../src/metadata/MessageCreator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { ClientMessage, DocumentBaseline, EventSubscriber, FileRef, HybridLogicalClockTimestampProvider, ObjectIdentifier, Operation, PatchCreator, StorageSchema } from '@verdant-web/common';
|
|
2
|
-
import { AckInfoStore } from './AckInfoStore.js';
|
|
3
|
-
import { BaselinesStore } from './BaselinesStore.js';
|
|
4
|
-
import { LocalReplicaInfo, LocalReplicaStore } from './LocalReplicaStore.js';
|
|
5
|
-
import { MessageCreator } from './MessageCreator.js';
|
|
6
|
-
import { OperationsStore } from './OperationsStore.js';
|
|
7
|
-
import { SchemaStore } from './SchemaStore.js';
|
|
8
|
-
import { Context } from '../context.js';
|
|
9
|
-
export interface ExportData {
|
|
10
|
-
operations: Operation[];
|
|
11
|
-
baselines: DocumentBaseline[];
|
|
12
|
-
localReplica: LocalReplicaInfo;
|
|
13
|
-
schema: StorageSchema;
|
|
14
|
-
}
|
|
15
|
-
export declare class Metadata extends EventSubscriber<{
|
|
16
|
-
message: (message: ClientMessage) => void;
|
|
17
|
-
rebase: (baselines: DocumentBaseline[]) => void;
|
|
18
|
-
filesDeleted: (files: FileRef[]) => void;
|
|
19
|
-
}> {
|
|
20
|
-
readonly operations: OperationsStore;
|
|
21
|
-
readonly baselines: BaselinesStore;
|
|
22
|
-
readonly localReplica: LocalReplicaStore;
|
|
23
|
-
readonly ackInfo: AckInfoStore;
|
|
24
|
-
readonly messageCreator: MessageCreator;
|
|
25
|
-
readonly patchCreator: PatchCreator;
|
|
26
|
-
readonly schema: SchemaStore;
|
|
27
|
-
readonly time: HybridLogicalClockTimestampProvider;
|
|
28
|
-
private readonly disableRebasing;
|
|
29
|
-
/**
|
|
30
|
-
* indicates the client is shutting down and we should stop
|
|
31
|
-
* accessing the database.
|
|
32
|
-
*/
|
|
33
|
-
private _closing;
|
|
34
|
-
private context;
|
|
35
|
-
constructor({ disableRebasing, context, }: {
|
|
36
|
-
disableRebasing?: boolean;
|
|
37
|
-
context: Omit<Context, 'documentDb' | 'getNow'>;
|
|
38
|
-
});
|
|
39
|
-
private get db();
|
|
40
|
-
private get log();
|
|
41
|
-
setContext: (context: Context) => void;
|
|
42
|
-
get now(): string;
|
|
43
|
-
close: () => void;
|
|
44
|
-
/**
|
|
45
|
-
* Methods for accessing data
|
|
46
|
-
*/
|
|
47
|
-
createTransaction: (stores: ('operations' | 'baselines')[], opts?: {
|
|
48
|
-
abort?: AbortSignal;
|
|
49
|
-
}) => IDBTransaction;
|
|
50
|
-
/**
|
|
51
|
-
* Gets the OID and every sub-object OID for a given document.
|
|
52
|
-
* Includes any sub-objects that are not referenced by the root object
|
|
53
|
-
* but still happen to be in storage.
|
|
54
|
-
*/
|
|
55
|
-
getAllDocumentRelatedOids: (oid: ObjectIdentifier) => Promise<string[]>;
|
|
56
|
-
getAllCollectionRelatedOids: (oid: ObjectIdentifier) => Promise<string[]>;
|
|
57
|
-
getDocumentSnapshot: (oid: ObjectIdentifier, options?: {
|
|
58
|
-
to?: string;
|
|
59
|
-
}) => Promise<any>;
|
|
60
|
-
getDocumentData: (oid: ObjectIdentifier, opts?: {
|
|
61
|
-
abort?: AbortSignal;
|
|
62
|
-
}) => Promise<{
|
|
63
|
-
baselines: DocumentBaseline<any>[];
|
|
64
|
-
operations: Record<string, Operation[]>;
|
|
65
|
-
}>;
|
|
66
|
-
/**
|
|
67
|
-
* Methods for writing data
|
|
68
|
-
*/
|
|
69
|
-
/**
|
|
70
|
-
* Acks that we have seen a timestamp to the server
|
|
71
|
-
* and stores it as our local ackedLogicalTime if it's
|
|
72
|
-
* greater than our current ackedLogicalTime.
|
|
73
|
-
*/
|
|
74
|
-
ack: (timestamp: string) => Promise<void>;
|
|
75
|
-
/**
|
|
76
|
-
* Applies a patch to the document and stores it in the database.
|
|
77
|
-
* @returns the oldest local history timestamp
|
|
78
|
-
*/
|
|
79
|
-
insertLocalOperations: (operations: Operation[], opts?: {
|
|
80
|
-
transaction?: IDBTransaction;
|
|
81
|
-
}) => Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* Inserts remote operations. This does not affect local history.
|
|
84
|
-
* @returns a list of affected document OIDs
|
|
85
|
-
*/
|
|
86
|
-
insertRemoteOperations: (operations: Operation[], opts?: {
|
|
87
|
-
transaction?: IDBTransaction;
|
|
88
|
-
}) => Promise<string[]>;
|
|
89
|
-
insertRemoteBaselines: (baselines: DocumentBaseline[], opts?: {
|
|
90
|
-
transaction?: IDBTransaction;
|
|
91
|
-
}) => Promise<string[]>;
|
|
92
|
-
insertData: (data: {
|
|
93
|
-
baselines?: DocumentBaseline[];
|
|
94
|
-
operations?: Operation[];
|
|
95
|
-
isLocal?: boolean;
|
|
96
|
-
}, opts?: {
|
|
97
|
-
abort: AbortSignal;
|
|
98
|
-
}) => Promise<void>;
|
|
99
|
-
updateLastSynced: (timestamp: string) => Promise<void>;
|
|
100
|
-
lastSyncedTimestamp: () => Promise<string | null>;
|
|
101
|
-
private tryAutonomousRebase;
|
|
102
|
-
/**
|
|
103
|
-
* Attempt to autonomously rebase local documents without server intervention.
|
|
104
|
-
* This can currently only happen for a client who has never synced before.
|
|
105
|
-
* The goal is to allow local-only clients to compress their history to exactly
|
|
106
|
-
* their undo stack.
|
|
107
|
-
*/
|
|
108
|
-
private runRebase;
|
|
109
|
-
rebase: (oid: ObjectIdentifier, upTo: string, providedTx?: IDBTransaction) => Promise<{
|
|
110
|
-
oid: string;
|
|
111
|
-
snapshot: any;
|
|
112
|
-
timestamp: string;
|
|
113
|
-
}>;
|
|
114
|
-
reset: () => Promise<void>;
|
|
115
|
-
updateSchema: (schema: StorageSchema, overrideConflict?: number) => Promise<void>;
|
|
116
|
-
setGlobalAck: (timestamp: string) => Promise<void>;
|
|
117
|
-
export: () => Promise<ExportData>;
|
|
118
|
-
/**
|
|
119
|
-
* Resets local metadata and clears operation/baseline stores.
|
|
120
|
-
* DOES NOT add operations/baselines - this should be done
|
|
121
|
-
* through the normal higher level systems.
|
|
122
|
-
*/
|
|
123
|
-
resetFrom: (data: ExportData) => Promise<void>;
|
|
124
|
-
stats: () => Promise<{
|
|
125
|
-
operationsSize: {
|
|
126
|
-
count: number;
|
|
127
|
-
size: number;
|
|
128
|
-
};
|
|
129
|
-
baselinesSize: {
|
|
130
|
-
count: number;
|
|
131
|
-
size: number;
|
|
132
|
-
};
|
|
133
|
-
}>;
|
|
134
|
-
}
|