@cratis/chronicle 6.53.0 → 6.53.1
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/projections/ProjectionDefinitionCompiler.d.ts.map +1 -1
- package/dist/projections/ProjectionDefinitionCompiler.js +22 -18
- package/dist/projections/ProjectionDefinitionCompiler.js.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +6 -4
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.js +14 -12
- package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
- package/jobs/for_Jobs/against_a_kernel/when_managing_a_replay_job.integration.spec.ts +25 -15
- package/package.json +1 -1
- package/projections/ProjectionDefinitionCompiler.ts +21 -18
- package/projections/for_ProjectionDefinitionCompiler/against_a_kernel/when_subscribing_with_from_all_events.integration.spec.ts +52 -48
- package/projections/for_ProjectionDefinitionCompiler/when_compiling_from_all_events.spec.ts +52 -25
- package/projections/for_ProjectionDefinitionCompiler/when_compiling_from_all_events.standard.spec.ts +49 -9
- package/projections/modelBound/childrenAndNestedBuilder.ts +17 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionDefinitionCompiler.d.ts","sourceRoot":"","sources":["../../projections/ProjectionDefinitionCompiler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAOjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAMpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AA8CnF,wGAAwG;AACxG,qBAAa,4BAA4B;IAOjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAR5C;;;;OAIG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,CAAC,EAAE,qBAAqB,YAAA,EAC/D;IAEJ;;;;;OAKG;IACH,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,6BAA6B,CAiC5G;IAED,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,yBAAyB;IAiCjC,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,0BAA0B;IA8ClC,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"ProjectionDefinitionCompiler.d.ts","sourceRoot":"","sources":["../../projections/ProjectionDefinitionCompiler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAOjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAMpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AA8CnF,wGAAwG;AACxG,qBAAa,4BAA4B;IAOjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAR5C;;;;OAIG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,CAAC,EAAE,qBAAqB,YAAA,EAC/D;IAEJ;;;;;OAKG;IACH,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,6BAA6B,CAiC5G;IAED,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,yBAAyB;IAiCjC,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,0BAA0B;IA8ClC,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,yBAAyB;IA8NjC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,eAAe;IAevB,yFAAyF;IACzF,OAAO,CAAC,wBAAwB;CASnC"}
|
|
@@ -275,24 +275,25 @@ export class ProjectionDefinitionCompiler {
|
|
|
275
275
|
const subscribesToAllEvents = properties.some(property => getFromAllEventsMetadata(prototype, property) !== undefined);
|
|
276
276
|
if (subscribesToAllEvents)
|
|
277
277
|
overrides.set('SubscribesToAllEvents', '@fromAllEvents');
|
|
278
|
-
|
|
279
|
-
const collectSharedMapping = (memberPrototype, property,
|
|
278
|
+
const all = { Properties: allProperties, IncludeChildren: false, AutoMap: AutoMap.Inherit };
|
|
279
|
+
const collectSharedMapping = (memberPrototype, property, destination, path) => {
|
|
280
280
|
const fromAllEvents = getFromAllEventsMetadata(memberPrototype, property);
|
|
281
|
-
|
|
282
|
-
const
|
|
283
|
-
const mapping = fromAllEvents ?? fromEvery ?? (isRoot ? getFromAllMetadata(memberPrototype, property) : undefined);
|
|
281
|
+
const fromEvery = getFromEveryMetadata(memberPrototype, property);
|
|
282
|
+
const mapping = fromAllEvents ?? fromEvery ?? (path === 'All' ? getFromAllMetadata(memberPrototype, property) : undefined);
|
|
284
283
|
if (!mapping)
|
|
285
284
|
return;
|
|
285
|
+
const declaration = fromAllEvents ? '@fromAllEvents' : fromEvery ? '@fromEvery' : '@fromAll';
|
|
286
286
|
if (fromAllEvents) {
|
|
287
|
-
|
|
288
|
-
overrides.set(
|
|
287
|
+
destination.IncludeChildren = true;
|
|
288
|
+
overrides.set(path, declaration);
|
|
289
289
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
290
|
+
else if (path !== 'All' && !overrides.has(path)) {
|
|
291
|
+
overrides.set(path, declaration);
|
|
292
|
+
}
|
|
293
|
+
destination.Properties[property] = mapping.contextProperty
|
|
293
294
|
? eventContextPropertyExpression(mapping.contextProperty)
|
|
294
295
|
: (mapping.property ?? property);
|
|
295
|
-
overrides.set(
|
|
296
|
+
overrides.set(`${path}.Properties.${property}`, declaration);
|
|
296
297
|
};
|
|
297
298
|
const fromEvents = getFromEventMetadata(type);
|
|
298
299
|
for (const fromEvent of fromEvents) {
|
|
@@ -379,7 +380,7 @@ export class ProjectionDefinitionCompiler {
|
|
|
379
380
|
overrides.set(`${eventContractPath('From', toContractEventType(clearWith.eventType))}.Properties.${property}`, '@clearWith');
|
|
380
381
|
}
|
|
381
382
|
}
|
|
382
|
-
collectSharedMapping(prototype, property,
|
|
383
|
+
collectSharedMapping(prototype, property, all, 'All');
|
|
383
384
|
}
|
|
384
385
|
let from = Array.from(fromByEventType.values());
|
|
385
386
|
let join = Array.from(joinByEventType.values());
|
|
@@ -434,11 +435,7 @@ export class ProjectionDefinitionCompiler {
|
|
|
434
435
|
Join: join,
|
|
435
436
|
Children: childrenByProperty,
|
|
436
437
|
FromEvery: [],
|
|
437
|
-
All:
|
|
438
|
-
Properties: allProperties,
|
|
439
|
-
IncludeChildren: includeChildren,
|
|
440
|
-
AutoMap: AutoMap.Inherit
|
|
441
|
-
},
|
|
438
|
+
All: all,
|
|
442
439
|
...(subscribesToAllEvents ? { SubscribesToAllEvents: true } : {}),
|
|
443
440
|
RemovedWith: Array.from(removedWithByEventType.values()),
|
|
444
441
|
RemovedWithJoin: Array.from(removedWithJoinByEventType.values()),
|
|
@@ -449,7 +446,14 @@ export class ProjectionDefinitionCompiler {
|
|
|
449
446
|
Nested: nestedByProperty
|
|
450
447
|
};
|
|
451
448
|
const provenance = captureProjectionProvenance({ ...definition, From: preLoweringFrom, Join: preLoweringJoin }, true, overrides);
|
|
452
|
-
|
|
449
|
+
// The shared provenance reader captures root capabilities only; preserve the
|
|
450
|
+
// declaring level for child/nested all-event diagnostics collected above.
|
|
451
|
+
for (const [contractPath, declaration] of overrides) {
|
|
452
|
+
if (contractPath.startsWith('Children.') || contractPath.startsWith('Nested.')) {
|
|
453
|
+
provenance.push({ contractPath, declaration });
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
if (!all.IncludeChildren && Object.keys(allProperties).length && Object.keys(allProperties).every(property => getFromAllMetadata(prototype, property) && !getFromEveryMetadata(prototype, property))) {
|
|
453
457
|
const index = provenance.findIndex(entry => entry.contractPath === 'All');
|
|
454
458
|
if (index >= 0)
|
|
455
459
|
provenance[index] = { contractPath: 'All', declaration: '@fromAll' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionDefinitionCompiler.js","sourceRoot":"","sources":["../../projections/ProjectionDefinitionCompiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectionDefinitionCompiler.js","sourceRoot":"","sources":["../../projections/ProjectionDefinitionCompiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,16 +98,18 @@ export declare function resolveNestedType(type: Function, property: string): Fun
|
|
|
98
98
|
* @param type - The class declaring the property.
|
|
99
99
|
* @param property - The property name.
|
|
100
100
|
* @param metadataList - The `@childrenFrom` metadata entries declared on the property (one per creating event type).
|
|
101
|
-
* @param collectSharedMapping - Collects member mappings into
|
|
101
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
102
|
+
* @param path - The contract path of this children definition.
|
|
102
103
|
* @returns The wire-shaped children definition.
|
|
103
104
|
*/
|
|
104
|
-
export declare function buildChildrenEntry(type: Function, property: string, metadataList: ChildrenFromMetadata[], collectSharedMapping?: (prototype: object, property: string) => void): ChildrenDefinitionLike;
|
|
105
|
+
export declare function buildChildrenEntry(type: Function, property: string, metadataList: ChildrenFromMetadata[], collectSharedMapping?: (prototype: object, property: string, all: ChildrenDefinitionLike['All'], path: string) => void, path?: string): ChildrenDefinitionLike;
|
|
105
106
|
/**
|
|
106
107
|
* Builds the `ChildrenDefinition` for a `@nested` single-object property.
|
|
107
108
|
* @param type - The class declaring the property.
|
|
108
109
|
* @param property - The property name.
|
|
109
|
-
* @param collectSharedMapping - Collects member mappings into
|
|
110
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
111
|
+
* @param path - The contract path of this nested definition.
|
|
110
112
|
* @returns The wire-shaped nested definition.
|
|
111
113
|
*/
|
|
112
|
-
export declare function buildNestedEntry(type: Function, property: string, collectSharedMapping?: (prototype: object, property: string) => void): ChildrenDefinitionLike;
|
|
114
|
+
export declare function buildNestedEntry(type: Function, property: string, collectSharedMapping?: (prototype: object, property: string, all: ChildrenDefinitionLike['All'], path: string) => void, path?: string): ChildrenDefinitionLike;
|
|
113
115
|
//# sourceMappingURL=childrenAndNestedBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childrenAndNestedBuilder.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/childrenAndNestedBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,OAAO,EAAE,oBAAoB,EAA2B,MAAM,mBAAmB,CAAC;AAelF,yFAAyF;AACzF,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvF,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjD,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,eAAe,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACxF,WAAW,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC1F,eAAe,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC/C,mBAAmB,EAAE,MAAM,EAAE,CAAC;CACjC;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,oBAAoB,EAAE,QAAQ,GAAG,iBAAiB,CAUrF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,oBAAoB,EAAE,QAAQ,GAAG,UAAU,CAWpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI,CAiDzH;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAG9F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAaxF;
|
|
1
|
+
{"version":3,"file":"childrenAndNestedBuilder.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/childrenAndNestedBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -189,9 +189,10 @@ function discoverIdentifiedBy(childType, eventKey) {
|
|
|
189
189
|
* `@childrenFrom`/`@nested` properties the child/nested type itself declares.
|
|
190
190
|
* @param definition - The children definition being populated.
|
|
191
191
|
* @param childType - The resolved child/nested type, when available.
|
|
192
|
-
* @param
|
|
192
|
+
* @param path - The contract path of this child or nested definition.
|
|
193
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
193
194
|
*/
|
|
194
|
-
function populateFromType(definition, childType, collectSharedMapping) {
|
|
195
|
+
function populateFromType(definition, childType, path, collectSharedMapping) {
|
|
195
196
|
if (!childType) {
|
|
196
197
|
return;
|
|
197
198
|
}
|
|
@@ -224,9 +225,8 @@ function populateFromType(definition, childType, collectSharedMapping) {
|
|
|
224
225
|
}
|
|
225
226
|
const prototype = childType.prototype;
|
|
226
227
|
const properties = TypeIntrospector.getTrackedProperties(childType);
|
|
227
|
-
// Like .NET, collect this type's members before descending into its children.
|
|
228
228
|
for (const property of properties)
|
|
229
|
-
collectSharedMapping?.(prototype, property);
|
|
229
|
+
collectSharedMapping?.(prototype, property, definition.All, `${path}.All`);
|
|
230
230
|
for (const property of properties) {
|
|
231
231
|
applyPropertyMappings(prototype, property, fromByEventType);
|
|
232
232
|
// A clear on the member carrying @nested removes that nested object; a clear on
|
|
@@ -247,10 +247,10 @@ function populateFromType(definition, childType, collectSharedMapping) {
|
|
|
247
247
|
}
|
|
248
248
|
const childrenFromList = getChildrenFromMetadata(prototype, property);
|
|
249
249
|
if (childrenFromList.length > 0) {
|
|
250
|
-
definition.Children[property] = buildChildrenEntry(childType, property, childrenFromList, collectSharedMapping);
|
|
250
|
+
definition.Children[property] = buildChildrenEntry(childType, property, childrenFromList, collectSharedMapping, `${path}.Children.${property}`);
|
|
251
251
|
}
|
|
252
252
|
if (isNested(prototype, property)) {
|
|
253
|
-
definition.Nested[property] = buildNestedEntry(childType, property, collectSharedMapping);
|
|
253
|
+
definition.Nested[property] = buildNestedEntry(childType, property, collectSharedMapping, `${path}.Nested.${property}`);
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
definition.From = Array.from(fromByEventType.values());
|
|
@@ -262,10 +262,11 @@ function populateFromType(definition, childType, collectSharedMapping) {
|
|
|
262
262
|
* @param type - The class declaring the property.
|
|
263
263
|
* @param property - The property name.
|
|
264
264
|
* @param metadataList - The `@childrenFrom` metadata entries declared on the property (one per creating event type).
|
|
265
|
-
* @param collectSharedMapping - Collects member mappings into
|
|
265
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
266
|
+
* @param path - The contract path of this children definition.
|
|
266
267
|
* @returns The wire-shaped children definition.
|
|
267
268
|
*/
|
|
268
|
-
export function buildChildrenEntry(type, property, metadataList, collectSharedMapping) {
|
|
269
|
+
export function buildChildrenEntry(type, property, metadataList, collectSharedMapping, path = `Children.${property}`) {
|
|
269
270
|
const childType = resolveChildElementType(type, property);
|
|
270
271
|
const definition = createEmptyChildrenDefinition(type, childType);
|
|
271
272
|
const explicitIdentifiedBy = metadataList.find(metadata => metadata.identifiedBy)?.identifiedBy;
|
|
@@ -281,7 +282,7 @@ export function buildChildrenEntry(type, property, metadataList, collectSharedMa
|
|
|
281
282
|
}
|
|
282
283
|
});
|
|
283
284
|
}
|
|
284
|
-
populateFromType(definition, childType, collectSharedMapping);
|
|
285
|
+
populateFromType(definition, childType, path, collectSharedMapping);
|
|
285
286
|
// For non-aggregate-only creating events, populate an unmapped child identifier from
|
|
286
287
|
// the creating event's key. IdentifiedBy selects the child property; it is not itself
|
|
287
288
|
// a property mapping. TypeScript has no [Key] decorator, so an explicit identifiedBy
|
|
@@ -320,10 +321,11 @@ export function buildChildrenEntry(type, property, metadataList, collectSharedMa
|
|
|
320
321
|
* Builds the `ChildrenDefinition` for a `@nested` single-object property.
|
|
321
322
|
* @param type - The class declaring the property.
|
|
322
323
|
* @param property - The property name.
|
|
323
|
-
* @param collectSharedMapping - Collects member mappings into
|
|
324
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
325
|
+
* @param path - The contract path of this nested definition.
|
|
324
326
|
* @returns The wire-shaped nested definition.
|
|
325
327
|
*/
|
|
326
|
-
export function buildNestedEntry(type, property, collectSharedMapping) {
|
|
328
|
+
export function buildNestedEntry(type, property, collectSharedMapping, path = `Nested.${property}`) {
|
|
327
329
|
const nestedType = resolveNestedType(type, property);
|
|
328
330
|
const definition = createEmptyChildrenDefinition(type, nestedType);
|
|
329
331
|
definition.IdentifiedBy = notSetPropertyPath;
|
|
@@ -333,7 +335,7 @@ export function buildNestedEntry(type, property, collectSharedMapping) {
|
|
|
333
335
|
const eventType = toContractEventType(clearWith.eventType);
|
|
334
336
|
definition.RemovedWith.push({ Key: eventType, Value: { Key: '$eventSourceId', ParentKey: '' } });
|
|
335
337
|
}
|
|
336
|
-
populateFromType(definition, nestedType, collectSharedMapping);
|
|
338
|
+
populateFromType(definition, nestedType, path, collectSharedMapping);
|
|
337
339
|
return definition;
|
|
338
340
|
}
|
|
339
341
|
//# sourceMappingURL=childrenAndNestedBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childrenAndNestedBuilder.js","sourceRoot":"","sources":["../../../projections/modelBound/childrenAndNestedBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"childrenAndNestedBuilder.js","sourceRoot":"","sources":["../../../projections/modelBound/childrenAndNestedBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,18 +68,18 @@ describe.skipIf(!connectionString && !process.env.CI)('when managing a replay jo
|
|
|
68
68
|
let stopUnknownJob: unknown;
|
|
69
69
|
let deleteUnknownJob: unknown;
|
|
70
70
|
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// Readiness (30s)
|
|
71
|
+
const observerRequest = {
|
|
72
|
+
EventStore: storeName,
|
|
73
|
+
Namespace: 'Default',
|
|
74
|
+
ObserverId: 'Item',
|
|
75
|
+
EventSequenceId: 'event-log'
|
|
76
|
+
};
|
|
77
|
+
const waitForActiveObserver = () => eventually(
|
|
78
|
+
() => connection.observers.getObserverInformation(observerRequest),
|
|
79
|
+
observer => observer.IsSubscribed && observer.RunningState === ObserverRunningState.Active,
|
|
80
|
+
30_000);
|
|
81
|
+
|
|
82
|
+
// Readiness (30s), append completion (90s), and job-state waits (90s) leave 30s for RPC overhead.
|
|
83
83
|
beforeAll(async () => {
|
|
84
84
|
client = new ChronicleClient(ChronicleOptions.fromConnectionString(connectionString!, {
|
|
85
85
|
discoveryPatterns: [],
|
|
@@ -96,8 +96,18 @@ describe.skipIf(!connectionString && !process.env.CI)('when managing a replay jo
|
|
|
96
96
|
eventSourceId: randomUUID(),
|
|
97
97
|
event: Object.assign(new ItemAdded(), { name: `Item ${index}` })
|
|
98
98
|
})));
|
|
99
|
-
// ReplayForModel uses Observer.Replay too; wait for
|
|
100
|
-
|
|
99
|
+
// ReplayForModel uses Observer.Replay too; wait for the kernel's completion signal before requesting it.
|
|
100
|
+
appended.every(_ => _.isSuccess).should.equal(true, 'All 500 events must append before waiting for observers');
|
|
101
|
+
const lastAppend = appended.at(-1)!;
|
|
102
|
+
try {
|
|
103
|
+
const completion = await lastAppend.waitForCompletion(90_000);
|
|
104
|
+
completion.isSuccess.should.equal(true, `Observer completion failed: ${JSON.stringify(completion.failedPartitions)}`);
|
|
105
|
+
} catch (error) {
|
|
106
|
+
const lastState = await connection.observers.getObserverInformation(observerRequest, { signal: AbortSignal.timeout(5_000) })
|
|
107
|
+
.then(observer => `subscribed=${observer.IsSubscribed}, runningState=${observer.RunningState}, lastHandled=${observer.LastHandledEventSequenceNumber}`)
|
|
108
|
+
.catch((diagnosticError: unknown) => `observer state unavailable: ${String(diagnosticError)}`);
|
|
109
|
+
throw new Error(`Waiting for Item to finish handling the 500 appended events failed; ${lastState}`, { cause: error });
|
|
110
|
+
}
|
|
101
111
|
|
|
102
112
|
jobId = await store.projections.replayForModel(Item);
|
|
103
113
|
|
|
@@ -118,7 +128,7 @@ describe.skipIf(!connectionString && !process.env.CI)('when managing a replay jo
|
|
|
118
128
|
|
|
119
129
|
stopUnknownJob = await store.jobs.stop(randomUUID()).catch((error: unknown) => error);
|
|
120
130
|
deleteUnknownJob = await store.jobs.delete(randomUUID()).catch((error: unknown) => error);
|
|
121
|
-
},
|
|
131
|
+
}, 240_000);
|
|
122
132
|
|
|
123
133
|
afterAll(() => client?.dispose());
|
|
124
134
|
|
package/package.json
CHANGED
|
@@ -294,23 +294,23 @@ export class ProjectionDefinitionCompiler {
|
|
|
294
294
|
const allProperties: Record<string, string> = {};
|
|
295
295
|
const subscribesToAllEvents = properties.some(property => getFromAllEventsMetadata(prototype, property) !== undefined);
|
|
296
296
|
if (subscribesToAllEvents) overrides.set('SubscribesToAllEvents', '@fromAllEvents');
|
|
297
|
-
|
|
298
|
-
const collectSharedMapping = (memberPrototype: object, property: string,
|
|
297
|
+
const all = { Properties: allProperties, IncludeChildren: false, AutoMap: AutoMap.Inherit };
|
|
298
|
+
const collectSharedMapping = (memberPrototype: object, property: string, destination: ChildrenDefinitionLike['All'], path: string) => {
|
|
299
299
|
const fromAllEvents = getFromAllEventsMetadata(memberPrototype, property);
|
|
300
|
-
|
|
301
|
-
const
|
|
302
|
-
const mapping = fromAllEvents ?? fromEvery ?? (isRoot ? getFromAllMetadata(memberPrototype, property) : undefined);
|
|
300
|
+
const fromEvery = getFromEveryMetadata(memberPrototype, property);
|
|
301
|
+
const mapping = fromAllEvents ?? fromEvery ?? (path === 'All' ? getFromAllMetadata(memberPrototype, property) : undefined);
|
|
303
302
|
if (!mapping) return;
|
|
303
|
+
const declaration = fromAllEvents ? '@fromAllEvents' : fromEvery ? '@fromEvery' : '@fromAll';
|
|
304
304
|
if (fromAllEvents) {
|
|
305
|
-
|
|
306
|
-
overrides.set(
|
|
305
|
+
destination.IncludeChildren = true;
|
|
306
|
+
overrides.set(path, declaration);
|
|
307
|
+
} else if (path !== 'All' && !overrides.has(path)) {
|
|
308
|
+
overrides.set(path, declaration);
|
|
307
309
|
}
|
|
308
|
-
|
|
309
|
-
// not by a path prefixed with the containing collection or nested property.
|
|
310
|
-
allProperties[property] = mapping.contextProperty
|
|
310
|
+
destination.Properties[property] = mapping.contextProperty
|
|
311
311
|
? eventContextPropertyExpression(mapping.contextProperty)
|
|
312
312
|
: (mapping.property ?? property);
|
|
313
|
-
overrides.set(
|
|
313
|
+
overrides.set(`${path}.Properties.${property}`, declaration);
|
|
314
314
|
};
|
|
315
315
|
|
|
316
316
|
const fromEvents = getFromEventMetadata(type);
|
|
@@ -400,7 +400,7 @@ export class ProjectionDefinitionCompiler {
|
|
|
400
400
|
overrides.set(`${eventContractPath('From', toContractEventType(clearWith.eventType))}.Properties.${property}`, '@clearWith');
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
collectSharedMapping(prototype, property,
|
|
403
|
+
collectSharedMapping(prototype, property, all, 'All');
|
|
404
404
|
}
|
|
405
405
|
|
|
406
406
|
let from = Array.from(fromByEventType.values());
|
|
@@ -457,11 +457,7 @@ export class ProjectionDefinitionCompiler {
|
|
|
457
457
|
Join: join,
|
|
458
458
|
Children: childrenByProperty,
|
|
459
459
|
FromEvery: [],
|
|
460
|
-
All:
|
|
461
|
-
Properties: allProperties,
|
|
462
|
-
IncludeChildren: includeChildren,
|
|
463
|
-
AutoMap: AutoMap.Inherit
|
|
464
|
-
},
|
|
460
|
+
All: all,
|
|
465
461
|
...(subscribesToAllEvents ? { SubscribesToAllEvents: true } : {}),
|
|
466
462
|
RemovedWith: Array.from(removedWithByEventType.values()),
|
|
467
463
|
RemovedWithJoin: Array.from(removedWithJoinByEventType.values()),
|
|
@@ -472,7 +468,14 @@ export class ProjectionDefinitionCompiler {
|
|
|
472
468
|
Nested: nestedByProperty
|
|
473
469
|
};
|
|
474
470
|
const provenance = captureProjectionProvenance({ ...definition, From: preLoweringFrom, Join: preLoweringJoin }, true, overrides);
|
|
475
|
-
|
|
471
|
+
// The shared provenance reader captures root capabilities only; preserve the
|
|
472
|
+
// declaring level for child/nested all-event diagnostics collected above.
|
|
473
|
+
for (const [contractPath, declaration] of overrides) {
|
|
474
|
+
if (contractPath.startsWith('Children.') || contractPath.startsWith('Nested.')) {
|
|
475
|
+
provenance.push({ contractPath, declaration });
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (!all.IncludeChildren && Object.keys(allProperties).length && Object.keys(allProperties).every(property =>
|
|
476
479
|
getFromAllMetadata(prototype, property) && !getFromEveryMetadata(prototype, property))) {
|
|
477
480
|
const index = provenance.findIndex(entry => entry.contractPath === 'All');
|
|
478
481
|
if (index >= 0) provenance[index] = { contractPath: 'All', declaration: '@fromAll' };
|
|
@@ -65,8 +65,8 @@ class AllWithChildMappings {
|
|
|
65
65
|
@field(Array, { genericArguments: [AllMappedChild] }) @childrenFrom(ChildAdded, 'childId') children: AllMappedChild[] = [];
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
//
|
|
69
|
-
//
|
|
68
|
+
// The root fromEvery mapping handles ChildAdded only because the root explicitly
|
|
69
|
+
// subscribes to it; the child's All mapping belongs to the child independently.
|
|
70
70
|
@fromEvent(Started)
|
|
71
71
|
@fromEvent(ChildAdded)
|
|
72
72
|
class ChildOnlyMappings {
|
|
@@ -81,20 +81,6 @@ const artifacts: IClientArtifactsProvider = {
|
|
|
81
81
|
eventTypeMigrations: [], globalForHandlers: []
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
-
async function eventually<T>(read: () => Promise<T>, accept: (value: T) => boolean): Promise<T> {
|
|
85
|
-
const deadline = Date.now() + 20_000;
|
|
86
|
-
let value = await read();
|
|
87
|
-
while (!accept(value)) {
|
|
88
|
-
if (Date.now() > deadline) {
|
|
89
|
-
const state = JSON.stringify(value, (_key, member: unknown) => typeof member === 'bigint' ? member.toString() : member);
|
|
90
|
-
throw new Error(`Timed out waiting for the projected state: ${state}`);
|
|
91
|
-
}
|
|
92
|
-
await new Promise(resolve => setTimeout(resolve, 100));
|
|
93
|
-
value = await read();
|
|
94
|
-
}
|
|
95
|
-
return value;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
84
|
describe.skipIf(!connectionString && !process.env.CI)('when opting into fromAllEvents against a kernel', () => {
|
|
99
85
|
const knownSource = randomUUID();
|
|
100
86
|
const unrelatedSource = randomUUID();
|
|
@@ -111,25 +97,32 @@ describe.skipIf(!connectionString && !process.env.CI)('when opting into fromAllE
|
|
|
111
97
|
let allAfterUnrelated: AllWithChildren | null;
|
|
112
98
|
let restrictedAfterUnrelated: RestrictedWithChildren | null;
|
|
113
99
|
let allChildMappingsAfterChild: AllWithChildMappings | null;
|
|
100
|
+
let allChildMappingsAfterUpdate: AllWithChildMappings | null;
|
|
114
101
|
let childOnlyAfterChild: ChildOnlyMappings | null;
|
|
115
102
|
let childOnlyAfterUnrelated: ChildOnlyMappings | null;
|
|
116
103
|
let unrelatedChildOnly: ChildOnlyMappings | null;
|
|
117
104
|
|
|
118
|
-
async function append(source: string, event: object): Promise<bigint> {
|
|
105
|
+
async function append(source: string, event: object, waitForObservers = true): Promise<bigint> {
|
|
119
106
|
const result = await store.eventLog.append(source, event);
|
|
120
107
|
result.isSuccess.should.be.true;
|
|
108
|
+
if (waitForObservers) {
|
|
109
|
+
const completion = await result.waitForCompletion(20_000);
|
|
110
|
+
completion.isSuccess.should.equal(true, `Observer completion failed: ${JSON.stringify(completion.failedPartitions)}`);
|
|
111
|
+
}
|
|
121
112
|
return result.sequenceNumber.value;
|
|
122
113
|
}
|
|
123
114
|
|
|
124
115
|
async function waitForObserver(observerId: string, sequenceNumber: bigint): Promise<void> {
|
|
125
116
|
const connection = (store as unknown as { _connection: ChronicleConnection })._connection;
|
|
126
|
-
|
|
117
|
+
const observer = await connection.observers.getObserverInformation({
|
|
127
118
|
EventStore: storeName,
|
|
128
119
|
Namespace: 'Default',
|
|
129
120
|
ObserverId: observerId,
|
|
130
121
|
EventSequenceId: 'event-log'
|
|
131
|
-
}
|
|
132
|
-
|
|
122
|
+
}, { signal: AbortSignal.timeout(5_000) });
|
|
123
|
+
observer.IsSubscribed.should.equal(true, `${observerId} must be subscribed`);
|
|
124
|
+
observer.RunningState.should.equal(ObserverRunningState.Active);
|
|
125
|
+
(observer.LastHandledEventSequenceNumber >= sequenceNumber).should.equal(true, `${observerId} must have handled ${sequenceNumber}`);
|
|
133
126
|
}
|
|
134
127
|
|
|
135
128
|
beforeAll(async () => {
|
|
@@ -138,27 +131,33 @@ describe.skipIf(!connectionString && !process.env.CI)('when opting into fromAllE
|
|
|
138
131
|
}));
|
|
139
132
|
store = await client.getEventStore(storeName);
|
|
140
133
|
|
|
141
|
-
await append(knownSource, Object.assign(new Started(), { value: 'started' }));
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
await append(knownSource, Object.assign(new ChildAdded(), { childId: 'child-one', value: 'child-value' }));
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
await
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
await
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
//
|
|
158
|
-
//
|
|
134
|
+
const startedSequenceNumber = await append(knownSource, Object.assign(new Started(), { value: 'started' }));
|
|
135
|
+
await waitForObserver('AllWithChildren', startedSequenceNumber);
|
|
136
|
+
allAfterStarted = await store.readModels.findInstanceById(AllWithChildren, knownSource);
|
|
137
|
+
const childSequenceNumber = await append(knownSource, Object.assign(new ChildAdded(), { childId: 'child-one', value: 'child-value' }));
|
|
138
|
+
for (const observerId of ['AllWithChildren', 'RestrictedWithChildren', 'ChildOnlyMappings', 'AllWithChildMappings']) {
|
|
139
|
+
await waitForObserver(observerId, childSequenceNumber);
|
|
140
|
+
}
|
|
141
|
+
allAfterChild = await store.readModels.findInstanceById(AllWithChildren, knownSource);
|
|
142
|
+
restrictedAfterChild = await store.readModels.findInstanceById(RestrictedWithChildren, knownSource);
|
|
143
|
+
childOnlyAfterChild = await store.readModels.findInstanceById(ChildOnlyMappings, knownSource);
|
|
144
|
+
allChildMappingsAfterChild = await store.readModels.findInstanceById(AllWithChildMappings, knownSource);
|
|
145
|
+
|
|
146
|
+
const updatedSequenceNumber = await append(knownSource, Object.assign(new ChildAdded(), { childId: 'child-one', value: 'updated-child-value' }));
|
|
147
|
+
await waitForObserver('AllWithChildMappings', updatedSequenceNumber);
|
|
148
|
+
allChildMappingsAfterUpdate = await store.readModels.findInstanceById(AllWithChildMappings, knownSource);
|
|
149
|
+
|
|
150
|
+
// This client's completion request carries only a global tail, so restricted
|
|
151
|
+
// observers cannot complete an unrelated append until a subscribed sentinel follows.
|
|
152
|
+
await append(knownSource, Object.assign(new Unrelated(), { marker: 'no-value' }), false);
|
|
153
|
+
await append(unrelatedSource, Object.assign(new Unrelated(), { marker: 'new-source' }), false);
|
|
159
154
|
const sentinelSequenceNumber = await append(sentinelSource, Object.assign(new Started(), { value: 'sentinel' }));
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
for (const observerId of ['AllOnly', 'AllWithChildren', 'RestrictedWithChildren', 'ChildOnlyMappings']) {
|
|
156
|
+
await waitForObserver(observerId, sentinelSequenceNumber);
|
|
157
|
+
}
|
|
158
|
+
allAfterUnrelated = await store.readModels.findInstanceById(AllWithChildren, knownSource);
|
|
159
|
+
allOnly = await store.readModels.findInstanceById(AllOnly, unrelatedSource);
|
|
160
|
+
unrelatedAll = await store.readModels.findInstanceById(AllWithChildren, unrelatedSource);
|
|
162
161
|
restrictedAfterUnrelated = await store.readModels.findInstanceById(RestrictedWithChildren, knownSource);
|
|
163
162
|
unrelatedRestricted = await store.readModels.findInstanceById(RestrictedWithChildren, unrelatedSource);
|
|
164
163
|
childOnlyAfterUnrelated = await store.readModels.findInstanceById(ChildOnlyMappings, knownSource);
|
|
@@ -173,10 +172,11 @@ describe.skipIf(!connectionString && !process.env.CI)('when opting into fromAllE
|
|
|
173
172
|
(unrelatedRestricted === null).should.be.true;
|
|
174
173
|
});
|
|
175
174
|
it('should give the explicit all-event mapping precedence over fromEvery', () => allAfterStarted!.lastValue.should.equal('started'));
|
|
176
|
-
it('should
|
|
175
|
+
it('should update the root on a child event without copying its mapping into the child', () => {
|
|
176
|
+
allAfterChild!.lastValue.should.equal('child-value');
|
|
177
177
|
allAfterChild!.children.should.have.lengthOf(1);
|
|
178
178
|
allAfterChild!.children[0].id.should.equal('child-one');
|
|
179
|
-
allAfterChild!.children[0].lastValue.should.equal('
|
|
179
|
+
allAfterChild!.children[0].lastValue.should.equal('');
|
|
180
180
|
});
|
|
181
181
|
it('should not propagate the deprecated restricted alias mapping to children', () => {
|
|
182
182
|
restrictedAfterChild!.children.should.have.lengthOf(1);
|
|
@@ -186,17 +186,21 @@ describe.skipIf(!connectionString && !process.env.CI)('when opting into fromAllE
|
|
|
186
186
|
allAfterUnrelated!.lastValue.should.equal('');
|
|
187
187
|
});
|
|
188
188
|
it('should leave the restricted alias unchanged on an unrelated event', () => restrictedAfterUnrelated!.lastValue.should.equal(restrictedAfterChild!.lastValue));
|
|
189
|
-
it('should apply a child-declared
|
|
189
|
+
it('should apply a child-declared mapping on creation without changing an unmapped same-named root property', () => {
|
|
190
190
|
allChildMappingsAfterChild!.children[0].lastValue.should.equal('child-value');
|
|
191
|
-
|
|
192
|
-
allChildMappingsAfterChild!.lastValue.should.equal('
|
|
191
|
+
allChildMappingsAfterChild!.source.should.equal(knownSource);
|
|
192
|
+
allChildMappingsAfterChild!.lastValue.should.equal('');
|
|
193
|
+
});
|
|
194
|
+
it('should update the existing child through its own All mapping on subsequent child events', () => {
|
|
195
|
+
allChildMappingsAfterUpdate!.children.should.have.lengthOf(1);
|
|
196
|
+
allChildMappingsAfterUpdate!.children[0].lastValue.should.equal('updated-child-value');
|
|
197
|
+
allChildMappingsAfterUpdate!.lastValue.should.equal('');
|
|
193
198
|
});
|
|
194
199
|
it('should keep the root subscription restricted when only the child declares fromAllEvents', () => {
|
|
195
200
|
childOnlyAfterChild!.rootValue.should.equal('child-value');
|
|
196
201
|
childOnlyAfterChild!.children[0].id.should.equal('child-one');
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
childOnlyAfterUnrelated!.rootValue.should.equal('child-value');
|
|
202
|
+
childOnlyAfterChild!.children[0].lastValue.should.equal('child-value');
|
|
203
|
+
childOnlyAfterUnrelated!.rootValue.should.equal('updated-child-value');
|
|
200
204
|
(unrelatedChildOnly === null).should.be.true;
|
|
201
205
|
});
|
|
202
206
|
});
|
|
@@ -116,13 +116,13 @@ describe('when compiling fromAllEvents on a child model', () => {
|
|
|
116
116
|
(definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
117
117
|
('SubscribesToAllEvents' in definition.Children.items).should.be.false;
|
|
118
118
|
});
|
|
119
|
-
it('should collect the
|
|
119
|
+
it('should collect the mapping only in the owning child All with its full diagnostic path', () => {
|
|
120
120
|
const { compiled, definition } = compileModelBound(Parent);
|
|
121
|
-
definition.All!.should.deep.equal({ Properties: {
|
|
122
|
-
definition.Children.items.All!.
|
|
121
|
+
definition.All!.should.deep.equal({ Properties: {}, IncludeChildren: false, AutoMap: 0 });
|
|
122
|
+
definition.Children.items.All!.should.deep.equal({ Properties: { title: 'name' }, IncludeChildren: true, AutoMap: 0 });
|
|
123
123
|
compiled.provenance.get(definition)!.should.include.deep.members([
|
|
124
|
-
{ contractPath: 'All', declaration: '@fromAllEvents' },
|
|
125
|
-
{ contractPath: 'All.Properties.title', declaration: '@fromAllEvents' }
|
|
124
|
+
{ contractPath: 'Children.items.All', declaration: '@fromAllEvents' },
|
|
125
|
+
{ contractPath: 'Children.items.All.Properties.title', declaration: '@fromAllEvents' }
|
|
126
126
|
]);
|
|
127
127
|
});
|
|
128
128
|
it('should emit the subscription only at the root when the parent opts in', () => {
|
|
@@ -131,17 +131,26 @@ describe('when compiling fromAllEvents on a child model', () => {
|
|
|
131
131
|
const { definition } = compileModelBound(AllParent);
|
|
132
132
|
definition.SubscribesToAllEvents.should.be.true;
|
|
133
133
|
definition.All!.should.deep.equal({
|
|
134
|
-
Properties: { source: '$eventContext(EventSourceId)'
|
|
134
|
+
Properties: { source: '$eventContext(EventSourceId)' }, IncludeChildren: true, AutoMap: 0
|
|
135
135
|
});
|
|
136
136
|
('SubscribesToAllEvents' in definition.Children.items).should.be.false;
|
|
137
137
|
});
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
138
|
+
for (const childFirst of [true, false]) {
|
|
139
|
+
it(`should keep same-named root and child sources independent with child declared ${childFirst ? 'first' : 'last'}`, () => {
|
|
140
|
+
class AllParent { title = ''; items: Child[] = []; }
|
|
141
|
+
const declareChild = () => {
|
|
142
|
+
field(Array, { genericArguments: [Child] })(AllParent.prototype, 'items');
|
|
143
|
+
childrenFrom(Added, 'id')(AllParent.prototype, 'items');
|
|
144
|
+
};
|
|
145
|
+
if (childFirst) declareChild();
|
|
146
|
+
field(String)(AllParent.prototype, 'title');
|
|
147
|
+
fromAllEvents('rootName')(AllParent.prototype, 'title');
|
|
148
|
+
if (!childFirst) declareChild();
|
|
149
|
+
const { definition } = compileModelBound(AllParent);
|
|
150
|
+
definition.All!.Properties.should.deep.equal({ title: 'rootName' });
|
|
151
|
+
definition.Children.items.All!.Properties.should.deep.equal({ title: 'name' });
|
|
152
|
+
});
|
|
153
|
+
}
|
|
145
154
|
});
|
|
146
155
|
|
|
147
156
|
describe('when compiling fromAllEvents on nested and inherited child models', () => {
|
|
@@ -172,16 +181,35 @@ describe('when compiling fromAllEvents on nested and inherited child models', ()
|
|
|
172
181
|
field(Detail)(Parent.prototype, 'detail');
|
|
173
182
|
nested(Parent.prototype, 'detail');
|
|
174
183
|
|
|
175
|
-
it('should
|
|
176
|
-
const { definition } = compileModelBound(Parent);
|
|
177
|
-
definition.All!.should.deep.equal({
|
|
178
|
-
Properties: { title: 'name', label: 'label', sequence: '$eventContext(SequenceNumber)' },
|
|
179
|
-
IncludeChildren: true, AutoMap: 0
|
|
180
|
-
});
|
|
184
|
+
it('should keep grandchild and nested mappings on their declaring levels including inherited fromEvery', () => {
|
|
185
|
+
const { compiled, definition } = compileModelBound(Parent);
|
|
186
|
+
definition.All!.should.deep.equal({ Properties: {}, IncludeChildren: false, AutoMap: 0 });
|
|
181
187
|
(definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
182
|
-
definition.Children.groups.
|
|
183
|
-
definition.Children.groups.Children.children.
|
|
184
|
-
|
|
188
|
+
definition.Children.groups.All!.Properties.should.deep.equal({});
|
|
189
|
+
definition.Children.groups.Children.children.All!.Properties.should.deep.equal({ title: 'name', ignored: 'ignoredEvery' });
|
|
190
|
+
const detailMappings = { label: 'label', sequence: '$eventContext(SequenceNumber)' };
|
|
191
|
+
definition.Children.groups.Children.children.Nested.detail.All!.Properties.should.deep.equal(detailMappings);
|
|
192
|
+
definition.Nested.detail.All!.Properties.should.deep.equal(detailMappings);
|
|
193
|
+
compiled.provenance.get(definition)!.should.include.deep.members([
|
|
194
|
+
{ contractPath: 'Children.groups.Children.children.All.Properties.ignored', declaration: '@fromEvery' },
|
|
195
|
+
{ contractPath: 'Children.groups.Children.children.Nested.detail.All.Properties.sequence', declaration: '@fromAllEvents' },
|
|
196
|
+
{ contractPath: 'Nested.detail.All.Properties.label', declaration: '@fromAllEvents' }
|
|
197
|
+
]);
|
|
198
|
+
});
|
|
199
|
+
it('should keep a sibling fromEvery context mapping local without enabling IncludeChildren or the deprecated child alias', () => {
|
|
200
|
+
class RestrictedChild { id = ''; source = ''; ignored = ''; }
|
|
201
|
+
for (const property of ['id', 'source', 'ignored']) field(String)(RestrictedChild.prototype, property);
|
|
202
|
+
fromEvery(undefined, 'eventSourceId')(RestrictedChild.prototype, 'source');
|
|
203
|
+
fromAll('ignoredAlias')(RestrictedChild.prototype, 'ignored');
|
|
204
|
+
class RestrictedParent { items: RestrictedChild[] = []; }
|
|
205
|
+
field(Array, { genericArguments: [RestrictedChild] })(RestrictedParent.prototype, 'items');
|
|
206
|
+
childrenFrom(Added, 'id')(RestrictedParent.prototype, 'items');
|
|
207
|
+
const { definition } = compileModelBound(RestrictedParent);
|
|
208
|
+
definition.All!.should.deep.equal({ Properties: {}, IncludeChildren: false, AutoMap: 0 });
|
|
209
|
+
definition.Children.items.All!.should.deep.equal({
|
|
210
|
+
Properties: { source: '$eventContext(EventSourceId)' }, IncludeChildren: false, AutoMap: 0
|
|
211
|
+
});
|
|
212
|
+
compileModelBound(Parent).definition.Children.groups.Children.children.All!.Properties.title.should.equal('name');
|
|
185
213
|
});
|
|
186
214
|
it('should collect a nested-only mapping without widening the root subscription', () => {
|
|
187
215
|
class NestedOnly { detail = new Detail(); }
|
|
@@ -189,9 +217,8 @@ describe('when compiling fromAllEvents on nested and inherited child models', ()
|
|
|
189
217
|
field(Detail)(NestedOnly.prototype, 'detail');
|
|
190
218
|
nested(NestedOnly.prototype, 'detail');
|
|
191
219
|
const { definition } = compileModelBound(NestedOnly);
|
|
192
|
-
definition.All!.should.deep.equal({
|
|
193
|
-
|
|
194
|
-
});
|
|
220
|
+
definition.All!.should.deep.equal({ Properties: {}, IncludeChildren: false, AutoMap: 0 });
|
|
221
|
+
definition.Nested.detail.All!.Properties.should.deep.equal({ label: 'label', sequence: '$eventContext(SequenceNumber)' });
|
|
195
222
|
(definition.SubscribesToAllEvents === undefined).should.be.true;
|
|
196
223
|
('SubscribesToAllEvents' in definition.Nested.detail).should.be.false;
|
|
197
224
|
});
|
package/projections/for_ProjectionDefinitionCompiler/when_compiling_from_all_events.standard.spec.ts
CHANGED
|
@@ -61,26 +61,66 @@ describe('when compiling standard fromAllEvents without explicit event subscript
|
|
|
61
61
|
should(getFromAllEventsMetadata(Alias.prototype, 'title') === undefined).be.true;
|
|
62
62
|
});
|
|
63
63
|
|
|
64
|
-
it('should collect standard child and nested mappings
|
|
64
|
+
it('should collect standard child and nested mappings on their owning levels without widening the subscription', () => {
|
|
65
65
|
@eventType('standard-from-all-events-child-added')
|
|
66
66
|
class Added { @field(String) id = ''; }
|
|
67
|
-
class Detail {
|
|
67
|
+
class Detail {
|
|
68
|
+
@field(String) @fromAllEvents(undefined, 'sequenceNumber') sequence = '';
|
|
69
|
+
@field(String) @fromAllEvents() label = '';
|
|
70
|
+
}
|
|
68
71
|
class Child {
|
|
69
72
|
@field(String) id = '';
|
|
70
73
|
@field(String) @fromAllEvents('name') title = '';
|
|
74
|
+
@field(String) @fromEvery('everyName') @fromAll('aliasName') restricted = '';
|
|
71
75
|
@field(Detail) @nested detail = new Detail();
|
|
72
76
|
}
|
|
73
77
|
class Derived extends Child {}
|
|
74
|
-
class
|
|
78
|
+
class Sibling extends Child { @field(String) @fromAllEvents('siblingName') override title = ''; }
|
|
79
|
+
class Group {
|
|
75
80
|
@field(Array, { genericArguments: [Derived] }) @childrenFrom(Added, 'id') items: Derived[] = [];
|
|
76
81
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
class Parent {
|
|
83
|
+
@field(Array, { genericArguments: [Group] }) @childrenFrom(Added, 'id') groups: Group[] = [];
|
|
84
|
+
@field(Array, { genericArguments: [Sibling] }) @childrenFrom(Added, 'id') siblings: Sibling[] = [];
|
|
85
|
+
@field(Detail) @nested detail = new Detail();
|
|
86
|
+
}
|
|
87
|
+
const { compiled, definition } = compileModelBound(Parent);
|
|
88
|
+
should(definition.All).deep.equal({ Properties: {}, IncludeChildren: false, AutoMap: 0 });
|
|
81
89
|
should(definition.SubscribesToAllEvents === undefined).be.true;
|
|
82
|
-
should(definition.Children.
|
|
83
|
-
should(definition.Children.
|
|
90
|
+
should(definition.Children.groups.All!.Properties).deep.equal({});
|
|
91
|
+
should(definition.Children.groups.Children.items.All!.Properties).deep.equal({ title: 'name', restricted: 'everyName' });
|
|
92
|
+
should(definition.Children.siblings.All!.Properties).deep.equal({ title: 'siblingName', restricted: 'everyName' });
|
|
93
|
+
const detailMappings = { sequence: '$eventContext(SequenceNumber)', label: 'label' };
|
|
94
|
+
should(definition.Children.groups.Children.items.Nested.detail.All!.Properties).deep.equal(detailMappings);
|
|
95
|
+
should(definition.Nested.detail.All!.Properties).deep.equal(detailMappings);
|
|
96
|
+
should(compiled.provenance.get(definition)).include.deep.members([
|
|
97
|
+
{ contractPath: 'Children.groups.Children.items.All.Properties.restricted', declaration: '@fromEvery' },
|
|
98
|
+
{ contractPath: 'Children.groups.Children.items.Nested.detail.All.Properties.sequence', declaration: '@fromAllEvents' }
|
|
99
|
+
]);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('should preserve independent same-named root and child mappings in either property order', () => {
|
|
103
|
+
@eventType('standard-all-same-name-added')
|
|
104
|
+
class Added { @field(String) id = ''; }
|
|
105
|
+
class Child {
|
|
106
|
+
@field(String) id = '';
|
|
107
|
+
@field(String) @fromEvery('ignored') @fromAllEvents('childName') title = '';
|
|
108
|
+
@field(String) @fromAllEvents('childOther') @fromEvery('ignored') other = '';
|
|
109
|
+
}
|
|
110
|
+
class RootFirst {
|
|
111
|
+
@field(String) @fromAllEvents('rootName') title = '';
|
|
112
|
+
@field(Array, { genericArguments: [Child] }) @childrenFrom(Added, 'id') items: Child[] = [];
|
|
113
|
+
}
|
|
114
|
+
class ChildFirst {
|
|
115
|
+
@field(Array, { genericArguments: [Child] }) @childrenFrom(Added, 'id') items: Child[] = [];
|
|
116
|
+
@field(String) @fromAllEvents('rootName') title = '';
|
|
117
|
+
}
|
|
118
|
+
for (const type of [RootFirst, ChildFirst]) {
|
|
119
|
+
const { definition } = compileModelBound(type);
|
|
120
|
+
should(definition.All!.Properties).deep.equal({ title: 'rootName' });
|
|
121
|
+
should(definition.Children.items.All!.Properties).deep.equal({ title: 'childName', other: 'childOther' });
|
|
122
|
+
should(definition.SubscribesToAllEvents).be.true;
|
|
123
|
+
}
|
|
84
124
|
});
|
|
85
125
|
|
|
86
126
|
it('should reject all-event scenarios before replay with the standard decorator declaration', () => {
|
|
@@ -234,12 +234,14 @@ function discoverIdentifiedBy(childType: Function | undefined, eventKey: string
|
|
|
234
234
|
* `@childrenFrom`/`@nested` properties the child/nested type itself declares.
|
|
235
235
|
* @param definition - The children definition being populated.
|
|
236
236
|
* @param childType - The resolved child/nested type, when available.
|
|
237
|
-
* @param
|
|
237
|
+
* @param path - The contract path of this child or nested definition.
|
|
238
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
238
239
|
*/
|
|
239
240
|
function populateFromType(
|
|
240
241
|
definition: ChildrenDefinitionLike,
|
|
241
242
|
childType: Function | undefined,
|
|
242
|
-
|
|
243
|
+
path: string,
|
|
244
|
+
collectSharedMapping?: (prototype: object, property: string, all: ChildrenDefinitionLike['All'], path: string) => void
|
|
243
245
|
): void {
|
|
244
246
|
if (!childType) {
|
|
245
247
|
return;
|
|
@@ -281,8 +283,7 @@ function populateFromType(
|
|
|
281
283
|
|
|
282
284
|
const prototype = childType.prototype;
|
|
283
285
|
const properties = TypeIntrospector.getTrackedProperties(childType);
|
|
284
|
-
|
|
285
|
-
for (const property of properties) collectSharedMapping?.(prototype, property);
|
|
286
|
+
for (const property of properties) collectSharedMapping?.(prototype, property, definition.All, `${path}.All`);
|
|
286
287
|
for (const property of properties) {
|
|
287
288
|
applyPropertyMappings(prototype, property, fromByEventType);
|
|
288
289
|
|
|
@@ -307,11 +308,11 @@ function populateFromType(
|
|
|
307
308
|
|
|
308
309
|
const childrenFromList = getChildrenFromMetadata(prototype, property);
|
|
309
310
|
if (childrenFromList.length > 0) {
|
|
310
|
-
definition.Children[property] = buildChildrenEntry(childType, property, childrenFromList, collectSharedMapping);
|
|
311
|
+
definition.Children[property] = buildChildrenEntry(childType, property, childrenFromList, collectSharedMapping, `${path}.Children.${property}`);
|
|
311
312
|
}
|
|
312
313
|
|
|
313
314
|
if (isNested(prototype, property)) {
|
|
314
|
-
definition.Nested[property] = buildNestedEntry(childType, property, collectSharedMapping);
|
|
315
|
+
definition.Nested[property] = buildNestedEntry(childType, property, collectSharedMapping, `${path}.Nested.${property}`);
|
|
315
316
|
}
|
|
316
317
|
}
|
|
317
318
|
|
|
@@ -325,14 +326,16 @@ function populateFromType(
|
|
|
325
326
|
* @param type - The class declaring the property.
|
|
326
327
|
* @param property - The property name.
|
|
327
328
|
* @param metadataList - The `@childrenFrom` metadata entries declared on the property (one per creating event type).
|
|
328
|
-
* @param collectSharedMapping - Collects member mappings into
|
|
329
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
330
|
+
* @param path - The contract path of this children definition.
|
|
329
331
|
* @returns The wire-shaped children definition.
|
|
330
332
|
*/
|
|
331
333
|
export function buildChildrenEntry(
|
|
332
334
|
type: Function,
|
|
333
335
|
property: string,
|
|
334
336
|
metadataList: ChildrenFromMetadata[],
|
|
335
|
-
collectSharedMapping?: (prototype: object, property: string) => void
|
|
337
|
+
collectSharedMapping?: (prototype: object, property: string, all: ChildrenDefinitionLike['All'], path: string) => void,
|
|
338
|
+
path = `Children.${property}`
|
|
336
339
|
): ChildrenDefinitionLike {
|
|
337
340
|
const childType = resolveChildElementType(type, property);
|
|
338
341
|
const definition = createEmptyChildrenDefinition(type, childType);
|
|
@@ -352,7 +355,7 @@ export function buildChildrenEntry(
|
|
|
352
355
|
});
|
|
353
356
|
}
|
|
354
357
|
|
|
355
|
-
populateFromType(definition, childType, collectSharedMapping);
|
|
358
|
+
populateFromType(definition, childType, path, collectSharedMapping);
|
|
356
359
|
|
|
357
360
|
// For non-aggregate-only creating events, populate an unmapped child identifier from
|
|
358
361
|
// the creating event's key. IdentifiedBy selects the child property; it is not itself
|
|
@@ -395,13 +398,15 @@ export function buildChildrenEntry(
|
|
|
395
398
|
* Builds the `ChildrenDefinition` for a `@nested` single-object property.
|
|
396
399
|
* @param type - The class declaring the property.
|
|
397
400
|
* @param property - The property name.
|
|
398
|
-
* @param collectSharedMapping - Collects member mappings into
|
|
401
|
+
* @param collectSharedMapping - Collects member mappings into their owning All definition.
|
|
402
|
+
* @param path - The contract path of this nested definition.
|
|
399
403
|
* @returns The wire-shaped nested definition.
|
|
400
404
|
*/
|
|
401
405
|
export function buildNestedEntry(
|
|
402
406
|
type: Function,
|
|
403
407
|
property: string,
|
|
404
|
-
collectSharedMapping?: (prototype: object, property: string) => void
|
|
408
|
+
collectSharedMapping?: (prototype: object, property: string, all: ChildrenDefinitionLike['All'], path: string) => void,
|
|
409
|
+
path = `Nested.${property}`
|
|
405
410
|
): ChildrenDefinitionLike {
|
|
406
411
|
const nestedType = resolveNestedType(type, property);
|
|
407
412
|
const definition = createEmptyChildrenDefinition(type, nestedType);
|
|
@@ -414,6 +419,6 @@ export function buildNestedEntry(
|
|
|
414
419
|
definition.RemovedWith.push({ Key: eventType, Value: { Key: '$eventSourceId', ParentKey: '' } });
|
|
415
420
|
}
|
|
416
421
|
|
|
417
|
-
populateFromType(definition, nestedType, collectSharedMapping);
|
|
422
|
+
populateFromType(definition, nestedType, path, collectSharedMapping);
|
|
418
423
|
return definition;
|
|
419
424
|
}
|