@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,213 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClientDescriptor = void 0;
|
|
4
|
-
const common_1 = require("@verdant-web/common");
|
|
5
|
-
const Metadata_js_1 = require("../metadata/Metadata.js");
|
|
6
|
-
const openMetadataDatabase_js_1 = require("../metadata/openMetadataDatabase.js");
|
|
7
|
-
const openDatabase_js_1 = require("../migration/openDatabase.js");
|
|
8
|
-
const UndoHistory_js_1 = require("../UndoHistory.js");
|
|
9
|
-
const Client_js_1 = require("./Client.js");
|
|
10
|
-
const idb_js_1 = require("../idb.js");
|
|
11
|
-
const FakeWeakRef_js_1 = require("../FakeWeakRef.js");
|
|
12
|
-
const constants_js_1 = require("./constants.js");
|
|
13
|
-
/**
|
|
14
|
-
* Since storage initialization is async, this class wraps the core
|
|
15
|
-
* Storage creation promise and exposes some metadata which can
|
|
16
|
-
* be useful immediately.
|
|
17
|
-
*/
|
|
18
|
-
class ClientDescriptor {
|
|
19
|
-
get namespace() {
|
|
20
|
-
return this._namespace;
|
|
21
|
-
}
|
|
22
|
-
constructor(init) {
|
|
23
|
-
this.init = init;
|
|
24
|
-
this._initializing = false;
|
|
25
|
-
this.initialize = async (init) => {
|
|
26
|
-
// if server-side and no alternative IndexedDB implementation was provided,
|
|
27
|
-
// we can't initialize the storage
|
|
28
|
-
if (typeof window === 'undefined' && !init.indexedDb) {
|
|
29
|
-
throw new Error('A verdant client was initialized in an environment without IndexedDB. If you are using verdant in a server-rendered framework, you must enforce that all clients are initialized on the client-side, or you must provide some mock interface of IDBFactory to the ClientDescriptor options.');
|
|
30
|
-
}
|
|
31
|
-
if (this._initializing || this._resolvedValue) {
|
|
32
|
-
return this._readyPromise;
|
|
33
|
-
}
|
|
34
|
-
this._initializing = true;
|
|
35
|
-
try {
|
|
36
|
-
let storage;
|
|
37
|
-
if (init.schema.wip) {
|
|
38
|
-
storage = await this.initializeWIPDatabases(init);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
storage = await this.initializeDatabases(init);
|
|
42
|
-
this.cleanupWIPDatabases(init);
|
|
43
|
-
}
|
|
44
|
-
this.resolveReady(storage);
|
|
45
|
-
this._resolvedValue = storage;
|
|
46
|
-
return storage;
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
if (err instanceof Error) {
|
|
50
|
-
this.rejectReady(err);
|
|
51
|
-
throw err;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
throw new Error('Unknown error initializing storage');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
finally {
|
|
58
|
-
this._initializing = false;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
this.initializeDatabases = async (init) => {
|
|
62
|
-
const metadataVersion = init[constants_js_1.METADATA_VERSION_KEY];
|
|
63
|
-
const { db: metaDb } = await (0, openMetadataDatabase_js_1.openMetadataDatabase)({
|
|
64
|
-
indexedDB: init.indexedDb,
|
|
65
|
-
log: init.log,
|
|
66
|
-
namespace: init.namespace,
|
|
67
|
-
metadataVersion,
|
|
68
|
-
});
|
|
69
|
-
const context = {
|
|
70
|
-
namespace: this._namespace,
|
|
71
|
-
metaDb,
|
|
72
|
-
schema: init.schema,
|
|
73
|
-
log: init.log || (() => { }),
|
|
74
|
-
undoHistory: init.undoHistory || new UndoHistory_js_1.UndoHistory(),
|
|
75
|
-
entityEvents: new common_1.EventSubscriber(),
|
|
76
|
-
globalEvents: new common_1.EventSubscriber(),
|
|
77
|
-
internalEvents: new common_1.EventSubscriber(),
|
|
78
|
-
weakRef: (value) => {
|
|
79
|
-
if (init.EXPERIMENTAL_weakRefs) {
|
|
80
|
-
return new WeakRef(value);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return new FakeWeakRef_js_1.FakeWeakRef(value);
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
migrations: init.migrations,
|
|
87
|
-
};
|
|
88
|
-
const meta = new Metadata_js_1.Metadata({
|
|
89
|
-
context,
|
|
90
|
-
disableRebasing: init.disableRebasing,
|
|
91
|
-
});
|
|
92
|
-
// verify schema integrity
|
|
93
|
-
await meta.updateSchema(init.schema, init.overrideSchemaConflict);
|
|
94
|
-
const contextWithNow = Object.assign(context, {
|
|
95
|
-
getNow: () => meta.now,
|
|
96
|
-
});
|
|
97
|
-
const documentDb = await (0, openDatabase_js_1.openDocumentDatabase)({
|
|
98
|
-
context: contextWithNow,
|
|
99
|
-
version: init.schema.version,
|
|
100
|
-
meta,
|
|
101
|
-
migrations: init.migrations,
|
|
102
|
-
indexedDB: init.indexedDb,
|
|
103
|
-
});
|
|
104
|
-
const fullContext = Object.assign(contextWithNow, { documentDb });
|
|
105
|
-
const storage = new Client_js_1.Client({
|
|
106
|
-
syncConfig: init.sync,
|
|
107
|
-
migrations: init.migrations,
|
|
108
|
-
files: init.files,
|
|
109
|
-
}, fullContext, {
|
|
110
|
-
meta,
|
|
111
|
-
});
|
|
112
|
-
return storage;
|
|
113
|
-
};
|
|
114
|
-
this.initializeWIPDatabases = async (init) => {
|
|
115
|
-
const schemaHash = (0, common_1.hashObject)(init.schema);
|
|
116
|
-
console.info(`WIP schema in use. Opening database with hash ${schemaHash}`);
|
|
117
|
-
const wipNamespace = `@@wip_${init.namespace}_${schemaHash}`;
|
|
118
|
-
const { db: metaDb } = await (0, openMetadataDatabase_js_1.openWIPMetadataDatabase)({
|
|
119
|
-
indexedDB: init.indexedDb,
|
|
120
|
-
log: init.log,
|
|
121
|
-
namespace: init.namespace,
|
|
122
|
-
wipNamespace: wipNamespace,
|
|
123
|
-
});
|
|
124
|
-
const context = {
|
|
125
|
-
namespace: this._namespace,
|
|
126
|
-
metaDb,
|
|
127
|
-
schema: init.schema,
|
|
128
|
-
log: init.log || (() => { }),
|
|
129
|
-
undoHistory: init.undoHistory || new UndoHistory_js_1.UndoHistory(),
|
|
130
|
-
entityEvents: new common_1.EventSubscriber(),
|
|
131
|
-
globalEvents: new common_1.EventSubscriber(),
|
|
132
|
-
internalEvents: new common_1.EventSubscriber(),
|
|
133
|
-
weakRef: (value) => {
|
|
134
|
-
if (init.EXPERIMENTAL_weakRefs) {
|
|
135
|
-
return new WeakRef(value);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
return new FakeWeakRef_js_1.FakeWeakRef(value);
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
migrations: init.migrations,
|
|
142
|
-
};
|
|
143
|
-
const meta = new Metadata_js_1.Metadata({
|
|
144
|
-
context,
|
|
145
|
-
disableRebasing: init.disableRebasing,
|
|
146
|
-
});
|
|
147
|
-
const contextWithNow = Object.assign(context, {
|
|
148
|
-
getNow: () => meta.now,
|
|
149
|
-
});
|
|
150
|
-
// verify schema integrity
|
|
151
|
-
await meta.updateSchema(init.schema, init.overrideSchemaConflict);
|
|
152
|
-
const documentDb = await (0, openDatabase_js_1.openWIPDocumentDatabase)({
|
|
153
|
-
context: contextWithNow,
|
|
154
|
-
version: init.schema.version,
|
|
155
|
-
meta,
|
|
156
|
-
migrations: init.migrations,
|
|
157
|
-
indexedDB: init.indexedDb,
|
|
158
|
-
wipNamespace,
|
|
159
|
-
});
|
|
160
|
-
const fullContext = Object.assign(contextWithNow, { documentDb });
|
|
161
|
-
const storage = new Client_js_1.Client({
|
|
162
|
-
syncConfig: init.sync,
|
|
163
|
-
migrations: init.migrations,
|
|
164
|
-
files: init.files,
|
|
165
|
-
}, fullContext, {
|
|
166
|
-
meta,
|
|
167
|
-
});
|
|
168
|
-
return storage;
|
|
169
|
-
};
|
|
170
|
-
this.cleanupWIPDatabases = async (init) => {
|
|
171
|
-
const databaseInfo = await (0, idb_js_1.getAllDatabaseNamesAndVersions)(init.indexedDb);
|
|
172
|
-
const wipDatabases = databaseInfo
|
|
173
|
-
.filter((db) => { var _a; return (_a = db.name) === null || _a === void 0 ? void 0 : _a.startsWith('@@wip_'); })
|
|
174
|
-
.map((db) => db.name);
|
|
175
|
-
// don't clear a current WIP database.
|
|
176
|
-
const wipDatabasesToDelete = wipDatabases.filter((db) => !db.startsWith(`@@wip_${init.namespace}_${(0, common_1.hashObject)(init.schema)}`));
|
|
177
|
-
for (const db of wipDatabasesToDelete) {
|
|
178
|
-
await (0, idb_js_1.deleteDatabase)(db, init.indexedDb);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
this.open = () => this.initialize(this.init);
|
|
182
|
-
this.close = async () => {
|
|
183
|
-
if (this._resolvedValue) {
|
|
184
|
-
this._resolvedValue.close();
|
|
185
|
-
}
|
|
186
|
-
if (this._initializing) {
|
|
187
|
-
(await this._readyPromise).close();
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
this.__dangerous__resetLocal = async () => {
|
|
191
|
-
await (0, idb_js_1.deleteAllDatabases)(this.namespace);
|
|
192
|
-
};
|
|
193
|
-
this._readyPromise = new Promise((resolve, reject) => {
|
|
194
|
-
this.resolveReady = resolve;
|
|
195
|
-
this.rejectReady = reject;
|
|
196
|
-
});
|
|
197
|
-
this._namespace = init.namespace;
|
|
198
|
-
}
|
|
199
|
-
get current() {
|
|
200
|
-
// exposing an immediate value if already resolved lets us
|
|
201
|
-
// skip the promise microtask when accessing this externally if
|
|
202
|
-
// the initialization has been completed.
|
|
203
|
-
return this._resolvedValue;
|
|
204
|
-
}
|
|
205
|
-
get readyPromise() {
|
|
206
|
-
return this._readyPromise;
|
|
207
|
-
}
|
|
208
|
-
get schema() {
|
|
209
|
-
return this.init.schema;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
exports.ClientDescriptor = ClientDescriptor;
|
|
213
|
-
//# sourceMappingURL=ClientDescriptor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClientDescriptor.js","sourceRoot":"","sources":["../../../src/client/ClientDescriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const METADATA_VERSION_KEY: unique symbol;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/client/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC"}
|
package/dist/cjs/constants.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const TEST_API = "__unsafe__test_api__";
|
package/dist/cjs/constants.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,sBAAsB,CAAC"}
|
package/dist/cjs/context.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { EventSubscriber, Migration, ObjectIdentifier, StorageSchema } from '@verdant-web/common';
|
|
2
|
-
import { UndoHistory } from './UndoHistory.js';
|
|
3
|
-
/**
|
|
4
|
-
* Common components utilized across various client
|
|
5
|
-
* services.
|
|
6
|
-
*/
|
|
7
|
-
export interface Context {
|
|
8
|
-
namespace: string;
|
|
9
|
-
metaDb: IDBDatabase;
|
|
10
|
-
documentDb: IDBDatabase;
|
|
11
|
-
undoHistory: UndoHistory;
|
|
12
|
-
schema: StorageSchema;
|
|
13
|
-
log: (...args: any[]) => void;
|
|
14
|
-
entityEvents: EventSubscriber<{
|
|
15
|
-
collectionsChanged: (names: string[]) => void;
|
|
16
|
-
documentChanged: (oid: ObjectIdentifier) => void;
|
|
17
|
-
}>;
|
|
18
|
-
internalEvents: EventSubscriber<{
|
|
19
|
-
documentDbChanged: (db: IDBDatabase) => void;
|
|
20
|
-
}>;
|
|
21
|
-
globalEvents: EventSubscriber<{
|
|
22
|
-
/**
|
|
23
|
-
* A change from a future version of the application has been
|
|
24
|
-
* witnessed. These changes are not applied but it indicates
|
|
25
|
-
* the app has been updated and we should prompt the user
|
|
26
|
-
* to reload or have their app user manually reload.
|
|
27
|
-
*
|
|
28
|
-
* The parameter is the timestamp of the future change.
|
|
29
|
-
*/
|
|
30
|
-
futureSeen: (timestamp: string) => void;
|
|
31
|
-
}>;
|
|
32
|
-
weakRef<T extends object>(value: T): WeakRef<T>;
|
|
33
|
-
migrations: Migration<any>[];
|
|
34
|
-
/**
|
|
35
|
-
* Get the current logical timestamp
|
|
36
|
-
*/
|
|
37
|
-
getNow(): string;
|
|
38
|
-
}
|
package/dist/cjs/context.js
DELETED
package/dist/cjs/context.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":""}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { EntityValidationProblem, EventSubscriber, ObjectIdentifier, PatchCreator, StorageFieldSchema } from '@verdant-web/common';
|
|
2
|
-
import { Context } from '../context.js';
|
|
3
|
-
import { FileManager } from '../files/FileManager.js';
|
|
4
|
-
import { EntityCache } from './EntityCache.js';
|
|
5
|
-
import { EntityFamilyMetadata, EntityMetadataView } from './EntityMetadata.js';
|
|
6
|
-
import { BaseEntityValue, DataFromInit, EntityChange, EntityEvents, ListEntity, ListItemInit, ListItemValue, ObjectEntity } from './types.js';
|
|
7
|
-
import { EntityStoreEvents } from './EntityStore.js';
|
|
8
|
-
export interface EntityInit {
|
|
9
|
-
oid: ObjectIdentifier;
|
|
10
|
-
schema: StorageFieldSchema;
|
|
11
|
-
entityFamily?: EntityCache;
|
|
12
|
-
metadataFamily: EntityFamilyMetadata;
|
|
13
|
-
parent?: Entity;
|
|
14
|
-
ctx: Context;
|
|
15
|
-
files: FileManager;
|
|
16
|
-
readonlyKeys?: string[];
|
|
17
|
-
fieldPath?: (string | number)[];
|
|
18
|
-
patchCreator: PatchCreator;
|
|
19
|
-
events: EntityStoreEvents;
|
|
20
|
-
}
|
|
21
|
-
export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any, Snapshot extends any = DataFromInit<Init>> extends EventSubscriber<EntityEvents> implements ObjectEntity<Init, KeyValue, Snapshot>, ListEntity<Init, KeyValue, Snapshot> {
|
|
22
|
-
readonly oid: ObjectIdentifier;
|
|
23
|
-
private readonlyKeys;
|
|
24
|
-
private fieldPath;
|
|
25
|
-
private entityFamily;
|
|
26
|
-
private metadataFamily;
|
|
27
|
-
private schema;
|
|
28
|
-
private parent;
|
|
29
|
-
private ctx;
|
|
30
|
-
private files;
|
|
31
|
-
private patchCreator;
|
|
32
|
-
private events;
|
|
33
|
-
private _viewData;
|
|
34
|
-
private validationError;
|
|
35
|
-
private cachedDeepUpdatedAt;
|
|
36
|
-
private wasDeletedLastChange;
|
|
37
|
-
private cachedView;
|
|
38
|
-
constructor({ oid, schema, entityFamily: childCache, parent, ctx, metadataFamily, readonlyKeys, files, patchCreator, events, }: EntityInit);
|
|
39
|
-
private onAdd;
|
|
40
|
-
private onReplace;
|
|
41
|
-
private onResetAll;
|
|
42
|
-
private get metadata();
|
|
43
|
-
/**
|
|
44
|
-
* The view of this Entity, not including nested
|
|
45
|
-
* entities (that's the snapshot - see #getSnapshot())
|
|
46
|
-
*
|
|
47
|
-
* Nested entities are represented by refs.
|
|
48
|
-
*/
|
|
49
|
-
private get viewData();
|
|
50
|
-
/** convenience getter for viewData.view */
|
|
51
|
-
private get rawView();
|
|
52
|
-
/**
|
|
53
|
-
* An Entity's View includes the rendering of its underlying data,
|
|
54
|
-
* connecting of children where refs were, and validation
|
|
55
|
-
* and pruning according to schema.
|
|
56
|
-
*/
|
|
57
|
-
private get view();
|
|
58
|
-
private childIsNull;
|
|
59
|
-
get uid(): string;
|
|
60
|
-
get deleted(): boolean;
|
|
61
|
-
get invalid(): boolean;
|
|
62
|
-
get isList(): any;
|
|
63
|
-
get updatedAt(): number;
|
|
64
|
-
get deepUpdatedAt(): number;
|
|
65
|
-
/**
|
|
66
|
-
* @internal - this is relevant to Verdant's system, not users.
|
|
67
|
-
*
|
|
68
|
-
* Indicates whether this document is from an outdated version
|
|
69
|
-
* of the schema - which means it cannot be used until it is upgraded.
|
|
70
|
-
*/
|
|
71
|
-
get isOutdatedVersion(): boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Pruning - when entities have invalid children, we 'prune' that
|
|
74
|
-
* data up to the nearest prunable point - a nullable field,
|
|
75
|
-
* or a list.
|
|
76
|
-
*/
|
|
77
|
-
protected validate: (...args: unknown[]) => EntityValidationProblem | undefined;
|
|
78
|
-
private viewWithMappedChildren;
|
|
79
|
-
/**
|
|
80
|
-
* A current snapshot of this Entity's data, including nested
|
|
81
|
-
* Entities.
|
|
82
|
-
*/
|
|
83
|
-
getSnapshot: () => any;
|
|
84
|
-
private addPendingOperations;
|
|
85
|
-
private addConfirmedData;
|
|
86
|
-
private replaceAllData;
|
|
87
|
-
private resetAllData;
|
|
88
|
-
private change;
|
|
89
|
-
protected deepChange: (target: Entity, ev: EntityChange) => void;
|
|
90
|
-
private getChild;
|
|
91
|
-
/**
|
|
92
|
-
* Gets a value from this Entity. If the value
|
|
93
|
-
* is an object, it will be wrapped in another
|
|
94
|
-
* Entity.
|
|
95
|
-
*/
|
|
96
|
-
get: <Key extends keyof KeyValue>(key: Key) => KeyValue[Key];
|
|
97
|
-
private processInputValue;
|
|
98
|
-
private getDeleteMode;
|
|
99
|
-
/**
|
|
100
|
-
* Returns the referent value of an item in the list, used for
|
|
101
|
-
* operations which act on items. if the item is an object,
|
|
102
|
-
* it will attempt to create an OID reference to it. If it
|
|
103
|
-
* is a primitive, it will return the primitive.
|
|
104
|
-
*/
|
|
105
|
-
private getItemRefValue;
|
|
106
|
-
set: <Key extends keyof Init>(key: Key, value: Init[Key]) => void;
|
|
107
|
-
/**
|
|
108
|
-
* Returns a destructured version of this Entity, where child
|
|
109
|
-
* Entities are accessible at their respective keys.
|
|
110
|
-
*/
|
|
111
|
-
getAll: () => KeyValue;
|
|
112
|
-
delete: (key: any) => void;
|
|
113
|
-
keys: () => string[];
|
|
114
|
-
entries: () => [string, Exclude<KeyValue[keyof KeyValue], undefined>][];
|
|
115
|
-
values: () => Exclude<KeyValue[keyof KeyValue], undefined>[];
|
|
116
|
-
update: (data: any, { merge, replaceSubObjects, }?: {
|
|
117
|
-
replaceSubObjects?: boolean | undefined;
|
|
118
|
-
merge?: boolean | undefined;
|
|
119
|
-
}) => void;
|
|
120
|
-
get length(): number;
|
|
121
|
-
push: (value: ListItemInit<Init>) => void;
|
|
122
|
-
insert: (index: number, value: ListItemInit<Init>) => void;
|
|
123
|
-
move: (from: number, to: number) => void;
|
|
124
|
-
moveItem: (item: ListItemValue<KeyValue>, to: number) => void;
|
|
125
|
-
add: (value: ListItemValue<KeyValue>) => void;
|
|
126
|
-
removeAll: (item: ListItemValue<KeyValue>) => void;
|
|
127
|
-
removeFirst: (item: ListItemValue<KeyValue>) => void;
|
|
128
|
-
removeLast: (item: ListItemValue<KeyValue>) => void;
|
|
129
|
-
[Symbol.iterator](): {
|
|
130
|
-
next: () => {
|
|
131
|
-
readonly value: ListItemValue<KeyValue>;
|
|
132
|
-
readonly done: false;
|
|
133
|
-
} | {
|
|
134
|
-
readonly value: undefined;
|
|
135
|
-
readonly done: true;
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
map: <U>(callback: (value: ListItemValue<KeyValue>, index: number) => U) => U[];
|
|
139
|
-
filter: (callback: (value: ListItemValue<KeyValue>, index: number) => boolean) => ListItemValue<KeyValue>[];
|
|
140
|
-
has: (value: ListItemValue<KeyValue>) => boolean;
|
|
141
|
-
forEach: (callback: (value: ListItemValue<KeyValue>, index: number) => void) => void;
|
|
142
|
-
some: (predicate: (value: ListItemValue<KeyValue>) => boolean) => boolean;
|
|
143
|
-
every: (predicate: (value: ListItemValue<KeyValue>) => boolean) => boolean;
|
|
144
|
-
find: (predicate: (value: ListItemValue<KeyValue>) => boolean) => ListItemValue<KeyValue> | undefined;
|
|
145
|
-
includes: (value: ListItemValue<KeyValue>) => boolean;
|
|
146
|
-
__getViewData__: (oid: ObjectIdentifier, type: 'confirmed' | 'pending') => EntityMetadataView;
|
|
147
|
-
__getFamilyOids__: () => string[];
|
|
148
|
-
}
|