@cratis/chronicle 6.9.1 → 6.10.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 +219 -0
- package/connection/ChronicleConnection.ts +70 -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 +74 -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/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/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 +2 -1
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +16 -10
- 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/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/MaterializedReadModels.spec.ts +22 -0
- package/readModels/MaterializedReadModels.ts +2 -4
- package/readModels/ReadModels.spec.ts +58 -1
- package/readModels/ReadModels.ts +17 -11
- 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: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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noAutoMap.js","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.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":"noAutoMap.js","sourceRoot":"","sources":["../../../projections/modelBound/noAutoMap.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,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAEtF,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAQ,EAAE;IAChH,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAkB,CAAC,CAAC;IACzE,CAAC;AACL,CAAC,CAAC,CAAC;AAMH,MAAM,UAAU,SAAS,CAAC,MAA0B,EAAE,oBAA2F;IAC7I,iBAAiB,CAAC,MAAkB,EAAE,oBAA6C,CAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgB;IACxC,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removedWith.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"removedWith.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iCAAiC,EAAuB,MAAM,0CAA0C,CAAC;AAElH,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAChC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,2HAA2H;IAC3H,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAYpH;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAEzG"}
|
|
@@ -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:removedWith:class';
|
|
7
8
|
const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWith:property';
|
|
8
9
|
/**
|
|
@@ -15,7 +16,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWith:property';
|
|
|
15
16
|
* @returns A class and property decorator.
|
|
16
17
|
*/
|
|
17
18
|
export function removedWith(eventType, key, parentKey) {
|
|
18
|
-
return
|
|
19
|
+
return decorateModelBoundClassOrProperty((target, propertyKey) => {
|
|
19
20
|
if (propertyKey !== undefined) {
|
|
20
21
|
const propKey = propertyKey.toString();
|
|
21
22
|
TypeIntrospector.trackProperty(target.constructor, propKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removedWith.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.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":"removedWith.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWith.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;AAYlH,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AACpE,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,SAAmB,EAAE,GAAY,EAAE,SAAkB;IAC7E,OAAO,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1G,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9F,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrG,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAgB;IACxD,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,WAAmB;IAC9E,OAAO,mBAAmB,CAAwB,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AACxG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removedWithJoin.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"removedWithJoin.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iCAAiC,EAAuB,MAAM,0CAA0C,CAAC;AAElH,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+GAA+G;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAYpG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,QAAQ,GAAG,uBAAuB,EAAE,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAEjH"}
|
|
@@ -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:removedWithJoin:class';
|
|
7
8
|
const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWithJoin:property';
|
|
8
9
|
/**
|
|
@@ -12,7 +13,7 @@ const PROPERTY_METADATA_KEY = 'chronicle:projection:removedWithJoin:property';
|
|
|
12
13
|
* @returns A class and property decorator.
|
|
13
14
|
*/
|
|
14
15
|
export function removedWithJoin(eventType, key) {
|
|
15
|
-
return
|
|
16
|
+
return decorateModelBoundClassOrProperty((target, propertyKey) => {
|
|
16
17
|
if (propertyKey !== undefined) {
|
|
17
18
|
const propKey = propertyKey.toString();
|
|
18
19
|
TypeIntrospector.trackProperty(target.constructor, propKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removedWithJoin.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.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":"removedWithJoin.js","sourceRoot":"","sources":["../../../projections/modelBound/removedWithJoin.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;AAUlH,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AACxE,MAAM,qBAAqB,GAAG,+CAA+C,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAmB,EAAE,GAAY;IAC7D,OAAO,iCAAiC,CAAC,CAAC,MAAc,EAAE,WAA6B,EAAE,EAAE;QACvF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACvC,gBAAgB,CAAC,aAAa,CAAE,MAAoC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,QAAQ,GAA8B,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9G,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAA8B,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClG,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAgB;IAC5D,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAAc,EAAE,WAAmB;IAClF,OAAO,mBAAmB,CAA4B,qBAAqB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5G,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"setFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQnG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAEzF"}
|
|
@@ -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:setFrom';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that maps an event property value onto the decorated read model property.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:setFrom';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function setFrom(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":"setFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.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":"setFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/setFrom.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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setFromContext.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"setFromContext.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,gEAAgE;AAChE,MAAM,WAAW,sBAAsB;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACzC;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAAC;AAC9G,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAAC;AAyB1I;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAEvG"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
|
|
5
5
|
import { TypeIntrospector } from '../../types/index.js';
|
|
6
|
-
import {
|
|
6
|
+
import { decorateModelBoundProperty } from '../../types/modelBoundProperty.js';
|
|
7
|
+
import { getPropertyMetadata } from '../../types/propertyDecoratorMetadata.js';
|
|
7
8
|
const METADATA_KEY = 'chronicle:projection:setFromContext';
|
|
8
9
|
export function setFromContext(eventType, contextPropertyOrAccessor) {
|
|
9
|
-
return
|
|
10
|
+
return decorateModelBoundProperty((target, propertyKey) => {
|
|
10
11
|
const key = propertyKey.toString();
|
|
11
12
|
TypeIntrospector.trackProperty(target.constructor, key);
|
|
12
13
|
const existing = Reflect.getMetadata(METADATA_KEY, target, key) ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setFromContext.js","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"setFromContext.js","sourceRoot":"","sources":["../../../projections/modelBound/setFromContext.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAE1F,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,qCAAqC,CAAC;AAU3D,MAAM,UAAU,cAAc,CAC1B,SAAmB,EACnB,yBAAmE;IAEnE,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,GAA6B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE,CAAC;YAChD,mBAAmB,GAAG,yBAAyB,CAAC;QACpD,CAAC;aAAM,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACrC,yBAAyB,CAAC,KAAqB,CAAC,CAAC;YACjD,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAA2B,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;QAC5E,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,yBAAyB,CAAC,MAAc,EAAE,WAAmB;IACzE,OAAO,mBAAmB,CAA2B,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAClG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setValue.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setValue.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"setValue.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/setValue.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B;AAID;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAQxF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAE3F"}
|
|
@@ -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:setValue';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that sets the decorated read model property to a constant value when the specified event occurs.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:setValue';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function setValue(eventType, value) {
|
|
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":"setValue.js","sourceRoot":"","sources":["../../../projections/modelBound/setValue.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":"setValue.js","sourceRoot":"","sources":["../../../projections/modelBound/setValue.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,+BAA+B,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAmB,EAAE,KAAc;IACxD,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,GAAuB,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1F,MAAM,QAAQ,GAAqB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACxD,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,mBAAmB,CAAC,MAAc,EAAE,WAAmB;IACnE,OAAO,mBAAmB,CAAqB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtractFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"subtractFrom.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,0BAA0B,EAAuB,MAAM,0CAA0C,CAAC;AAE3G,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,+HAA+H;IAC/H,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAID;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAQxG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,EAAE,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:subtractFrom';
|
|
7
8
|
/**
|
|
8
9
|
* Property decorator that subtracts an event property value from the decorated read model property.
|
|
@@ -11,7 +12,7 @@ const METADATA_KEY = 'chronicle:projection:subtractFrom';
|
|
|
11
12
|
* @returns A property decorator.
|
|
12
13
|
*/
|
|
13
14
|
export function subtractFrom(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":"subtractFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.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":"subtractFrom.js","sourceRoot":"","sources":["../../../projections/modelBound/subtractFrom.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,mCAAmC,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,SAAmB,EAAE,iBAA0B;IACxE,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,GAA2B,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9F,MAAM,QAAQ,GAAyB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACxE,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,uBAAuB,CAAC,MAAc,EAAE,WAAmB;IACvE,OAAO,mBAAmB,CAAyB,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notSetPropertyPath.d.ts","sourceRoot":"","sources":["../../projections/notSetPropertyPath.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
/** The wire representation of PropertyPath.NotSet, used for nested projections. */
|
|
4
|
+
export const notSetPropertyPath = '*NotSet*';
|
|
5
|
+
//# sourceMappingURL=notSetPropertyPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notSetPropertyPath.js","sourceRoot":"","sources":["../../projections/notSetPropertyPath.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC"}
|
|
@@ -22,7 +22,9 @@ export declare class Reactors implements IReactors {
|
|
|
22
22
|
private readonly _lifecycle;
|
|
23
23
|
private readonly _reactors;
|
|
24
24
|
private readonly _queues;
|
|
25
|
+
private readonly _observations;
|
|
25
26
|
private _registered;
|
|
27
|
+
private _disposed;
|
|
26
28
|
/**
|
|
27
29
|
* Creates a new {@link Reactors} instance.
|
|
28
30
|
* @param _clientArtifacts - Provider for discovered client artifact types.
|
|
@@ -33,6 +35,8 @@ export declare class Reactors implements IReactors {
|
|
|
33
35
|
* @param _eventLog - The event log used to append side-effect events a reactor handler returns.
|
|
34
36
|
*/
|
|
35
37
|
constructor(_clientArtifacts: IClientArtifactsProvider, _connection: ChronicleConnection, _eventStoreName: string, _namespace: string, lifecycle: ConnectionLifecycle, _eventLog: IEventLog, _resultHandler?: ReactorResultHandler | undefined);
|
|
38
|
+
/** Stops observations permanently when the owning client is disposed. */
|
|
39
|
+
dispose(): void;
|
|
36
40
|
/** @inheritdoc */
|
|
37
41
|
discover(): Promise<void>;
|
|
38
42
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reactors.d.ts","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAM3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAyEtE;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;
|
|
1
|
+
{"version":3,"file":"Reactors.d.ts","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAM3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAyEtE;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IAsBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IA3BpC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2E;IACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;;;;OAQG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,EAAE,oBAAoB,YAAA,EAQzD;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAId;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB9B;IAED,OAAO,CAAC,gBAAgB;YAgBV,cAAc;IAe5B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;YAmBX,cAAc;IAiJ5B,OAAO,CAAC,gBAAgB;IA2DxB,OAAO,CAAC,aAAa;CAMxB"}
|
|
@@ -90,7 +90,9 @@ export class Reactors {
|
|
|
90
90
|
_lifecycle;
|
|
91
91
|
_reactors = new Map();
|
|
92
92
|
_queues = new Map();
|
|
93
|
+
_observations = new Map();
|
|
93
94
|
_registered = false;
|
|
95
|
+
_disposed = false;
|
|
94
96
|
/**
|
|
95
97
|
* Creates a new {@link Reactors} instance.
|
|
96
98
|
* @param _clientArtifacts - Provider for discovered client artifact types.
|
|
@@ -114,6 +116,12 @@ export class Reactors {
|
|
|
114
116
|
this.disconnectAll();
|
|
115
117
|
});
|
|
116
118
|
}
|
|
119
|
+
/** Stops observations permanently when the owning client is disposed. */
|
|
120
|
+
dispose() {
|
|
121
|
+
this._disposed = true;
|
|
122
|
+
this._registered = false;
|
|
123
|
+
this.disconnectAll();
|
|
124
|
+
}
|
|
117
125
|
/** @inheritdoc */
|
|
118
126
|
async discover() {
|
|
119
127
|
this._reactors.clear();
|
|
@@ -127,12 +135,14 @@ export class Reactors {
|
|
|
127
135
|
}
|
|
128
136
|
/** @inheritdoc */
|
|
129
137
|
async register() {
|
|
130
|
-
if (this._registered) {
|
|
138
|
+
if (this._registered || this._disposed) {
|
|
131
139
|
return;
|
|
132
140
|
}
|
|
133
141
|
if (this._reactors.size === 0) {
|
|
134
142
|
await this.discover();
|
|
135
143
|
}
|
|
144
|
+
if (this._disposed)
|
|
145
|
+
return;
|
|
136
146
|
this._logger.info('Registering reactors', { count: this._reactors.size });
|
|
137
147
|
for (const [id, reactorType] of this._reactors) {
|
|
138
148
|
this.startObservation(id, reactorType);
|
|
@@ -140,6 +150,8 @@ export class Reactors {
|
|
|
140
150
|
this._registered = true;
|
|
141
151
|
}
|
|
142
152
|
startObservation(id, reactorType) {
|
|
153
|
+
if (this._disposed)
|
|
154
|
+
return;
|
|
143
155
|
const metadata = getReactorMetadata(reactorType);
|
|
144
156
|
const eventSequenceId = metadata.eventSequenceId ?? EventSequenceId.eventLog.value;
|
|
145
157
|
const eventTypes = this.getEventTypesFor(reactorType);
|
|
@@ -172,11 +184,11 @@ export class Reactors {
|
|
|
172
184
|
scheduleReobserve(id, reactorType) {
|
|
173
185
|
// A disconnect clears the registration; the reconnect re-registers every
|
|
174
186
|
// reactor from scratch, so retrying here as well would double up.
|
|
175
|
-
if (!this._registered) {
|
|
187
|
+
if (!this._registered || this._disposed) {
|
|
176
188
|
return;
|
|
177
189
|
}
|
|
178
190
|
const handle = setTimeout(() => {
|
|
179
|
-
if (!this._registered) {
|
|
191
|
+
if (!this._registered || this._disposed) {
|
|
180
192
|
return;
|
|
181
193
|
}
|
|
182
194
|
this._logger.info('Re-establishing reactor observation', { reactorId: id });
|
|
@@ -186,7 +198,9 @@ export class Reactors {
|
|
|
186
198
|
}
|
|
187
199
|
async observeReactor(id, reactorType, eventSequenceId, eventTypes) {
|
|
188
200
|
const queue = new AsyncQueue();
|
|
201
|
+
const controller = new AbortController();
|
|
189
202
|
this._queues.set(id, queue);
|
|
203
|
+
this._observations.set(id, controller);
|
|
190
204
|
queue.send({
|
|
191
205
|
Content: {
|
|
192
206
|
Value0: {
|
|
@@ -214,7 +228,7 @@ export class Reactors {
|
|
|
214
228
|
});
|
|
215
229
|
try {
|
|
216
230
|
const reactorInstance = new reactorType();
|
|
217
|
-
for await (const eventsToObserve of this._connection.reactors.observe(queue)) {
|
|
231
|
+
for await (const eventsToObserve of this._connection.reactors.observe(queue, { signal: controller.signal })) {
|
|
218
232
|
let lastSuccessfullyObservedEvent = SEQUENCE_NUMBER_UNAVAILABLE;
|
|
219
233
|
let state = ObservationState.Success;
|
|
220
234
|
const exceptionMessages = [];
|
|
@@ -308,7 +322,9 @@ export class Reactors {
|
|
|
308
322
|
// leak a duplicate stream on every reconnect.
|
|
309
323
|
if (this._queues.get(id) === queue) {
|
|
310
324
|
this._queues.delete(id);
|
|
325
|
+
this._observations.delete(id);
|
|
311
326
|
}
|
|
327
|
+
queue.complete();
|
|
312
328
|
}
|
|
313
329
|
}
|
|
314
330
|
getEventTypesFor(reactorType) {
|
|
@@ -368,9 +384,11 @@ export class Reactors {
|
|
|
368
384
|
return entries;
|
|
369
385
|
}
|
|
370
386
|
disconnectAll() {
|
|
371
|
-
for (const
|
|
387
|
+
for (const controller of this._observations.values())
|
|
388
|
+
controller.abort();
|
|
389
|
+
for (const queue of this._queues.values())
|
|
372
390
|
queue.complete();
|
|
373
|
-
|
|
391
|
+
this._observations.clear();
|
|
374
392
|
this._queues.clear();
|
|
375
393
|
}
|
|
376
394
|
}
|