@cratis/chronicle 6.9.1 → 6.11.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/ChronicleClient.ts +52 -13
- package/ChronicleOptions.spec.ts +54 -0
- package/ChronicleOptions.ts +20 -5
- package/EventStore.ts +7 -1
- package/README.md +2 -3
- package/artifacts/DefaultClientArtifactsProvider.ts +4 -1
- package/connection/ChronicleConnection.auth.spec.ts +270 -0
- package/connection/ChronicleConnection.ts +90 -31
- package/connection/ChronicleServices.ts +1 -1
- package/connection/CompatibilityPreflight.ts +1 -1
- package/connection/RejectedChronicleCredentials.ts +10 -0
- package/connection/TokenProvider.spec.ts +5 -6
- package/connection/TokenProvider.ts +26 -17
- package/connection/clientVersion.spec.ts +27 -0
- package/connection/clientVersion.ts +9 -0
- package/connection/describeRequestError.spec.ts +22 -0
- package/connection/fetchOAuthAccessToken.ts +33 -2
- package/dist/ChronicleClient.d.ts +3 -0
- package/dist/ChronicleClient.d.ts.map +1 -1
- package/dist/ChronicleClient.js +55 -13
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/ChronicleOptions.d.ts +5 -1
- package/dist/ChronicleOptions.d.ts.map +1 -1
- package/dist/ChronicleOptions.js +20 -5
- package/dist/ChronicleOptions.js.map +1 -1
- package/dist/EventStore.d.ts +2 -0
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +6 -1
- package/dist/EventStore.js.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js +4 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
- package/dist/connection/ChronicleConnection.d.ts +3 -3
- package/dist/connection/ChronicleConnection.d.ts.map +1 -1
- package/dist/connection/ChronicleConnection.js +98 -26
- package/dist/connection/ChronicleConnection.js.map +1 -1
- package/dist/connection/ChronicleServices.d.ts +1 -2
- package/dist/connection/ChronicleServices.d.ts.map +1 -1
- package/dist/connection/CompatibilityPreflight.js +1 -1
- package/dist/connection/CompatibilityPreflight.js.map +1 -1
- package/dist/connection/RejectedChronicleCredentials.d.ts +5 -0
- package/dist/connection/RejectedChronicleCredentials.d.ts.map +1 -0
- package/dist/connection/RejectedChronicleCredentials.js +10 -0
- package/dist/connection/RejectedChronicleCredentials.js.map +1 -0
- package/dist/connection/TokenProvider.d.ts +8 -6
- package/dist/connection/TokenProvider.d.ts.map +1 -1
- package/dist/connection/TokenProvider.js +25 -11
- package/dist/connection/TokenProvider.js.map +1 -1
- package/dist/connection/clientVersion.d.ts +3 -0
- package/dist/connection/clientVersion.d.ts.map +1 -0
- package/dist/connection/clientVersion.js +7 -0
- package/dist/connection/clientVersion.js.map +1 -0
- package/dist/connection/fetchOAuthAccessToken.d.ts +12 -0
- package/dist/connection/fetchOAuthAccessToken.d.ts.map +1 -1
- package/dist/connection/fetchOAuthAccessToken.js +37 -2
- package/dist/connection/fetchOAuthAccessToken.js.map +1 -1
- package/dist/eventSequences/AppendResult.d.ts +7 -0
- package/dist/eventSequences/AppendResult.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +26 -17
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/eventSequences/WaitForCompletionOptions.d.ts +8 -0
- package/dist/eventSequences/WaitForCompletionOptions.d.ts.map +1 -0
- package/dist/eventSequences/WaitForCompletionOptions.js +4 -0
- package/dist/eventSequences/WaitForCompletionOptions.js.map +1 -0
- package/dist/eventSequences/index.d.ts +1 -0
- package/dist/eventSequences/index.d.ts.map +1 -1
- package/dist/eventSequences/index.js.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.d.ts +1 -1
- package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.js +1 -1
- package/dist/externalServices/ExternalServiceBuilder.js.map +1 -1
- package/dist/externalServices/ExternalServices.d.ts.map +1 -1
- package/dist/externalServices/ExternalServices.js +3 -1
- package/dist/externalServices/ExternalServices.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/projections/Projections.d.ts.map +1 -1
- package/dist/projections/Projections.js +9 -7
- package/dist/projections/Projections.js.map +1 -1
- package/dist/projections/constantValueExpression.d.ts +3 -0
- package/dist/projections/constantValueExpression.d.ts.map +1 -0
- package/dist/projections/constantValueExpression.js +26 -0
- package/dist/projections/constantValueExpression.js.map +1 -0
- package/dist/projections/declarative/ChildrenBuilder.d.ts +2 -0
- package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/ChildrenBuilder.js +5 -0
- package/dist/projections/declarative/ChildrenBuilder.js.map +1 -1
- package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/FromBuilder.js +3 -2
- package/dist/projections/declarative/FromBuilder.js.map +1 -1
- package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/JoinBuilder.js +2 -1
- package/dist/projections/declarative/JoinBuilder.js.map +1 -1
- package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/NestedBuilder.js +3 -1
- package/dist/projections/declarative/NestedBuilder.js.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts +5 -0
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderCore.js +18 -2
- package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -0
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.js +5 -0
- package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
- package/dist/projections/declarative/SetBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/SetBuilder.js +2 -1
- package/dist/projections/declarative/SetBuilder.js.map +1 -1
- package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/addFrom.js +3 -2
- package/dist/projections/modelBound/addFrom.js.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +20 -0
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.js +14 -11
- package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
- package/dist/projections/modelBound/childrenFrom.d.ts +4 -2
- package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenFrom.js +8 -4
- package/dist/projections/modelBound/childrenFrom.js.map +1 -1
- package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
- package/dist/projections/modelBound/clearWith.js +3 -2
- package/dist/projections/modelBound/clearWith.js.map +1 -1
- package/dist/projections/modelBound/count.d.ts.map +1 -1
- package/dist/projections/modelBound/count.js +3 -2
- package/dist/projections/modelBound/count.js.map +1 -1
- package/dist/projections/modelBound/decrement.d.ts.map +1 -1
- package/dist/projections/modelBound/decrement.js +3 -2
- package/dist/projections/modelBound/decrement.js.map +1 -1
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
- package/dist/projections/modelBound/fromAll.js +3 -2
- package/dist/projections/modelBound/fromAll.js.map +1 -1
- package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
- package/dist/projections/modelBound/fromEvery.js +3 -2
- package/dist/projections/modelBound/fromEvery.js.map +1 -1
- package/dist/projections/modelBound/increment.d.ts.map +1 -1
- package/dist/projections/modelBound/increment.js +3 -2
- package/dist/projections/modelBound/increment.js.map +1 -1
- package/dist/projections/modelBound/join.d.ts.map +1 -1
- package/dist/projections/modelBound/join.js +3 -2
- package/dist/projections/modelBound/join.js.map +1 -1
- package/dist/projections/modelBound/nested.d.ts.map +1 -1
- package/dist/projections/modelBound/nested.js +3 -2
- package/dist/projections/modelBound/nested.js.map +1 -1
- package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
- package/dist/projections/modelBound/noAutoMap.js +3 -2
- package/dist/projections/modelBound/noAutoMap.js.map +1 -1
- package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWith.js +3 -2
- package/dist/projections/modelBound/removedWith.js.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.js +3 -2
- package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
- package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/setFrom.js +3 -2
- package/dist/projections/modelBound/setFrom.js.map +1 -1
- package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
- package/dist/projections/modelBound/setFromContext.js +3 -2
- package/dist/projections/modelBound/setFromContext.js.map +1 -1
- package/dist/projections/modelBound/setValue.d.ts.map +1 -1
- package/dist/projections/modelBound/setValue.js +3 -2
- package/dist/projections/modelBound/setValue.js.map +1 -1
- package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/subtractFrom.js +3 -2
- package/dist/projections/modelBound/subtractFrom.js.map +1 -1
- package/dist/projections/notSetPropertyPath.d.ts +3 -0
- package/dist/projections/notSetPropertyPath.d.ts.map +1 -0
- package/dist/projections/notSetPropertyPath.js +5 -0
- package/dist/projections/notSetPropertyPath.js.map +1 -0
- package/dist/reactors/Reactors.d.ts +4 -0
- package/dist/reactors/Reactors.d.ts.map +1 -1
- package/dist/reactors/Reactors.js +24 -6
- package/dist/reactors/Reactors.js.map +1 -1
- package/dist/reactors/reactor.d.ts +2 -2
- package/dist/reactors/reactor.js +2 -2
- package/dist/readModels/IReadModels.d.ts +3 -2
- package/dist/readModels/IReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.js +2 -4
- package/dist/readModels/MaterializedReadModels.js.map +1 -1
- package/dist/readModels/ReadModels.d.ts +3 -5
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +17 -14
- package/dist/readModels/ReadModels.js.map +1 -1
- package/dist/readModels/deserializeReadModel.d.ts +5 -0
- package/dist/readModels/deserializeReadModel.d.ts.map +1 -0
- package/dist/readModels/deserializeReadModel.js +84 -0
- package/dist/readModels/deserializeReadModel.js.map +1 -0
- package/dist/readModels/rootReadModelTypes.d.ts +5 -0
- package/dist/readModels/rootReadModelTypes.d.ts.map +1 -0
- package/dist/readModels/rootReadModelTypes.js +69 -0
- package/dist/readModels/rootReadModelTypes.js.map +1 -0
- package/dist/reducers/Reducers.d.ts +4 -0
- package/dist/reducers/Reducers.d.ts.map +1 -1
- package/dist/reducers/Reducers.js +24 -6
- package/dist/reducers/Reducers.js.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.js +4 -4
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/TypeDiscoverer.d.ts +8 -1
- package/dist/types/TypeDiscoverer.d.ts.map +1 -1
- package/dist/types/TypeDiscoverer.js +25 -5
- package/dist/types/TypeDiscoverer.js.map +1 -1
- package/dist/types/TypeIntrospector.d.ts.map +1 -1
- package/dist/types/TypeIntrospector.js +3 -2
- package/dist/types/TypeIntrospector.js.map +1 -1
- package/dist/types/conceptValueType.d.ts +4 -0
- package/dist/types/conceptValueType.d.ts.map +1 -0
- package/dist/types/conceptValueType.js +10 -0
- package/dist/types/conceptValueType.js.map +1 -0
- package/dist/types/modelBoundProperty.d.ts +6 -0
- package/dist/types/modelBoundProperty.d.ts.map +1 -0
- package/dist/types/modelBoundProperty.js +53 -0
- package/dist/types/modelBoundProperty.js.map +1 -0
- package/eventSequences/AppendResult.ts +8 -0
- package/eventSequences/EventSequence.spec.ts +76 -1
- package/eventSequences/EventSequence.ts +28 -20
- package/eventSequences/WaitForCompletionOptions.ts +11 -0
- package/eventSequences/index.ts +1 -0
- package/externalServices/ExternalServiceBuilder.ts +4 -4
- package/externalServices/ExternalServices.spec.ts +87 -0
- package/externalServices/ExternalServices.ts +3 -1
- package/for_ChronicleClient/connectionAuthentication.spec.ts +67 -0
- package/index.ts +1 -0
- package/observation/observationDisposal.spec.ts +74 -0
- package/package.json +2 -1
- package/projections/Projections.childrenAndNested.spec.ts +2 -0
- package/projections/Projections.modelBoundCompleteness.spec.ts +47 -0
- package/projections/Projections.ts +9 -7
- package/projections/constantValueExpression.spec.ts +31 -0
- package/projections/constantValueExpression.ts +28 -0
- package/projections/declarative/ChildrenBuilder.spec.ts +46 -1
- package/projections/declarative/ChildrenBuilder.ts +6 -0
- package/projections/declarative/FromBuilder.ts +3 -2
- package/projections/declarative/JoinBuilder.ts +2 -1
- package/projections/declarative/NestedBuilder.ts +3 -1
- package/projections/declarative/ProjectionBuilderCore.ts +20 -2
- package/projections/declarative/ProjectionBuilderFor.spec.ts +61 -4
- package/projections/declarative/ProjectionBuilderFor.ts +7 -0
- package/projections/declarative/SetBuilder.ts +2 -1
- package/projections/modelBound/addFrom.ts +3 -2
- package/projections/modelBound/childrenAndNestedBuilder.ts +14 -11
- package/projections/modelBound/childrenFrom.ts +11 -5
- package/projections/modelBound/clearWith.ts +3 -2
- package/projections/modelBound/count.ts +3 -2
- package/projections/modelBound/decorators.standard.spec.ts +45 -0
- package/projections/modelBound/decrement.ts +3 -2
- package/projections/modelBound/fromAll.ts +3 -2
- package/projections/modelBound/fromEvery.ts +3 -2
- package/projections/modelBound/increment.ts +3 -2
- package/projections/modelBound/join.ts +3 -2
- package/projections/modelBound/nested.ts +3 -2
- package/projections/modelBound/noAutoMap.ts +3 -2
- package/projections/modelBound/removedWith.ts +3 -2
- package/projections/modelBound/removedWithJoin.ts +3 -2
- package/projections/modelBound/setFrom.ts +3 -2
- package/projections/modelBound/setFromContext.ts +3 -2
- package/projections/modelBound/setValue.ts +3 -2
- package/projections/modelBound/subtractFrom.ts +3 -2
- package/projections/notSetPropertyPath.ts +5 -0
- package/reactors/Reactors.ts +22 -7
- package/reactors/reactor.ts +2 -2
- package/readModels/IReadModels.ts +3 -2
- package/readModels/MaterializedReadModels.spec.ts +22 -0
- package/readModels/MaterializedReadModels.ts +2 -4
- package/readModels/ReadModels.spec.ts +71 -6
- package/readModels/ReadModels.ts +18 -15
- package/readModels/conceptValueType.spec.ts +20 -0
- package/readModels/deserializeReadModel.spec.ts +84 -0
- package/readModels/deserializeReadModel.ts +82 -0
- package/readModels/discovery.spec.ts +27 -0
- package/readModels/rootReadModelTypes.spec.ts +115 -0
- package/readModels/rootReadModelTypes.ts +65 -0
- package/reducers/Reducers.ts +22 -7
- package/schemas/JsonSchemaGenerator.ts +4 -4
- package/schemas/legacyDesignMetadata.spec.ts +24 -2
- package/types/TypeDiscoverer.spec.ts +57 -0
- package/types/TypeDiscoverer.ts +27 -6
- package/types/TypeIntrospector.ts +3 -2
- package/types/conceptValueType.ts +11 -0
- package/types/modelBoundProperty.ts +53 -0
- package/dist/externalServices/ExternalServicesContracts.d.ts +0 -137
- package/dist/externalServices/ExternalServicesContracts.d.ts.map +0 -1
- package/dist/externalServices/ExternalServicesContracts.js +0 -654
- package/dist/externalServices/ExternalServicesContracts.js.map +0 -1
- package/externalServices/ExternalServicesContracts.ts +0 -709
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:addFrom';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that adds an event property value to the decorated read model property.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:addFrom';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function addFrom(eventType, eventPropertyName) {
|
|
14
|
-
return
|
|
15
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
15
16
|
const key = propertyKey.toString();
|
|
16
17
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
17
18
|
const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/addFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"addFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/addFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,SAAmB,EAAE,iBAA0B;IACnE,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAsB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAoB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACnE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAoB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC"}
|
|
@@ -72,6 +72,26 @@ export declare function ensureFromEntry(fromByEventType: Map<string, FromRecord>
|
|
|
72
72
|
* @param fromByEventType - The map of event type key to accumulated from entry to populate.
|
|
73
73
|
*/
|
|
74
74
|
export declare function applyPropertyMappings(prototype: object, property: string, fromByEventType: Map<string, FromRecord>): void;
|
|
75
|
+
/**
|
|
76
|
+
* Resolves the element type of a `@childrenFrom` collection property. TypeScript erases
|
|
77
|
+
* generic type arguments at runtime, so the element type must be supplied by @childrenFrom
|
|
78
|
+
* or `@field(Array, { genericArguments: [ItemType] })` - without it,
|
|
79
|
+
* the children definition still registers correctly (structural Key/ParentKey wiring plus
|
|
80
|
+
* AutoMap), it just cannot also translate the child type's own decorators.
|
|
81
|
+
* @param type - The declaring class constructor.
|
|
82
|
+
* @param property - The property name.
|
|
83
|
+
* @returns The child element type constructor, or undefined when it cannot be resolved.
|
|
84
|
+
*/
|
|
85
|
+
export declare function resolveChildElementType(type: Function, property: string): Function | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Resolves the type of a `@nested` single-object property, preferring an explicit
|
|
88
|
+
* `@field(NestedType)` declaration and falling back to `design:type` decorator metadata
|
|
89
|
+
* (only available when compiled with `tsc`, not esbuild/tsx).
|
|
90
|
+
* @param type - The declaring class constructor.
|
|
91
|
+
* @param property - The property name.
|
|
92
|
+
* @returns The nested type constructor, or undefined when it cannot be resolved.
|
|
93
|
+
*/
|
|
94
|
+
export declare function resolveNestedType(type: Function, property: string): Function | undefined;
|
|
75
95
|
/**
|
|
76
96
|
* Builds the `ChildrenDefinition` for a `@childrenFrom` collection property.
|
|
77
97
|
* @param type - The class declaring the property.
|
|
@@ -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;
|
|
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;AAOtD,OAAO,EAAE,oBAAoB,EAA2B,MAAM,mBAAmB,CAAC;AAclF,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;CAClD;AAED;;;;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;AAgBD;;;;;;;;;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;AAwGD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAqBjI;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAczF"}
|
|
@@ -4,6 +4,8 @@ import 'reflect-metadata';
|
|
|
4
4
|
import { AutoMap } from '@cratis/chronicle.contracts';
|
|
5
5
|
import { Fields } from '@cratis/fundamentals';
|
|
6
6
|
import { TypeIntrospector } from '../../types/index.js';
|
|
7
|
+
import { constantValueExpression } from '../constantValueExpression.js';
|
|
8
|
+
import { notSetPropertyPath } from '../notSetPropertyPath.js';
|
|
7
9
|
import { getEventTypeFor } from '../../events/eventTypeDecorator.js';
|
|
8
10
|
import { getAddFromMetadata } from './addFrom.js';
|
|
9
11
|
import { getChildrenFromMetadata } from './childrenFrom.js';
|
|
@@ -80,7 +82,7 @@ export function applyPropertyMappings(prototype, property, fromByEventType) {
|
|
|
80
82
|
}
|
|
81
83
|
for (const mapping of getSetValueMetadata(prototype, property)) {
|
|
82
84
|
const entry = ensureFromEntry(fromByEventType, mapping.eventType);
|
|
83
|
-
entry.Value.Properties[property] =
|
|
85
|
+
entry.Value.Properties[property] = constantValueExpression(mapping.value);
|
|
84
86
|
}
|
|
85
87
|
for (const mapping of getAddFromMetadata(prototype, property)) {
|
|
86
88
|
const entry = ensureFromEntry(fromByEventType, mapping.eventType);
|
|
@@ -94,21 +96,21 @@ export function applyPropertyMappings(prototype, property, fromByEventType) {
|
|
|
94
96
|
const entry = ensureFromEntry(fromByEventType, mapping.eventType);
|
|
95
97
|
entry.Value.Properties[property] = '$increment';
|
|
96
98
|
if (mapping.constantKey) {
|
|
97
|
-
entry.Value.Key =
|
|
99
|
+
entry.Value.Key = constantValueExpression(mapping.constantKey);
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
for (const mapping of getDecrementMetadata(prototype, property)) {
|
|
101
103
|
const entry = ensureFromEntry(fromByEventType, mapping.eventType);
|
|
102
104
|
entry.Value.Properties[property] = '$decrement';
|
|
103
105
|
if (mapping.constantKey) {
|
|
104
|
-
entry.Value.Key =
|
|
106
|
+
entry.Value.Key = constantValueExpression(mapping.constantKey);
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
109
|
for (const mapping of getCountMetadata(prototype, property)) {
|
|
108
110
|
const entry = ensureFromEntry(fromByEventType, mapping.eventType);
|
|
109
111
|
entry.Value.Properties[property] = '$count';
|
|
110
112
|
if (mapping.constantKey) {
|
|
111
|
-
entry.Value.Key =
|
|
113
|
+
entry.Value.Key = constantValueExpression(mapping.constantKey);
|
|
112
114
|
}
|
|
113
115
|
}
|
|
114
116
|
}
|
|
@@ -127,17 +129,17 @@ function createEmptyChildrenDefinition() {
|
|
|
127
129
|
}
|
|
128
130
|
/**
|
|
129
131
|
* Resolves the element type of a `@childrenFrom` collection property. TypeScript erases
|
|
130
|
-
* generic type arguments at runtime, so the element type
|
|
131
|
-
*
|
|
132
|
+
* generic type arguments at runtime, so the element type must be supplied by @childrenFrom
|
|
133
|
+
* or `@field(Array, { genericArguments: [ItemType] })` - without it,
|
|
132
134
|
* the children definition still registers correctly (structural Key/ParentKey wiring plus
|
|
133
135
|
* AutoMap), it just cannot also translate the child type's own decorators.
|
|
134
136
|
* @param type - The declaring class constructor.
|
|
135
137
|
* @param property - The property name.
|
|
136
138
|
* @returns The child element type constructor, or undefined when it cannot be resolved.
|
|
137
139
|
*/
|
|
138
|
-
function resolveChildElementType(type, property) {
|
|
140
|
+
export function resolveChildElementType(type, property) {
|
|
139
141
|
const field = Fields.getFieldsForType(type).find(candidate => candidate.name === property);
|
|
140
|
-
return field?.genericArguments?.[0];
|
|
142
|
+
return getChildrenFromMetadata(type.prototype, property).find(metadata => metadata.childType)?.childType ?? field?.genericArguments?.[0];
|
|
141
143
|
}
|
|
142
144
|
/**
|
|
143
145
|
* Resolves the type of a `@nested` single-object property, preferring an explicit
|
|
@@ -147,7 +149,7 @@ function resolveChildElementType(type, property) {
|
|
|
147
149
|
* @param property - The property name.
|
|
148
150
|
* @returns The nested type constructor, or undefined when it cannot be resolved.
|
|
149
151
|
*/
|
|
150
|
-
function resolveNestedType(type, property) {
|
|
152
|
+
export function resolveNestedType(type, property) {
|
|
151
153
|
const field = Fields.getFieldsForType(type).find(candidate => candidate.name === property);
|
|
152
154
|
if (field?.type && field.type !== Object && field.type !== Array) {
|
|
153
155
|
return field.type;
|
|
@@ -156,7 +158,8 @@ function resolveNestedType(type, property) {
|
|
|
156
158
|
if (designType && designType !== Object) {
|
|
157
159
|
return designType;
|
|
158
160
|
}
|
|
159
|
-
|
|
161
|
+
const inferred = TypeIntrospector.getMembers(type).get(property);
|
|
162
|
+
return inferred && inferred !== Object && inferred !== Array ? inferred : undefined;
|
|
160
163
|
}
|
|
161
164
|
/**
|
|
162
165
|
* Discovers the child model property used to identify instances, by convention: a property
|
|
@@ -277,7 +280,7 @@ export function buildChildrenEntry(type, property, metadataList) {
|
|
|
277
280
|
export function buildNestedEntry(type, property) {
|
|
278
281
|
const nestedType = resolveNestedType(type, property);
|
|
279
282
|
const definition = createEmptyChildrenDefinition();
|
|
280
|
-
definition.IdentifiedBy =
|
|
283
|
+
definition.IdentifiedBy = notSetPropertyPath;
|
|
281
284
|
// A @clearWith on the property carrying @nested clears this nested object, the same as a
|
|
282
285
|
// class-level @clearWith on the nested type itself (which populateFromType also honors).
|
|
283
286
|
for (const clearWith of getClearWithPropertyMetadata(type.prototype, property)) {
|
|
@@ -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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"}
|
|
@@ -4,6 +4,8 @@ import { ChroniclePropertyDecorator } from '../../types/propertyDecoratorMetadat
|
|
|
4
4
|
export interface ChildrenFromMetadata {
|
|
5
5
|
/** The event constructor that adds children to the collection. */
|
|
6
6
|
readonly eventType: Function;
|
|
7
|
+
/** Optional child type for TypeScript runtimes without emitted generic metadata. */
|
|
8
|
+
readonly childType?: Function;
|
|
7
9
|
/** The event property name used as the key for children. Defaults to the event source identifier. */
|
|
8
10
|
readonly key?: string;
|
|
9
11
|
/** The child model property name used to uniquely identify instances in the collection. */
|
|
@@ -14,12 +16,12 @@ export interface ChildrenFromMetadata {
|
|
|
14
16
|
/**
|
|
15
17
|
* Property decorator that configures a children collection sub-projection from an event type.
|
|
16
18
|
* @param eventType - The event constructor.
|
|
17
|
-
* @param key - Optional event property name to use as the key for children.
|
|
19
|
+
* @param key - Optional event property name to use as the key for children, or the child constructor.
|
|
18
20
|
* @param identifiedBy - Optional child model property name used to identify instances.
|
|
19
21
|
* @param parentKey - Optional event property name used as the parent key.
|
|
20
22
|
* @returns A property decorator.
|
|
21
23
|
*/
|
|
22
|
-
export declare function childrenFrom(eventType: Function, key?: string, identifiedBy?: string, parentKey?: string): ChroniclePropertyDecorator;
|
|
24
|
+
export declare function childrenFrom(eventType: Function, key?: string | Function, identifiedBy?: string, parentKey?: string): ChroniclePropertyDecorator;
|
|
23
25
|
/**
|
|
24
26
|
* Retrieves all childrenFrom metadata stored on the given property.
|
|
25
27
|
* @param target - The class prototype.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childrenFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/childrenFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"childrenFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/childrenFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACjC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAC9B,qGAAqG;IACrG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID;;;;;;;GAOG;AACH,wBAAgB,YAAY,CACxB,SAAS,EAAE,QAAQ,EACnB,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,EACvB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACnB,0BAA0B,CAW5B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAEnG"}
|
|
@@ -2,22 +2,26 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:childrenFrom';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that configures a children collection sub-projection from an event type.
|
|
9
10
|
* @param eventType - The event constructor.
|
|
10
|
-
* @param key - Optional event property name to use as the key for children.
|
|
11
|
+
* @param key - Optional event property name to use as the key for children, or the child constructor.
|
|
11
12
|
* @param identifiedBy - Optional child model property name used to identify instances.
|
|
12
13
|
* @param parentKey - Optional event property name used as the parent key.
|
|
13
14
|
* @returns A property decorator.
|
|
14
15
|
*/
|
|
15
16
|
export function childrenFrom(eventType, key, identifiedBy, parentKey) {
|
|
16
|
-
return
|
|
17
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
17
18
|
const propKey = propertyKey.toString();
|
|
18
19
|
TypeIntrospector.trackProperty(target.constructor, propKey);
|
|
19
20
|
const existing = Reflect.getMetadata(METADATA_KEY, target, propKey) ?? [];
|
|
20
|
-
const metadata = {
|
|
21
|
+
const metadata = {
|
|
22
|
+
eventType, key: typeof key === 'string' ? key : undefined,
|
|
23
|
+
childType: typeof key === 'function' ? key : undefined, identifiedBy, parentKey
|
|
24
|
+
};
|
|
21
25
|
Reflect.defineMetadata(METADATA_KEY, [...existing, metadata], target, propKey);
|
|
22
26
|
});
|
|
23
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childrenFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/childrenFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"childrenFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/childrenFrom.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAgB3G,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CACxB,SAAmB,EACnB,GAAuB,EACvB,YAAqB,EACrB,SAAkB;IAElB,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAA2B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAClG,MAAM,QAAQ,GAAyB;YACnC,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACzD,SAAS,EAAE,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS;SAClF,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,WAAmB;IACvE,OAAO,mBAAmB,CAAyB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clearWith.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/clearWith.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"clearWith.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/clearWith.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iCAAiC,EAAuB,MAAM,0CAA0C,CAAC;AAElH,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;CAChC;AAKD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,QAAQ,GAAG,iCAAiC,CAYhF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,GAAG,iBAAiB,EAAE,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAErG"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundClassOrProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const CLASS_METADATA_KEY = 'chronicle:projection:clearWith:class';
|
|
7
8
|
const PROPERTY_METADATA_KEY = 'chronicle:projection:clearWith:property';
|
|
8
9
|
/**
|
|
@@ -13,7 +14,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:clearWith:property';
|
|
|
13
14
|
* @returns A class and property decorator.
|
|
14
15
|
*/
|
|
15
16
|
export function clearWith(eventType) {
|
|
16
|
-
return
|
|
17
|
+
return decorateModelBoundClassOrProperty((target, propertyKey) => {
|
|
17
18
|
if (propertyKey !== undefined) {
|
|
18
19
|
const key = propertyKey.toString();
|
|
19
20
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clearWith.js","sourceRoot":"","sources":["../../../projections/modelBound/clearWith.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"clearWith.js","sourceRoot":"","sources":["../../../projections/modelBound/clearWith.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAqC,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAQlH,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,SAAmB;IACzC,OAAO,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACvF,MAAM,QAAQ,GAAwB,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YACpG,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAwB,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5F,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAgB;IACtD,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAc,EAAE,WAAmB;IAC5E,OAAO,mBAAmB,CAAsB,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACtG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/count.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/count.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ3F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAErF"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:count';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that counts the occurrences of the specified event into the decorated read model property.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:count';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function count(eventType, constantKey) {
|
|
14
|
-
return
|
|
15
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
15
16
|
const key = propertyKey.toString();
|
|
16
17
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
17
18
|
const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../projections/modelBound/count.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../projections/modelBound/count.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,SAAmB,EAAE,WAAoB;IAC3D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAoB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACvF,MAAM,QAAQ,GAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC3D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,WAAmB;IAChE,OAAO,mBAAmB,CAAkB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACzF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decrement.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/decrement.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"decrement.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/decrement.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAE7F"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:decrement';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that decrements the decorated read model property each time the specified event occurs.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:decrement';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function decrement(eventType, constantKey) {
|
|
14
|
-
return
|
|
15
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
15
16
|
const key = propertyKey.toString();
|
|
16
17
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
17
18
|
const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decrement.js","sourceRoot":"","sources":["../../../projections/modelBound/decrement.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"decrement.js","sourceRoot":"","sources":["../../../projections/modelBound/decrement.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,SAAmB,EAAE,WAAoB;IAC/D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAwB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAsB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC/D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAsB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC7F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromAll.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"fromAll.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAID;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEnG"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:fromAll';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that sets the decorated read model property from a property present on every
|
|
@@ -14,7 +15,7 @@ const METADATA_KEY = 'chronicle:projection:fromAll';
|
|
|
14
15
|
* @returns A property decorator.
|
|
15
16
|
*/
|
|
16
17
|
export function fromAll(property, contextProperty) {
|
|
17
|
-
return
|
|
18
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
18
19
|
TypeIntrospector.trackProperty(target.constructor, propertyKey.toString());
|
|
19
20
|
const metadata = { property, contextProperty };
|
|
20
21
|
Reflect.defineMetadata(METADATA_KEY, metadata, target, propertyKey.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromAll.js","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"fromAll.js","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,QAAiB,EAAE,eAAwB;IAC/D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAChE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAkB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromEvery.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"fromEvery.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAMjG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvG"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:fromEvery';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that sets the decorated read model property from a property present on every projected event.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:fromEvery';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function fromEvery(property, contextProperty) {
|
|
14
|
-
return
|
|
15
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
15
16
|
TypeIntrospector.trackProperty(target.constructor, propertyKey.toString());
|
|
16
17
|
const metadata = { property, contextProperty };
|
|
17
18
|
Reflect.defineMetadata(METADATA_KEY, metadata, target, propertyKey.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromEvery.js","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"fromEvery.js","sourceRoot":"","sources":["../../../projections/modelBound/fromEvery.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAiB,EAAE,eAAwB;IACjE,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAsB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAClE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAoB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"increment.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"increment.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAE7F"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:increment';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that increments the decorated read model property each time the specified event occurs.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:increment';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function increment(eventType, constantKey) {
|
|
14
|
-
return
|
|
15
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
15
16
|
const key = propertyKey.toString();
|
|
16
17
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
17
18
|
const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"increment.js","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"increment.js","sourceRoot":"","sources":["../../../projections/modelBound/increment.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAU3G,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,SAAmB,EAAE,WAAoB;IAC/D,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAwB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAsB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC/D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACpE,OAAO,mBAAmB,CAAsB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC7F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,sDAAsD;AACtD,MAAM,WAAW,YAAY;IACzB,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQ7G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAEnF"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:join';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that configures a join relationship with an event type.
|
|
@@ -12,7 +13,7 @@ const METADATA_KEY = 'chronicle:projection:join';
|
|
|
12
13
|
* @returns A property decorator.
|
|
13
14
|
*/
|
|
14
15
|
export function join(eventType, on, eventPropertyName) {
|
|
15
|
-
return
|
|
16
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
16
17
|
const key = propertyKey.toString();
|
|
17
18
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
18
19
|
const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../projections/modelBound/join.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAY3G,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,SAAmB,EAAE,EAAW,EAAE,iBAA0B;IAC7E,OAAO,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QAC/E,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,QAAQ,GAAmB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACpE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB;IAC/D,OAAO,mBAAmB,CAAiB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAmB1B,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC3E,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;AAKpF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAErE"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { hasPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
6
7
|
const METADATA_KEY = 'chronicle:projection:nested';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that marks a single nullable property as a nested sub-projection object.
|
|
@@ -10,7 +11,7 @@ const METADATA_KEY = 'chronicle:projection:nested';
|
|
|
10
11
|
* @param target - The class prototype.
|
|
11
12
|
* @param propertyKey - The property name.
|
|
12
13
|
*/
|
|
13
|
-
const decorateNested =
|
|
14
|
+
const decorateNested = decorateModelBoundProperty((target, propertyKey) => {
|
|
14
15
|
const key = propertyKey.toString();
|
|
15
16
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
16
17
|
Reflect.defineMetadata(METADATA_KEY, true, target, key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../projections/modelBound/nested.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,0BAA0B,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAQ,EAAE;IACrG,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvF,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAIH,MAAM,UAAU,MAAM,CAAC,MAA0B,EAAE,oBAAkE;IACjH,cAAc,CAAC,MAAmB,EAAE,oBAAkD,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAmB;IACxD,OAAO,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noAutoMap.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"noAutoMap.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AA4B1B,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;AAClD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAAC;AAKvF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhF"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../../types/index.js';
|
|
5
|
-
import {
|
|
5
|
+
import { hasPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
6
|
+
import { decorateModelBoundClassOrProperty } from '../../types/modelBoundProperty.js';
|
|
6
7
|
const CLASS_METADATA_KEY = 'chronicle:projection:noAutoMap:class';
|
|
7
8
|
const PROPERTY_METADATA_KEY = 'chronicle:projection:noAutoMap:property';
|
|
8
9
|
/**
|
|
@@ -15,7 +16,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:noAutoMap:property';
|
|
|
15
16
|
* @param target - The class constructor, or the class prototype when used on a property.
|
|
16
17
|
* @param propertyKey - The property name, when used as a property decorator.
|
|
17
18
|
*/
|
|
18
|
-
const decorateNoAutoMap =
|
|
19
|
+
const decorateNoAutoMap = decorateModelBoundClassOrProperty((target, propertyKey) => {
|
|
19
20
|
if (propertyKey !== undefined) {
|
|
20
21
|
const key = propertyKey.toString();
|
|
21
22
|
TypeIntrospector.trackProperty(target.constructor, key);
|