@verdant-web/store 3.4.0-next.0 → 3.5.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 +6 -6
- package/dist/bundle/index.js.map +3 -3
- package/dist/esm/BackoffScheduler.d.ts +19 -0
- package/dist/esm/DocumentManager.d.ts +28 -0
- package/dist/esm/FakeWeakRef.d.ts +11 -0
- package/dist/esm/IDBService.d.ts +30 -0
- package/dist/esm/UndoHistory.d.ts +16 -0
- package/dist/esm/__tests__/batching.test.d.ts +1 -0
- package/dist/esm/__tests__/documents.test.d.ts +1 -0
- package/dist/esm/__tests__/documents.test.js +26 -0
- package/dist/esm/__tests__/documents.test.js.map +1 -1
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +80 -0
- package/dist/esm/__tests__/fixtures/testStorage.js +5 -0
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/__tests__/legacyOids.test.d.ts +1 -0
- package/dist/esm/__tests__/mutations.test.d.ts +1 -0
- package/dist/esm/__tests__/queries.test.d.ts +1 -0
- package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -0
- package/dist/esm/__tests__/undo.test.d.ts +1 -0
- package/dist/esm/backup.d.ts +10 -0
- package/dist/esm/client/Client.d.ts +98 -0
- package/dist/esm/client/ClientDescriptor.d.ts +76 -0
- package/dist/esm/client/constants.d.ts +1 -0
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/context.d.ts +38 -0
- package/dist/esm/entities/Entity.d.ts +162 -0
- package/dist/esm/entities/Entity.js +35 -9
- package/dist/esm/entities/Entity.js.map +1 -1
- package/dist/esm/entities/Entity.test.d.ts +1 -0
- package/dist/esm/entities/EntityCache.d.ts +15 -0
- package/dist/esm/entities/EntityMetadata.d.ts +68 -0
- package/dist/esm/entities/EntityStore.d.ts +81 -0
- package/dist/esm/entities/OperationBatcher.d.ts +52 -0
- package/dist/esm/entities/types.d.ts +103 -0
- package/dist/esm/files/EntityFile.d.ts +35 -0
- package/dist/esm/files/FileManager.d.ts +47 -0
- package/dist/esm/files/FileStorage.d.ts +39 -0
- package/dist/esm/files/utils.d.ts +10 -0
- package/dist/esm/files/utils.test.d.ts +1 -0
- package/dist/esm/idb.d.ts +13 -0
- package/dist/esm/index.d.ts +23 -0
- package/dist/esm/metadata/AckInfoStore.d.ts +10 -0
- package/dist/esm/metadata/BaselinesStore.d.ts +40 -0
- package/dist/esm/metadata/LocalReplicaStore.d.ts +18 -0
- package/dist/esm/metadata/MessageCreator.d.ts +19 -0
- package/dist/esm/metadata/Metadata.d.ts +135 -0
- package/dist/esm/metadata/OperationsStore.d.ts +62 -0
- package/dist/esm/metadata/SchemaStore.d.ts +9 -0
- package/dist/esm/metadata/openMetadataDatabase.d.ts +19 -0
- package/dist/esm/migration/db.d.ts +8 -0
- package/dist/esm/migration/errors.d.ts +5 -0
- package/dist/esm/migration/openDatabase.d.ts +20 -0
- package/dist/esm/migration/paths.d.ts +6 -0
- package/dist/esm/migration/paths.test.d.ts +1 -0
- package/dist/esm/queries/BaseQuery.d.ts +53 -0
- package/dist/esm/queries/CollectionQueries.d.ts +55 -0
- package/dist/esm/queries/FindAllQuery.d.ts +12 -0
- package/dist/esm/queries/FindInfiniteQuery.d.ts +19 -0
- package/dist/esm/queries/FindOneQuery.d.ts +12 -0
- package/dist/esm/queries/FindPageQuery.d.ts +24 -0
- package/dist/esm/queries/GetQuery.d.ts +10 -0
- package/dist/esm/queries/QueryCache.d.ts +17 -0
- package/dist/esm/queries/QueryableStorage.d.ts +20 -0
- package/dist/esm/queries/dbQueries.d.ts +22 -0
- package/dist/esm/queries/keys.d.ts +10 -0
- package/dist/esm/queries/ranges.d.ts +2 -0
- package/dist/esm/queries/types.d.ts +6 -0
- package/dist/esm/queries/utils.d.ts +3 -0
- package/dist/esm/sync/FileSync.d.ts +24 -0
- package/dist/esm/sync/Heartbeat.d.ts +25 -0
- package/dist/esm/sync/PresenceManager.d.ts +55 -0
- package/dist/esm/sync/PushPullSync.d.ts +39 -0
- package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +34 -0
- package/dist/esm/sync/Sync.d.ts +160 -0
- package/dist/esm/sync/WebSocketSync.d.ts +44 -0
- package/dist/esm/types.d.ts +12 -0
- package/dist/esm/utils/Disposable.d.ts +6 -0
- package/dist/esm/utils/Resolvable.d.ts +8 -0
- package/dist/esm/vanilla.d.ts +1 -0
- package/package.json +3 -3
- package/src/__tests__/documents.test.ts +35 -2
- package/src/__tests__/fixtures/testStorage.ts +5 -0
- package/src/entities/Entity.ts +40 -9
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
export declare class BackoffScheduler extends EventSubscriber<{
|
|
3
|
+
trigger: () => void;
|
|
4
|
+
}> {
|
|
5
|
+
private readonly backoff;
|
|
6
|
+
private timer;
|
|
7
|
+
private isScheduled;
|
|
8
|
+
constructor(backoff: Backoff);
|
|
9
|
+
next: () => void;
|
|
10
|
+
reset: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare class Backoff {
|
|
13
|
+
current: number;
|
|
14
|
+
private readonly max;
|
|
15
|
+
private readonly factor;
|
|
16
|
+
constructor(max: number, factor: number);
|
|
17
|
+
next: () => void;
|
|
18
|
+
reset: () => void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { StorageSchema } from '@verdant-web/common';
|
|
2
|
+
import { EntityStore } from './entities/EntityStore.js';
|
|
3
|
+
import { Metadata } from './metadata/Metadata.js';
|
|
4
|
+
/**
|
|
5
|
+
* Exposes functionality for creating documents,
|
|
6
|
+
* the only mutation which is available as an entry
|
|
7
|
+
* point in the storage system.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DocumentManager<Schema extends StorageSchema<any>> {
|
|
10
|
+
private meta;
|
|
11
|
+
private schema;
|
|
12
|
+
private entities;
|
|
13
|
+
constructor(meta: Metadata, schema: Schema, entities: EntityStore);
|
|
14
|
+
private getOid;
|
|
15
|
+
private addDefaults;
|
|
16
|
+
create: (collection: string, init: any, options?: {
|
|
17
|
+
undoable?: boolean;
|
|
18
|
+
}) => any;
|
|
19
|
+
delete: (collection: string, primaryKey: string, options?: {
|
|
20
|
+
undoable?: boolean;
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
deleteAll: (ids: [string, string][], options?: {
|
|
23
|
+
undoable?: boolean;
|
|
24
|
+
}) => Promise<void>;
|
|
25
|
+
deleteAllFromCollection: (collection: string, ids: string[], options?: {
|
|
26
|
+
undoable?: boolean;
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This exists since I'm a little anxious about using WeakRef in production
|
|
3
|
+
* and want to be able to roll it back quickly to debug issues. Basically by adding
|
|
4
|
+
* import { WeakRef } from 'FakeWeakRef' to the top of the file, we can switch back
|
|
5
|
+
* to using a simple object reference.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FakeWeakRef<T extends symbol | object> {
|
|
8
|
+
constructor(value: T);
|
|
9
|
+
value: T;
|
|
10
|
+
deref(): T | undefined;
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Context } from './context.js';
|
|
2
|
+
import { Disposable } from './utils/Disposable.js';
|
|
3
|
+
export declare class IDBService extends Disposable {
|
|
4
|
+
protected db: IDBDatabase;
|
|
5
|
+
protected log?: Context['log'];
|
|
6
|
+
private globalAbortController;
|
|
7
|
+
constructor(db: IDBDatabase, { log }?: {
|
|
8
|
+
log?: Context['log'];
|
|
9
|
+
});
|
|
10
|
+
createTransaction: (storeNames: string[], opts?: {
|
|
11
|
+
mode?: 'readonly' | 'readwrite';
|
|
12
|
+
abort?: AbortSignal;
|
|
13
|
+
}) => IDBTransaction;
|
|
14
|
+
run: <T>(storeName: string, getRequest: (store: IDBObjectStore) => IDBRequest<T>, opts?: {
|
|
15
|
+
mode?: 'readonly' | 'readwrite';
|
|
16
|
+
transaction?: IDBTransaction;
|
|
17
|
+
abort?: AbortSignal;
|
|
18
|
+
}) => Promise<T>;
|
|
19
|
+
runAll: <T>(storeName: string, getRequests: (store: IDBObjectStore) => IDBRequest<T>[], opts?: {
|
|
20
|
+
mode: 'readonly' | 'readwrite';
|
|
21
|
+
transaction?: IDBTransaction;
|
|
22
|
+
abort?: AbortSignal;
|
|
23
|
+
}) => Promise<T[]>;
|
|
24
|
+
iterate: <T>(storeName: string, getRequest: (store: IDBObjectStore) => IDBRequest | IDBRequest[], iterator: (value: T, store: IDBObjectStore) => void, opts?: {
|
|
25
|
+
mode?: 'readonly' | 'readwrite';
|
|
26
|
+
transaction?: IDBTransaction;
|
|
27
|
+
abort?: AbortSignal;
|
|
28
|
+
}) => Promise<void>;
|
|
29
|
+
clear: (storeName: string) => Promise<undefined>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventSubscriber } from '@verdant-web/common';
|
|
2
|
+
type Undoable = () => Undoable | Promise<Undoable | null> | null;
|
|
3
|
+
export declare class UndoHistory extends EventSubscriber<{
|
|
4
|
+
change: () => void;
|
|
5
|
+
}> {
|
|
6
|
+
private _undoable;
|
|
7
|
+
private _undone;
|
|
8
|
+
get canUndo(): boolean;
|
|
9
|
+
get canRedo(): boolean;
|
|
10
|
+
undo: () => Promise<boolean>;
|
|
11
|
+
redo: () => Promise<boolean>;
|
|
12
|
+
addUndo: (undoPoint: Undoable) => void;
|
|
13
|
+
addRedo: (redoPoint: Undoable) => void;
|
|
14
|
+
clear: () => void;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -462,5 +462,31 @@ describe('storage documents', () => {
|
|
|
462
462
|
expect(fileList.get(1)).toBe(file3Ref);
|
|
463
463
|
expect(fileList.get(2)).toBe(file1Ref);
|
|
464
464
|
});
|
|
465
|
+
it('should return nullish for missing map items', async () => {
|
|
466
|
+
const storage = await createTestStorage();
|
|
467
|
+
const weird = await storage.weirds.put({});
|
|
468
|
+
const map = weird.get('map');
|
|
469
|
+
expect(map.get('foo')).toBeUndefined();
|
|
470
|
+
const objectMap = weird.get('objectMap');
|
|
471
|
+
expect(objectMap.get('foo')).toBeUndefined();
|
|
472
|
+
const arrayMap = weird.get('arrayMap');
|
|
473
|
+
expect(arrayMap.get('foo')).toBeUndefined();
|
|
474
|
+
});
|
|
475
|
+
it('should allow getOrSet for nullable fields', async () => {
|
|
476
|
+
const storage = await createTestStorage();
|
|
477
|
+
const weird = await storage.weirds.put({});
|
|
478
|
+
const map = weird.get('map');
|
|
479
|
+
const foo = map.getOrSet('foo', 'bar');
|
|
480
|
+
expect(foo).toBe('bar');
|
|
481
|
+
expect(map.get('foo')).toBe('bar');
|
|
482
|
+
const objectMap = weird.get('objectMap');
|
|
483
|
+
const fooObject = objectMap.getOrSet('foo', { content: 'bar' });
|
|
484
|
+
expect(fooObject.get('content')).toBe('bar');
|
|
485
|
+
expect(objectMap.get('foo').get('content')).toBe('bar');
|
|
486
|
+
const arrayMap = weird.get('arrayMap');
|
|
487
|
+
const fooArray = arrayMap.getOrSet('foo', ['bar']);
|
|
488
|
+
expect(fooArray.get(0)).toEqual('bar');
|
|
489
|
+
expect(arrayMap.get('foo').get(0)).toEqual('bar');
|
|
490
|
+
});
|
|
465
491
|
});
|
|
466
492
|
//# sourceMappingURL=documents.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.test.js","sourceRoot":"","sources":["../../../src/__tests__/documents.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"documents.test.js","sourceRoot":"","sources":["../../../src/__tests__/documents.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ClientWithCollections } from '../../index.js';
|
|
2
|
+
export declare const todoCollection: import("@verdant-web/common").StorageCollectionSchema<{
|
|
3
|
+
id: import("@verdant-web/common").StorageStringFieldSchema;
|
|
4
|
+
content: import("@verdant-web/common").StorageStringFieldSchema;
|
|
5
|
+
done: import("@verdant-web/common").StorageBooleanFieldSchema;
|
|
6
|
+
tags: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>;
|
|
7
|
+
category: import("@verdant-web/common").StorageStringFieldSchema;
|
|
8
|
+
attachments: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageObjectFieldSchema<{
|
|
9
|
+
name: import("@verdant-web/common").StorageStringFieldSchema;
|
|
10
|
+
test: import("@verdant-web/common").StorageNumberFieldSchema;
|
|
11
|
+
}>>;
|
|
12
|
+
}, {
|
|
13
|
+
content: {
|
|
14
|
+
field: "content";
|
|
15
|
+
};
|
|
16
|
+
example: {
|
|
17
|
+
type: "string";
|
|
18
|
+
compute: (doc: import("@verdant-web/common").ShapeFromFields<{
|
|
19
|
+
id: import("@verdant-web/common").StorageStringFieldSchema;
|
|
20
|
+
content: import("@verdant-web/common").StorageStringFieldSchema;
|
|
21
|
+
done: import("@verdant-web/common").StorageBooleanFieldSchema;
|
|
22
|
+
tags: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>;
|
|
23
|
+
category: import("@verdant-web/common").StorageStringFieldSchema;
|
|
24
|
+
attachments: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageObjectFieldSchema<{
|
|
25
|
+
name: import("@verdant-web/common").StorageStringFieldSchema;
|
|
26
|
+
test: import("@verdant-web/common").StorageNumberFieldSchema;
|
|
27
|
+
}>>;
|
|
28
|
+
}>) => string;
|
|
29
|
+
};
|
|
30
|
+
}, {
|
|
31
|
+
tagsSortedByDone: {
|
|
32
|
+
of: ("done" | "tags")[];
|
|
33
|
+
};
|
|
34
|
+
categorySortedByDone: {
|
|
35
|
+
of: ("done" | "category")[];
|
|
36
|
+
};
|
|
37
|
+
}>;
|
|
38
|
+
export declare const weirdCollection: import("@verdant-web/common").StorageCollectionSchema<{
|
|
39
|
+
id: import("@verdant-web/common").StorageStringFieldSchema;
|
|
40
|
+
weird: import("@verdant-web/common").StorageAnyFieldSchema<any>;
|
|
41
|
+
map: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>;
|
|
42
|
+
fileList: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageFileFieldSchema>;
|
|
43
|
+
objectMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageObjectFieldSchema<{
|
|
44
|
+
content: import("@verdant-web/common").StorageStringFieldSchema;
|
|
45
|
+
}>>;
|
|
46
|
+
arrayMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>>;
|
|
47
|
+
}, import("@verdant-web/common").StorageSyntheticIndices<{
|
|
48
|
+
id: import("@verdant-web/common").StorageStringFieldSchema;
|
|
49
|
+
weird: import("@verdant-web/common").StorageAnyFieldSchema<any>;
|
|
50
|
+
map: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>;
|
|
51
|
+
fileList: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageFileFieldSchema>;
|
|
52
|
+
objectMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageObjectFieldSchema<{
|
|
53
|
+
content: import("@verdant-web/common").StorageStringFieldSchema;
|
|
54
|
+
}>>;
|
|
55
|
+
arrayMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>>;
|
|
56
|
+
}>, import("@verdant-web/common").CollectionCompoundIndices<{
|
|
57
|
+
id: import("@verdant-web/common").StorageStringFieldSchema;
|
|
58
|
+
weird: import("@verdant-web/common").StorageAnyFieldSchema<any>;
|
|
59
|
+
map: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>;
|
|
60
|
+
fileList: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageFileFieldSchema>;
|
|
61
|
+
objectMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageObjectFieldSchema<{
|
|
62
|
+
content: import("@verdant-web/common").StorageStringFieldSchema;
|
|
63
|
+
}>>;
|
|
64
|
+
arrayMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>>;
|
|
65
|
+
}, import("@verdant-web/common").StorageSyntheticIndices<{
|
|
66
|
+
id: import("@verdant-web/common").StorageStringFieldSchema;
|
|
67
|
+
weird: import("@verdant-web/common").StorageAnyFieldSchema<any>;
|
|
68
|
+
map: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>;
|
|
69
|
+
fileList: import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageFileFieldSchema>;
|
|
70
|
+
objectMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageObjectFieldSchema<{
|
|
71
|
+
content: import("@verdant-web/common").StorageStringFieldSchema;
|
|
72
|
+
}>>;
|
|
73
|
+
arrayMap: import("@verdant-web/common").StorageMapFieldSchema<import("@verdant-web/common").StorageArrayFieldSchema<import("@verdant-web/common").StorageStringFieldSchema>>;
|
|
74
|
+
}>>>;
|
|
75
|
+
export declare function createTestStorage({ idb, disableRebasing, metadataVersion, log, }?: {
|
|
76
|
+
idb?: IDBFactory;
|
|
77
|
+
disableRebasing?: boolean;
|
|
78
|
+
metadataVersion?: number;
|
|
79
|
+
log?: (...args: any[]) => void;
|
|
80
|
+
}): Promise<ClientWithCollections>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testStorage.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/testStorage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testStorage.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/testStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'fake-indexeddb/auto';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Client } from './client/Client.js';
|
|
2
|
+
import { ExportData } from './metadata/Metadata.js';
|
|
3
|
+
import { ReturnedFileData } from './files/FileStorage.js';
|
|
4
|
+
export declare function createClientBackup(client: Client): Promise<Blob>;
|
|
5
|
+
export declare function readBackupFile(file: Blob): Promise<{
|
|
6
|
+
data: ExportData;
|
|
7
|
+
fileData: Omit<ReturnedFileData, "file">[];
|
|
8
|
+
files: File[];
|
|
9
|
+
}>;
|
|
10
|
+
export declare function importClientBackup(client: Client, file: Blob): Promise<void>;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { EventSubscriber, Migration } from '@verdant-web/common';
|
|
2
|
+
import { Context } from '../context.js';
|
|
3
|
+
import { DocumentManager } from '../DocumentManager.js';
|
|
4
|
+
import { FileManagerConfig } from '../files/FileManager.js';
|
|
5
|
+
import { ExportData, Metadata } from '../metadata/Metadata.js';
|
|
6
|
+
import { EntityStore } from '../entities/EntityStore.js';
|
|
7
|
+
import { ServerSyncOptions, Sync } from '../sync/Sync.js';
|
|
8
|
+
import { CollectionQueries } from '../queries/CollectionQueries.js';
|
|
9
|
+
import { ReturnedFileData } from '../files/FileStorage.js';
|
|
10
|
+
interface ClientConfig<Presence = any> {
|
|
11
|
+
syncConfig?: ServerSyncOptions<Presence>;
|
|
12
|
+
migrations: Migration[];
|
|
13
|
+
files?: FileManagerConfig;
|
|
14
|
+
}
|
|
15
|
+
export type ClientWithCollections = Client & {
|
|
16
|
+
[key: string]: CollectionQueries<any, any, any>;
|
|
17
|
+
};
|
|
18
|
+
export declare class Client<Presence = any, Profile = any> extends EventSubscriber<{
|
|
19
|
+
/**
|
|
20
|
+
* Called when a change from a future version of the application has
|
|
21
|
+
* been witnessed. These changes are not applied but it indicates
|
|
22
|
+
* the app has been updated and a peer is using a newer version.
|
|
23
|
+
* You should listen to this event and prompt the user to reload
|
|
24
|
+
* their client, or reload it for them.
|
|
25
|
+
*
|
|
26
|
+
* This event may be called multiple times.
|
|
27
|
+
*/
|
|
28
|
+
futureSeen: () => void;
|
|
29
|
+
}> {
|
|
30
|
+
private config;
|
|
31
|
+
private context;
|
|
32
|
+
readonly meta: Metadata;
|
|
33
|
+
private _entities;
|
|
34
|
+
private _queryCache;
|
|
35
|
+
private _documentManager;
|
|
36
|
+
private _fileManager;
|
|
37
|
+
private _closed;
|
|
38
|
+
readonly collectionNames: string[];
|
|
39
|
+
private _sync;
|
|
40
|
+
get sync(): Sync<Presence, Profile>;
|
|
41
|
+
get entities(): EntityStore;
|
|
42
|
+
get documentManager(): DocumentManager<any>;
|
|
43
|
+
constructor(config: ClientConfig, context: Context, components: {
|
|
44
|
+
meta: Metadata;
|
|
45
|
+
});
|
|
46
|
+
private addData;
|
|
47
|
+
get documentDb(): IDBDatabase;
|
|
48
|
+
get metaDb(): IDBDatabase;
|
|
49
|
+
get schema(): import("@verdant-web/common").StorageSchema;
|
|
50
|
+
get namespace(): string;
|
|
51
|
+
get undoHistory(): import("../UndoHistory.js").UndoHistory;
|
|
52
|
+
/**
|
|
53
|
+
* Batch multiple operations together to be executed in a single transaction.
|
|
54
|
+
* The changes made will not be included in the same undo history step as
|
|
55
|
+
* any other changes made outside of the batch. You can also disable undo
|
|
56
|
+
* for your batch to omit changes from undo history.
|
|
57
|
+
*
|
|
58
|
+
* Provide a batch name to apply multiple changes to the same batch
|
|
59
|
+
* across different invocations. Batches will automatically flush after
|
|
60
|
+
* a short delay or if they reach a maximum size.
|
|
61
|
+
*/
|
|
62
|
+
get batch(): ({ undoable, batchName, max, timeout, }?: {
|
|
63
|
+
undoable?: boolean | undefined;
|
|
64
|
+
batchName?: string | undefined;
|
|
65
|
+
max?: number | null | undefined;
|
|
66
|
+
timeout?: number | null | undefined;
|
|
67
|
+
}) => import("../entities/OperationBatcher.js").OperationBatch;
|
|
68
|
+
stats: () => Promise<any>;
|
|
69
|
+
close: () => Promise<void>;
|
|
70
|
+
__dangerous__resetLocal: () => Promise<void>;
|
|
71
|
+
export: ({ downloadRemoteFiles }?: {
|
|
72
|
+
downloadRemoteFiles?: boolean | undefined;
|
|
73
|
+
}) => Promise<{
|
|
74
|
+
data: ExportData;
|
|
75
|
+
fileData: Omit<ReturnedFileData, "file">[];
|
|
76
|
+
files: File[];
|
|
77
|
+
}>;
|
|
78
|
+
private getFileExportName;
|
|
79
|
+
private parseFileExportname;
|
|
80
|
+
import: ({ data, fileData, files, }: {
|
|
81
|
+
data: ExportData;
|
|
82
|
+
fileData: Array<Omit<ReturnedFileData, 'file'>>;
|
|
83
|
+
files: File[];
|
|
84
|
+
}) => Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Export all data, then re-import it. This might resolve
|
|
87
|
+
* some issues with the local database, but it should
|
|
88
|
+
* only be done as a second-to-last resort. The last resort
|
|
89
|
+
* would be __dangerous__resetLocal on ClientDescriptor, which
|
|
90
|
+
* clears all local data.
|
|
91
|
+
*
|
|
92
|
+
* Unlike __dangerous__resetLocal, this method allows local-only
|
|
93
|
+
* clients to recover data, whereas __dangerous__resetLocal only
|
|
94
|
+
* lets networked clients recover from the server.
|
|
95
|
+
*/
|
|
96
|
+
__dangerous__hardReset: () => Promise<void>;
|
|
97
|
+
}
|
|
98
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Migration, StorageSchema } from '@verdant-web/common';
|
|
2
|
+
import { FileManagerConfig } from '../files/FileManager.js';
|
|
3
|
+
import { ServerSyncOptions } from '../sync/Sync.js';
|
|
4
|
+
import { UndoHistory } from '../UndoHistory.js';
|
|
5
|
+
import { Client } from './Client.js';
|
|
6
|
+
import { METADATA_VERSION_KEY } from './constants.js';
|
|
7
|
+
export interface ClientDescriptorOptions<Presence = any, Profile = any> {
|
|
8
|
+
/** The schema used to create this client */
|
|
9
|
+
schema: StorageSchema<any>;
|
|
10
|
+
/** Migrations, in order, to upgrade to each successive version of the schema */
|
|
11
|
+
migrations: Migration<any>[];
|
|
12
|
+
/** Provide a sync config to turn on synchronization with a server */
|
|
13
|
+
sync?: ServerSyncOptions<Profile, Presence>;
|
|
14
|
+
/** Optionally override the IndexedDB implementation */
|
|
15
|
+
indexedDb?: IDBFactory;
|
|
16
|
+
/**
|
|
17
|
+
* Namespaces are used to separate data from different clients in IndexedDB.
|
|
18
|
+
*/
|
|
19
|
+
namespace: string;
|
|
20
|
+
/**
|
|
21
|
+
* Provide your own UndoHistory to have a unified undo system across multiple
|
|
22
|
+
* clients if you so desire.
|
|
23
|
+
*/
|
|
24
|
+
undoHistory?: UndoHistory;
|
|
25
|
+
/**
|
|
26
|
+
* Provide a log function to log internal debug messages
|
|
27
|
+
*/
|
|
28
|
+
log?: (...args: any[]) => void;
|
|
29
|
+
disableRebasing?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Provide a specific schema number to override the schema version
|
|
32
|
+
* in the database. This is useful for testing migrations or recovering
|
|
33
|
+
* from a mistakenly deployed incorrect schema. A specific version is required
|
|
34
|
+
* so that you don't leave this on accidentally for all new schemas.
|
|
35
|
+
*/
|
|
36
|
+
overrideSchemaConflict?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Configuration for file management
|
|
39
|
+
*/
|
|
40
|
+
files?: FileManagerConfig;
|
|
41
|
+
/**
|
|
42
|
+
* Enables experimental WeakRef usage to cull documents
|
|
43
|
+
* from cache that aren't being used. This is a performance
|
|
44
|
+
* optimization which has been tested under all Verdant's test
|
|
45
|
+
* suites but I still want to keep testing it in the real world
|
|
46
|
+
* before turning it on.
|
|
47
|
+
*/
|
|
48
|
+
EXPERIMENTAL_weakRefs?: boolean;
|
|
49
|
+
[METADATA_VERSION_KEY]?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Since storage initialization is async, this class wraps the core
|
|
53
|
+
* Storage creation promise and exposes some metadata which can
|
|
54
|
+
* be useful immediately.
|
|
55
|
+
*/
|
|
56
|
+
export declare class ClientDescriptor<Presence = any, Profile = any, ClientImpl extends Client = Client> {
|
|
57
|
+
private readonly init;
|
|
58
|
+
private readonly _readyPromise;
|
|
59
|
+
private resolveReady;
|
|
60
|
+
private rejectReady;
|
|
61
|
+
private _resolvedValue;
|
|
62
|
+
private _initializing;
|
|
63
|
+
private _namespace;
|
|
64
|
+
get namespace(): string;
|
|
65
|
+
constructor(init: ClientDescriptorOptions<Presence, Profile>);
|
|
66
|
+
private initialize;
|
|
67
|
+
private initializeDatabases;
|
|
68
|
+
private initializeWIPDatabases;
|
|
69
|
+
private cleanupWIPDatabases;
|
|
70
|
+
get current(): ClientImpl | undefined;
|
|
71
|
+
get readyPromise(): Promise<ClientImpl>;
|
|
72
|
+
get schema(): StorageSchema<any>;
|
|
73
|
+
open: () => Promise<ClientImpl>;
|
|
74
|
+
close: () => Promise<void>;
|
|
75
|
+
__dangerous__resetLocal: () => Promise<void>;
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const METADATA_VERSION_KEY: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TEST_API = "__unsafe__test_api__";
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
}
|