@verdant-web/store 4.6.1 → 5.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 +14 -12
- package/dist/bundle/index.js.map +4 -4
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +1 -1
- package/dist/esm/__tests__/fixtures/testStorage.js +3 -3
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/__tests__/queries.test.js +3 -3
- package/dist/esm/__tests__/queries.test.js.map +1 -1
- package/dist/esm/__tests__/schema.test.js +3 -3
- package/dist/esm/__tests__/schema.test.js.map +1 -1
- package/dist/esm/client/Client.d.ts +12 -10
- package/dist/esm/client/Client.js +40 -30
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/context/Time.d.ts +1 -1
- package/dist/esm/context/Time.js +1 -1
- package/dist/esm/context/Time.js.map +1 -1
- package/dist/esm/context/context.d.ts +84 -15
- package/dist/esm/context/context.js +98 -1
- package/dist/esm/context/context.js.map +1 -1
- package/dist/esm/entities/Entity.test.js +0 -1
- package/dist/esm/entities/Entity.test.js.map +1 -1
- package/dist/esm/entities/EntityMetadata.js +11 -5
- package/dist/esm/entities/EntityMetadata.js.map +1 -1
- package/dist/esm/entities/EntityStore.js +9 -7
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/files/FileManager.js +5 -5
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/index.d.ts +6 -4
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal.d.ts +3 -4
- package/dist/esm/internal.js +1 -2
- package/dist/esm/internal.js.map +1 -1
- package/dist/esm/persistence/PersistenceMetadata.d.ts +3 -6
- package/dist/esm/persistence/PersistenceMetadata.js +5 -6
- package/dist/esm/persistence/PersistenceMetadata.js.map +1 -1
- package/dist/esm/persistence/idb/IdbService.d.ts +3 -3
- package/dist/esm/persistence/idb/IdbService.js +0 -1
- package/dist/esm/persistence/idb/IdbService.js.map +1 -1
- package/dist/esm/persistence/idb/idbPersistence.d.ts +9 -10
- package/dist/esm/persistence/idb/idbPersistence.js +11 -4
- package/dist/esm/persistence/idb/idbPersistence.js.map +1 -1
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.d.ts +2 -2
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js +1 -1
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js.map +1 -1
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.d.ts +3 -2
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.js +16 -15
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.js.map +1 -1
- package/dist/esm/persistence/idb/queries/migration/db.js +7 -0
- package/dist/esm/persistence/idb/queries/migration/db.js.map +1 -1
- package/dist/esm/persistence/idb/util.js +27 -17
- package/dist/esm/persistence/idb/util.js.map +1 -1
- package/dist/esm/persistence/interfaces.d.ts +8 -8
- package/dist/esm/persistence/migration/engine.d.ts +5 -3
- package/dist/esm/persistence/migration/engine.js +23 -14
- package/dist/esm/persistence/migration/engine.js.map +1 -1
- package/dist/esm/persistence/migration/finalize.d.ts +5 -3
- package/dist/esm/persistence/migration/finalize.js +5 -4
- package/dist/esm/persistence/migration/finalize.js.map +1 -1
- package/dist/esm/persistence/migration/migrate.d.ts +8 -5
- package/dist/esm/persistence/migration/migrate.js +10 -4
- package/dist/esm/persistence/migration/migrate.js.map +1 -1
- package/dist/esm/persistence/persistence.d.ts +9 -2
- package/dist/esm/persistence/persistence.js +65 -32
- 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/PresenceManager.d.ts +2 -2
- package/dist/esm/sync/PresenceManager.js +5 -2
- package/dist/esm/sync/PresenceManager.js.map +1 -1
- package/dist/esm/sync/PushPullSync.js +4 -4
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/Sync.d.ts +2 -2
- package/dist/esm/sync/Sync.js +17 -14
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.js +12 -7
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/dist/esm/sync/serviceWorker.d.ts +2 -2
- package/dist/esm/sync/serviceWorker.js +3 -4
- package/dist/esm/sync/serviceWorker.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/fixtures/testStorage.ts +4 -8
- package/src/__tests__/queries.test.ts +3 -5
- package/src/__tests__/schema.test.ts +3 -3
- package/src/client/Client.ts +50 -34
- package/src/context/Time.ts +2 -2
- package/src/context/context.ts +189 -17
- package/src/entities/Entity.test.ts +0 -1
- package/src/entities/EntityMetadata.ts +16 -5
- package/src/entities/EntityStore.ts +14 -10
- package/src/files/FileManager.ts +5 -5
- package/src/index.ts +6 -10
- package/src/internal.ts +10 -11
- package/src/persistence/PersistenceMetadata.ts +9 -11
- package/src/persistence/idb/IdbService.ts +2 -3
- package/src/persistence/idb/idbPersistence.ts +25 -19
- package/src/persistence/idb/metadata/IdbMetadataDb.ts +3 -3
- package/src/persistence/idb/queries/IdbDocumentDb.ts +31 -17
- package/src/persistence/idb/queries/migration/db.ts +10 -0
- package/src/persistence/idb/util.ts +46 -24
- package/src/persistence/interfaces.ts +21 -12
- package/src/persistence/migration/engine.ts +33 -18
- package/src/persistence/migration/finalize.ts +11 -5
- package/src/persistence/migration/migrate.ts +15 -8
- package/src/persistence/persistence.ts +78 -67
- package/src/queries/FindAllQuery.ts +3 -1
- package/src/queries/FindInfiniteQuery.ts +6 -2
- package/src/queries/FindOneQuery.ts +3 -1
- package/src/queries/FindPageQuery.ts +3 -1
- package/src/sync/PresenceManager.ts +10 -7
- package/src/sync/PushPullSync.ts +8 -6
- package/src/sync/Sync.ts +26 -16
- package/src/sync/WebSocketSync.ts +25 -9
- package/src/sync/serviceWorker.ts +4 -6
- package/dist/esm/client/ClientDescriptor.d.ts +0 -87
- package/dist/esm/client/ClientDescriptor.js +0 -133
- package/dist/esm/client/ClientDescriptor.js.map +0 -1
- package/dist/esm/persistence/migration/types.d.ts +0 -3
- package/dist/esm/persistence/migration/types.js +0 -2
- package/dist/esm/persistence/migration/types.js.map +0 -1
- package/src/client/ClientDescriptor.ts +0 -246
- package/src/persistence/migration/types.ts +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createMigration, schema } from '@verdant-web/common';
|
|
2
2
|
// @ts-ignore
|
|
3
3
|
import { IDBFactory } from 'fake-indexeddb';
|
|
4
|
-
import {
|
|
4
|
+
import { Client, IdbPersistence } from '../../index.js';
|
|
5
5
|
const test = schema.fields.object({
|
|
6
6
|
fields: {
|
|
7
7
|
foo: schema.fields.string(),
|
|
@@ -92,7 +92,7 @@ export const testSchema = schema({
|
|
|
92
92
|
},
|
|
93
93
|
});
|
|
94
94
|
export function createTestStorage({ idb = new IDBFactory(), disableRebasing = false, log, } = {}) {
|
|
95
|
-
const storage = new
|
|
95
|
+
const storage = new Client({
|
|
96
96
|
schema: testSchema,
|
|
97
97
|
migrations: [createMigration(testSchema)],
|
|
98
98
|
namespace: 'test',
|
|
@@ -100,7 +100,7 @@ export function createTestStorage({ idb = new IDBFactory(), disableRebasing = fa
|
|
|
100
100
|
oldSchemas: [testSchema],
|
|
101
101
|
log,
|
|
102
102
|
persistence: new IdbPersistence(idb),
|
|
103
|
-
})
|
|
103
|
+
});
|
|
104
104
|
return storage;
|
|
105
105
|
}
|
|
106
106
|
//# sourceMappingURL=testStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testStorage.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/testStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC9D,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"testStorage.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/testStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ afterEach(() => {
|
|
|
56
56
|
});
|
|
57
57
|
describe('storage queries', () => {
|
|
58
58
|
it('can query synthetic indexes', async () => {
|
|
59
|
-
const storage =
|
|
59
|
+
const storage = createTestStorage();
|
|
60
60
|
const items = await addTestingItems(storage);
|
|
61
61
|
const query = storage.todos.findAll({
|
|
62
62
|
index: {
|
|
@@ -68,7 +68,7 @@ describe('storage queries', () => {
|
|
|
68
68
|
expect(results.map((i) => i.get('id'))).toEqual([items[3].get('id')]);
|
|
69
69
|
});
|
|
70
70
|
it('can query simple compound indexes by match and order', async () => {
|
|
71
|
-
const storage =
|
|
71
|
+
const storage = createTestStorage();
|
|
72
72
|
const items = await addTestingItems(storage);
|
|
73
73
|
const query = storage.todos.findAll({
|
|
74
74
|
index: {
|
|
@@ -107,7 +107,7 @@ describe('storage queries', () => {
|
|
|
107
107
|
]);
|
|
108
108
|
});
|
|
109
109
|
it('can query starts-with on a string', async () => {
|
|
110
|
-
const storage =
|
|
110
|
+
const storage = createTestStorage();
|
|
111
111
|
const items = await addTestingItems(storage);
|
|
112
112
|
const query = storage.todos.findAll({
|
|
113
113
|
index: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.test.js","sourceRoot":"","sources":["../../../src/__tests__/queries.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.test.js","sourceRoot":"","sources":["../../../src/__tests__/queries.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createMigration, schema, } from '@verdant-web/common';
|
|
2
2
|
import { describe, expect, it } from 'vitest';
|
|
3
|
-
import {
|
|
3
|
+
import { Client } from '../client/Client.js';
|
|
4
4
|
import { IdbPersistence } from '../persistence/idb/idbPersistence.js';
|
|
5
5
|
describe('schema', () => {
|
|
6
6
|
it('supports recursive nested fields without breaking', async () => {
|
|
@@ -35,13 +35,13 @@ describe('schema', () => {
|
|
|
35
35
|
tests,
|
|
36
36
|
},
|
|
37
37
|
});
|
|
38
|
-
const storage =
|
|
38
|
+
const storage = new Client({
|
|
39
39
|
schema: testSchema,
|
|
40
40
|
migrations: [createMigration(testSchema)],
|
|
41
41
|
namespace: 'schematest',
|
|
42
42
|
oldSchemas: [testSchema],
|
|
43
43
|
persistence: new IdbPersistence(new IDBFactory()),
|
|
44
|
-
})
|
|
44
|
+
});
|
|
45
45
|
const doc = await storage.tests.put({
|
|
46
46
|
id: 'test',
|
|
47
47
|
nested: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../../src/__tests__/schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,MAAM,GAIN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../../src/__tests__/schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,MAAM,GAIN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAKlE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,MAAM,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;aAC3B;SACD,CAAC,CAAC;QACH,MAAM,WAAW,GAAgB,MAAM,CAAC,MAAM,CAAC,mBAAmB,CACjE,SAAS,EACT;YACC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBACtB,MAAM,EAAE,SAAS;aACjB,CAAC;SACF,CACD,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE;gBACP,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1B,MAAM,EAAE,WAAW;aACnB;YACD,OAAO,EAAE;gBACR,UAAU,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,2BAAC,OAAA,MAAA,MAAA,MAAA,MAAA,MAAA,GAAG,CAAC,MAAM,CAAC,GAAG,0CAAE,GAAG,0CAAE,GAAG,0CAAE,GAAG,0CAAE,GAAG,mCAAI,EAAE,CAAA,EAAA;iBAC1D;aACD;SACD,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,CAAC;YACzB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE;gBACZ,KAAK;aACL;SACD,CAAC,CAAC;QAEH,MAAM,OAAO,GAA0B,IAAI,MAAM,CAAC;YACjD,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,CAAC,eAAe,CAAK,UAAU,CAAC,CAAC;YAC7C,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,CAAC,UAAU,CAAC;YACxB,WAAW,EAAE,IAAI,cAAc,CAAC,IAAI,UAAU,EAAE,CAAC;SACjD,CAAQ,CAAC;QAEV,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,EAAE,EAAE,MAAM;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE;oBACJ,GAAG,EAAE;wBACJ,GAAG,EAAE,KAAK;wBACV,GAAG,EAAE;4BACJ,GAAG,EAAE;gCACJ,GAAG,EAAE,KAAK;6BACV;yBACD;qBACD;iBACD;aACD;SACD,CAAC,CAAC;QAEH,MAAM,CACL,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACxE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventSubscriber, FileData, Operation } from '@verdant-web/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ContextInit } from '../context/context.js';
|
|
3
3
|
import { DocumentManager } from '../entities/DocumentManager.js';
|
|
4
4
|
import { EntityStore } from '../entities/EntityStore.js';
|
|
5
5
|
import { ExportedData } from '../persistence/interfaces.js';
|
|
@@ -48,23 +48,24 @@ export declare class Client<Presence = any, Profile = any> extends EventSubscrib
|
|
|
48
48
|
*/
|
|
49
49
|
fileSaved: (fileData: FileData) => void;
|
|
50
50
|
}> {
|
|
51
|
-
private
|
|
51
|
+
private contextInit;
|
|
52
52
|
private _entities;
|
|
53
53
|
private _queryCache;
|
|
54
54
|
private _documentManager;
|
|
55
55
|
private _fileManager;
|
|
56
|
+
private context;
|
|
56
57
|
readonly collectionNames: string[];
|
|
57
58
|
private _sync;
|
|
58
|
-
|
|
59
|
-
get entities(): EntityStore;
|
|
60
|
-
get documentManager(): DocumentManager<any>;
|
|
61
|
-
constructor(context: Context);
|
|
59
|
+
constructor(contextInit: ContextInit);
|
|
62
60
|
private importingPromise;
|
|
63
61
|
private addData;
|
|
64
62
|
get schema(): import("@verdant-web/common").StorageSchema;
|
|
65
63
|
get namespace(): string;
|
|
66
64
|
get undoHistory(): import("../UndoHistory.js").UndoHistory;
|
|
67
65
|
get queries(): PublicQueryCacheAPI;
|
|
66
|
+
get sync(): Sync<Presence, Profile>;
|
|
67
|
+
get entities(): EntityStore;
|
|
68
|
+
get documentManager(): DocumentManager<any>;
|
|
68
69
|
getReplicaId(): Promise<string>;
|
|
69
70
|
/**
|
|
70
71
|
* Batch multiple operations together to be executed in a single transaction.
|
|
@@ -93,7 +94,7 @@ export declare class Client<Presence = any, Profile = any> extends EventSubscrib
|
|
|
93
94
|
* Export all data, then re-import it. This might resolve
|
|
94
95
|
* some issues with the local database, but it should
|
|
95
96
|
* only be done as a second-to-last resort. The last resort
|
|
96
|
-
* would be __dangerous__resetLocal
|
|
97
|
+
* would be __dangerous__resetLocal, which
|
|
97
98
|
* clears all local data.
|
|
98
99
|
*
|
|
99
100
|
* Unlike __dangerous__resetLocal, this method allows local-only
|
|
@@ -123,10 +124,11 @@ export declare class Client<Presence = any, Profile = any> extends EventSubscrib
|
|
|
123
124
|
* behavior. They are subject to change without notice.
|
|
124
125
|
*/
|
|
125
126
|
get __persistence(): {
|
|
126
|
-
meta: import("../persistence/PersistenceMetadata.js").PersistenceMetadata
|
|
127
|
-
queries: import("../persistence/PersistenceQueries.js").PersistenceDocuments
|
|
128
|
-
files: import("../persistence/PersistenceFiles.js").PersistenceFiles
|
|
127
|
+
meta: Promise<import("../persistence/PersistenceMetadata.js").PersistenceMetadata>;
|
|
128
|
+
queries: Promise<import("../persistence/PersistenceQueries.js").PersistenceDocuments>;
|
|
129
|
+
files: Promise<import("../persistence/PersistenceFiles.js").PersistenceFiles>;
|
|
129
130
|
};
|
|
131
|
+
get __persistenceReady(): Promise<void>;
|
|
130
132
|
}
|
|
131
133
|
export interface ClientStats {
|
|
132
134
|
collections: Record<string, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { debounce, EventSubscriber, VerdantError, } from '@verdant-web/common';
|
|
2
|
+
import { Context } from '../context/context.js';
|
|
2
3
|
import { DocumentManager } from '../entities/DocumentManager.js';
|
|
3
4
|
import { EntityStore } from '../entities/EntityStore.js';
|
|
4
5
|
import { FileManager } from '../files/FileManager.js';
|
|
@@ -9,22 +10,17 @@ import { QueryCache } from '../queries/QueryCache.js';
|
|
|
9
10
|
import { NoSync, ServerSync } from '../sync/Sync.js';
|
|
10
11
|
import { getLatestVersion } from '../utils/versions.js';
|
|
11
12
|
export class Client extends EventSubscriber {
|
|
12
|
-
|
|
13
|
-
return this._sync;
|
|
14
|
-
}
|
|
15
|
-
get entities() {
|
|
16
|
-
return this._entities;
|
|
17
|
-
}
|
|
18
|
-
get documentManager() {
|
|
19
|
-
return this._documentManager;
|
|
20
|
-
}
|
|
21
|
-
constructor(context) {
|
|
13
|
+
constructor(contextInit) {
|
|
22
14
|
var _a;
|
|
23
15
|
super();
|
|
24
|
-
this.
|
|
16
|
+
this.contextInit = contextInit;
|
|
25
17
|
this.importingPromise = Promise.resolve();
|
|
26
18
|
this.addData = async (data) => {
|
|
27
19
|
var _a;
|
|
20
|
+
if (this.context.closing) {
|
|
21
|
+
this.context.log('warn', 'Client is closing; ignoring incoming sync data');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
28
24
|
// always wait for an ongoing import to complete before handling data.
|
|
29
25
|
await this.importingPromise;
|
|
30
26
|
try {
|
|
@@ -77,14 +73,14 @@ export class Client extends EventSubscriber {
|
|
|
77
73
|
if (this.disposed) {
|
|
78
74
|
return {};
|
|
79
75
|
}
|
|
80
|
-
const collections = await this.context.documents.stats();
|
|
81
|
-
const meta = await this.context.meta.stats();
|
|
76
|
+
const collections = await (await this.context.documents).stats();
|
|
77
|
+
const meta = await (await this.context.meta).stats();
|
|
82
78
|
const storage = typeof navigator !== 'undefined' &&
|
|
83
79
|
typeof navigator.storage !== 'undefined' &&
|
|
84
80
|
'estimate' in navigator.storage
|
|
85
81
|
? await navigator.storage.estimate()
|
|
86
82
|
: undefined;
|
|
87
|
-
const files = await this.context.files.stats();
|
|
83
|
+
const files = await (await this.context.files).stats();
|
|
88
84
|
// determine data:metadata ratio for total size of all collections vs metadata
|
|
89
85
|
const totalCollectionsSize = Object.values(collections).reduce((acc, { size }) => acc + size, 0);
|
|
90
86
|
const totalMetaSize = meta.baselinesSize.size + meta.operationsSize.size;
|
|
@@ -137,8 +133,8 @@ export class Client extends EventSubscriber {
|
|
|
137
133
|
downloadRemoteFiles: true,
|
|
138
134
|
}) => {
|
|
139
135
|
this.context.log('info', 'Exporting data...');
|
|
140
|
-
const metaExport = await this.context.meta.export();
|
|
141
|
-
const { fileData, files } = await this.context.files.export(downloadRemoteFiles);
|
|
136
|
+
const metaExport = await (await this.context.meta).export();
|
|
137
|
+
const { fileData, files } = await (await this.context.files).export(downloadRemoteFiles);
|
|
142
138
|
return {
|
|
143
139
|
data: metaExport,
|
|
144
140
|
fileData,
|
|
@@ -177,7 +173,7 @@ export class Client extends EventSubscriber {
|
|
|
177
173
|
* Export all data, then re-import it. This might resolve
|
|
178
174
|
* some issues with the local database, but it should
|
|
179
175
|
* only be done as a second-to-last resort. The last resort
|
|
180
|
-
* would be __dangerous__resetLocal
|
|
176
|
+
* would be __dangerous__resetLocal, which
|
|
181
177
|
* clears all local data.
|
|
182
178
|
*
|
|
183
179
|
* Unlike __dangerous__resetLocal, this method allows local-only
|
|
@@ -197,16 +193,17 @@ export class Client extends EventSubscriber {
|
|
|
197
193
|
* on the client. So if you clean up files 3 days after delete,
|
|
198
194
|
* invoking this manually will not skip that 3 day waiting period.
|
|
199
195
|
*/
|
|
200
|
-
this.__cleanupFilesImmediately = () => {
|
|
201
|
-
return this.context.files.cleanupDeletedFiles();
|
|
196
|
+
this.__cleanupFilesImmediately = async () => {
|
|
197
|
+
return (await this.context.files).cleanupDeletedFiles();
|
|
202
198
|
};
|
|
203
199
|
/**
|
|
204
200
|
* Manually triggers storage rebasing. Follows normal
|
|
205
201
|
* rebasing rules. Rebases already happen automatically
|
|
206
202
|
* during normal operation, so you probably don't need this.
|
|
207
203
|
*/
|
|
208
|
-
this.__manualRebase = () => {
|
|
209
|
-
this.
|
|
204
|
+
this.__manualRebase = async () => {
|
|
205
|
+
// not awaiting; relying on event below as this method only schedules.
|
|
206
|
+
(await this.context.meta).manualRebase();
|
|
210
207
|
return new Promise((resolve) => {
|
|
211
208
|
const unsub = this.subscribe('rebase', () => {
|
|
212
209
|
unsub();
|
|
@@ -214,17 +211,18 @@ export class Client extends EventSubscriber {
|
|
|
214
211
|
});
|
|
215
212
|
});
|
|
216
213
|
};
|
|
217
|
-
context
|
|
218
|
-
this.
|
|
214
|
+
this.context = new Context(this.contextInit);
|
|
215
|
+
this.context.getClient = () => this;
|
|
216
|
+
this.collectionNames = Object.keys(this.context.schema.collections);
|
|
219
217
|
this._sync =
|
|
220
|
-
this.context.config.sync && !context.schema.wip
|
|
218
|
+
this.context.config.sync && !this.context.schema.wip
|
|
221
219
|
? new ServerSync(this.context.config.sync, {
|
|
222
220
|
onData: this.addData,
|
|
223
221
|
ctx: this.context,
|
|
224
222
|
})
|
|
225
223
|
: new NoSync(this.context);
|
|
226
|
-
if (context.schema.wip && this.context.config.sync) {
|
|
227
|
-
context.log('warn', '⚠️⚠️ Sync is disabled for WIP schemas. Commit your schema changes to start syncing again. ⚠️⚠️');
|
|
224
|
+
if (this.context.schema.wip && this.context.config.sync) {
|
|
225
|
+
this.context.log('warn', '⚠️⚠️ Sync is disabled for WIP schemas. Commit your schema changes to start syncing again. ⚠️⚠️');
|
|
228
226
|
}
|
|
229
227
|
this._fileManager = new FileManager({
|
|
230
228
|
sync: this.sync,
|
|
@@ -239,8 +237,8 @@ export class Client extends EventSubscriber {
|
|
|
239
237
|
// refresh.
|
|
240
238
|
// FIXME: make this less fragile
|
|
241
239
|
this._queryCache = new QueryCache({
|
|
242
|
-
context,
|
|
243
|
-
evictionTime: (_a = context.config.queries) === null || _a === void 0 ? void 0 : _a.evictionTime,
|
|
240
|
+
context: this.context,
|
|
241
|
+
evictionTime: (_a = this.context.config.queries) === null || _a === void 0 ? void 0 : _a.evictionTime,
|
|
244
242
|
});
|
|
245
243
|
this._documentManager = new DocumentManager(this.schema, this._entities);
|
|
246
244
|
const notifyFutureSeen = debounce(() => {
|
|
@@ -261,7 +259,7 @@ export class Client extends EventSubscriber {
|
|
|
261
259
|
});
|
|
262
260
|
// self-assign collection shortcuts. these are not typed
|
|
263
261
|
// here but are typed in the generated code...
|
|
264
|
-
for (const [name, _collection] of Object.entries(context.schema.collections)) {
|
|
262
|
+
for (const [name, _collection] of Object.entries(this.context.schema.collections)) {
|
|
265
263
|
const collectionName = name;
|
|
266
264
|
this[collectionName] = new CollectionQueries({
|
|
267
265
|
collection: collectionName,
|
|
@@ -284,8 +282,17 @@ export class Client extends EventSubscriber {
|
|
|
284
282
|
get queries() {
|
|
285
283
|
return this._queryCache;
|
|
286
284
|
}
|
|
285
|
+
get sync() {
|
|
286
|
+
return this._sync;
|
|
287
|
+
}
|
|
288
|
+
get entities() {
|
|
289
|
+
return this._entities;
|
|
290
|
+
}
|
|
291
|
+
get documentManager() {
|
|
292
|
+
return this._documentManager;
|
|
293
|
+
}
|
|
287
294
|
async getReplicaId() {
|
|
288
|
-
const replica = await this.context.meta.getLocalReplica();
|
|
295
|
+
const replica = await (await this.context.meta).getLocalReplica();
|
|
289
296
|
return replica.id;
|
|
290
297
|
}
|
|
291
298
|
/**
|
|
@@ -313,5 +320,8 @@ export class Client extends EventSubscriber {
|
|
|
313
320
|
files: this.context.files,
|
|
314
321
|
};
|
|
315
322
|
}
|
|
323
|
+
get __persistenceReady() {
|
|
324
|
+
return this.context.waitForInitialization;
|
|
325
|
+
}
|
|
316
326
|
}
|
|
317
327
|
//# sourceMappingURL=Client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/client/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAER,eAAe,EAGf,YAAY,GACZ,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/client/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare class Time {
|
|
|
5
5
|
private overrideNow?;
|
|
6
6
|
constructor(base: TimestampProvider, version: number);
|
|
7
7
|
get now(): string;
|
|
8
|
-
withMigrationTime: (version: number, run: () =>
|
|
8
|
+
withMigrationTime: (version: number, run: () => void) => Promise<void>;
|
|
9
9
|
update: (remoteTimestamp: string) => void;
|
|
10
10
|
nowWithVersion: (version: number) => string;
|
|
11
11
|
get zero(): string;
|
package/dist/esm/context/Time.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../src/context/Time.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IAEhB,YACS,IAAuB,EACvB,OAAe;QADf,SAAI,GAAJ,IAAI,CAAmB;QACvB,YAAO,GAAP,OAAO,CAAQ;QAOxB,sBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../src/context/Time.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IAEhB,YACS,IAAuB,EACvB,OAAe;QADf,SAAI,GAAJ,IAAI,CAAmB;QACvB,YAAO,GAAP,OAAO,CAAQ;QAOxB,sBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,GAAe,EAAE,EAAE;YAC9D,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC;QAEF,WAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,mBAAc,GAAG,CAAC,OAAe,EAAE,EAAE;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC;QAMF,oBAAe,GAAG,CAAC,OAAe,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC;IA1BC,CAAC;IAEJ,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAgBD,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CAKD"}
|
|
@@ -6,13 +6,82 @@ import { PersistenceFiles } from '../persistence/PersistenceFiles.js';
|
|
|
6
6
|
import type { PersistenceMetadata } from '../persistence/PersistenceMetadata.js';
|
|
7
7
|
import type { PersistenceDocuments } from '../persistence/PersistenceQueries.js';
|
|
8
8
|
import { PersistedFileData, PersistenceImplementation } from '../persistence/interfaces.js';
|
|
9
|
+
import { initializePersistence } from '../persistence/persistence.js';
|
|
10
|
+
import { ServerSyncOptions } from '../sync/Sync.js';
|
|
9
11
|
import { ShutdownHandler } from './ShutdownHandler.js';
|
|
10
12
|
import { Time } from './Time.js';
|
|
13
|
+
export interface ContextEnvironment {
|
|
14
|
+
WebSocket: typeof WebSocket;
|
|
15
|
+
fetch: typeof fetch;
|
|
16
|
+
indexedDB: typeof indexedDB;
|
|
17
|
+
location: Location;
|
|
18
|
+
history: History;
|
|
19
|
+
}
|
|
20
|
+
export declare const defaultBrowserEnvironment: ContextEnvironment;
|
|
21
|
+
export interface ContextInit {
|
|
22
|
+
/** The schema used to create this client */
|
|
23
|
+
schema: StorageSchema<any>;
|
|
24
|
+
oldSchemas: StorageSchema<any>[];
|
|
25
|
+
/** Migrations, in order, to upgrade to each successive version of the schema */
|
|
26
|
+
migrations: Migration<any>[];
|
|
27
|
+
/** Provide a sync config to turn on synchronization with a server */
|
|
28
|
+
sync?: ServerSyncOptions;
|
|
29
|
+
/**
|
|
30
|
+
* Namespaces are used to separate data from different clients in IndexedDB.
|
|
31
|
+
*/
|
|
32
|
+
namespace: string;
|
|
33
|
+
/**
|
|
34
|
+
* Provide your own UndoHistory to have a unified undo system across multiple
|
|
35
|
+
* clients if you so desire.
|
|
36
|
+
*/
|
|
37
|
+
undoHistory?: UndoHistory;
|
|
38
|
+
/**
|
|
39
|
+
* Provide a log function to log internal debug messages
|
|
40
|
+
*/
|
|
41
|
+
log?: VerdantLogger | false;
|
|
42
|
+
disableRebasing?: boolean;
|
|
43
|
+
rebaseTimeout?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Provide a specific schema number to override the schema version
|
|
46
|
+
* in the database. This is useful for testing migrations or recovering
|
|
47
|
+
* from a mistakenly deployed incorrect schema. A specific version is required
|
|
48
|
+
* so that you don't leave this on accidentally for all new schemas.
|
|
49
|
+
*/
|
|
50
|
+
overrideSchemaConflict?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Configuration for file management
|
|
53
|
+
*/
|
|
54
|
+
files?: FileConfig;
|
|
55
|
+
/**
|
|
56
|
+
* Override the default IndexedDB persistence implementation.
|
|
57
|
+
*/
|
|
58
|
+
persistence?: PersistenceImplementation;
|
|
59
|
+
/**
|
|
60
|
+
* Specify the environment dependencies needed for the client.
|
|
61
|
+
* Normally these are provided by the browser, but in other
|
|
62
|
+
* runtimes you may need to provide your own.
|
|
63
|
+
*/
|
|
64
|
+
environment?: Partial<ContextEnvironment>;
|
|
65
|
+
/**
|
|
66
|
+
* Enables experimental WeakRef usage to cull documents
|
|
67
|
+
* from cache that aren't being used. This is a performance
|
|
68
|
+
* optimization which has been tested under all Verdant's test
|
|
69
|
+
* suites but I still want to keep testing it in the real world
|
|
70
|
+
* before turning it on.
|
|
71
|
+
*/
|
|
72
|
+
EXPERIMENTAL_weakRefs?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Customize querying behavior.
|
|
75
|
+
*/
|
|
76
|
+
queries?: QueryConfig;
|
|
77
|
+
persistenceShutdownHandler?: ShutdownHandler;
|
|
78
|
+
}
|
|
11
79
|
/**
|
|
12
80
|
* Common components utilized across various client
|
|
13
81
|
* services.
|
|
14
82
|
*/
|
|
15
|
-
export
|
|
83
|
+
export declare class Context {
|
|
84
|
+
private init;
|
|
16
85
|
namespace: string;
|
|
17
86
|
/**
|
|
18
87
|
* when in WIP mode, namespace might be set to a temporary value. This will always point to the
|
|
@@ -20,9 +89,9 @@ export interface Context {
|
|
|
20
89
|
*/
|
|
21
90
|
originalNamespace: string;
|
|
22
91
|
time: Time;
|
|
23
|
-
meta: PersistenceMetadata
|
|
24
|
-
documents: PersistenceDocuments
|
|
25
|
-
files: PersistenceFiles
|
|
92
|
+
get meta(): Promise<PersistenceMetadata>;
|
|
93
|
+
get documents(): Promise<PersistenceDocuments>;
|
|
94
|
+
get files(): Promise<PersistenceFiles>;
|
|
26
95
|
undoHistory: UndoHistory;
|
|
27
96
|
schema: StorageSchema;
|
|
28
97
|
oldSchemas: StorageSchema[];
|
|
@@ -41,6 +110,7 @@ export interface Context {
|
|
|
41
110
|
fileAdded: (file: FileData) => void;
|
|
42
111
|
[ev: `fileUploaded:${string}`]: (file: FileData) => void;
|
|
43
112
|
fileUploaded: (file: FileData) => void;
|
|
113
|
+
outgoingSyncMessage: (message: ClientMessage) => void;
|
|
44
114
|
}>;
|
|
45
115
|
globalEvents: EventSubscriber<{
|
|
46
116
|
/**
|
|
@@ -70,33 +140,32 @@ export interface Context {
|
|
|
70
140
|
rebase: () => void;
|
|
71
141
|
fileSaved: (file: FileData) => void;
|
|
72
142
|
}>;
|
|
73
|
-
weakRef<T extends object>(value: T)
|
|
143
|
+
weakRef: <T extends object>(value: T) => WeakRef<T>;
|
|
74
144
|
migrations: Migration<any>[];
|
|
75
|
-
closing: boolean;
|
|
76
145
|
/** If this is present, any attempt to close the client should await it first. */
|
|
77
146
|
closeLock?: Promise<void>;
|
|
78
|
-
pauseRebasing: boolean;
|
|
79
147
|
patchCreator: PatchCreator;
|
|
80
148
|
persistenceShutdownHandler: ShutdownHandler;
|
|
149
|
+
closing: boolean;
|
|
150
|
+
pauseRebasing: boolean;
|
|
81
151
|
config: {
|
|
82
152
|
files?: FileConfig;
|
|
83
153
|
sync?: SyncConfig;
|
|
84
154
|
persistence?: PersistenceConfig;
|
|
85
155
|
queries?: QueryConfig;
|
|
86
156
|
};
|
|
87
|
-
environment:
|
|
88
|
-
WebSocket: typeof WebSocket;
|
|
89
|
-
fetch: typeof fetch;
|
|
90
|
-
indexedDB: typeof indexedDB;
|
|
91
|
-
location: Location;
|
|
92
|
-
history: History;
|
|
93
|
-
};
|
|
157
|
+
environment: ContextEnvironment;
|
|
94
158
|
persistence: PersistenceImplementation;
|
|
95
159
|
/**
|
|
96
160
|
* Must be defined by the Client once it exists. Attempts to use this before
|
|
97
161
|
* it's ready will rightfully throw an error.
|
|
98
162
|
*/
|
|
99
163
|
getClient: () => Client;
|
|
164
|
+
constructor(init: ContextInit, initPersistence?: ReturnType<typeof initializePersistence>);
|
|
165
|
+
private initializedPromise;
|
|
166
|
+
get waitForInitialization(): Promise<void>;
|
|
167
|
+
reinitialize: () => Promise<void>;
|
|
168
|
+
cloneWithOptions(options: Partial<ContextInit>): Context;
|
|
100
169
|
}
|
|
101
170
|
export interface FileConfig {
|
|
102
171
|
/**
|
|
@@ -201,4 +270,4 @@ export interface QueryConfig {
|
|
|
201
270
|
*/
|
|
202
271
|
evictionTime?: number;
|
|
203
272
|
}
|
|
204
|
-
export type
|
|
273
|
+
export type ContextWithoutPersistence = Omit<Context, 'meta' | 'documents' | 'files'>;
|