@verdant-web/store 2.8.5 → 3.0.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 +9 -10
- package/dist/bundle/index.js.map +4 -4
- package/dist/cjs/DocumentManager.d.ts +1 -1
- package/dist/cjs/DocumentManager.js +1 -1
- package/dist/cjs/DocumentManager.js.map +1 -1
- package/dist/cjs/IDBService.d.ts +28 -7
- package/dist/cjs/IDBService.js +50 -13
- package/dist/cjs/IDBService.js.map +1 -1
- package/dist/cjs/UndoHistory.d.ts +1 -1
- package/dist/cjs/UndoHistory.js +6 -2
- package/dist/cjs/UndoHistory.js.map +1 -1
- package/dist/cjs/__tests__/batching.test.js +3 -1
- package/dist/cjs/__tests__/batching.test.js.map +1 -1
- package/dist/cjs/__tests__/documents.test.js +37 -6
- package/dist/cjs/__tests__/documents.test.js.map +1 -1
- package/dist/cjs/__tests__/fixtures/testStorage.d.ts +2 -2
- package/dist/cjs/__tests__/fixtures/testStorage.js +2 -1
- package/dist/cjs/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/cjs/__tests__/legacyOids.test.js +50 -17
- package/dist/cjs/__tests__/legacyOids.test.js.map +1 -1
- package/dist/cjs/__tests__/mutations.test.js +9 -3
- package/dist/cjs/__tests__/mutations.test.js.map +1 -1
- package/dist/cjs/__tests__/queries.test.js +6 -2
- package/dist/cjs/__tests__/queries.test.js.map +1 -1
- package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
- package/dist/cjs/__tests__/setup/indexedDB.js +8 -1
- package/dist/cjs/__tests__/setup/indexedDB.js.map +1 -1
- package/dist/cjs/__tests__/undo.test.js +16 -9
- package/dist/cjs/__tests__/undo.test.js.map +1 -1
- package/dist/cjs/client/Client.d.ts +1 -1
- package/dist/cjs/client/Client.js +7 -3
- package/dist/cjs/client/Client.js.map +1 -1
- package/dist/cjs/client/ClientDescriptor.js +21 -6
- package/dist/cjs/client/ClientDescriptor.js.map +1 -1
- package/dist/cjs/context.d.ts +10 -1
- package/dist/cjs/entities/Entity.d.ts +106 -178
- package/dist/cjs/entities/Entity.js +558 -376
- package/dist/cjs/entities/Entity.js.map +1 -1
- package/dist/cjs/entities/Entity.test.d.ts +1 -0
- package/dist/cjs/entities/Entity.test.js +194 -0
- package/dist/cjs/entities/Entity.test.js.map +1 -0
- package/dist/cjs/entities/EntityCache.d.ts +15 -0
- package/dist/cjs/entities/EntityCache.js +39 -0
- package/dist/cjs/entities/EntityCache.js.map +1 -0
- package/dist/cjs/entities/EntityMetadata.d.ts +68 -0
- package/dist/cjs/entities/EntityMetadata.js +261 -0
- package/dist/cjs/entities/EntityMetadata.js.map +1 -0
- package/dist/cjs/entities/EntityStore.d.ts +63 -68
- package/dist/cjs/entities/EntityStore.js +294 -438
- package/dist/cjs/entities/EntityStore.js.map +1 -1
- package/dist/cjs/entities/OperationBatcher.d.ts +52 -0
- package/dist/cjs/entities/OperationBatcher.js +165 -0
- package/dist/cjs/entities/OperationBatcher.js.map +1 -0
- package/dist/cjs/entities/types.d.ts +84 -0
- package/dist/cjs/entities/types.js +3 -0
- package/dist/cjs/entities/types.js.map +1 -0
- package/dist/cjs/files/EntityFile.d.ts +5 -2
- package/dist/cjs/files/EntityFile.js +8 -4
- package/dist/cjs/files/EntityFile.js.map +1 -1
- package/dist/cjs/files/FileManager.d.ts +3 -1
- package/dist/cjs/files/FileManager.js +5 -3
- package/dist/cjs/files/FileManager.js.map +1 -1
- package/dist/cjs/files/FileStorage.js +7 -7
- package/dist/cjs/files/FileStorage.js.map +1 -1
- package/dist/cjs/files/utils.d.ts +2 -0
- package/dist/cjs/files/utils.js +5 -2
- package/dist/cjs/files/utils.js.map +1 -1
- package/dist/cjs/idb.d.ts +2 -0
- package/dist/cjs/idb.js +50 -4
- package/dist/cjs/idb.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/metadata/AckInfoStore.js +1 -1
- package/dist/cjs/metadata/AckInfoStore.js.map +1 -1
- package/dist/cjs/metadata/BaselinesStore.d.ts +4 -1
- package/dist/cjs/metadata/BaselinesStore.js +19 -10
- package/dist/cjs/metadata/BaselinesStore.js.map +1 -1
- package/dist/cjs/metadata/LocalReplicaStore.d.ts +1 -1
- package/dist/cjs/metadata/LocalReplicaStore.js +11 -5
- package/dist/cjs/metadata/LocalReplicaStore.js.map +1 -1
- package/dist/cjs/metadata/Metadata.d.ts +26 -5
- package/dist/cjs/metadata/Metadata.js +55 -18
- package/dist/cjs/metadata/Metadata.js.map +1 -1
- package/dist/cjs/metadata/OperationsStore.d.ts +3 -0
- package/dist/cjs/metadata/OperationsStore.js +35 -15
- package/dist/cjs/metadata/OperationsStore.js.map +1 -1
- package/dist/cjs/migration/openDatabase.js +31 -10
- package/dist/cjs/migration/openDatabase.js.map +1 -1
- package/dist/cjs/queries/BaseQuery.js +13 -1
- package/dist/cjs/queries/BaseQuery.js.map +1 -1
- package/dist/cjs/queries/CollectionQueries.js +1 -1
- package/dist/cjs/queries/CollectionQueries.js.map +1 -1
- package/dist/cjs/queries/FindAllQuery.js +1 -0
- package/dist/cjs/queries/FindAllQuery.js.map +1 -1
- package/dist/cjs/queries/QueryCache.d.ts +1 -0
- package/dist/cjs/queries/QueryCache.js +4 -0
- package/dist/cjs/queries/QueryCache.js.map +1 -1
- package/dist/cjs/queries/QueryableStorage.d.ts +20 -0
- package/dist/cjs/queries/QueryableStorage.js +84 -0
- package/dist/cjs/queries/QueryableStorage.js.map +1 -0
- package/dist/cjs/queries/dbQueries.js +13 -3
- package/dist/cjs/queries/dbQueries.js.map +1 -1
- package/dist/cjs/sync/FileSync.d.ts +1 -0
- package/dist/cjs/sync/FileSync.js +1 -0
- package/dist/cjs/sync/FileSync.js.map +1 -1
- package/dist/cjs/sync/PushPullSync.d.ts +2 -1
- package/dist/cjs/sync/PushPullSync.js +7 -1
- package/dist/cjs/sync/PushPullSync.js.map +1 -1
- package/dist/cjs/sync/Sync.d.ts +6 -3
- package/dist/cjs/sync/Sync.js +9 -4
- package/dist/cjs/sync/Sync.js.map +1 -1
- package/dist/cjs/sync/WebSocketSync.d.ts +4 -1
- package/dist/cjs/sync/WebSocketSync.js +41 -11
- package/dist/cjs/sync/WebSocketSync.js.map +1 -1
- package/dist/esm/DocumentManager.d.ts +1 -1
- package/dist/esm/DocumentManager.js +1 -1
- package/dist/esm/DocumentManager.js.map +1 -1
- package/dist/esm/IDBService.d.ts +28 -7
- package/dist/esm/IDBService.js +51 -14
- package/dist/esm/IDBService.js.map +1 -1
- package/dist/esm/UndoHistory.d.ts +1 -1
- package/dist/esm/UndoHistory.js +6 -2
- package/dist/esm/UndoHistory.js.map +1 -1
- package/dist/esm/__tests__/batching.test.js +3 -1
- package/dist/esm/__tests__/batching.test.js.map +1 -1
- package/dist/esm/__tests__/documents.test.js +37 -6
- package/dist/esm/__tests__/documents.test.js.map +1 -1
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +2 -2
- package/dist/esm/__tests__/fixtures/testStorage.js +2 -1
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/__tests__/legacyOids.test.js +50 -17
- package/dist/esm/__tests__/legacyOids.test.js.map +1 -1
- package/dist/esm/__tests__/mutations.test.js +9 -3
- package/dist/esm/__tests__/mutations.test.js.map +1 -1
- package/dist/esm/__tests__/queries.test.js +6 -2
- package/dist/esm/__tests__/queries.test.js.map +1 -1
- package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
- package/dist/esm/__tests__/setup/indexedDB.js +8 -1
- package/dist/esm/__tests__/setup/indexedDB.js.map +1 -1
- package/dist/esm/__tests__/undo.test.js +16 -9
- package/dist/esm/__tests__/undo.test.js.map +1 -1
- package/dist/esm/client/Client.d.ts +1 -1
- package/dist/esm/client/Client.js +7 -3
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/client/ClientDescriptor.js +21 -6
- package/dist/esm/client/ClientDescriptor.js.map +1 -1
- package/dist/esm/context.d.ts +10 -1
- package/dist/esm/entities/Entity.d.ts +106 -178
- package/dist/esm/entities/Entity.js +559 -376
- package/dist/esm/entities/Entity.js.map +1 -1
- package/dist/esm/entities/Entity.test.d.ts +1 -0
- package/dist/esm/entities/Entity.test.js +192 -0
- package/dist/esm/entities/Entity.test.js.map +1 -0
- package/dist/esm/entities/EntityCache.d.ts +15 -0
- package/dist/esm/entities/EntityCache.js +35 -0
- package/dist/esm/entities/EntityCache.js.map +1 -0
- package/dist/esm/entities/EntityMetadata.d.ts +68 -0
- package/dist/esm/entities/EntityMetadata.js +256 -0
- package/dist/esm/entities/EntityMetadata.js.map +1 -0
- package/dist/esm/entities/EntityStore.d.ts +63 -68
- package/dist/esm/entities/EntityStore.js +295 -439
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/entities/OperationBatcher.d.ts +52 -0
- package/dist/esm/entities/OperationBatcher.js +161 -0
- package/dist/esm/entities/OperationBatcher.js.map +1 -0
- package/dist/esm/entities/types.d.ts +84 -0
- package/dist/esm/entities/types.js +2 -0
- package/dist/esm/entities/types.js.map +1 -0
- package/dist/esm/files/EntityFile.d.ts +5 -2
- package/dist/esm/files/EntityFile.js +8 -4
- package/dist/esm/files/EntityFile.js.map +1 -1
- package/dist/esm/files/FileManager.d.ts +3 -1
- package/dist/esm/files/FileManager.js +5 -3
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/files/FileStorage.js +7 -7
- package/dist/esm/files/FileStorage.js.map +1 -1
- package/dist/esm/files/utils.d.ts +2 -0
- package/dist/esm/files/utils.js +4 -2
- package/dist/esm/files/utils.js.map +1 -1
- package/dist/esm/idb.d.ts +2 -0
- package/dist/esm/idb.js +47 -3
- package/dist/esm/idb.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/metadata/AckInfoStore.js +1 -1
- package/dist/esm/metadata/AckInfoStore.js.map +1 -1
- package/dist/esm/metadata/BaselinesStore.d.ts +4 -1
- package/dist/esm/metadata/BaselinesStore.js +19 -10
- package/dist/esm/metadata/BaselinesStore.js.map +1 -1
- package/dist/esm/metadata/LocalReplicaStore.d.ts +1 -1
- package/dist/esm/metadata/LocalReplicaStore.js +11 -5
- package/dist/esm/metadata/LocalReplicaStore.js.map +1 -1
- package/dist/esm/metadata/Metadata.d.ts +26 -5
- package/dist/esm/metadata/Metadata.js +56 -19
- package/dist/esm/metadata/Metadata.js.map +1 -1
- package/dist/esm/metadata/OperationsStore.d.ts +3 -0
- package/dist/esm/metadata/OperationsStore.js +35 -15
- package/dist/esm/metadata/OperationsStore.js.map +1 -1
- package/dist/esm/migration/openDatabase.js +32 -11
- package/dist/esm/migration/openDatabase.js.map +1 -1
- package/dist/esm/queries/BaseQuery.js +13 -1
- package/dist/esm/queries/BaseQuery.js.map +1 -1
- package/dist/esm/queries/CollectionQueries.js +1 -1
- package/dist/esm/queries/CollectionQueries.js.map +1 -1
- package/dist/esm/queries/FindAllQuery.js +1 -0
- package/dist/esm/queries/FindAllQuery.js.map +1 -1
- package/dist/esm/queries/QueryCache.d.ts +1 -0
- package/dist/esm/queries/QueryCache.js +4 -0
- package/dist/esm/queries/QueryCache.js.map +1 -1
- package/dist/esm/queries/QueryableStorage.d.ts +20 -0
- package/dist/esm/queries/QueryableStorage.js +80 -0
- package/dist/esm/queries/QueryableStorage.js.map +1 -0
- package/dist/esm/queries/dbQueries.js +13 -3
- package/dist/esm/queries/dbQueries.js.map +1 -1
- package/dist/esm/sync/FileSync.d.ts +1 -0
- package/dist/esm/sync/FileSync.js +1 -0
- package/dist/esm/sync/FileSync.js.map +1 -1
- package/dist/esm/sync/PushPullSync.d.ts +2 -1
- package/dist/esm/sync/PushPullSync.js +7 -1
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/Sync.d.ts +6 -3
- package/dist/esm/sync/Sync.js +9 -4
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.d.ts +4 -1
- package/dist/esm/sync/WebSocketSync.js +41 -11
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/src/DocumentManager.ts +1 -1
- package/src/IDBService.ts +78 -17
- package/src/UndoHistory.ts +5 -3
- package/src/__tests__/batching.test.ts +5 -2
- package/src/__tests__/documents.test.ts +44 -6
- package/src/__tests__/fixtures/testStorage.ts +3 -0
- package/src/__tests__/legacyOids.test.ts +53 -17
- package/src/__tests__/mutations.test.ts +9 -3
- package/src/__tests__/queries.test.ts +6 -2
- package/src/__tests__/setup/indexedDB.ts +8 -1
- package/src/__tests__/undo.test.ts +17 -9
- package/src/client/Client.ts +7 -3
- package/src/client/ClientDescriptor.ts +24 -8
- package/src/context.ts +16 -1
- package/src/entities/Entity.test.ts +218 -0
- package/src/entities/Entity.ts +696 -616
- package/src/entities/EntityCache.ts +41 -0
- package/src/entities/EntityMetadata.ts +364 -0
- package/src/entities/EntityStore.ts +384 -621
- package/src/entities/OperationBatcher.ts +251 -0
- package/src/entities/types.ts +154 -0
- package/src/files/EntityFile.ts +9 -4
- package/src/files/FileManager.ts +5 -3
- package/src/files/FileStorage.ts +7 -13
- package/src/files/utils.ts +6 -2
- package/src/idb.ts +51 -3
- package/src/index.ts +1 -1
- package/src/metadata/AckInfoStore.ts +1 -1
- package/src/metadata/BaselinesStore.ts +16 -24
- package/src/metadata/LocalReplicaStore.ts +13 -6
- package/src/metadata/Metadata.ts +109 -24
- package/src/metadata/OperationsStore.ts +37 -16
- package/src/migration/openDatabase.ts +32 -10
- package/src/queries/BaseQuery.ts +14 -1
- package/src/queries/CollectionQueries.ts +1 -1
- package/src/queries/FindAllQuery.ts +4 -0
- package/src/queries/QueryCache.ts +5 -0
- package/src/queries/QueryableStorage.ts +107 -0
- package/src/queries/dbQueries.ts +10 -3
- package/src/sync/FileSync.ts +2 -0
- package/src/sync/PushPullSync.ts +8 -1
- package/src/sync/Sync.ts +14 -6
- package/src/sync/WebSocketSync.ts +47 -10
- package/dist/cjs/entities/DocumentFamiliyCache.d.ts +0 -96
- package/dist/cjs/entities/DocumentFamiliyCache.js +0 -287
- package/dist/cjs/entities/DocumentFamiliyCache.js.map +0 -1
- package/dist/esm/entities/DocumentFamiliyCache.d.ts +0 -96
- package/dist/esm/entities/DocumentFamiliyCache.js +0 -283
- package/dist/esm/entities/DocumentFamiliyCache.js.map +0 -1
- package/src/entities/DocumentFamiliyCache.ts +0 -426
- package/src/entities/design.tldr +0 -808
|
@@ -9,6 +9,9 @@ export type StoredClientOperation = ClientOperation & {
|
|
|
9
9
|
d_t: string;
|
|
10
10
|
};
|
|
11
11
|
export declare class OperationsStore extends IDBService {
|
|
12
|
+
constructor(db: IDBDatabase, opts: {
|
|
13
|
+
log?: (...args: any[]) => void;
|
|
14
|
+
});
|
|
12
15
|
/**
|
|
13
16
|
* Iterates over every patch for the root and every sub-object
|
|
14
17
|
* of a given document. Optionally limit by timestamp.
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { createCompoundIndexValue, createLowerBoundIndexValue, createUpperBoundIndexValue, getOidRoot, assert, } from '@verdant-web/common';
|
|
2
2
|
import { IDBService } from '../IDBService.js';
|
|
3
|
+
import { isAbortError } from '../idb.js';
|
|
3
4
|
export class OperationsStore extends IDBService {
|
|
4
|
-
constructor() {
|
|
5
|
-
super(
|
|
5
|
+
constructor(db, opts) {
|
|
6
|
+
super(db, opts);
|
|
6
7
|
/**
|
|
7
8
|
* Iterates over every patch for the root and every sub-object
|
|
8
9
|
* of a given document. Optionally limit by timestamp.
|
|
9
10
|
*/
|
|
10
11
|
this.iterateOverAllOperationsForDocument = async (oid, iterator, { to, from, after, mode = 'readonly', transaction: providedTx, } = {}) => {
|
|
11
|
-
const transaction = providedTx ||
|
|
12
|
+
const transaction = providedTx ||
|
|
13
|
+
this.createTransaction(['operations'], {
|
|
14
|
+
mode,
|
|
15
|
+
});
|
|
12
16
|
const store = transaction.objectStore('operations');
|
|
13
17
|
const index = store.index('d_t');
|
|
14
18
|
const startTimestamp = from || after;
|
|
@@ -38,12 +42,18 @@ export class OperationsStore extends IDBService {
|
|
|
38
42
|
}
|
|
39
43
|
};
|
|
40
44
|
request.onerror = (event) => {
|
|
41
|
-
|
|
45
|
+
if (isAbortError(request.error)) {
|
|
46
|
+
resolve();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
reject(request.error);
|
|
51
|
+
}
|
|
42
52
|
};
|
|
43
53
|
});
|
|
44
54
|
};
|
|
45
55
|
this.iterateOverAllOperationsForEntity = async (oid, iterator, { after, to, mode, transaction: providedTx, }) => {
|
|
46
|
-
const transaction = providedTx || this.
|
|
56
|
+
const transaction = providedTx || this.createTransaction(['operations'], { mode });
|
|
47
57
|
const store = transaction.objectStore('operations');
|
|
48
58
|
const start = after
|
|
49
59
|
? createCompoundIndexValue(oid, after)
|
|
@@ -71,18 +81,23 @@ export class OperationsStore extends IDBService {
|
|
|
71
81
|
}
|
|
72
82
|
};
|
|
73
83
|
request.onerror = (event) => {
|
|
74
|
-
|
|
84
|
+
if (isAbortError(request.error)) {
|
|
85
|
+
resolve();
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
reject(request.error);
|
|
89
|
+
}
|
|
75
90
|
};
|
|
76
91
|
});
|
|
77
92
|
};
|
|
78
93
|
this.iterateOverAllOperationsForCollection = async (collection, iterator, { after, to, mode, transaction: providedTx, }) => {
|
|
79
|
-
const transaction = providedTx || this.
|
|
94
|
+
const transaction = providedTx || this.createTransaction(['operations'], { mode });
|
|
80
95
|
return this.iterate('operations', (store) => {
|
|
81
96
|
return store.openCursor(IDBKeyRange.bound(collection, collection + '\uffff', false, false), 'next');
|
|
82
|
-
}, iterator, mode, transaction);
|
|
97
|
+
}, iterator, { mode, transaction });
|
|
83
98
|
};
|
|
84
99
|
this.iterateOverAllLocalOperations = async (iterator, { before, after, mode = 'readonly', transaction: providedTx, }) => {
|
|
85
|
-
const transaction = providedTx || this.
|
|
100
|
+
const transaction = providedTx || this.createTransaction(['operations'], { mode });
|
|
86
101
|
const store = transaction.objectStore('operations');
|
|
87
102
|
const index = store.index('l_t');
|
|
88
103
|
const start = after
|
|
@@ -110,7 +125,12 @@ export class OperationsStore extends IDBService {
|
|
|
110
125
|
}
|
|
111
126
|
};
|
|
112
127
|
request.onerror = (event) => {
|
|
113
|
-
|
|
128
|
+
if (isAbortError(request.error)) {
|
|
129
|
+
resolve();
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
reject(request.error);
|
|
133
|
+
}
|
|
114
134
|
};
|
|
115
135
|
});
|
|
116
136
|
};
|
|
@@ -119,15 +139,15 @@ export class OperationsStore extends IDBService {
|
|
|
119
139
|
const start = from ? createLowerBoundIndexValue(from) : undefined;
|
|
120
140
|
const end = before ? createUpperBoundIndexValue(before) : undefined;
|
|
121
141
|
const range = start && end
|
|
122
|
-
? IDBKeyRange.bound(start, end, false, true)
|
|
142
|
+
? window.IDBKeyRange.bound(start, end, false, true)
|
|
123
143
|
: start
|
|
124
|
-
? IDBKeyRange.lowerBound(start, false)
|
|
144
|
+
? window.IDBKeyRange.lowerBound(start, false)
|
|
125
145
|
: end
|
|
126
|
-
? IDBKeyRange.upperBound(end, true)
|
|
146
|
+
? window.IDBKeyRange.upperBound(end, true)
|
|
127
147
|
: undefined;
|
|
128
148
|
const index = store.index('timestamp');
|
|
129
149
|
return index.openCursor(range, 'next');
|
|
130
|
-
}, iterator, mode, transaction);
|
|
150
|
+
}, iterator, { mode, transaction });
|
|
131
151
|
};
|
|
132
152
|
/**
|
|
133
153
|
* Adds a set of patches to the database.
|
|
@@ -144,7 +164,7 @@ export class OperationsStore extends IDBService {
|
|
|
144
164
|
await this.runAll('operations', (store) => operations.map((op) => {
|
|
145
165
|
affected.add(getOidRoot(op.oid));
|
|
146
166
|
return store.put(op);
|
|
147
|
-
}), 'readwrite', transaction);
|
|
167
|
+
}), { mode: 'readwrite', transaction });
|
|
148
168
|
return Array.from(affected);
|
|
149
169
|
};
|
|
150
170
|
this.reset = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationsStore.js","sourceRoot":"","sources":["../../../src/metadata/OperationsStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,UAAU,EAGV,MAAM,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OperationsStore.js","sourceRoot":"","sources":["../../../src/metadata/OperationsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addFieldDefaults, assert, assignOidsToAllSubObjects, cloneDeep, createOid, decomposeOid, diffToPatches, getIndexValues,
|
|
1
|
+
import { addFieldDefaults, assert, assignOidsToAllSubObjects, cloneDeep, createOid, decomposeOid, diffToPatches, getIndexValues, getOid, getOidRoot, initialToPatches, removeOidPropertiesFromAllSubObjects, } from '@verdant-web/common';
|
|
2
2
|
import { storeRequestPromise } from '../idb.js';
|
|
3
3
|
import { findAllOids, findOneOid } from '../queries/dbQueries.js';
|
|
4
4
|
import { acquireLock, closeDatabase, getDatabaseVersion, openDatabase, upgradeDatabase, } from './db.js';
|
|
@@ -113,7 +113,12 @@ async function runMigrations({ context, toRun, meta, indexedDB = globalIDB, name
|
|
|
113
113
|
}
|
|
114
114
|
catch (err) {
|
|
115
115
|
context.log('critical', `Migration failed (${migration.oldSchema.version} -> ${migration.newSchema.version})`, err);
|
|
116
|
-
|
|
116
|
+
if (err instanceof Error) {
|
|
117
|
+
throw err;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
throw new Error('Unknown error during migration');
|
|
121
|
+
}
|
|
117
122
|
}
|
|
118
123
|
// now we have to open the database again with the next version and
|
|
119
124
|
// make the appropriate schema changes during the upgrade.
|
|
@@ -181,6 +186,24 @@ async function runMigrations({ context, toRun, meta, indexedDB = globalIDB, name
|
|
|
181
186
|
}), ...docsWithUnappliedMigrations.filter((oid) => {
|
|
182
187
|
return decomposeOid(oid).collection === collection;
|
|
183
188
|
}));
|
|
189
|
+
// add 'touch' operations to all root OIDs of all documents.
|
|
190
|
+
// this marks documents which have undergone a migration
|
|
191
|
+
// so that other clients know when they're working
|
|
192
|
+
// with unmigrated data - by seeing that there are no
|
|
193
|
+
// existing operations or baselines with a timestamp
|
|
194
|
+
// that matches the current version.
|
|
195
|
+
// UPDATE: no longer necessary now that pruning is a thing.
|
|
196
|
+
// await Promise.all(
|
|
197
|
+
// oids.map((oid) =>
|
|
198
|
+
// meta.insertLocalOperations([
|
|
199
|
+
// {
|
|
200
|
+
// oid,
|
|
201
|
+
// timestamp: meta.time.zero(migration.version),
|
|
202
|
+
// data: { op: 'touch' },
|
|
203
|
+
// },
|
|
204
|
+
// ]),
|
|
205
|
+
// ),
|
|
206
|
+
// );
|
|
184
207
|
const snapshots = await Promise.all(oids.map(async (oid) => {
|
|
185
208
|
try {
|
|
186
209
|
const snap = await meta.getDocumentSnapshot(oid);
|
|
@@ -206,10 +229,7 @@ async function runMigrations({ context, toRun, meta, indexedDB = globalIDB, name
|
|
|
206
229
|
const writeStore = documentWriteTransaction.objectStore(collection);
|
|
207
230
|
await Promise.all(views.map(([oid, view]) => {
|
|
208
231
|
if (view) {
|
|
209
|
-
return putView(writeStore, view)
|
|
210
|
-
view;
|
|
211
|
-
throw err;
|
|
212
|
-
});
|
|
232
|
+
return putView(writeStore, view);
|
|
213
233
|
}
|
|
214
234
|
else {
|
|
215
235
|
const { id } = decomposeOid(oid);
|
|
@@ -245,13 +265,13 @@ function getMigrationMutations({ migration, meta, getMigrationNow, newOids, }) {
|
|
|
245
265
|
const primaryKey = doc[migration.newSchema.collections[collectionName].primaryKey];
|
|
246
266
|
const oid = createOid(collectionName, primaryKey);
|
|
247
267
|
newOids.push(oid);
|
|
248
|
-
await meta.
|
|
268
|
+
await meta.insertLocalOperations(initialToPatches(doc, oid, getMigrationNow));
|
|
249
269
|
return doc;
|
|
250
270
|
},
|
|
251
271
|
delete: async (id) => {
|
|
252
272
|
const rootOid = createOid(collectionName, id);
|
|
253
273
|
const allOids = await meta.getAllDocumentRelatedOids(rootOid);
|
|
254
|
-
return meta.
|
|
274
|
+
return meta.insertLocalOperations(allOids.map((oid) => ({
|
|
255
275
|
oid,
|
|
256
276
|
timestamp: getMigrationNow(),
|
|
257
277
|
data: { op: 'delete' },
|
|
@@ -320,7 +340,7 @@ function getMigrationEngine({ meta, migration, context, }) {
|
|
|
320
340
|
});
|
|
321
341
|
const deleteCollection = async (collection) => {
|
|
322
342
|
const allOids = await meta.getAllCollectionRelatedOids(collection);
|
|
323
|
-
return meta.
|
|
343
|
+
return meta.insertLocalOperations(allOids.map((oid) => ({
|
|
324
344
|
oid,
|
|
325
345
|
timestamp: getMigrationNow(),
|
|
326
346
|
data: { op: 'delete' },
|
|
@@ -334,7 +354,8 @@ function getMigrationEngine({ meta, migration, context, }) {
|
|
|
334
354
|
migrate: async (collection, strategy) => {
|
|
335
355
|
const docs = await queries[collection].findAll();
|
|
336
356
|
await Promise.all(docs.filter(Boolean).map(async (doc) => {
|
|
337
|
-
|
|
357
|
+
const rootOid = getOid(doc);
|
|
358
|
+
assert(!!rootOid, `Document is missing an OID: ${JSON.stringify(doc)}`);
|
|
338
359
|
const original = cloneDeep(doc);
|
|
339
360
|
// @ts-ignore - excessive type resolution
|
|
340
361
|
const newValue = await strategy(doc);
|
|
@@ -349,7 +370,7 @@ function getMigrationEngine({ meta, migration, context, }) {
|
|
|
349
370
|
mergeUnknownObjects: true,
|
|
350
371
|
});
|
|
351
372
|
if (patches.length > 0) {
|
|
352
|
-
await meta.
|
|
373
|
+
await meta.insertLocalOperations(patches);
|
|
353
374
|
}
|
|
354
375
|
}
|
|
355
376
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openDatabase.js","sourceRoot":"","sources":["../../../src/migration/openDatabase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openDatabase.js","sourceRoot":"","sources":["../../../src/migration/openDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,11 @@ export class BaseQuery extends Disposable {
|
|
|
20
20
|
this._rawValue = value;
|
|
21
21
|
this.subscribeToDeleteAndRestore(this._rawValue);
|
|
22
22
|
this._value = filterResultSet(value);
|
|
23
|
+
// validate the value
|
|
24
|
+
if (Array.isArray(this._value) &&
|
|
25
|
+
this._value.some((v) => v.getSnapshot() === null)) {
|
|
26
|
+
debugger;
|
|
27
|
+
}
|
|
23
28
|
this._status = 'ready';
|
|
24
29
|
this._events.emit('change', this._value);
|
|
25
30
|
};
|
|
@@ -65,8 +70,11 @@ export class BaseQuery extends Disposable {
|
|
|
65
70
|
// possibly accessing db while it's closed. not much we can do.
|
|
66
71
|
return this._value;
|
|
67
72
|
}
|
|
73
|
+
throw err;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw new Error('Unknown error executing query');
|
|
68
77
|
}
|
|
69
|
-
throw err;
|
|
70
78
|
});
|
|
71
79
|
return this._executionPromise;
|
|
72
80
|
};
|
|
@@ -88,9 +96,13 @@ export class BaseQuery extends Disposable {
|
|
|
88
96
|
this.addDispose(this.context.entityEvents.subscribe('collectionsChanged', (collections) => {
|
|
89
97
|
if (shouldUpdateFn(collections)) {
|
|
90
98
|
this.context.log('info', 'Updating query', this.key);
|
|
99
|
+
// immediately refilter the result set - deleted
|
|
100
|
+
// entities will already be nulled out
|
|
101
|
+
// this.refreshValue();
|
|
91
102
|
this.execute();
|
|
92
103
|
}
|
|
93
104
|
}));
|
|
105
|
+
// TODO: subscribe to document changes and update if necessary.
|
|
94
106
|
}
|
|
95
107
|
get current() {
|
|
96
108
|
return this._value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseQuery.js","sourceRoot":"","sources":["../../../src/queries/BaseQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiB7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEvC,kCAAkC;AAClC,yEAAyE;AACzE,0FAA0F;AAC1F,wDAAwD;AACxD,IAAI;AAEJ,MAAM,OAAgB,SAAa,SAAQ,UAAU;IAepD,YAAY,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,GAAG,EACH,YAAY,GACS;QACrB,KAAK,EAAE,CAAC;QAjBD,0BAAqB,GAAmB,EAAE,CAAC;QAE3C,YAAO,GAAgB,SAAS,CAAC;QACjC,sBAAiB,GAAsB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseQuery.js","sourceRoot":"","sources":["../../../src/queries/BaseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ export class CollectionQueries {
|
|
|
77
77
|
};
|
|
78
78
|
this.cache = cache;
|
|
79
79
|
this.collection = collection;
|
|
80
|
-
this.hydrate = entities.
|
|
80
|
+
this.hydrate = entities.hydrate;
|
|
81
81
|
this.context = context;
|
|
82
82
|
this.documentManager = documentManager;
|
|
83
83
|
this.put = this.documentManager.create.bind(this.documentManager, this.collection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionQueries.js","sourceRoot":"","sources":["../../../src/queries/CollectionQueries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CollectionQueries.js","sourceRoot":"","sources":["../../../src/queries/CollectionQueries.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export class FindAllQuery extends BaseQuery {
|
|
|
23
23
|
index: this.index,
|
|
24
24
|
context: this.context,
|
|
25
25
|
});
|
|
26
|
+
this.context.log('debug', `FindAllQuery: ${oids.length} oids found: ${oids}`);
|
|
26
27
|
this.setValue(await Promise.all(oids.map(this.hydrate)));
|
|
27
28
|
};
|
|
28
29
|
this[_a] = (index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FindAllQuery.js","sourceRoot":"","sources":["../../../src/queries/FindAllQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAoB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,OAAO,YAAgB,SAAQ,SAAc;IAIlD,YAAY,EAO8B;YAP9B,EACX,KAAK,EACL,OAAO,OAKkC,EAJtC,IAAI,cAHI,oBAIX,CADO;QAKP,KAAK,iBACJ,OAAO,EAAE,EAAE,IACR,IAAI,EACN,CAAC;QAKM,QAAG,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,QAAQ,GAAG,CAAC,KAAmC,EAAE,EAAE;YAClD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;gBAAE,OAAO;YAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FindAllQuery.js","sourceRoot":"","sources":["../../../src/queries/FindAllQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAoB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,OAAO,YAAgB,SAAQ,SAAc;IAIlD,YAAY,EAO8B;YAP9B,EACX,KAAK,EACL,OAAO,OAKkC,EAJtC,IAAI,cAHI,oBAIX,CADO;QAKP,KAAK,iBACJ,OAAO,EAAE,EAAE,IACR,IAAI,EACN,CAAC;QAKM,QAAG,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,GAAG,CACf,OAAO,EACP,iBAAiB,IAAI,CAAC,MAAM,gBAAgB,IAAI,EAAE,CAClD,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,QAAQ,GAAG,CAAC,KAAmC,EAAE,EAAE;YAClD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;gBAAE,OAAO;YAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC;QArBD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CAoBD;KALC,MAAM"}
|
|
@@ -15,6 +15,10 @@ export class QueryCache extends Disposable {
|
|
|
15
15
|
}
|
|
16
16
|
}, this._evictionTime);
|
|
17
17
|
};
|
|
18
|
+
this.dropAll = () => {
|
|
19
|
+
this._cache.forEach((query) => query.dispose());
|
|
20
|
+
this._cache.clear();
|
|
21
|
+
};
|
|
18
22
|
this._evictionTime = evictionTime;
|
|
19
23
|
this.context = context;
|
|
20
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../../../src/queries/QueryCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAa,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,OAAO,UAAW,SAAQ,UAAU;IAKzC,YAAY,EACX,YAAY,GAAG,CAAC,GAAG,IAAI,EACvB,OAAO,GAIP;QACA,KAAK,EAAE,CAAC;QAXD,WAAM,GAAgC,IAAI,GAAG,EAAE,CAAC;QAwChD,wBAAmB,GAAG,CAAC,KAAqB,EAAE,EAAE;YACvD,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,KAAK,CAAC,UAAU;oBAAE,OAAO;gBAC7B,qDAAqD;gBACrD,yCAAyC;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC9B;YACF,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../../../src/queries/QueryCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAa,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,OAAO,UAAW,SAAQ,UAAU;IAKzC,YAAY,EACX,YAAY,GAAG,CAAC,GAAG,IAAI,EACvB,OAAO,GAIP;QACA,KAAK,EAAE,CAAC;QAXD,WAAM,GAAgC,IAAI,GAAG,EAAE,CAAC;QAwChD,wBAAmB,GAAG,CAAC,KAAqB,EAAE,EAAE;YACvD,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,KAAK,CAAC,UAAU;oBAAE,OAAO;gBAC7B,qDAAqD;gBACrD,yCAAyC;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC9B;YACF,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;QAzCD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,GAAG,CAA2B,GAAW;QACxC,OAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAO,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,GAAG,CAA2B,KAAQ;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ,CACP,GAAW,EACX,MAAe,EACf,MAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE;YACb,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,QAAQ,CAAC,CAAC;YACnB,OAAO,QAAQ,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,CAAC;CAiBD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ObjectIdentifier } from '@verdant-web/common';
|
|
2
|
+
import { IDBService } from '../IDBService.js';
|
|
3
|
+
import { Context } from '../context.js';
|
|
4
|
+
export declare class QueryableStorage extends IDBService {
|
|
5
|
+
private ctx;
|
|
6
|
+
constructor({ ctx }: {
|
|
7
|
+
ctx: Context;
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* DELETES EVERYTHING IN THE QUERYABLE DATABASE
|
|
11
|
+
*/
|
|
12
|
+
reset: () => Promise<void>;
|
|
13
|
+
saveEntities: (entities: {
|
|
14
|
+
oid: ObjectIdentifier;
|
|
15
|
+
getSnapshot: () => any;
|
|
16
|
+
}[], opts?: {
|
|
17
|
+
abort?: AbortSignal;
|
|
18
|
+
}) => Promise<void>;
|
|
19
|
+
private saveDocument;
|
|
20
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { decomposeOid, getIndexValues, } from '@verdant-web/common';
|
|
2
|
+
import { IDBService } from '../IDBService.js';
|
|
3
|
+
import { storeRequestPromise } from '../idb.js';
|
|
4
|
+
export class QueryableStorage extends IDBService {
|
|
5
|
+
constructor({ ctx }) {
|
|
6
|
+
super(ctx.documentDb, { log: ctx.log });
|
|
7
|
+
/**
|
|
8
|
+
* DELETES EVERYTHING IN THE QUERYABLE DATABASE
|
|
9
|
+
*/
|
|
10
|
+
this.reset = async () => {
|
|
11
|
+
const allCollections = Object.keys(this.ctx.schema.collections);
|
|
12
|
+
const tx = this.ctx.documentDb.transaction(allCollections, 'readwrite');
|
|
13
|
+
await Promise.all(allCollections.map((collection) => {
|
|
14
|
+
const store = tx.objectStore(collection);
|
|
15
|
+
return storeRequestPromise(store.clear());
|
|
16
|
+
}));
|
|
17
|
+
// notify queries to re-run now.
|
|
18
|
+
this.ctx.entityEvents.emit('collectionsChanged', allCollections);
|
|
19
|
+
this.ctx.log('info', '💨 Reset queryable storage');
|
|
20
|
+
};
|
|
21
|
+
this.saveEntities = async (entities, opts) => {
|
|
22
|
+
if (entities.length === 0) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const collections = Array.from(new Set(entities.map((e) => decomposeOid(e.oid).collection)));
|
|
26
|
+
const options = {
|
|
27
|
+
transaction: this.createTransaction(collections, {
|
|
28
|
+
mode: 'readwrite',
|
|
29
|
+
abort: opts === null || opts === void 0 ? void 0 : opts.abort,
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
await Promise.all(entities.map(async (e) => {
|
|
33
|
+
const snapshot = e.getSnapshot();
|
|
34
|
+
try {
|
|
35
|
+
await this.saveDocument(e.oid, snapshot, options);
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
this.ctx.log('error', `Error saving document ${e.oid} (${JSON.stringify(snapshot)})`, err);
|
|
39
|
+
if (err instanceof Error) {
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error('Unknown error saving document');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
options.transaction.commit();
|
|
48
|
+
this.ctx.entityEvents.emit('collectionsChanged', collections);
|
|
49
|
+
for (const entity of entities) {
|
|
50
|
+
this.ctx.entityEvents.emit('documentChanged', entity.oid);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
this.saveDocument = async (oid, doc, { transaction }) => {
|
|
54
|
+
this.ctx.log('debug', `Saving document indexes for querying ${oid}`, doc);
|
|
55
|
+
const { collection, id } = decomposeOid(oid);
|
|
56
|
+
if (!doc) {
|
|
57
|
+
await this.run(collection, (store) => store.delete(id), {
|
|
58
|
+
mode: 'readwrite',
|
|
59
|
+
transaction,
|
|
60
|
+
});
|
|
61
|
+
this.ctx.log('debug', `Deleted document indexes for querying ${oid}`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const schema = this.ctx.schema.collections[collection];
|
|
65
|
+
// no need to validate before storing; the entity's snapshot is already validated.
|
|
66
|
+
const indexes = getIndexValues(schema, doc);
|
|
67
|
+
await this.run(collection, (store) => store.put(indexes), {
|
|
68
|
+
mode: 'readwrite',
|
|
69
|
+
transaction,
|
|
70
|
+
});
|
|
71
|
+
this.ctx.log('debug', `Saved document indexes for querying ${oid}`, doc);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
this.ctx = ctx;
|
|
75
|
+
this.addDispose(this.ctx.internalEvents.subscribe('documentDbChanged', (db) => {
|
|
76
|
+
this.db = db;
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=QueryableStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryableStorage.js","sourceRoot":"","sources":["../../../src/queries/QueryableStorage.ts"],"names":[],"mappings":"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"}
|