@verdant-web/store 2.8.5 → 3.0.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 +9 -10
- package/dist/bundle/index.js.map +4 -4
- package/dist/cjs/DocumentManager.d.ts +6 -5
- package/dist/cjs/DocumentManager.js +2 -2
- package/dist/cjs/DocumentManager.js.map +1 -1
- package/dist/cjs/IDBService.d.ts +28 -7
- package/dist/cjs/IDBService.js +50 -13
- package/dist/cjs/IDBService.js.map +1 -1
- package/dist/cjs/UndoHistory.d.ts +1 -1
- package/dist/cjs/UndoHistory.js +6 -2
- package/dist/cjs/UndoHistory.js.map +1 -1
- package/dist/cjs/__tests__/batching.test.js +3 -1
- package/dist/cjs/__tests__/batching.test.js.map +1 -1
- package/dist/cjs/__tests__/documents.test.js +37 -6
- package/dist/cjs/__tests__/documents.test.js.map +1 -1
- package/dist/cjs/__tests__/fixtures/testStorage.d.ts +2 -2
- package/dist/cjs/__tests__/fixtures/testStorage.js +2 -1
- package/dist/cjs/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/cjs/__tests__/legacyOids.test.js +50 -17
- package/dist/cjs/__tests__/legacyOids.test.js.map +1 -1
- package/dist/cjs/__tests__/mutations.test.js +9 -3
- package/dist/cjs/__tests__/mutations.test.js.map +1 -1
- package/dist/cjs/__tests__/queries.test.js +6 -2
- package/dist/cjs/__tests__/queries.test.js.map +1 -1
- package/dist/cjs/__tests__/setup/indexedDB.d.ts +1 -1
- package/dist/cjs/__tests__/setup/indexedDB.js +8 -1
- package/dist/cjs/__tests__/setup/indexedDB.js.map +1 -1
- package/dist/cjs/__tests__/undo.test.js +16 -9
- package/dist/cjs/__tests__/undo.test.js.map +1 -1
- package/dist/cjs/client/Client.d.ts +2 -3
- package/dist/cjs/client/Client.js +8 -4
- package/dist/cjs/client/Client.js.map +1 -1
- package/dist/cjs/client/ClientDescriptor.js +21 -6
- package/dist/cjs/client/ClientDescriptor.js.map +1 -1
- package/dist/cjs/context.d.ts +10 -1
- package/dist/cjs/entities/2/Entity.d.ts +148 -0
- package/dist/cjs/entities/2/Entity.js +711 -0
- package/dist/cjs/entities/2/Entity.js.map +1 -0
- package/dist/cjs/entities/2/Entity.test.d.ts +1 -0
- package/dist/cjs/entities/2/Entity.test.js +194 -0
- package/dist/cjs/entities/2/Entity.test.js.map +1 -0
- package/dist/cjs/entities/2/EntityCache.d.ts +15 -0
- package/dist/cjs/entities/2/EntityCache.js +39 -0
- package/dist/cjs/entities/2/EntityCache.js.map +1 -0
- package/dist/cjs/entities/2/EntityMetadata.d.ts +68 -0
- package/dist/cjs/entities/2/EntityMetadata.js +261 -0
- package/dist/cjs/entities/2/EntityMetadata.js.map +1 -0
- package/dist/cjs/entities/2/EntityStore.d.ts +78 -0
- package/dist/cjs/entities/2/EntityStore.js +352 -0
- package/dist/cjs/entities/2/EntityStore.js.map +1 -0
- package/dist/cjs/entities/2/OperationBatcher.d.ts +52 -0
- package/dist/cjs/entities/2/OperationBatcher.js +165 -0
- package/dist/cjs/entities/2/OperationBatcher.js.map +1 -0
- package/dist/cjs/entities/2/types.d.ts +84 -0
- package/dist/cjs/entities/2/types.js +3 -0
- package/dist/cjs/entities/2/types.js.map +1 -0
- package/dist/cjs/entities/Entity.d.ts +0 -7
- package/dist/cjs/entities/Entity.js +7 -0
- package/dist/cjs/entities/Entity.js.map +1 -1
- package/dist/cjs/entities/EntityStore.js +4 -20
- package/dist/cjs/entities/EntityStore.js.map +1 -1
- package/dist/cjs/entities/FakeWeakRef.d.ts +11 -0
- package/dist/cjs/entities/FakeWeakRef.js +19 -0
- package/dist/cjs/entities/FakeWeakRef.js.map +1 -0
- package/dist/cjs/files/EntityFile.d.ts +5 -2
- package/dist/cjs/files/EntityFile.js +8 -4
- package/dist/cjs/files/EntityFile.js.map +1 -1
- package/dist/cjs/files/FileManager.d.ts +3 -1
- package/dist/cjs/files/FileManager.js +5 -3
- package/dist/cjs/files/FileManager.js.map +1 -1
- package/dist/cjs/files/FileStorage.js +7 -7
- package/dist/cjs/files/FileStorage.js.map +1 -1
- package/dist/cjs/files/utils.d.ts +2 -0
- package/dist/cjs/files/utils.js +5 -2
- package/dist/cjs/files/utils.js.map +1 -1
- package/dist/cjs/idb.d.ts +2 -0
- package/dist/cjs/idb.js +50 -4
- package/dist/cjs/idb.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/indexes.d.ts +3 -0
- package/dist/cjs/indexes.js +20 -0
- package/dist/cjs/indexes.js.map +1 -0
- package/dist/cjs/metadata/AckInfoStore.js +1 -1
- package/dist/cjs/metadata/AckInfoStore.js.map +1 -1
- package/dist/cjs/metadata/BaselinesStore.d.ts +4 -1
- package/dist/cjs/metadata/BaselinesStore.js +19 -10
- package/dist/cjs/metadata/BaselinesStore.js.map +1 -1
- package/dist/cjs/metadata/LocalReplicaStore.d.ts +1 -1
- package/dist/cjs/metadata/LocalReplicaStore.js +11 -5
- package/dist/cjs/metadata/LocalReplicaStore.js.map +1 -1
- package/dist/cjs/metadata/Metadata.d.ts +26 -5
- package/dist/cjs/metadata/Metadata.js +55 -18
- package/dist/cjs/metadata/Metadata.js.map +1 -1
- package/dist/cjs/metadata/OperationsStore.d.ts +3 -0
- package/dist/cjs/metadata/OperationsStore.js +35 -15
- package/dist/cjs/metadata/OperationsStore.js.map +1 -1
- package/dist/cjs/migration/openDatabase.js +31 -10
- package/dist/cjs/migration/openDatabase.js.map +1 -1
- package/dist/cjs/queries/BaseQuery.js +14 -2
- package/dist/cjs/queries/BaseQuery.js.map +1 -1
- package/dist/cjs/queries/CollectionQueries.d.ts +2 -4
- package/dist/cjs/queries/CollectionQueries.js +1 -1
- package/dist/cjs/queries/CollectionQueries.js.map +1 -1
- package/dist/cjs/queries/FindAllQuery.js +1 -0
- package/dist/cjs/queries/FindAllQuery.js.map +1 -1
- package/dist/cjs/queries/QueryCache.d.ts +1 -0
- package/dist/cjs/queries/QueryCache.js +4 -0
- package/dist/cjs/queries/QueryCache.js.map +1 -1
- package/dist/cjs/queries/QueryableStorage.d.ts +20 -0
- package/dist/cjs/queries/QueryableStorage.js +84 -0
- package/dist/cjs/queries/QueryableStorage.js.map +1 -0
- package/dist/cjs/queries/dbQueries.js +13 -3
- package/dist/cjs/queries/dbQueries.js.map +1 -1
- package/dist/cjs/queries/utils.js +1 -1
- package/dist/cjs/queries/utils.js.map +1 -1
- package/dist/cjs/sync/FileSync.d.ts +1 -0
- package/dist/cjs/sync/FileSync.js +1 -0
- package/dist/cjs/sync/FileSync.js.map +1 -1
- package/dist/cjs/sync/PushPullSync.d.ts +2 -1
- package/dist/cjs/sync/PushPullSync.js +7 -1
- package/dist/cjs/sync/PushPullSync.js.map +1 -1
- package/dist/cjs/sync/Sync.d.ts +6 -3
- package/dist/cjs/sync/Sync.js +9 -4
- package/dist/cjs/sync/Sync.js.map +1 -1
- package/dist/cjs/sync/WebSocketSync.d.ts +4 -1
- package/dist/cjs/sync/WebSocketSync.js +41 -11
- package/dist/cjs/sync/WebSocketSync.js.map +1 -1
- package/dist/esm/DocumentManager.d.ts +6 -5
- package/dist/esm/DocumentManager.js +2 -2
- package/dist/esm/DocumentManager.js.map +1 -1
- package/dist/esm/IDBService.d.ts +28 -7
- package/dist/esm/IDBService.js +51 -14
- package/dist/esm/IDBService.js.map +1 -1
- package/dist/esm/UndoHistory.d.ts +1 -1
- package/dist/esm/UndoHistory.js +6 -2
- package/dist/esm/UndoHistory.js.map +1 -1
- package/dist/esm/__tests__/batching.test.js +3 -1
- package/dist/esm/__tests__/batching.test.js.map +1 -1
- package/dist/esm/__tests__/documents.test.js +37 -6
- package/dist/esm/__tests__/documents.test.js.map +1 -1
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +2 -2
- package/dist/esm/__tests__/fixtures/testStorage.js +2 -1
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/__tests__/legacyOids.test.js +50 -17
- package/dist/esm/__tests__/legacyOids.test.js.map +1 -1
- package/dist/esm/__tests__/mutations.test.js +9 -3
- package/dist/esm/__tests__/mutations.test.js.map +1 -1
- package/dist/esm/__tests__/queries.test.js +6 -2
- package/dist/esm/__tests__/queries.test.js.map +1 -1
- package/dist/esm/__tests__/setup/indexedDB.d.ts +1 -1
- package/dist/esm/__tests__/setup/indexedDB.js +8 -1
- package/dist/esm/__tests__/setup/indexedDB.js.map +1 -1
- package/dist/esm/__tests__/undo.test.js +16 -9
- package/dist/esm/__tests__/undo.test.js.map +1 -1
- package/dist/esm/client/Client.d.ts +2 -3
- package/dist/esm/client/Client.js +8 -4
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/client/ClientDescriptor.js +21 -6
- package/dist/esm/client/ClientDescriptor.js.map +1 -1
- package/dist/esm/context.d.ts +10 -1
- package/dist/esm/entities/2/Entity.d.ts +148 -0
- package/dist/esm/entities/2/Entity.js +707 -0
- package/dist/esm/entities/2/Entity.js.map +1 -0
- package/dist/esm/entities/2/Entity.test.d.ts +1 -0
- package/dist/esm/entities/2/Entity.test.js +192 -0
- package/dist/esm/entities/2/Entity.test.js.map +1 -0
- package/dist/esm/entities/2/EntityCache.d.ts +15 -0
- package/dist/esm/entities/2/EntityCache.js +35 -0
- package/dist/esm/entities/2/EntityCache.js.map +1 -0
- package/dist/esm/entities/2/EntityMetadata.d.ts +68 -0
- package/dist/esm/entities/2/EntityMetadata.js +256 -0
- package/dist/esm/entities/2/EntityMetadata.js.map +1 -0
- package/dist/esm/entities/2/EntityStore.d.ts +78 -0
- package/dist/esm/entities/2/EntityStore.js +348 -0
- package/dist/esm/entities/2/EntityStore.js.map +1 -0
- package/dist/esm/entities/2/OperationBatcher.d.ts +52 -0
- package/dist/esm/entities/2/OperationBatcher.js +161 -0
- package/dist/esm/entities/2/OperationBatcher.js.map +1 -0
- package/dist/esm/entities/2/types.d.ts +84 -0
- package/dist/esm/entities/2/types.js +2 -0
- package/dist/esm/entities/2/types.js.map +1 -0
- package/dist/esm/entities/Entity.d.ts +0 -7
- package/dist/esm/entities/Entity.js +7 -0
- package/dist/esm/entities/Entity.js.map +1 -1
- package/dist/esm/entities/EntityStore.js +4 -20
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/entities/FakeWeakRef.d.ts +11 -0
- package/dist/esm/entities/FakeWeakRef.js +15 -0
- package/dist/esm/entities/FakeWeakRef.js.map +1 -0
- package/dist/esm/files/EntityFile.d.ts +5 -2
- package/dist/esm/files/EntityFile.js +8 -4
- package/dist/esm/files/EntityFile.js.map +1 -1
- package/dist/esm/files/FileManager.d.ts +3 -1
- package/dist/esm/files/FileManager.js +5 -3
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/files/FileStorage.js +7 -7
- package/dist/esm/files/FileStorage.js.map +1 -1
- package/dist/esm/files/utils.d.ts +2 -0
- package/dist/esm/files/utils.js +4 -2
- package/dist/esm/files/utils.js.map +1 -1
- package/dist/esm/idb.d.ts +2 -0
- package/dist/esm/idb.js +47 -3
- package/dist/esm/idb.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/indexes.d.ts +3 -0
- package/dist/esm/indexes.js +15 -0
- package/dist/esm/indexes.js.map +1 -0
- package/dist/esm/metadata/AckInfoStore.js +1 -1
- package/dist/esm/metadata/AckInfoStore.js.map +1 -1
- package/dist/esm/metadata/BaselinesStore.d.ts +4 -1
- package/dist/esm/metadata/BaselinesStore.js +19 -10
- package/dist/esm/metadata/BaselinesStore.js.map +1 -1
- package/dist/esm/metadata/LocalReplicaStore.d.ts +1 -1
- package/dist/esm/metadata/LocalReplicaStore.js +11 -5
- package/dist/esm/metadata/LocalReplicaStore.js.map +1 -1
- package/dist/esm/metadata/Metadata.d.ts +26 -5
- package/dist/esm/metadata/Metadata.js +56 -19
- package/dist/esm/metadata/Metadata.js.map +1 -1
- package/dist/esm/metadata/OperationsStore.d.ts +3 -0
- package/dist/esm/metadata/OperationsStore.js +35 -15
- package/dist/esm/metadata/OperationsStore.js.map +1 -1
- package/dist/esm/migration/openDatabase.js +32 -11
- package/dist/esm/migration/openDatabase.js.map +1 -1
- package/dist/esm/queries/BaseQuery.js +14 -2
- package/dist/esm/queries/BaseQuery.js.map +1 -1
- package/dist/esm/queries/CollectionQueries.d.ts +2 -4
- package/dist/esm/queries/CollectionQueries.js +1 -1
- package/dist/esm/queries/CollectionQueries.js.map +1 -1
- package/dist/esm/queries/FindAllQuery.js +1 -0
- package/dist/esm/queries/FindAllQuery.js.map +1 -1
- package/dist/esm/queries/QueryCache.d.ts +1 -0
- package/dist/esm/queries/QueryCache.js +4 -0
- package/dist/esm/queries/QueryCache.js.map +1 -1
- package/dist/esm/queries/QueryableStorage.d.ts +20 -0
- package/dist/esm/queries/QueryableStorage.js +80 -0
- package/dist/esm/queries/QueryableStorage.js.map +1 -0
- package/dist/esm/queries/dbQueries.js +13 -3
- package/dist/esm/queries/dbQueries.js.map +1 -1
- package/dist/esm/queries/utils.js +1 -1
- package/dist/esm/queries/utils.js.map +1 -1
- package/dist/esm/sync/FileSync.d.ts +1 -0
- package/dist/esm/sync/FileSync.js +1 -0
- package/dist/esm/sync/FileSync.js.map +1 -1
- package/dist/esm/sync/PushPullSync.d.ts +2 -1
- package/dist/esm/sync/PushPullSync.js +7 -1
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/Sync.d.ts +6 -3
- package/dist/esm/sync/Sync.js +9 -4
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.d.ts +4 -1
- package/dist/esm/sync/WebSocketSync.js +41 -11
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/src/DocumentManager.ts +3 -7
- package/src/IDBService.ts +78 -17
- package/src/UndoHistory.ts +5 -3
- package/src/__tests__/batching.test.ts +5 -2
- package/src/__tests__/documents.test.ts +44 -6
- package/src/__tests__/fixtures/testStorage.ts +3 -0
- package/src/__tests__/legacyOids.test.ts +53 -17
- package/src/__tests__/mutations.test.ts +9 -3
- package/src/__tests__/queries.test.ts +6 -2
- package/src/__tests__/setup/indexedDB.ts +8 -1
- package/src/__tests__/undo.test.ts +17 -9
- package/src/client/Client.ts +8 -4
- package/src/client/ClientDescriptor.ts +24 -8
- package/src/context.ts +16 -1
- package/src/entities/2/Entity.test.ts +218 -0
- package/src/entities/2/Entity.ts +954 -0
- package/src/entities/2/EntityCache.ts +41 -0
- package/src/entities/2/EntityMetadata.ts +364 -0
- package/src/entities/2/EntityStore.ts +490 -0
- package/src/entities/2/NOTES.md +22 -0
- package/src/entities/2/OperationBatcher.ts +251 -0
- package/src/entities/2/types.ts +154 -0
- package/src/files/EntityFile.ts +9 -4
- package/src/files/FileManager.ts +5 -3
- package/src/files/FileStorage.ts +7 -13
- package/src/files/utils.ts +6 -2
- package/src/idb.ts +51 -3
- package/src/index.ts +2 -2
- package/src/metadata/AckInfoStore.ts +1 -1
- package/src/metadata/BaselinesStore.ts +16 -24
- package/src/metadata/LocalReplicaStore.ts +13 -6
- package/src/metadata/Metadata.ts +109 -24
- package/src/metadata/OperationsStore.ts +37 -16
- package/src/migration/openDatabase.ts +32 -10
- package/src/queries/BaseQuery.ts +15 -2
- package/src/queries/CollectionQueries.ts +3 -3
- package/src/queries/FindAllQuery.ts +4 -0
- package/src/queries/QueryCache.ts +5 -0
- package/src/queries/QueryableStorage.ts +107 -0
- package/src/queries/dbQueries.ts +10 -3
- package/src/queries/utils.ts +1 -1
- package/src/sync/FileSync.ts +2 -0
- package/src/sync/PushPullSync.ts +8 -1
- package/src/sync/Sync.ts +14 -6
- package/src/sync/WebSocketSync.ts +47 -10
- package/src/entities/DocumentFamiliyCache.ts +0 -426
- package/src/entities/Entity.ts +0 -874
- package/src/entities/EntityStore.ts +0 -731
|
@@ -43,8 +43,13 @@ export class ClientDescriptor {
|
|
|
43
43
|
return storage;
|
|
44
44
|
}
|
|
45
45
|
catch (err) {
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
if (err instanceof Error) {
|
|
47
|
+
this.rejectReady(err);
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
throw new Error('Unknown error initializing storage');
|
|
52
|
+
}
|
|
48
53
|
}
|
|
49
54
|
finally {
|
|
50
55
|
this._initializing = false;
|
|
@@ -66,6 +71,7 @@ export class ClientDescriptor {
|
|
|
66
71
|
undoHistory: init.undoHistory || new UndoHistory(),
|
|
67
72
|
entityEvents: new EventSubscriber(),
|
|
68
73
|
globalEvents: new EventSubscriber(),
|
|
74
|
+
internalEvents: new EventSubscriber(),
|
|
69
75
|
weakRef: (value) => {
|
|
70
76
|
if (init.EXPERIMENTAL_weakRefs) {
|
|
71
77
|
return new WeakRef(value);
|
|
@@ -74,6 +80,7 @@ export class ClientDescriptor {
|
|
|
74
80
|
return new FakeWeakRef(value);
|
|
75
81
|
}
|
|
76
82
|
},
|
|
83
|
+
migrations: init.migrations,
|
|
77
84
|
};
|
|
78
85
|
const meta = new Metadata({
|
|
79
86
|
context,
|
|
@@ -81,14 +88,17 @@ export class ClientDescriptor {
|
|
|
81
88
|
});
|
|
82
89
|
// verify schema integrity
|
|
83
90
|
await meta.updateSchema(init.schema, init.overrideSchemaConflict);
|
|
91
|
+
const contextWithNow = Object.assign(context, {
|
|
92
|
+
getNow: () => meta.now,
|
|
93
|
+
});
|
|
84
94
|
const documentDb = await openDocumentDatabase({
|
|
85
|
-
context,
|
|
95
|
+
context: contextWithNow,
|
|
86
96
|
version: init.schema.version,
|
|
87
97
|
meta,
|
|
88
98
|
migrations: init.migrations,
|
|
89
99
|
indexedDB: init.indexedDb,
|
|
90
100
|
});
|
|
91
|
-
const fullContext = Object.assign(
|
|
101
|
+
const fullContext = Object.assign(contextWithNow, { documentDb });
|
|
92
102
|
const storage = new Client({
|
|
93
103
|
syncConfig: init.sync,
|
|
94
104
|
migrations: init.migrations,
|
|
@@ -116,6 +126,7 @@ export class ClientDescriptor {
|
|
|
116
126
|
undoHistory: init.undoHistory || new UndoHistory(),
|
|
117
127
|
entityEvents: new EventSubscriber(),
|
|
118
128
|
globalEvents: new EventSubscriber(),
|
|
129
|
+
internalEvents: new EventSubscriber(),
|
|
119
130
|
weakRef: (value) => {
|
|
120
131
|
if (init.EXPERIMENTAL_weakRefs) {
|
|
121
132
|
return new WeakRef(value);
|
|
@@ -124,22 +135,26 @@ export class ClientDescriptor {
|
|
|
124
135
|
return new FakeWeakRef(value);
|
|
125
136
|
}
|
|
126
137
|
},
|
|
138
|
+
migrations: init.migrations,
|
|
127
139
|
};
|
|
128
140
|
const meta = new Metadata({
|
|
129
141
|
context,
|
|
130
142
|
disableRebasing: init.disableRebasing,
|
|
131
143
|
});
|
|
144
|
+
const contextWithNow = Object.assign(context, {
|
|
145
|
+
getNow: () => meta.now,
|
|
146
|
+
});
|
|
132
147
|
// verify schema integrity
|
|
133
148
|
await meta.updateSchema(init.schema, init.overrideSchemaConflict);
|
|
134
149
|
const documentDb = await openWIPDocumentDatabase({
|
|
135
|
-
context,
|
|
150
|
+
context: contextWithNow,
|
|
136
151
|
version: init.schema.version,
|
|
137
152
|
meta,
|
|
138
153
|
migrations: init.migrations,
|
|
139
154
|
indexedDB: init.indexedDb,
|
|
140
155
|
wipNamespace,
|
|
141
156
|
});
|
|
142
|
-
const fullContext = Object.assign(
|
|
157
|
+
const fullContext = Object.assign(contextWithNow, { documentDb });
|
|
143
158
|
const storage = new Client({
|
|
144
159
|
syncConfig: init.sync,
|
|
145
160
|
migrations: init.migrations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientDescriptor.js","sourceRoot":"","sources":["../../../src/client/ClientDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EAGf,UAAU,GACV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACN,oBAAoB,EACpB,uBAAuB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,oBAAoB,EACpB,uBAAuB,GACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACN,kBAAkB,EAClB,cAAc,EACd,8BAA8B,GAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAiDtD;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAc5B,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,YACkB,IAAgD;QAAhD,SAAI,GAAJ,IAAI,CAA4C;QAR1D,kBAAa,GAAG,KAAK,CAAC;QAiBtB,eAAU,GAAG,KAAK,EAAE,IAA6B,EAAE,EAAE;YAC5D,2EAA2E;YAC3E,kCAAkC;YAClC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrD,MAAM,IAAI,KAAK,CACd,6RAA6R,CAC7R,CAAC;aACF;YAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;gBAC9C,OAAO,IAAI,CAAC,aAAa,CAAC;aAC1B;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI;gBACH,IAAI,OAAmB,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;oBACpB,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;iBAClD;qBAAM;oBACN,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAC/C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;gBAC9B,OAAO,OAAO,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACb,IAAI,CAAC,WAAW,CAAC,GAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientDescriptor.js","sourceRoot":"","sources":["../../../src/client/ClientDescriptor.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/context.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventSubscriber, StorageSchema } from '@verdant-web/common';
|
|
1
|
+
import { EventSubscriber, Migration, ObjectIdentifier, StorageSchema } from '@verdant-web/common';
|
|
2
2
|
import { UndoHistory } from './UndoHistory.js';
|
|
3
3
|
/**
|
|
4
4
|
* Common components utilized across various client
|
|
@@ -13,6 +13,10 @@ export interface Context {
|
|
|
13
13
|
log: (...args: any[]) => void;
|
|
14
14
|
entityEvents: EventSubscriber<{
|
|
15
15
|
collectionsChanged: (names: string[]) => void;
|
|
16
|
+
documentChanged: (oid: ObjectIdentifier) => void;
|
|
17
|
+
}>;
|
|
18
|
+
internalEvents: EventSubscriber<{
|
|
19
|
+
documentDbChanged: (db: IDBDatabase) => void;
|
|
16
20
|
}>;
|
|
17
21
|
globalEvents: EventSubscriber<{
|
|
18
22
|
/**
|
|
@@ -26,4 +30,9 @@ export interface Context {
|
|
|
26
30
|
futureSeen: (timestamp: string) => void;
|
|
27
31
|
}>;
|
|
28
32
|
weakRef<T extends object>(value: T): WeakRef<T>;
|
|
33
|
+
migrations: Migration<any>[];
|
|
34
|
+
/**
|
|
35
|
+
* Get the current logical timestamp
|
|
36
|
+
*/
|
|
37
|
+
getNow(): string;
|
|
29
38
|
}
|
|
@@ -0,0 +1,148 @@
|
|
|
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, DeepPartial, 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: DeepPartial<Init>, { 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
|
+
}
|