@verdant-web/store 4.0.0 → 4.1.0-alpha.1
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/LICENSE +21 -650
- package/dist/bundle/index.js +11 -11
- package/dist/bundle/index.js.map +4 -4
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +1 -2
- package/dist/esm/__tests__/fixtures/testStorage.js +3 -5
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/client/Client.d.ts +6 -2
- package/dist/esm/client/Client.js +18 -6
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/client/ClientDescriptor.d.ts +7 -5
- package/dist/esm/client/ClientDescriptor.js +18 -4
- package/dist/esm/client/ClientDescriptor.js.map +1 -1
- package/dist/esm/context/ShutdownHandler.d.ts +8 -0
- package/dist/esm/context/ShutdownHandler.js +24 -0
- package/dist/esm/context/ShutdownHandler.js.map +1 -0
- package/dist/esm/context/context.d.ts +15 -4
- package/dist/esm/entities/EntityStore.js +6 -3
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/files/EntityFile.d.ts +1 -0
- package/dist/esm/files/EntityFile.js +16 -11
- package/dist/esm/files/EntityFile.js.map +1 -1
- package/dist/esm/files/FileManager.d.ts +1 -3
- package/dist/esm/files/FileManager.js +12 -10
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/index.d.ts +4 -5
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal.d.ts +6 -0
- package/dist/esm/internal.js +5 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/persistence/MessageCreator.d.ts +3 -1
- package/dist/esm/persistence/MessageCreator.js +58 -55
- package/dist/esm/persistence/MessageCreator.js.map +1 -1
- package/dist/esm/persistence/PersistenceFiles.d.ts +8 -21
- package/dist/esm/persistence/PersistenceFiles.js +44 -30
- package/dist/esm/persistence/PersistenceFiles.js.map +1 -1
- package/dist/esm/persistence/PersistenceMetadata.d.ts +12 -11
- package/dist/esm/persistence/PersistenceMetadata.js +201 -137
- package/dist/esm/persistence/PersistenceMetadata.js.map +1 -1
- package/dist/esm/persistence/PersistenceQueries.d.ts +10 -11
- package/dist/esm/persistence/PersistenceQueries.js +33 -5
- package/dist/esm/persistence/PersistenceQueries.js.map +1 -1
- package/dist/esm/persistence/PersistenceRebaser.d.ts +5 -9
- package/dist/esm/persistence/PersistenceRebaser.js +63 -47
- package/dist/esm/persistence/PersistenceRebaser.js.map +1 -1
- package/dist/esm/persistence/idb/IdbService.d.ts +0 -1
- package/dist/esm/persistence/idb/IdbService.js +28 -16
- package/dist/esm/persistence/idb/IdbService.js.map +1 -1
- package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.d.ts +11 -31
- package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.js +31 -36
- package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.js.map +1 -1
- package/dist/esm/persistence/idb/idbPersistence.d.ts +17 -9
- package/dist/esm/persistence/idb/idbPersistence.js +80 -39
- package/dist/esm/persistence/idb/idbPersistence.js.map +1 -1
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.d.ts +7 -10
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js +45 -71
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js.map +1 -1
- package/dist/esm/persistence/idb/metadata/openMetadataDatabase.d.ts +1 -12
- package/dist/esm/persistence/idb/metadata/openMetadataDatabase.js +3 -56
- package/dist/esm/persistence/idb/metadata/openMetadataDatabase.js.map +1 -1
- package/dist/esm/persistence/idb/queries/{IdbQueryDb.d.ts → IdbDocumentDb.d.ts} +7 -13
- package/dist/esm/persistence/idb/queries/{IdbQueryDb.js → IdbDocumentDb.js} +15 -32
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.js.map +1 -0
- package/dist/esm/persistence/idb/queries/migration/db.d.ts +3 -5
- package/dist/esm/persistence/idb/queries/migration/db.js +13 -28
- package/dist/esm/persistence/idb/queries/migration/db.js.map +1 -1
- package/dist/esm/persistence/idb/util.d.ts +8 -4
- package/dist/esm/persistence/idb/util.js +64 -21
- package/dist/esm/persistence/idb/util.js.map +1 -1
- package/dist/esm/persistence/interfaces.d.ts +68 -75
- package/dist/esm/persistence/{idb/queries/migration → migration}/engine.d.ts +4 -7
- package/dist/esm/persistence/{idb/queries/migration → migration}/engine.js +18 -10
- package/dist/esm/persistence/migration/engine.js.map +1 -0
- package/dist/esm/persistence/migration/finalize.d.ts +9 -0
- package/dist/esm/persistence/migration/finalize.js +75 -0
- package/dist/esm/persistence/migration/finalize.js.map +1 -0
- package/dist/esm/persistence/migration/migrate.d.ts +12 -0
- package/dist/esm/persistence/migration/migrate.js +89 -0
- package/dist/esm/persistence/migration/migrate.js.map +1 -0
- package/dist/esm/persistence/migration/paths.js.map +1 -0
- package/dist/esm/persistence/migration/paths.test.js.map +1 -0
- package/dist/esm/persistence/migration/types.d.ts +3 -0
- package/dist/esm/persistence/migration/types.js.map +1 -0
- package/dist/esm/persistence/persistence.js +25 -15
- package/dist/esm/persistence/persistence.js.map +1 -1
- package/dist/esm/queries/FindAllQuery.js +1 -1
- package/dist/esm/queries/FindAllQuery.js.map +1 -1
- package/dist/esm/queries/FindInfiniteQuery.js +2 -2
- package/dist/esm/queries/FindInfiniteQuery.js.map +1 -1
- package/dist/esm/queries/FindOneQuery.js +1 -1
- package/dist/esm/queries/FindOneQuery.js.map +1 -1
- package/dist/esm/queries/FindPageQuery.js +1 -1
- package/dist/esm/queries/FindPageQuery.js.map +1 -1
- package/dist/esm/sync/FileSync.js +3 -3
- package/dist/esm/sync/FileSync.js.map +1 -1
- package/dist/esm/sync/PushPullSync.d.ts +2 -3
- package/dist/esm/sync/PushPullSync.js +4 -2
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +3 -7
- package/dist/esm/sync/ServerSyncEndpointProvider.js +3 -2
- package/dist/esm/sync/ServerSyncEndpointProvider.js.map +1 -1
- package/dist/esm/sync/Sync.d.ts +6 -1
- package/dist/esm/sync/Sync.js +12 -4
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.js +10 -4
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/dist/esm/utils/wip.js +1 -1
- package/package.json +6 -2
- package/src/__tests__/fixtures/testStorage.ts +6 -6
- package/src/client/Client.ts +26 -8
- package/src/client/ClientDescriptor.ts +27 -9
- package/src/context/ShutdownHandler.ts +26 -0
- package/src/context/context.ts +16 -4
- package/src/entities/EntityStore.ts +9 -3
- package/src/files/EntityFile.ts +11 -6
- package/src/files/FileManager.ts +13 -10
- package/src/index.ts +8 -9
- package/src/internal.ts +27 -0
- package/src/persistence/MessageCreator.ts +79 -73
- package/src/persistence/PersistenceFiles.ts +57 -31
- package/src/persistence/PersistenceMetadata.ts +287 -195
- package/src/persistence/PersistenceQueries.ts +45 -9
- package/src/persistence/PersistenceRebaser.ts +105 -70
- package/src/persistence/idb/IdbService.ts +40 -22
- package/src/persistence/idb/files/IdbPersistenceFileDb.ts +30 -62
- package/src/persistence/idb/idbPersistence.ts +123 -47
- package/src/persistence/idb/metadata/IdbMetadataDb.ts +75 -97
- package/src/persistence/idb/metadata/openMetadataDatabase.ts +2 -96
- package/src/persistence/idb/queries/{IdbQueryDb.ts → IdbDocumentDb.ts} +17 -57
- package/src/persistence/idb/queries/migration/db.ts +20 -39
- package/src/persistence/idb/util.ts +84 -21
- package/src/persistence/interfaces.ts +89 -90
- package/src/persistence/{idb/queries/migration → migration}/engine.ts +30 -15
- package/src/persistence/migration/finalize.ts +126 -0
- package/src/persistence/migration/migrate.ts +169 -0
- package/src/persistence/migration/types.ts +4 -0
- package/src/persistence/persistence.ts +37 -14
- package/src/queries/FindAllQuery.ts +1 -1
- package/src/queries/FindInfiniteQuery.ts +2 -2
- package/src/queries/FindOneQuery.ts +1 -1
- package/src/queries/FindPageQuery.ts +1 -1
- package/src/sync/FileSync.ts +21 -15
- package/src/sync/PushPullSync.ts +3 -4
- package/src/sync/ServerSyncEndpointProvider.ts +6 -8
- package/src/sync/Sync.ts +20 -7
- package/src/sync/WebSocketSync.ts +10 -4
- package/src/utils/wip.ts +1 -1
- package/dist/esm/client/constants.d.ts +0 -1
- package/dist/esm/client/constants.js +0 -2
- package/dist/esm/client/constants.js.map +0 -1
- package/dist/esm/persistence/idb/queries/IdbQueryDb.js.map +0 -1
- package/dist/esm/persistence/idb/queries/migration/engine.js.map +0 -1
- package/dist/esm/persistence/idb/queries/migration/migrations.d.ts +0 -15
- package/dist/esm/persistence/idb/queries/migration/migrations.js +0 -243
- package/dist/esm/persistence/idb/queries/migration/migrations.js.map +0 -1
- package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.d.ts +0 -8
- package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.js +0 -24
- package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.js.map +0 -1
- package/dist/esm/persistence/idb/queries/migration/paths.js.map +0 -1
- package/dist/esm/persistence/idb/queries/migration/paths.test.js.map +0 -1
- package/dist/esm/persistence/idb/queries/migration/types.d.ts +0 -6
- package/dist/esm/persistence/idb/queries/migration/types.js.map +0 -1
- package/src/client/constants.ts +0 -1
- package/src/persistence/idb/queries/migration/migrations.ts +0 -345
- package/src/persistence/idb/queries/migration/openQueryDatabase.ts +0 -54
- package/src/persistence/idb/queries/migration/types.ts +0 -8
- /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.d.ts +0 -0
- /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.js +0 -0
- /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.test.d.ts +0 -0
- /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.test.js +0 -0
- /package/dist/esm/persistence/{idb/queries/migration → migration}/types.js +0 -0
- /package/src/persistence/{idb/queries/migration → migration}/paths.test.ts +0 -0
- /package/src/persistence/{idb/queries/migration → migration}/paths.ts +0 -0
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
import { IdbPersistenceFileDb } from './files/IdbPersistenceFileDb.js';
|
|
2
2
|
import { IdbMetadataDb } from './metadata/IdbMetadataDb.js';
|
|
3
3
|
import { openMetadataDatabase } from './metadata/openMetadataDatabase.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { closeDatabase, deleteDatabase, getMetadataDbName, getNamespaceFromDatabaseInfo, getSizesOfAllObjectStores, } from './util.js';
|
|
8
|
-
import { getDatabaseVersion } from './queries/migration/db.js';
|
|
4
|
+
import { IdbDocumentDb } from './queries/IdbDocumentDb.js';
|
|
5
|
+
import { closeDatabase, deleteDatabase, getDocumentDbName, getMetadataDbName, getNamespaceFromDatabaseInfo, overwriteDatabase, } from './util.js';
|
|
6
|
+
import { openDatabase, upgradeDatabase } from './queries/migration/db.js';
|
|
9
7
|
export class IdbPersistence {
|
|
10
8
|
constructor(indexedDB = window.indexedDB) {
|
|
11
9
|
this.indexedDB = indexedDB;
|
|
10
|
+
this.name = 'IdbPersistence';
|
|
12
11
|
this.getNamespaces = async () => {
|
|
13
12
|
// list all idb database names
|
|
14
13
|
const dbs = await this.indexedDB.databases();
|
|
15
14
|
return Array.from(new Set(dbs.map(getNamespaceFromDatabaseInfo).filter((n) => !!n)));
|
|
16
15
|
};
|
|
17
16
|
this.getNamespaceVersion = async (namespace) => {
|
|
18
|
-
|
|
17
|
+
var _a;
|
|
18
|
+
const databaseName = getDocumentDbName(namespace);
|
|
19
|
+
const dbInfo = await this.indexedDB.databases();
|
|
20
|
+
const existingDb = dbInfo.find((info) => info.name === databaseName);
|
|
21
|
+
if (existingDb) {
|
|
22
|
+
return (_a = existingDb.version) !== null && _a !== void 0 ? _a : 0;
|
|
23
|
+
}
|
|
24
|
+
return 0;
|
|
19
25
|
};
|
|
20
26
|
this.deleteNamespace = async (namespace, ctx) => {
|
|
21
27
|
await Promise.all([
|
|
@@ -23,51 +29,86 @@ export class IdbPersistence {
|
|
|
23
29
|
deleteDatabase([namespace, 'collections'].join('_'), this.indexedDB),
|
|
24
30
|
]);
|
|
25
31
|
};
|
|
32
|
+
this.openNamespace = async (namespace) => {
|
|
33
|
+
return new IdbPersistenceNamespace(this.indexedDB, namespace);
|
|
34
|
+
};
|
|
35
|
+
this.copyNamespace = async (from, to, ctx) => {
|
|
36
|
+
const fromCtx = Object.assign(Object.assign({}, ctx), { namespace: from });
|
|
37
|
+
const toCtx = Object.assign(Object.assign({}, ctx), { namespace: to });
|
|
38
|
+
const { db: fromMetaDb } = await openMetadataDatabase({
|
|
39
|
+
indexedDB: this.indexedDB,
|
|
40
|
+
log: fromCtx.log,
|
|
41
|
+
namespace: fromCtx.namespace,
|
|
42
|
+
});
|
|
43
|
+
// no need to involve files, as they store all data
|
|
44
|
+
// in the metadata database.
|
|
45
|
+
const fromDocumentsDb = await openDatabase({
|
|
46
|
+
indexedDB: this.indexedDB,
|
|
47
|
+
namespace: fromCtx.namespace,
|
|
48
|
+
version: fromCtx.schema.version,
|
|
49
|
+
log: fromCtx.log,
|
|
50
|
+
});
|
|
51
|
+
fromCtx.log('info', `Copying data from ${fromCtx.namespace} to ${toCtx.namespace}`);
|
|
52
|
+
await overwriteDatabase(fromMetaDb, getMetadataDbName(toCtx.namespace), toCtx, this.indexedDB);
|
|
53
|
+
await overwriteDatabase(fromDocumentsDb, getDocumentDbName(toCtx.namespace), toCtx, this.indexedDB);
|
|
54
|
+
await closeDatabase(fromMetaDb);
|
|
55
|
+
await closeDatabase(fromDocumentsDb);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
class IdbPersistenceNamespace {
|
|
60
|
+
constructor(indexedDB, namespace) {
|
|
61
|
+
this.indexedDB = indexedDB;
|
|
62
|
+
this.namespace = namespace;
|
|
26
63
|
this.openMetadata = async (ctx) => {
|
|
27
64
|
const { db } = await openMetadataDatabase({
|
|
28
65
|
indexedDB: this.indexedDB,
|
|
29
66
|
log: ctx.log,
|
|
30
|
-
namespace:
|
|
67
|
+
namespace: this.namespace,
|
|
31
68
|
});
|
|
32
69
|
this.metadataDb = db;
|
|
70
|
+
ctx.persistenceShutdownHandler.register(() => closeDatabase(db));
|
|
33
71
|
return new IdbMetadataDb(db, ctx);
|
|
34
72
|
};
|
|
35
|
-
this.
|
|
36
|
-
const db = await
|
|
73
|
+
this.openDocuments = async (ctx) => {
|
|
74
|
+
const db = await openDatabase({
|
|
37
75
|
version: ctx.schema.version,
|
|
38
|
-
indexedDB: this.indexedDB,
|
|
39
|
-
migrations: ctx.migrations,
|
|
40
|
-
context: ctx,
|
|
41
|
-
});
|
|
42
|
-
return new IdbQueryDb(db, ctx);
|
|
43
|
-
};
|
|
44
|
-
this.copyNamespace = async (from, to, ctx) => {
|
|
45
|
-
const fromCtx = Object.assign(Object.assign({}, ctx), { namespace: from, originalNamespace: from });
|
|
46
|
-
const fromMetaDb = await this.openMetadata(fromCtx);
|
|
47
|
-
const fromMeta = new PersistenceMetadata(fromMetaDb, fromCtx);
|
|
48
|
-
const fromQueries = await this.openQueries(Object.assign(Object.assign({}, fromCtx), { meta: fromMeta }));
|
|
49
|
-
ctx.log('info', `Copying data from ${from} to ${to}`);
|
|
50
|
-
const { db: toMetaDb } = await openMetadataDatabase({
|
|
51
76
|
indexedDB: this.indexedDB,
|
|
52
77
|
log: ctx.log,
|
|
53
|
-
namespace:
|
|
78
|
+
namespace: this.namespace,
|
|
54
79
|
});
|
|
55
|
-
ctx.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
80
|
+
ctx.persistenceShutdownHandler.register(() => closeDatabase(db));
|
|
81
|
+
return new IdbDocumentDb(db, ctx);
|
|
82
|
+
};
|
|
83
|
+
this.applyMigration = async (ctx, migration) => {
|
|
84
|
+
ctx.log('debug', 'Applying migration', migration.newSchema.version, migration);
|
|
85
|
+
await upgradeDatabase(this.indexedDB, this.namespace, migration.newSchema.version, (transaction, db) => {
|
|
86
|
+
for (const newCollection of migration.addedCollections) {
|
|
87
|
+
db.createObjectStore(newCollection, {
|
|
88
|
+
keyPath: migration.newSchema.collections[newCollection].primaryKey,
|
|
89
|
+
autoIncrement: false,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
for (const collection of migration.allCollections) {
|
|
93
|
+
const store = transaction.objectStore(collection);
|
|
94
|
+
// apply new indexes
|
|
95
|
+
for (const newIndex of migration.addedIndexes[collection] || []) {
|
|
96
|
+
store.createIndex(newIndex.name, newIndex.name, {
|
|
97
|
+
multiEntry: newIndex.multiEntry,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// remove old indexes
|
|
101
|
+
for (const oldIndex of migration.removedIndexes[collection] || []) {
|
|
102
|
+
store.deleteIndex(oldIndex.name);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
for (const removedCollection of migration.removedCollections) {
|
|
106
|
+
// !! can't delete the store, because old operations that relate to
|
|
107
|
+
// this store may still exist in history. instead, we can clear it out
|
|
108
|
+
// and leave it in place
|
|
109
|
+
transaction.objectStore(removedCollection).clear();
|
|
110
|
+
}
|
|
111
|
+
}, ctx.log);
|
|
71
112
|
};
|
|
72
113
|
}
|
|
73
114
|
openFiles(ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idbPersistence.js","sourceRoot":"","sources":["../../../../src/persistence/idb/idbPersistence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"idbPersistence.js","sourceRoot":"","sources":["../../../../src/persistence/idb/idbPersistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,20 +12,18 @@ export type StoredSchema = {
|
|
|
12
12
|
type: 'schema';
|
|
13
13
|
schema: string;
|
|
14
14
|
};
|
|
15
|
-
export declare class IdbMetadataDb extends IdbService implements PersistenceMetadataDb {
|
|
15
|
+
export declare class IdbMetadataDb extends IdbService implements PersistenceMetadataDb<IDBTransaction> {
|
|
16
16
|
private ctx;
|
|
17
17
|
constructor(db: IDBDatabase, ctx: Pick<Context, 'log' | 'namespace'>);
|
|
18
|
-
transaction: (opts: {
|
|
18
|
+
transaction: <T>(opts: {
|
|
19
19
|
mode?: 'readwrite' | 'readonly';
|
|
20
20
|
storeNames: string[];
|
|
21
21
|
abort?: AbortSignal;
|
|
22
|
-
}) =>
|
|
22
|
+
}, procedure: (tx: IDBTransaction) => Promise<T>) => Promise<T>;
|
|
23
23
|
getAckInfo: () => Promise<AckInfo>;
|
|
24
24
|
setGlobalAck: (ack: string) => Promise<void>;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
getLocalReplica: (opts?: CommonQueryOptions) => Promise<LocalReplicaInfo>;
|
|
28
|
-
updateLocalReplica: (data: Partial<LocalReplicaInfo>, opts?: CommonQueryOptions) => Promise<void>;
|
|
25
|
+
getLocalReplica: (opts?: CommonQueryOptions) => Promise<LocalReplicaInfo | undefined>;
|
|
26
|
+
updateLocalReplica: (data: LocalReplicaInfo, opts?: CommonQueryOptions) => Promise<void>;
|
|
29
27
|
iterateDocumentBaselines: (rootOid: string, iterator: (baseline: DocumentBaseline) => void, opts?: CommonQueryOptions) => Promise<void>;
|
|
30
28
|
iterateCollectionBaselines: (collection: string, iterator: (baseline: DocumentBaseline) => void, opts?: CommonQueryOptions) => Promise<void>;
|
|
31
29
|
iterateAllBaselines: (iterator: Iterator<DocumentBaseline>, opts: CommonQueryOptions) => Promise<void>;
|
|
@@ -38,8 +36,8 @@ export declare class IdbMetadataDb extends IdbService implements PersistenceMeta
|
|
|
38
36
|
iterateEntityOperations: (oid: string, iterator: (op: StoredClientOperation) => void, opts?: CommonQueryOptions & {
|
|
39
37
|
to?: string | null;
|
|
40
38
|
}) => Promise<void>;
|
|
41
|
-
|
|
42
|
-
to
|
|
39
|
+
deleteEntityOperations: (oid: string, opts: CommonQueryOptions & {
|
|
40
|
+
to: string | null;
|
|
43
41
|
}) => Promise<void>;
|
|
44
42
|
iterateCollectionOperations: (collection: string, iterator: (op: StoredClientOperation) => void, opts?: CommonQueryOptions) => Promise<void>;
|
|
45
43
|
iterateLocalOperations: (iterator: (op: StoredClientOperation) => void, opts?: CommonQueryOptions & {
|
|
@@ -68,5 +66,4 @@ export declare class IdbMetadataDb extends IdbService implements PersistenceMeta
|
|
|
68
66
|
private resetBaselines;
|
|
69
67
|
private resetOperations;
|
|
70
68
|
private addOperationIndexes;
|
|
71
|
-
private convertOpts;
|
|
72
69
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { createCompoundIndexValue, createLowerBoundIndexValue, createUpperBoundIndexValue, getLegacyDotOidSubIdRange, getOidRoot, getOidSubIdRange, } from '@verdant-web/common';
|
|
2
2
|
import { IdbService } from '../IdbService.js';
|
|
3
|
-
import cuid from 'cuid';
|
|
4
3
|
import { closeDatabase, getSizeOfObjectStore } from '../util.js';
|
|
5
4
|
export class IdbMetadataDb extends IdbService {
|
|
6
5
|
constructor(db, ctx) {
|
|
7
6
|
super(db, ctx);
|
|
8
7
|
this.ctx = ctx;
|
|
9
|
-
this.transaction = (opts) => {
|
|
10
|
-
|
|
8
|
+
this.transaction = async (opts, procedure) => {
|
|
9
|
+
const tx = this.createTransaction(opts.storeNames, {
|
|
11
10
|
mode: opts.mode,
|
|
12
11
|
abort: opts.abort,
|
|
13
12
|
});
|
|
13
|
+
const result = await procedure(tx);
|
|
14
|
+
return result;
|
|
14
15
|
};
|
|
15
16
|
this.getAckInfo = async () => {
|
|
16
17
|
const result = await this.run('info', (store) => store.get('ack'));
|
|
@@ -20,7 +21,6 @@ export class IdbMetadataDb extends IdbService {
|
|
|
20
21
|
else {
|
|
21
22
|
return {
|
|
22
23
|
globalAckTimestamp: null,
|
|
23
|
-
type: 'ack',
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
};
|
|
@@ -28,44 +28,19 @@ export class IdbMetadataDb extends IdbService {
|
|
|
28
28
|
await this.run('info', (store) => store.put({ type: 'ack', globalAckTimestamp: ack }), { mode: 'readwrite' });
|
|
29
29
|
};
|
|
30
30
|
this.getLocalReplica = async (opts) => {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
return this.run('info', (store) => store.get('localReplicaInfo'), opts);
|
|
32
|
+
};
|
|
33
|
+
this.updateLocalReplica = async (data, opts) => {
|
|
34
|
+
try {
|
|
35
|
+
await this.run('info', (store) => store.put(Object.assign(Object.assign({}, data), { type: 'localReplicaInfo' })), {
|
|
36
|
+
mode: 'readwrite',
|
|
37
|
+
transaction: opts === null || opts === void 0 ? void 0 : opts.transaction,
|
|
38
|
+
});
|
|
33
39
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// prevent a race condition if get() is called again while we are
|
|
38
|
-
// creating the replica info
|
|
39
|
-
if (!this._creatingLocalReplica) {
|
|
40
|
-
this._creatingLocalReplica = (async () => {
|
|
41
|
-
// create our own replica info now
|
|
42
|
-
const replicaId = cuid();
|
|
43
|
-
const replicaInfo = {
|
|
44
|
-
type: 'localReplicaInfo',
|
|
45
|
-
id: replicaId,
|
|
46
|
-
userId: undefined,
|
|
47
|
-
ackedLogicalTime: null,
|
|
48
|
-
lastSyncedLogicalTime: null,
|
|
49
|
-
};
|
|
50
|
-
await this.run('info', (store) => store.put(replicaInfo), {
|
|
51
|
-
mode: 'readwrite',
|
|
52
|
-
});
|
|
53
|
-
this.cachedLocalReplica = replicaInfo;
|
|
54
|
-
})();
|
|
55
|
-
}
|
|
56
|
-
await this._creatingLocalReplica;
|
|
57
|
-
return this.getLocalReplica(opts);
|
|
40
|
+
catch (e) {
|
|
41
|
+
this.ctx.log('critical', 'Error updating local replica', data, e);
|
|
42
|
+
throw e;
|
|
58
43
|
}
|
|
59
|
-
this.cachedLocalReplica = lookup;
|
|
60
|
-
return lookup;
|
|
61
|
-
};
|
|
62
|
-
this.updateLocalReplica = async (data, opts = writeOpts) => {
|
|
63
|
-
const localReplicaInfo = await this.getLocalReplica(opts);
|
|
64
|
-
Object.assign(localReplicaInfo, data);
|
|
65
|
-
await this.run('info', (store) => store.put(localReplicaInfo), {
|
|
66
|
-
mode: 'readwrite',
|
|
67
|
-
});
|
|
68
|
-
this.cachedLocalReplica = localReplicaInfo;
|
|
69
44
|
};
|
|
70
45
|
this.iterateDocumentBaselines = async (rootOid, iterator, opts) => {
|
|
71
46
|
await this.iterate('baselines', (store) => {
|
|
@@ -78,26 +53,26 @@ export class IdbMetadataDb extends IdbService {
|
|
|
78
53
|
store.openCursor(IDBKeyRange.bound(start, end, false, false)),
|
|
79
54
|
store.openCursor(IDBKeyRange.bound(dotStart, dotEnd, false, false)),
|
|
80
55
|
];
|
|
81
|
-
}, iterator,
|
|
56
|
+
}, iterator, opts);
|
|
82
57
|
};
|
|
83
58
|
this.iterateCollectionBaselines = async (collection, iterator, opts) => {
|
|
84
59
|
await this.iterate('baselines', (store) => {
|
|
85
60
|
return [
|
|
86
61
|
store.openCursor(IDBKeyRange.bound(collection, collection + '\uffff', false, false)),
|
|
87
62
|
];
|
|
88
|
-
}, iterator,
|
|
63
|
+
}, iterator, opts);
|
|
89
64
|
};
|
|
90
65
|
this.iterateAllBaselines = async (iterator, opts) => {
|
|
91
|
-
await this.iterate('baselines', (store) => store.index('timestamp').openCursor(), iterator,
|
|
66
|
+
await this.iterate('baselines', (store) => store.index('timestamp').openCursor(), iterator, opts);
|
|
92
67
|
};
|
|
93
68
|
this.getBaseline = (oid, opts) => {
|
|
94
|
-
return this.run('baselines', (store) => store.get(oid),
|
|
69
|
+
return this.run('baselines', (store) => store.get(oid), opts);
|
|
95
70
|
};
|
|
96
71
|
this.setBaselines = async (baselines, opts = writeOpts) => {
|
|
97
|
-
await this.runAll('baselines', (store) => baselines.map((b) => store.put(b)),
|
|
72
|
+
await this.runAll('baselines', (store) => baselines.map((b) => store.put(b)), opts);
|
|
98
73
|
};
|
|
99
74
|
this.deleteBaseline = async (oid, opts = writeOpts) => {
|
|
100
|
-
await this.run('baselines', (store) => store.delete(oid),
|
|
75
|
+
await this.run('baselines', (store) => store.delete(oid), opts);
|
|
101
76
|
};
|
|
102
77
|
this.iterateDocumentOperations = (rootOid, iterator, opts) => {
|
|
103
78
|
return this.iterate('operations', (store) => {
|
|
@@ -108,7 +83,7 @@ export class IdbMetadataDb extends IdbService {
|
|
|
108
83
|
: createUpperBoundIndexValue(rootOid);
|
|
109
84
|
const range = IDBKeyRange.bound(start, end, false, false);
|
|
110
85
|
return index.openCursor(range);
|
|
111
|
-
}, iterator,
|
|
86
|
+
}, iterator, opts);
|
|
112
87
|
};
|
|
113
88
|
this.iterateEntityOperations = (oid, iterator, opts) => {
|
|
114
89
|
// NOTE: this is simplified from original impl.
|
|
@@ -121,9 +96,9 @@ export class IdbMetadataDb extends IdbService {
|
|
|
121
96
|
: createUpperBoundIndexValue(oid);
|
|
122
97
|
const range = IDBKeyRange.bound(start, end, false, false);
|
|
123
98
|
return store.openCursor(range);
|
|
124
|
-
}, iterator,
|
|
99
|
+
}, iterator, opts);
|
|
125
100
|
};
|
|
126
|
-
this.
|
|
101
|
+
this.deleteEntityOperations = (oid, opts) => {
|
|
127
102
|
return this.iterate('operations', (store) => {
|
|
128
103
|
const start = createLowerBoundIndexValue(oid);
|
|
129
104
|
const end = (opts === null || opts === void 0 ? void 0 : opts.to)
|
|
@@ -132,14 +107,13 @@ export class IdbMetadataDb extends IdbService {
|
|
|
132
107
|
const range = IDBKeyRange.bound(start, end, false, false);
|
|
133
108
|
return store.openCursor(range);
|
|
134
109
|
}, (op, store) => {
|
|
135
|
-
iterator(op);
|
|
136
110
|
store.delete(op.oid_timestamp);
|
|
137
|
-
},
|
|
111
|
+
}, opts);
|
|
138
112
|
};
|
|
139
113
|
this.iterateCollectionOperations = (collection, iterator, opts) => {
|
|
140
114
|
return this.iterate('operations', (store) => {
|
|
141
115
|
return store.openCursor(IDBKeyRange.bound(collection, collection + '\uffff', false, false), 'next');
|
|
142
|
-
}, iterator,
|
|
116
|
+
}, iterator, opts);
|
|
143
117
|
};
|
|
144
118
|
this.iterateLocalOperations = (iterator, opts) => {
|
|
145
119
|
return this.iterate('operations', (store) => {
|
|
@@ -169,14 +143,14 @@ export class IdbMetadataDb extends IdbService {
|
|
|
169
143
|
? IDBKeyRange.upperBound(end, true)
|
|
170
144
|
: undefined;
|
|
171
145
|
return store.index('timestamp').openCursor(range, 'next');
|
|
172
|
-
}, iterator,
|
|
146
|
+
}, iterator, opts);
|
|
173
147
|
};
|
|
174
148
|
this.addOperations = async (ops, opts = writeOpts) => {
|
|
175
149
|
let affected = new Set();
|
|
176
150
|
await this.runAll('operations', (store) => ops.map((op) => {
|
|
177
151
|
affected.add(getOidRoot(op.oid));
|
|
178
152
|
return store.put(this.addOperationIndexes(op));
|
|
179
|
-
}),
|
|
153
|
+
}), opts);
|
|
180
154
|
return Array.from(affected);
|
|
181
155
|
};
|
|
182
156
|
this.reset = async ({ clearReplica, transaction, } = {}) => {
|
|
@@ -202,13 +176,19 @@ export class IdbMetadataDb extends IdbService {
|
|
|
202
176
|
transaction: tx,
|
|
203
177
|
});
|
|
204
178
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
179
|
+
else {
|
|
180
|
+
const localInfo = await this.getLocalReplica({
|
|
181
|
+
transaction: tx,
|
|
182
|
+
});
|
|
183
|
+
if (localInfo) {
|
|
184
|
+
localInfo.ackedLogicalTime = null;
|
|
185
|
+
localInfo.lastSyncedLogicalTime = null;
|
|
186
|
+
await this.run('info', (store) => store.put(Object.assign(Object.assign({}, localInfo), { type: 'localReplicaInfo' })), {
|
|
187
|
+
mode: 'readwrite',
|
|
188
|
+
transaction: tx,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
212
192
|
};
|
|
213
193
|
this.resetBaselines = async (tx) => {
|
|
214
194
|
return this.clear('baselines', tx);
|
|
@@ -219,16 +199,10 @@ export class IdbMetadataDb extends IdbService {
|
|
|
219
199
|
this.addOperationIndexes = (op) => {
|
|
220
200
|
return Object.assign(Object.assign({}, op), { oid_timestamp: createCompoundIndexValue(op.oid, op.timestamp), l_t: createCompoundIndexValue(op.isLocal, op.timestamp), d_t: createCompoundIndexValue(getOidRoot(op.oid), op.timestamp) });
|
|
221
201
|
};
|
|
222
|
-
this.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
return {
|
|
227
|
-
mode: opts === null || opts === void 0 ? void 0 : opts.mode,
|
|
228
|
-
transaction: opts === null || opts === void 0 ? void 0 : opts.transaction,
|
|
229
|
-
};
|
|
230
|
-
};
|
|
231
|
-
this.addDispose(() => closeDatabase(db));
|
|
202
|
+
this.addDispose(() => {
|
|
203
|
+
this.ctx.log('info', `Closing metadata DB for`, this.ctx.namespace);
|
|
204
|
+
return closeDatabase(db);
|
|
205
|
+
});
|
|
232
206
|
}
|
|
233
207
|
}
|
|
234
208
|
const writeOpts = { mode: 'readwrite' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdbMetadataDb.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/IdbMetadataDb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IdbMetadataDb.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/IdbMetadataDb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
import { Context } from '../../../context/context.js';
|
|
2
2
|
export declare const CURRENT_METADATA_VERSION: number;
|
|
3
|
-
export declare function openMetadataDatabase({ indexedDB, namespace, log,
|
|
3
|
+
export declare function openMetadataDatabase({ indexedDB, namespace, log, }: {
|
|
4
4
|
indexedDB?: IDBFactory;
|
|
5
5
|
namespace: string;
|
|
6
6
|
log?: Context['log'];
|
|
7
|
-
metadataVersion?: number;
|
|
8
|
-
}): Promise<{
|
|
9
|
-
wasInitialized: boolean;
|
|
10
|
-
db: IDBDatabase;
|
|
11
|
-
}>;
|
|
12
|
-
export declare function openWIPMetadataDatabase({ wipNamespace, namespace, indexedDB, log, metadataVersion, }: {
|
|
13
|
-
indexedDB?: IDBFactory;
|
|
14
|
-
namespace: string;
|
|
15
|
-
wipNamespace: string;
|
|
16
|
-
log?: (...args: any[]) => void;
|
|
17
|
-
metadataVersion?: number;
|
|
18
7
|
}): Promise<{
|
|
19
8
|
wasInitialized: boolean;
|
|
20
9
|
db: IDBDatabase;
|
|
@@ -10,12 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { replaceLegacyOidsInObject } from '@verdant-web/common';
|
|
13
|
-
import {
|
|
13
|
+
import { getMetadataDbName } from '../util.js';
|
|
14
14
|
const migrations = [version1, version2, version3, version4, version5, version6];
|
|
15
15
|
export const CURRENT_METADATA_VERSION = migrations.length;
|
|
16
|
-
export function openMetadataDatabase({ indexedDB = window.indexedDB, namespace, log,
|
|
16
|
+
export function openMetadataDatabase({ indexedDB = window.indexedDB, namespace, log, }) {
|
|
17
17
|
return new Promise((resolve, reject) => {
|
|
18
|
-
const request = indexedDB.open(getMetadataDbName(namespace),
|
|
18
|
+
const request = indexedDB.open(getMetadataDbName(namespace), CURRENT_METADATA_VERSION);
|
|
19
19
|
let wasInitialized = false;
|
|
20
20
|
request.onupgradeneeded = async (event) => {
|
|
21
21
|
const db = request.result;
|
|
@@ -41,59 +41,6 @@ export function openMetadataDatabase({ indexedDB = window.indexedDB, namespace,
|
|
|
41
41
|
};
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
export async function openWIPMetadataDatabase({ wipNamespace, namespace, indexedDB, log, metadataVersion, }) {
|
|
45
|
-
const result = await openMetadataDatabase({
|
|
46
|
-
namespace: wipNamespace,
|
|
47
|
-
indexedDB,
|
|
48
|
-
log,
|
|
49
|
-
metadataVersion,
|
|
50
|
-
});
|
|
51
|
-
// this WIP database was already set up.
|
|
52
|
-
if (!result.wasInitialized) {
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
log === null || log === void 0 ? void 0 : log('debug', 'Beginning copy of production metadata database to WIP');
|
|
56
|
-
// copy all data from production metadata database
|
|
57
|
-
const { db: prodDb } = await openMetadataDatabase({
|
|
58
|
-
namespace,
|
|
59
|
-
indexedDB,
|
|
60
|
-
log,
|
|
61
|
-
metadataVersion,
|
|
62
|
-
});
|
|
63
|
-
const tx = prodDb.transaction(['baselines', 'operations', 'info'], 'readonly');
|
|
64
|
-
const [baselines, operations, info] = await Promise.all([
|
|
65
|
-
storeRequestPromise(tx.objectStore('baselines').getAll()),
|
|
66
|
-
storeRequestPromise(tx.objectStore('operations').getAll()),
|
|
67
|
-
storeRequestPromise(tx.objectStore('info').getAll()),
|
|
68
|
-
]);
|
|
69
|
-
const wipTx = result.db.transaction(['baselines', 'operations', 'info'], 'readwrite');
|
|
70
|
-
const wipBaselines = wipTx.objectStore('baselines');
|
|
71
|
-
const wipOperations = wipTx.objectStore('operations');
|
|
72
|
-
const wipInfo = wipTx.objectStore('info');
|
|
73
|
-
for (const baseline of baselines) {
|
|
74
|
-
wipBaselines.put(baseline);
|
|
75
|
-
}
|
|
76
|
-
for (const operation of operations) {
|
|
77
|
-
wipOperations.put(operation);
|
|
78
|
-
}
|
|
79
|
-
for (const infoItem of info) {
|
|
80
|
-
wipInfo.put(infoItem);
|
|
81
|
-
}
|
|
82
|
-
await new Promise((resolve, reject) => {
|
|
83
|
-
wipTx.oncomplete = () => {
|
|
84
|
-
resolve();
|
|
85
|
-
};
|
|
86
|
-
wipTx.onerror = (event) => {
|
|
87
|
-
reject(event);
|
|
88
|
-
};
|
|
89
|
-
wipTx.onabort = (event) => {
|
|
90
|
-
reject(event);
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
await closeDatabase(prodDb);
|
|
94
|
-
log === null || log === void 0 ? void 0 : log('debug', 'Finished copy of production metadata database to WIP. Copied:', baselines.length, 'baselines,', operations.length, 'operations');
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
44
|
async function version1(db, tx) {
|
|
98
45
|
const baselinesStore = db.createObjectStore('baselines', {
|
|
99
46
|
keyPath: 'oid',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openMetadataDatabase.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/openMetadataDatabase.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"openMetadataDatabase.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/openMetadataDatabase.ts"],"names":[],"mappings":"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"}
|