@cratis/chronicle 3.1.1 → 4.0.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/EventStore.ts +1 -1
- package/compliance/ComplianceContracts.ts +59 -0
- package/compliance/IPIIManager.ts +12 -0
- package/compliance/PIIManager.spec.ts +50 -0
- package/compliance/PIIManager.ts +9 -0
- package/compliance/PIINotSupportedOnEventSourceId.ts +21 -0
- package/compliance/index.ts +2 -0
- package/compliance/pii.spec.ts +37 -0
- package/compliance/pii.ts +16 -1
- package/compliance/subject.spec.ts +45 -0
- package/compliance/subject.ts +64 -0
- package/dist/EventStore.js +1 -1
- package/dist/EventStore.js.map +1 -1
- package/dist/compliance/ComplianceContracts.d.ts +31 -0
- package/dist/compliance/ComplianceContracts.d.ts.map +1 -1
- package/dist/compliance/ComplianceContracts.js +52 -0
- package/dist/compliance/ComplianceContracts.js.map +1 -1
- package/dist/compliance/IPIIManager.d.ts +11 -0
- package/dist/compliance/IPIIManager.d.ts.map +1 -1
- package/dist/compliance/PIIManager.d.ts +2 -0
- package/dist/compliance/PIIManager.d.ts.map +1 -1
- package/dist/compliance/PIIManager.js +8 -0
- package/dist/compliance/PIIManager.js.map +1 -1
- package/dist/compliance/PIINotSupportedOnEventSourceId.d.ts +11 -0
- package/dist/compliance/PIINotSupportedOnEventSourceId.d.ts.map +1 -0
- package/dist/compliance/PIINotSupportedOnEventSourceId.js +19 -0
- package/dist/compliance/PIINotSupportedOnEventSourceId.js.map +1 -0
- package/dist/compliance/index.d.ts +2 -0
- package/dist/compliance/index.d.ts.map +1 -1
- package/dist/compliance/index.js +2 -0
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/pii.d.ts.map +1 -1
- package/dist/compliance/pii.js +13 -1
- package/dist/compliance/pii.js.map +1 -1
- package/dist/compliance/subject.d.ts +39 -0
- package/dist/compliance/subject.d.ts.map +1 -0
- package/dist/compliance/subject.js +58 -0
- package/dist/compliance/subject.js.map +1 -0
- package/dist/eventSequences/AppendOptions.d.ts +8 -0
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
- package/dist/eventSequences/EventForEventSourceId.d.ts +7 -0
- package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +17 -6
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/events/EventContext.d.ts +3 -0
- package/dist/events/EventContext.d.ts.map +1 -1
- package/dist/events/Tag.d.ts +10 -0
- package/dist/events/Tag.d.ts.map +1 -0
- package/dist/events/Tag.js +16 -0
- package/dist/events/Tag.js.map +1 -0
- package/dist/events/filterEventsByTagDecorator.d.ts +35 -0
- package/dist/events/filterEventsByTagDecorator.d.ts.map +1 -0
- package/dist/events/filterEventsByTagDecorator.js +48 -0
- package/dist/events/filterEventsByTagDecorator.js.map +1 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +4 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/mergeTags.d.ts +12 -0
- package/dist/events/mergeTags.d.ts.map +1 -0
- package/dist/events/mergeTags.js +26 -0
- package/dist/events/mergeTags.js.map +1 -0
- package/dist/events/tagDecorator.d.ts +38 -0
- package/dist/events/tagDecorator.d.ts.map +1 -0
- package/dist/events/tagDecorator.js +54 -0
- package/dist/events/tagDecorator.js.map +1 -0
- package/dist/observation/ObserverRunningState.d.ts +9 -15
- package/dist/observation/ObserverRunningState.d.ts.map +1 -1
- package/dist/observation/ObserverRunningState.js +8 -14
- package/dist/observation/ObserverRunningState.js.map +1 -1
- package/dist/observation/index.d.ts +1 -0
- package/dist/observation/index.d.ts.map +1 -1
- package/dist/observation/index.js +1 -0
- package/dist/observation/index.js.map +1 -1
- package/dist/observation/toObserverRunningState.d.ts +9 -0
- package/dist/observation/toObserverRunningState.d.ts.map +1 -0
- package/dist/observation/toObserverRunningState.js +26 -0
- package/dist/observation/toObserverRunningState.js.map +1 -0
- package/dist/projections/IProjections.d.ts +71 -1
- package/dist/projections/IProjections.d.ts.map +1 -1
- package/dist/projections/ProjectionQueryResult.d.ts +8 -0
- package/dist/projections/ProjectionQueryResult.d.ts.map +1 -0
- package/dist/projections/ProjectionQueryResult.js +4 -0
- package/dist/projections/ProjectionQueryResult.js.map +1 -0
- package/dist/projections/ProjectionState.d.ts +18 -0
- package/dist/projections/ProjectionState.d.ts.map +1 -0
- package/dist/projections/ProjectionState.js +4 -0
- package/dist/projections/ProjectionState.js.map +1 -0
- package/dist/projections/Projections.d.ts +46 -1
- package/dist/projections/Projections.d.ts.map +1 -1
- package/dist/projections/Projections.js +153 -6
- package/dist/projections/Projections.js.map +1 -1
- package/dist/projections/UnableToQueryProjection.d.ts +12 -0
- package/dist/projections/UnableToQueryProjection.d.ts.map +1 -0
- package/dist/projections/UnableToQueryProjection.js +17 -0
- package/dist/projections/UnableToQueryProjection.js.map +1 -0
- package/dist/projections/index.d.ts +3 -0
- package/dist/projections/index.d.ts.map +1 -1
- package/dist/projections/index.js +1 -0
- package/dist/projections/index.js.map +1 -1
- package/dist/projections/modelBound/eventSequence.d.ts +22 -0
- package/dist/projections/modelBound/eventSequence.d.ts.map +1 -0
- package/dist/projections/modelBound/eventSequence.js +34 -0
- package/dist/projections/modelBound/eventSequence.js.map +1 -0
- package/dist/projections/modelBound/fromAll.d.ts +26 -0
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -0
- package/dist/projections/modelBound/fromAll.js +31 -0
- package/dist/projections/modelBound/fromAll.js.map +1 -0
- package/dist/projections/modelBound/index.d.ts +4 -0
- package/dist/projections/modelBound/index.d.ts.map +1 -1
- package/dist/projections/modelBound/index.js +3 -0
- package/dist/projections/modelBound/index.js.map +1 -1
- package/dist/projections/modelBound/noAutoMap.d.ts +26 -0
- package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -0
- package/dist/projections/modelBound/noAutoMap.js +44 -0
- package/dist/projections/modelBound/noAutoMap.js.map +1 -0
- package/dist/reactors/Reactors.d.ts.map +1 -1
- package/dist/reactors/Reactors.js +7 -3
- package/dist/reactors/Reactors.js.map +1 -1
- package/dist/readModels/MaterializedReadModels.d.ts +0 -1
- package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.js +2 -8
- package/dist/readModels/MaterializedReadModels.js.map +1 -1
- package/dist/readModels/ReadModelSubjectResolver.d.ts +22 -0
- package/dist/readModels/ReadModelSubjectResolver.d.ts.map +1 -0
- package/dist/readModels/ReadModelSubjectResolver.js +38 -0
- package/dist/readModels/ReadModelSubjectResolver.js.map +1 -0
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +7 -7
- package/dist/readModels/ReadModels.js.map +1 -1
- package/dist/readModels/index.d.ts +1 -0
- package/dist/readModels/index.d.ts.map +1 -1
- package/dist/readModels/index.js +1 -0
- package/dist/readModels/index.js.map +1 -1
- package/dist/reducers/Reducers.d.ts.map +1 -1
- package/dist/reducers/Reducers.js +21 -3
- package/dist/reducers/Reducers.js.map +1 -1
- package/dist/schemas/JsonSchema.d.ts +14 -0
- package/dist/schemas/JsonSchema.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts +61 -5
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.js +130 -26
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/seeding/EventSeeding.d.ts.map +1 -1
- package/dist/seeding/EventSeeding.js +3 -1
- package/dist/seeding/EventSeeding.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eventSequences/AppendOptions.ts +9 -0
- package/eventSequences/EventForEventSourceId.ts +9 -0
- package/eventSequences/EventSequence.ts +20 -6
- package/events/EventContext.ts +4 -0
- package/events/Tag.ts +14 -0
- package/events/filterEventsByTagDecorator.ts +51 -0
- package/events/index.ts +4 -0
- package/events/mergeTags.spec.ts +50 -0
- package/events/mergeTags.ts +27 -0
- package/events/tagDecorator.spec.ts +115 -0
- package/events/tagDecorator.ts +59 -0
- package/observation/ObserverRunningState.ts +9 -18
- package/observation/index.ts +1 -0
- package/observation/toObserverRunningState.ts +27 -0
- package/package.json +8 -8
- package/projections/IProjections.ts +81 -1
- package/projections/ProjectionQueryResult.ts +10 -0
- package/projections/ProjectionState.ts +25 -0
- package/projections/Projections.childrenAndNested.spec.ts +1 -1
- package/projections/Projections.modelBoundCompleteness.spec.ts +224 -0
- package/projections/Projections.operationalSurface.spec.ts +257 -0
- package/projections/Projections.spec.ts +1 -1
- package/projections/Projections.ts +180 -5
- package/projections/UnableToQueryProjection.ts +17 -0
- package/projections/index.ts +3 -0
- package/projections/modelBound/eventSequence.ts +38 -0
- package/projections/modelBound/fromAll.ts +42 -0
- package/projections/modelBound/index.ts +4 -0
- package/projections/modelBound/noAutoMap.ts +47 -0
- package/reactors/Reactors.ts +7 -3
- package/readModels/MaterializedReadModels.spec.ts +98 -0
- package/readModels/MaterializedReadModels.ts +2 -8
- package/readModels/ReadModelSubjectResolver.spec.ts +84 -0
- package/readModels/ReadModelSubjectResolver.ts +44 -0
- package/readModels/ReadModels.spec.ts +118 -0
- package/readModels/ReadModels.ts +7 -7
- package/readModels/index.ts +1 -0
- package/reducers/Reducers.spec.ts +80 -0
- package/reducers/Reducers.ts +22 -3
- package/schemas/JsonSchema.ts +16 -0
- package/schemas/JsonSchemaGenerator.spec.ts +195 -0
- package/schemas/JsonSchemaGenerator.ts +145 -27
- package/schemas/index.ts +1 -1
- package/seeding/EventSeeding.ts +3 -1
|
@@ -1,27 +1,72 @@
|
|
|
1
|
+
import { Constructor } from '@cratis/fundamentals';
|
|
1
2
|
import { IClientArtifactsProvider } from '../artifacts';
|
|
2
3
|
import { ChronicleConnection } from '../connection';
|
|
4
|
+
import { JobId } from '../jobs/JobId';
|
|
5
|
+
import { FailedPartition } from '../observation/FailedPartition';
|
|
3
6
|
import { IProjections } from './IProjections';
|
|
7
|
+
import { ProjectionId } from './ProjectionId';
|
|
8
|
+
import { ProjectionQueryResult } from './ProjectionQueryResult';
|
|
9
|
+
import { ProjectionState } from './ProjectionState';
|
|
4
10
|
/**
|
|
5
11
|
* Implements {@link IProjections}, managing discovery and registration of projections
|
|
6
12
|
* with the Chronicle Kernel.
|
|
7
13
|
*/
|
|
8
14
|
export declare class Projections implements IProjections {
|
|
9
15
|
private readonly _eventStore;
|
|
16
|
+
private readonly _namespace;
|
|
10
17
|
private readonly _connection;
|
|
11
18
|
private readonly _clientArtifacts;
|
|
12
19
|
private readonly _defaultSinkTypeId;
|
|
13
20
|
private readonly _declarative;
|
|
14
21
|
private readonly _modelBound;
|
|
22
|
+
private readonly _failedPartitions;
|
|
15
23
|
private readonly _logger;
|
|
16
24
|
/**
|
|
17
25
|
* Creates a new {@link Projections} instance.
|
|
26
|
+
* @param _eventStore - The event store name.
|
|
27
|
+
* @param _namespace - The event store namespace.
|
|
28
|
+
* @param _connection - Chronicle connection.
|
|
18
29
|
* @param _clientArtifacts - Provider for discovered client artifact types.
|
|
30
|
+
* @param _defaultSinkTypeId - The identifier of the default read model sink.
|
|
19
31
|
*/
|
|
20
|
-
constructor(_eventStore: string, _connection: ChronicleConnection, _clientArtifacts: IClientArtifactsProvider, _defaultSinkTypeId: string);
|
|
32
|
+
constructor(_eventStore: string, _namespace: string, _connection: ChronicleConnection, _clientArtifacts: IClientArtifactsProvider, _defaultSinkTypeId: string);
|
|
21
33
|
/** @inheritdoc */
|
|
22
34
|
discover(): Promise<void>;
|
|
23
35
|
/** @inheritdoc */
|
|
24
36
|
register(): Promise<void>;
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
hasFor(projectionId: ProjectionId | string): boolean;
|
|
39
|
+
/** @inheritdoc */
|
|
40
|
+
hasForModel(readModelType: Constructor): boolean;
|
|
41
|
+
/** @inheritdoc */
|
|
42
|
+
getProjectionIdFor(readModelType: Constructor): ProjectionId;
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
getStateFor(projectionId: ProjectionId | string): Promise<ProjectionState>;
|
|
45
|
+
/** @inheritdoc */
|
|
46
|
+
getStateForModel(readModelType: Constructor): Promise<ProjectionState>;
|
|
47
|
+
/** @inheritdoc */
|
|
48
|
+
getFailedPartitionsForModel(readModelType: Constructor): Promise<FailedPartition[]>;
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
replay(projectionId: ProjectionId | string): Promise<JobId>;
|
|
51
|
+
/** @inheritdoc */
|
|
52
|
+
replayForModel(readModelType: Constructor): Promise<JobId>;
|
|
53
|
+
/** @inheritdoc */
|
|
54
|
+
query(declaration: string, eventSequenceId?: string): Promise<ProjectionQueryResult>;
|
|
55
|
+
private toProjectionIdValue;
|
|
56
|
+
/**
|
|
57
|
+
* Resolves the {@link ProjectionId} of the projection that maintains a specific read model type,
|
|
58
|
+
* from what has already been discovered.
|
|
59
|
+
* @param readModelType - The read model type to resolve for.
|
|
60
|
+
* @returns The resolved {@link ProjectionId}.
|
|
61
|
+
*/
|
|
62
|
+
private resolveProjectionIdForModel;
|
|
63
|
+
/**
|
|
64
|
+
* Resolves the event sequence identifier a discovered projection reads from, without requiring
|
|
65
|
+
* its full definition to have been built.
|
|
66
|
+
* @param projectionId - The projection identifier to resolve for.
|
|
67
|
+
* @returns The resolved event sequence identifier.
|
|
68
|
+
*/
|
|
69
|
+
private resolveEventSequenceIdFor;
|
|
25
70
|
private registerWithRetry;
|
|
26
71
|
private buildReadModelDefinitions;
|
|
27
72
|
private getReadModelSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Projections.d.ts","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Projections.d.ts","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAQ,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKjE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAuB9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpD;;;GAGG;AACH,qBAAa,WAAY,YAAW,YAAY;IAgBxC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAnBvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8E;IAEtG;;;;;;;OAOG;gBAEkB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB,EAC1C,kBAAkB,EAAE,MAAM;IAK/C,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC/B,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC/B,kBAAkB;IAClB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO;IAKpD,kBAAkB;IAClB,WAAW,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO;IAShD,kBAAkB;IAClB,kBAAkB,CAAC,aAAa,EAAE,WAAW,GAAG,YAAY;IAI5D,kBAAkB;IACZ,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBhF,kBAAkB;IAClB,gBAAgB,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAItE,kBAAkB;IAClB,2BAA2B,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAKnF,kBAAkB;IACZ,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBjE,kBAAkB;IAClB,cAAc,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAI1D,kBAAkB;IACZ,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,GAAE,MAAuC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiB1H,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAmBnC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;YAcnB,iBAAiB;IA8B/B,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,yBAAyB;IAoIjC,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,eAAe;IAuBvB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;CASnC"}
|
|
@@ -6,42 +6,59 @@ import { Guid } from '@cratis/fundamentals';
|
|
|
6
6
|
import { toContractsGuid } from '../connection/Guid';
|
|
7
7
|
import { WellKnownSinks } from '../sinks';
|
|
8
8
|
import { EventSequenceId } from '../eventSequences/EventSequenceId';
|
|
9
|
+
import { EventSequenceNumber } from '../eventSequences/EventSequenceNumber';
|
|
10
|
+
import { JobId } from '../jobs/JobId';
|
|
11
|
+
import { FailedPartitions } from '../observation/FailedPartitions';
|
|
12
|
+
import { toObserverRunningState } from '../observation/toObserverRunningState';
|
|
9
13
|
import { getReadModelMetadata } from '../readModels';
|
|
10
14
|
import { TypeIntrospector } from '../types';
|
|
11
15
|
import { getProjectionMetadata } from './declarative/projection';
|
|
12
16
|
import { ProjectionBuilderFor } from './declarative/ProjectionBuilderFor';
|
|
13
|
-
import { applyPropertyMappings, buildChildrenEntry, buildNestedEntry, getEventTypeMapKey, toContractEventType } from './modelBound/childrenAndNestedBuilder';
|
|
17
|
+
import { applyPropertyMappings, buildChildrenEntry, buildNestedEntry, ensureFromEntry, getEventTypeMapKey, toContractEventType } from './modelBound/childrenAndNestedBuilder';
|
|
14
18
|
import { getChildrenFromMetadata } from './modelBound/childrenFrom';
|
|
19
|
+
import { getClearWithPropertyMetadata } from './modelBound/clearWith';
|
|
20
|
+
import { getEventSequenceMetadata } from './modelBound/eventSequence';
|
|
21
|
+
import { getFromAllMetadata } from './modelBound/fromAll';
|
|
15
22
|
import { getFromEveryMetadata } from './modelBound/fromEvery';
|
|
16
23
|
import { getFromEventMetadata, hasFromEventMetadata } from './modelBound/fromEvent';
|
|
17
24
|
import { getJoinMetadata } from './modelBound/join';
|
|
25
|
+
import { isNoAutoMap, isPropertyNoAutoMap } from './modelBound/noAutoMap';
|
|
18
26
|
import { ProjectionId } from './ProjectionId';
|
|
19
27
|
import { isNested } from './modelBound/nested';
|
|
20
28
|
import { isNotRewindable } from './modelBound/notRewindable';
|
|
21
29
|
import { isPassive } from './modelBound/passive';
|
|
22
30
|
import { getRemovedWithClassMetadata, getRemovedWithPropertyMetadata } from './modelBound/removedWith';
|
|
23
31
|
import { getRemovedWithJoinClassMetadata, getRemovedWithJoinPropertyMetadata } from './modelBound/removedWithJoin';
|
|
32
|
+
import { UnableToQueryProjection } from './UnableToQueryProjection';
|
|
24
33
|
/**
|
|
25
34
|
* Implements {@link IProjections}, managing discovery and registration of projections
|
|
26
35
|
* with the Chronicle Kernel.
|
|
27
36
|
*/
|
|
28
37
|
export class Projections {
|
|
29
38
|
_eventStore;
|
|
39
|
+
_namespace;
|
|
30
40
|
_connection;
|
|
31
41
|
_clientArtifacts;
|
|
32
42
|
_defaultSinkTypeId;
|
|
33
43
|
_declarative = new Map();
|
|
34
44
|
_modelBound = new Map();
|
|
45
|
+
_failedPartitions;
|
|
35
46
|
_logger = diag.createComponentLogger({ namespace: '@cratis/chronicle/projections' });
|
|
36
47
|
/**
|
|
37
48
|
* Creates a new {@link Projections} instance.
|
|
49
|
+
* @param _eventStore - The event store name.
|
|
50
|
+
* @param _namespace - The event store namespace.
|
|
51
|
+
* @param _connection - Chronicle connection.
|
|
38
52
|
* @param _clientArtifacts - Provider for discovered client artifact types.
|
|
53
|
+
* @param _defaultSinkTypeId - The identifier of the default read model sink.
|
|
39
54
|
*/
|
|
40
|
-
constructor(_eventStore, _connection, _clientArtifacts, _defaultSinkTypeId) {
|
|
55
|
+
constructor(_eventStore, _namespace, _connection, _clientArtifacts, _defaultSinkTypeId) {
|
|
41
56
|
this._eventStore = _eventStore;
|
|
57
|
+
this._namespace = _namespace;
|
|
42
58
|
this._connection = _connection;
|
|
43
59
|
this._clientArtifacts = _clientArtifacts;
|
|
44
60
|
this._defaultSinkTypeId = _defaultSinkTypeId;
|
|
61
|
+
this._failedPartitions = new FailedPartitions(_eventStore, _namespace, _connection);
|
|
45
62
|
}
|
|
46
63
|
/** @inheritdoc */
|
|
47
64
|
async discover() {
|
|
@@ -101,6 +118,125 @@ export class Projections {
|
|
|
101
118
|
await this.registerWithRetry(projection, identifier);
|
|
102
119
|
}
|
|
103
120
|
}
|
|
121
|
+
/** @inheritdoc */
|
|
122
|
+
hasFor(projectionId) {
|
|
123
|
+
const id = this.toProjectionIdValue(projectionId);
|
|
124
|
+
return this._declarative.has(id) || this._modelBound.has(id);
|
|
125
|
+
}
|
|
126
|
+
/** @inheritdoc */
|
|
127
|
+
hasForModel(readModelType) {
|
|
128
|
+
try {
|
|
129
|
+
this.resolveProjectionIdForModel(readModelType);
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** @inheritdoc */
|
|
137
|
+
getProjectionIdFor(readModelType) {
|
|
138
|
+
return this.resolveProjectionIdForModel(readModelType);
|
|
139
|
+
}
|
|
140
|
+
/** @inheritdoc */
|
|
141
|
+
async getStateFor(projectionId) {
|
|
142
|
+
const id = this.toProjectionIdValue(projectionId);
|
|
143
|
+
const eventSequenceId = this.resolveEventSequenceIdFor(id);
|
|
144
|
+
const response = await this._connection.observers.getObserverInformation({
|
|
145
|
+
EventStore: this._eventStore,
|
|
146
|
+
Namespace: this._namespace,
|
|
147
|
+
ObserverId: id,
|
|
148
|
+
EventSequenceId: eventSequenceId
|
|
149
|
+
});
|
|
150
|
+
return {
|
|
151
|
+
runningState: toObserverRunningState(response.RunningState),
|
|
152
|
+
isSubscribed: response.IsSubscribed,
|
|
153
|
+
nextEventSequenceNumber: new EventSequenceNumber(response.NextEventSequenceNumber),
|
|
154
|
+
lastHandledEventSequenceNumber: new EventSequenceNumber(response.LastHandledEventSequenceNumber),
|
|
155
|
+
tailEventSequenceNumber: new EventSequenceNumber(response.TailEventSequenceNumber)
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/** @inheritdoc */
|
|
159
|
+
getStateForModel(readModelType) {
|
|
160
|
+
return this.getStateFor(this.resolveProjectionIdForModel(readModelType));
|
|
161
|
+
}
|
|
162
|
+
/** @inheritdoc */
|
|
163
|
+
getFailedPartitionsForModel(readModelType) {
|
|
164
|
+
const projectionId = this.resolveProjectionIdForModel(readModelType);
|
|
165
|
+
return this._failedPartitions.getFailedPartitionsFor(projectionId.value);
|
|
166
|
+
}
|
|
167
|
+
/** @inheritdoc */
|
|
168
|
+
async replay(projectionId) {
|
|
169
|
+
const id = this.toProjectionIdValue(projectionId);
|
|
170
|
+
const response = await this._connection.observers.replay({
|
|
171
|
+
EventStore: this._eventStore,
|
|
172
|
+
Namespace: this._namespace,
|
|
173
|
+
ObserverId: id,
|
|
174
|
+
// The kernel resolves the observer's own event sequence from its identifier - it does not
|
|
175
|
+
// need to be told which one to replay.
|
|
176
|
+
EventSequenceId: ''
|
|
177
|
+
});
|
|
178
|
+
return response.JobId ? JobId.from(response.JobId) : JobId.from(Guid.empty);
|
|
179
|
+
}
|
|
180
|
+
/** @inheritdoc */
|
|
181
|
+
replayForModel(readModelType) {
|
|
182
|
+
return this.replay(this.resolveProjectionIdForModel(readModelType));
|
|
183
|
+
}
|
|
184
|
+
/** @inheritdoc */
|
|
185
|
+
async query(declaration, eventSequenceId = EventSequenceId.eventLog.value) {
|
|
186
|
+
const result = await this._connection.projections.preview({
|
|
187
|
+
EventStore: this._eventStore,
|
|
188
|
+
Namespace: this._namespace,
|
|
189
|
+
EventSequenceId: eventSequenceId,
|
|
190
|
+
Declaration: declaration
|
|
191
|
+
});
|
|
192
|
+
if (result.Value1) {
|
|
193
|
+
throw new UnableToQueryProjection(result.Value1.Errors.map(error => error.Message));
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
readModelEntries: result.Value0?.ReadModelEntries ?? []
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
toProjectionIdValue(projectionId) {
|
|
200
|
+
return typeof projectionId === 'string' ? projectionId : projectionId.value;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Resolves the {@link ProjectionId} of the projection that maintains a specific read model type,
|
|
204
|
+
* from what has already been discovered.
|
|
205
|
+
* @param readModelType - The read model type to resolve for.
|
|
206
|
+
* @returns The resolved {@link ProjectionId}.
|
|
207
|
+
*/
|
|
208
|
+
resolveProjectionIdForModel(readModelType) {
|
|
209
|
+
for (const [id, type] of this._modelBound) {
|
|
210
|
+
if (type === readModelType) {
|
|
211
|
+
return new ProjectionId(id);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
for (const [id, type] of this._declarative) {
|
|
215
|
+
const metadata = getProjectionMetadata(type);
|
|
216
|
+
if (metadata?.readModelType === readModelType) {
|
|
217
|
+
return new ProjectionId(id);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
throw new Error(`No projection found for read model '${readModelType.name}'. Make sure discover() has run and the ` +
|
|
221
|
+
'read model is model-bound, or its declarative projection() decorator specifies an explicit readModelType.');
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Resolves the event sequence identifier a discovered projection reads from, without requiring
|
|
225
|
+
* its full definition to have been built.
|
|
226
|
+
* @param projectionId - The projection identifier to resolve for.
|
|
227
|
+
* @returns The resolved event sequence identifier.
|
|
228
|
+
*/
|
|
229
|
+
resolveEventSequenceIdFor(projectionId) {
|
|
230
|
+
const modelBoundType = this._modelBound.get(projectionId);
|
|
231
|
+
if (modelBoundType) {
|
|
232
|
+
return getEventSequenceMetadata(modelBoundType) ?? EventSequenceId.eventLog.value;
|
|
233
|
+
}
|
|
234
|
+
const declarativeType = this._declarative.get(projectionId);
|
|
235
|
+
if (declarativeType) {
|
|
236
|
+
return getProjectionMetadata(declarativeType)?.eventSequenceId ?? EventSequenceId.eventLog.value;
|
|
237
|
+
}
|
|
238
|
+
return EventSequenceId.eventLog.value;
|
|
239
|
+
}
|
|
104
240
|
async registerWithRetry(projection, identifier, maxAttempts = 5) {
|
|
105
241
|
let delay = 2000;
|
|
106
242
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
@@ -283,13 +419,23 @@ export class Projections {
|
|
|
283
419
|
if (childrenFromList.length > 0) {
|
|
284
420
|
childrenByProperty[property] = buildChildrenEntry(type, property, childrenFromList);
|
|
285
421
|
}
|
|
286
|
-
|
|
422
|
+
const propertyIsNested = isNested(prototype, property);
|
|
423
|
+
if (propertyIsNested) {
|
|
287
424
|
nestedByProperty[property] = buildNestedEntry(type, property);
|
|
288
425
|
}
|
|
426
|
+
// A scalar (non-nested, non-children-collection) root property clears back to no value
|
|
427
|
+
// every time the given event is observed. A nested single-object property's clearWith is
|
|
428
|
+
// handled by buildNestedEntry instead, which clears the whole nested object.
|
|
429
|
+
if (childrenFromList.length === 0 && !propertyIsNested) {
|
|
430
|
+
for (const clearWith of getClearWithPropertyMetadata(prototype, property)) {
|
|
431
|
+
const entry = ensureFromEntry(fromByEventType, clearWith.eventType);
|
|
432
|
+
entry.Value.Properties[property] = '$null';
|
|
433
|
+
}
|
|
434
|
+
}
|
|
289
435
|
}
|
|
290
436
|
const allProperties = {};
|
|
291
437
|
for (const property of properties) {
|
|
292
|
-
const fromEvery = getFromEveryMetadata(prototype, property);
|
|
438
|
+
const fromEvery = getFromEveryMetadata(prototype, property) ?? getFromAllMetadata(prototype, property);
|
|
293
439
|
if (fromEvery) {
|
|
294
440
|
allProperties[property] = fromEvery.contextProperty
|
|
295
441
|
? fromEvery.contextProperty
|
|
@@ -316,7 +462,8 @@ export class Projections {
|
|
|
316
462
|
RemovedWithJoin: Array.from(removedWithJoinByEventType.values()),
|
|
317
463
|
LastUpdated: { Value: '' },
|
|
318
464
|
Tags: [],
|
|
319
|
-
AutoMap: AutoMap.Enabled,
|
|
465
|
+
AutoMap: isNoAutoMap(type) ? AutoMap.Disabled : AutoMap.Enabled,
|
|
466
|
+
NoAutoMapProperties: properties.filter(property => isPropertyNoAutoMap(prototype, property)),
|
|
320
467
|
Nested: nestedByProperty
|
|
321
468
|
};
|
|
322
469
|
definition.LastUpdated = { Value: this.computeStableLastUpdated(definition) };
|
|
@@ -327,7 +474,7 @@ export class Projections {
|
|
|
327
474
|
if (readModelMetadata && hasFromEventMetadata(type)) {
|
|
328
475
|
return {
|
|
329
476
|
id: new ProjectionId(readModelMetadata.id.value),
|
|
330
|
-
eventSequenceId:
|
|
477
|
+
eventSequenceId: getEventSequenceMetadata(type),
|
|
331
478
|
readModelIdentifier: readModelMetadata.id.value
|
|
332
479
|
};
|
|
333
480
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Projections.js","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Projections.js","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EACH,OAAO,EACP,eAAe,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAe,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAGhB,eAAe,EAEf,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,+BAA+B,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAQpE;;;GAGG;AACH,MAAM,OAAO,WAAW;IAgBC;IACA;IACA;IACA;IACA;IAnBJ,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,iBAAiB,CAAmB;IAEpC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAEtG;;;;;;;OAOG;IACH,YACqB,WAAmB,EACnB,UAAkB,EAClB,WAAgC,EAChC,gBAA0C,EAC1C,kBAA0B;QAJ1B,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAqB;QAChC,qBAAgB,GAAhB,gBAAgB,CAA0B;QAC1C,uBAAkB,GAAlB,kBAAkB,CAAQ;QAE3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpI,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9G,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1G,SAAS;YACb,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9G,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9I,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnI,MAAM,WAAW,GAAG;YAChB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC5F,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;SAC7F,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC3C,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,KAAK,EAAE,CAAC;gBACR,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAE,UAAuC,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,YAAmC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,kBAAkB;IAClB,WAAW,CAAC,aAA0B;QAClC,IAAI,CAAC;YACD,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,kBAAkB,CAAC,aAA0B;QACzC,OAAO,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,WAAW,CAAC,YAAmC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC;YACrE,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,eAAe;SACnC,CAAC,CAAC;QAEH,OAAO;YACH,YAAY,EAAE,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC3D,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,uBAAuB,EAAE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAClF,8BAA8B,EAAE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAChG,uBAAuB,EAAE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SACrF,CAAC;IACN,CAAC;IAED,kBAAkB;IAClB,gBAAgB,CAAC,aAA0B;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;IAClB,2BAA2B,CAAC,aAA0B;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,MAAM,CAAC,YAAmC;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC;YACrD,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,UAAU,EAAE,EAAE;YAEd,0FAA0F;YAC1F,uCAAuC;YACvC,eAAe,EAAE,EAAE;SACtB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB;IAClB,cAAc,CAAC,aAA0B;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,kBAA0B,eAAe,CAAC,QAAQ,CAAC,KAAK;QACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC;YACtD,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,eAAe,EAAE,eAAe;YAChC,WAAW,EAAE,WAAW;SAC3B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,OAAO;YACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,IAAI,EAAE;SAC1D,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,YAAmC;QAC3D,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;IAChF,CAAC;IAED;;;;;OAKG;IACK,2BAA2B,CAAC,aAA0B;QAC1D,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACzB,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,aAAa,KAAK,aAAa,EAAE,CAAC;gBAC5C,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CACX,uCAAuC,aAAa,CAAC,IAAI,0CAA0C;YACnG,2GAA2G,CAAC,CAAC;IACrH,CAAC;IAED;;;;;OAKG;IACK,yBAAyB,CAAC,YAAoB;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,wBAAwB,CAAC,cAAc,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtF,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,qBAAqB,CAAC,eAAe,CAAC,EAAE,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrG,CAAC;QAED,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAmB,EAAE,UAAkB,EAAE,WAAW,GAAG,CAAC;QACpF,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAG,UAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/G,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;oBACxC,UAAU,EAAE,IAAI,CAAC,WAAW;oBAC5B,KAAK,EAAE,eAAe,CAAC,uBAAuB;oBAC9C,WAAW,EAAE,CAAC,UAAiB,CAAC;iBACnC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACxE,OAAO;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACvG,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,WAAW,OAAO,gBAAgB,GAAG,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+DAA+D,EAAE;oBAC/E,UAAU;oBACV,OAAO;oBACP,eAAe,EAAE,KAAK;oBACtB,KAAK,EAAE,GAAG;iBACb,CAAC,CAAC;gBACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACzD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,WAAkB;QAChD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC;YACjD,IAAI,CAAC,mBAAmB,IAAI,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC/D,SAAS;YACb,CAAC;YAED,WAAW,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBACjC,IAAI,EAAE;oBACF,UAAU,EAAE,mBAAmB;oBAC/B,UAAU,EAAE,CAAC;iBAChB;gBACD,aAAa,EAAE,mBAAmB;gBAClC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE;oBACF,eAAe,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC5C,gFAAgF;oBAChF,gFAAgF;oBAChF,qFAAqF;oBACrF,MAAM,EAAE,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB;iBACxF;gBACD,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC;gBACpD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,CAAC;gBACf,kBAAkB,EAAE,UAAU,CAAC,UAAU;gBACzC,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEO,kBAAkB,CAAC,mBAA2B;QAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,SAAS;YACb,CAAC;YAED,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACjF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,0BAA0B,CAAC,IAAiB;QAChD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,+CAA+C,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAW,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAA6B,CAAC;QACvD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAA4B,CAAC;QAE1F,MAAM,2BAA2B,GAAG,UAAU,CAAC,SAAmB,CAAC;QACnE,IAAI,2BAA2B,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,wDAAwD;YACxD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACxD,UAAU,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,IAAK,QAAQ,CAAC,aAA0B,CAAC,IAAI,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACJ,MAAM,2BAA2B,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;gBAC1G,IAAI,2BAA2B,EAAE,CAAC;oBAC9B,UAAU,CAAC,SAAS,GAAG,2BAA2B,CAAC;gBACvD,CAAC;YACL,CAAC;QACL,CAAC;QAED,UAAU,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,wBAAwB,CAAC,gBAA0B;QACvD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU;aACtD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC7D,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;aACvC,MAAM,CAAC,SAAS,CAAC,EAAE;YAChB,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEP,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAS,CAAC,EAAE,CAAC,KAAK,CAAC;IACpD,CAAC;IAEO,yBAAyB,CAAC,IAAiB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,+CAA+C,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsB,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8G,CAAC;QAC9I,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAiF,CAAC;QACxH,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAA8D,CAAC;QACzG,MAAM,kBAAkB,GAA2C,EAAE,CAAC;QACtE,MAAM,gBAAgB,GAA2C,EAAE,CAAC;QAEpE,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC/C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC1B,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE;oBACH,UAAU,EAAE,EAAE;oBACd,GAAG,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,GAAG,IAAI,gBAAgB;oBAC/D,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;iBACvC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;gBACtD,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;aACtF,CAAC,CAAC;QACP,CAAC;QAED,MAAM,oBAAoB,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;QACnE,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,0BAA0B,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;gBAC1D,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,gBAAgB,EAAE;aAClD,CAAC,CAAC;QACP,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAChC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YAE5D,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,iBAAiB,IAAI,QAAQ,CAAC;YAC7E,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,8BAA8B,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACxE,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACzD,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;oBACtD,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;iBACtF,CAAC,CAAC;YACP,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,kCAAkC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5E,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACzD,0BAA0B,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;oBAC1D,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,gBAAgB,EAAE;iBAClD,CAAC,CAAC;YACP,CAAC;YAED,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACxF,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC;YAED,uFAAuF;YACvF,yFAAyF;YACzF,6EAA6E;YAC7E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrD,KAAK,MAAM,SAAS,IAAI,4BAA4B,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACxE,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBACpE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvG,IAAI,SAAS,EAAE,CAAC;gBACZ,aAAa,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,eAAe;oBAC/C,CAAC,CAAC,SAAS,CAAC,eAAe;oBAC3B,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAA4B;YACxC,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK;YAC3E,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK;YAC7B,SAAS,EAAE,QAAQ,CAAC,mBAAmB;YACvC,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,YAAY,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACpC,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1C,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,EAAE;YACb,GAAG,EAAE;gBACD,UAAU,EAAE,aAAa;gBACzB,eAAe,EAAE,KAAK;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B;YACD,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACxD,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC;YAChE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YAC/D,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC5F,MAAM,EAAE,gBAAgB;SAC3B,CAAC;QACF,UAAU,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9E,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,yBAAyB,CAAC,IAAiB;QAC/C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,iBAAiB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO;gBACH,EAAE,EAAE,IAAI,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC;gBAChD,eAAe,EAAE,wBAAwB,CAAC,IAAI,CAAC;gBAC/C,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,CAAC,KAAK;aAClD,CAAC;QACN,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,eAAe,CACnB,eAAgI,EAChI,oBAA8B;QAE9B,MAAM,SAAS,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,GAAG,EAAE,SAAS;YACd,KAAK,EAAE;gBACH,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,GAAG,EAAE,gBAAgB;aACxB;SACJ,CAAC;QACF,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,UAAmC;QAChE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;CACJ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown when a projection query fails because the Projection Declaration Language
|
|
3
|
+
* declaration contains errors.
|
|
4
|
+
*/
|
|
5
|
+
export declare class UnableToQueryProjection extends Error {
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new {@link UnableToQueryProjection}.
|
|
8
|
+
* @param errors - The collection of error messages describing why the query failed.
|
|
9
|
+
*/
|
|
10
|
+
constructor(errors: ReadonlyArray<string>);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=UnableToQueryProjection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnableToQueryProjection.d.ts","sourceRoot":"","sources":["../../projections/UnableToQueryProjection.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAC9C;;;OAGG;gBACS,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;CAI5C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
/**
|
|
4
|
+
* Error thrown when a projection query fails because the Projection Declaration Language
|
|
5
|
+
* declaration contains errors.
|
|
6
|
+
*/
|
|
7
|
+
export class UnableToQueryProjection extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new {@link UnableToQueryProjection}.
|
|
10
|
+
* @param errors - The collection of error messages describing why the query failed.
|
|
11
|
+
*/
|
|
12
|
+
constructor(errors) {
|
|
13
|
+
super(`Unable to query projection. Errors:\n${errors.join('\n')}`);
|
|
14
|
+
this.name = 'UnableToQueryProjection';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=UnableToQueryProjection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnableToQueryProjection.js","sourceRoot":"","sources":["../../projections/UnableToQueryProjection.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C;;;OAGG;IACH,YAAY,MAA6B;QACrC,KAAK,CAAC,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;CACJ"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { ProjectionId } from './ProjectionId';
|
|
2
2
|
export type { IProjections } from './IProjections';
|
|
3
3
|
export { Projections } from './Projections';
|
|
4
|
+
export type { ProjectionState } from './ProjectionState';
|
|
5
|
+
export type { ProjectionQueryResult } from './ProjectionQueryResult';
|
|
6
|
+
export { UnableToQueryProjection } from './UnableToQueryProjection';
|
|
4
7
|
export * from './declarative';
|
|
5
8
|
export * from './modelBound';
|
|
6
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../projections/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../projections/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
export { ProjectionId } from './ProjectionId';
|
|
4
4
|
export { Projections } from './Projections';
|
|
5
|
+
export { UnableToQueryProjection } from './UnableToQueryProjection';
|
|
5
6
|
export * from './declarative';
|
|
6
7
|
export * from './modelBound';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../projections/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../projections/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
/**
|
|
3
|
+
* Class decorator that overrides the event sequence a model-bound projection reads from.
|
|
4
|
+
* When applied, auto-inbox routing is suppressed - the explicit value is always honored.
|
|
5
|
+
* @param sequence - The event sequence identifier to read from.
|
|
6
|
+
* @returns A class decorator.
|
|
7
|
+
*/
|
|
8
|
+
export declare function eventSequence(sequence: string): ClassDecorator;
|
|
9
|
+
/**
|
|
10
|
+
* Convenience class decorator that pins a model-bound projection to the default event log
|
|
11
|
+
* sequence. Equivalent to `eventSequence(EventSequenceId.eventLog.value)`, but more expressive
|
|
12
|
+
* about the intent to read from the local event log rather than an inbox or another sequence.
|
|
13
|
+
* @param target - The class constructor.
|
|
14
|
+
*/
|
|
15
|
+
export declare function eventLog(target: Function): void;
|
|
16
|
+
/**
|
|
17
|
+
* Retrieves the explicit event sequence identifier stored on a class, if any.
|
|
18
|
+
* @param target - The class constructor.
|
|
19
|
+
* @returns The event sequence identifier, or undefined when the class has no explicit override.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getEventSequenceMetadata(target: Function): string | undefined;
|
|
22
|
+
//# sourceMappingURL=eventSequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventSequence.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/eventSequence.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAK1B;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAI9D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE7E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
import 'reflect-metadata';
|
|
4
|
+
import { EventSequenceId } from '../../eventSequences/EventSequenceId';
|
|
5
|
+
const METADATA_KEY = 'chronicle:projection:eventSequence';
|
|
6
|
+
/**
|
|
7
|
+
* Class decorator that overrides the event sequence a model-bound projection reads from.
|
|
8
|
+
* When applied, auto-inbox routing is suppressed - the explicit value is always honored.
|
|
9
|
+
* @param sequence - The event sequence identifier to read from.
|
|
10
|
+
* @returns A class decorator.
|
|
11
|
+
*/
|
|
12
|
+
export function eventSequence(sequence) {
|
|
13
|
+
return (target) => {
|
|
14
|
+
Reflect.defineMetadata(METADATA_KEY, sequence, target);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Convenience class decorator that pins a model-bound projection to the default event log
|
|
19
|
+
* sequence. Equivalent to `eventSequence(EventSequenceId.eventLog.value)`, but more expressive
|
|
20
|
+
* about the intent to read from the local event log rather than an inbox or another sequence.
|
|
21
|
+
* @param target - The class constructor.
|
|
22
|
+
*/
|
|
23
|
+
export function eventLog(target) {
|
|
24
|
+
Reflect.defineMetadata(METADATA_KEY, EventSequenceId.eventLog.value, target);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves the explicit event sequence identifier stored on a class, if any.
|
|
28
|
+
* @param target - The class constructor.
|
|
29
|
+
* @returns The event sequence identifier, or undefined when the class has no explicit override.
|
|
30
|
+
*/
|
|
31
|
+
export function getEventSequenceMetadata(target) {
|
|
32
|
+
return Reflect.getMetadata(METADATA_KEY, target);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=eventSequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventSequence.js","sourceRoot":"","sources":["../../../projections/modelBound/eventSequence.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,YAAY,GAAG,oCAAoC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC1C,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAgB;IACrC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAgB;IACrD,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
/** Metadata stored by the fromAll property decorator. */
|
|
3
|
+
export interface FromAllMetadata {
|
|
4
|
+
/** The event property name to read the value from. */
|
|
5
|
+
readonly property?: string;
|
|
6
|
+
/** The event context property name to read the value from. */
|
|
7
|
+
readonly contextProperty?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Property decorator that sets the decorated read model property from a property present on every
|
|
11
|
+
* event type the projection is built from - the convention-based counterpart to declaring the same
|
|
12
|
+
* mapping on every individual `fromEvent`. Equivalent to {@link fromEvery} for model-bound
|
|
13
|
+
* projections; use whichever name reads better for the property being mapped.
|
|
14
|
+
* @param property - Optional event property name. If not specified, uses the model property name.
|
|
15
|
+
* @param contextProperty - Optional event context property name.
|
|
16
|
+
* @returns A property decorator.
|
|
17
|
+
*/
|
|
18
|
+
export declare function fromAll(property?: string, contextProperty?: string): PropertyDecorator;
|
|
19
|
+
/**
|
|
20
|
+
* Retrieves fromAll metadata stored on the given property.
|
|
21
|
+
* @param target - The class prototype.
|
|
22
|
+
* @param propertyKey - The property name.
|
|
23
|
+
* @returns The fromAll metadata, or undefined if not decorated.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getFromAllMetadata(target: object, propertyKey: string): FromAllMetadata | undefined;
|
|
26
|
+
//# sourceMappingURL=fromAll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromAll.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/fromAll.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B,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,iBAAiB,CAMtF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEnG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
import 'reflect-metadata';
|
|
4
|
+
import { TypeIntrospector } from '../../types';
|
|
5
|
+
const METADATA_KEY = 'chronicle:projection:fromAll';
|
|
6
|
+
/**
|
|
7
|
+
* Property decorator that sets the decorated read model property from a property present on every
|
|
8
|
+
* event type the projection is built from - the convention-based counterpart to declaring the same
|
|
9
|
+
* mapping on every individual `fromEvent`. Equivalent to {@link fromEvery} for model-bound
|
|
10
|
+
* projections; use whichever name reads better for the property being mapped.
|
|
11
|
+
* @param property - Optional event property name. If not specified, uses the model property name.
|
|
12
|
+
* @param contextProperty - Optional event context property name.
|
|
13
|
+
* @returns A property decorator.
|
|
14
|
+
*/
|
|
15
|
+
export function fromAll(property, contextProperty) {
|
|
16
|
+
return (target, propertyKey) => {
|
|
17
|
+
TypeIntrospector.trackProperty(target.constructor, propertyKey.toString());
|
|
18
|
+
const metadata = { property, contextProperty };
|
|
19
|
+
Reflect.defineMetadata(METADATA_KEY, metadata, target, propertyKey.toString());
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves fromAll metadata stored on the given property.
|
|
24
|
+
* @param target - The class prototype.
|
|
25
|
+
* @param propertyKey - The property name.
|
|
26
|
+
* @returns The fromAll metadata, or undefined if not decorated.
|
|
27
|
+
*/
|
|
28
|
+
export function getFromAllMetadata(target, propertyKey) {
|
|
29
|
+
return Reflect.getMetadata(METADATA_KEY, target, propertyKey);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=fromAll.js.map
|
|
@@ -0,0 +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,aAAa,CAAC;AAU/C,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,QAAiB,EAAE,eAAwB;IAC/D,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACpD,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;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -32,4 +32,8 @@ export { setValue, getSetValueMetadata } from './setValue';
|
|
|
32
32
|
export type { SetValueMetadata } from './setValue';
|
|
33
33
|
export { fromEvery, getFromEveryMetadata } from './fromEvery';
|
|
34
34
|
export type { FromEveryMetadata } from './fromEvery';
|
|
35
|
+
export { fromAll, getFromAllMetadata } from './fromAll';
|
|
36
|
+
export type { FromAllMetadata } from './fromAll';
|
|
37
|
+
export { noAutoMap, isNoAutoMap, isPropertyNoAutoMap } from './noAutoMap';
|
|
38
|
+
export { eventSequence, eventLog, getEventSequenceMetadata } from './eventSequence';
|
|
35
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AACzG,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AACzH,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../projections/modelBound/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AACzG,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AACzH,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -18,4 +18,7 @@ export { notRewindable, isNotRewindable } from './notRewindable';
|
|
|
18
18
|
export { passive, isPassive } from './passive';
|
|
19
19
|
export { setValue, getSetValueMetadata } from './setValue';
|
|
20
20
|
export { fromEvery, getFromEveryMetadata } from './fromEvery';
|
|
21
|
+
export { fromAll, getFromAllMetadata } from './fromAll';
|
|
22
|
+
export { noAutoMap, isNoAutoMap, isPropertyNoAutoMap } from './noAutoMap';
|
|
23
|
+
export { eventSequence, eventLog, getEventSequenceMetadata } from './eventSequence';
|
|
21
24
|
//# sourceMappingURL=index.js.map
|