@cratis/chronicle 0.2.1 → 0.2.2
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.
|
@@ -31,6 +31,7 @@ export declare class ReadModels implements IReadModels {
|
|
|
31
31
|
release<TReadModel>(readModelType: Constructor<TReadModel>, instance: TReadModel): Promise<TReadModel>;
|
|
32
32
|
/** @inheritdoc */
|
|
33
33
|
releaseMany<TReadModel>(readModelType: Constructor<TReadModel>, instances: TReadModel[]): Promise<TReadModel[]>;
|
|
34
|
+
private releaseSnapshotInstances;
|
|
34
35
|
private resolveReadModels;
|
|
35
36
|
private resolveReadModel;
|
|
36
37
|
private toDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadModels.d.ts","sourceRoot":"","sources":["../../readModels/ReadModels.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAa7D;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAItC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANrC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;gBAG1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB;IAK/D,kBAAkB;IACZ,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAclF,kBAAkB;IACZ,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB/H,kBAAkB;IACZ,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,UAAU,GAAE,MAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmBvI,kBAAkB;IACZ,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ReadModels.d.ts","sourceRoot":"","sources":["../../readModels/ReadModels.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAa7D;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAItC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANrC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;gBAG1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB;IAK/D,kBAAkB;IACZ,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAclF,kBAAkB;IACZ,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB/H,kBAAkB;IACZ,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,UAAU,GAAE,MAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmBvI,kBAAkB;IACZ,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;IAwBjI,kBAAkB;IACX,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAkB/G,kBAAkB;IACZ,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzH,kBAAkB;IACZ,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAqB5G,kBAAkB;IACZ,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAKvG,wBAAwB;IAStC,OAAO,CAAC,iBAAiB;IA0EzB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,cAAc;CAQzB"}
|
|
@@ -84,12 +84,16 @@ export class ReadModels {
|
|
|
84
84
|
EventSequenceId: readModel.eventSequenceId,
|
|
85
85
|
ReadModelKey: key
|
|
86
86
|
});
|
|
87
|
-
|
|
87
|
+
const snapshots = response.Snapshots.map(snapshot => ({
|
|
88
88
|
readModel: this.deserializeReadModel(readModelType, snapshot.ReadModel),
|
|
89
89
|
events: (snapshot.Events ?? []),
|
|
90
90
|
occurred: snapshot.Occurred?.Value ? new Date(snapshot.Occurred.Value) : undefined,
|
|
91
91
|
correlationId: snapshot.CorrelationId
|
|
92
92
|
}));
|
|
93
|
+
if (readModel.observerType === ContractReadModelObserverType.Reducer && this.schemaHasComplianceMetadata(readModel.schema)) {
|
|
94
|
+
return this.releaseSnapshotInstances(readModelType, snapshots);
|
|
95
|
+
}
|
|
96
|
+
return snapshots;
|
|
93
97
|
}
|
|
94
98
|
/** @inheritdoc */
|
|
95
99
|
async *watch(readModelType) {
|
|
@@ -143,6 +147,12 @@ export class ReadModels {
|
|
|
143
147
|
const releasePromises = instances.map(instance => this.release(readModelType, instance));
|
|
144
148
|
return Promise.all(releasePromises);
|
|
145
149
|
}
|
|
150
|
+
async releaseSnapshotInstances(readModelType, snapshots) {
|
|
151
|
+
return Promise.all(snapshots.map(async (snapshot) => ({
|
|
152
|
+
...snapshot,
|
|
153
|
+
readModel: await this.release(readModelType, snapshot.readModel)
|
|
154
|
+
})));
|
|
155
|
+
}
|
|
146
156
|
resolveReadModels(readModelType) {
|
|
147
157
|
const resolved = new Map();
|
|
148
158
|
for (const projectionType of this._clientArtifacts.projections) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadModels.js","sourceRoot":"","sources":["../../readModels/ReadModels.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ReadModels.js","sourceRoot":"","sources":["../../readModels/ReadModels.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/readModels/ReadModels.ts
CHANGED
|
@@ -119,12 +119,18 @@ export class ReadModels implements IReadModels {
|
|
|
119
119
|
ReadModelKey: key
|
|
120
120
|
});
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
const snapshots: ReadModelSnapshot<TReadModel>[] = response.Snapshots.map(snapshot => ({
|
|
123
123
|
readModel: this.deserializeReadModel(readModelType, snapshot.ReadModel),
|
|
124
124
|
events: (snapshot.Events ?? []) as AppendedEvent[],
|
|
125
125
|
occurred: snapshot.Occurred?.Value ? new Date(snapshot.Occurred.Value) : undefined,
|
|
126
126
|
correlationId: snapshot.CorrelationId
|
|
127
127
|
}));
|
|
128
|
+
|
|
129
|
+
if (readModel.observerType === ContractReadModelObserverType.Reducer && this.schemaHasComplianceMetadata(readModel.schema)) {
|
|
130
|
+
return this.releaseSnapshotInstances(readModelType, snapshots);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return snapshots;
|
|
128
134
|
}
|
|
129
135
|
|
|
130
136
|
/** @inheritdoc */
|
|
@@ -187,6 +193,15 @@ export class ReadModels implements IReadModels {
|
|
|
187
193
|
return Promise.all(releasePromises);
|
|
188
194
|
}
|
|
189
195
|
|
|
196
|
+
private async releaseSnapshotInstances<TReadModel>(readModelType: Constructor<TReadModel>, snapshots: ReadModelSnapshot<TReadModel>[]): Promise<ReadModelSnapshot<TReadModel>[]> {
|
|
197
|
+
return Promise.all(
|
|
198
|
+
snapshots.map(async snapshot => ({
|
|
199
|
+
...snapshot,
|
|
200
|
+
readModel: await this.release(readModelType, snapshot.readModel)
|
|
201
|
+
}))
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
|
|
190
205
|
private resolveReadModels<TReadModel>(readModelType?: Constructor<TReadModel>): ResolvedReadModel[] {
|
|
191
206
|
const resolved = new Map<string, ResolvedReadModel>();
|
|
192
207
|
|