@cratis/chronicle 3.0.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChronicleClient.ts +4 -3
- package/EventStore.ts +20 -3
- package/IEventStore.ts +16 -0
- package/README.md +40 -28
- package/auditing/CausationType.ts +10 -0
- package/compliance/ComplianceContracts.ts +84 -0
- package/compliance/IPIIManager.ts +17 -0
- package/compliance/PIIManager.ts +31 -0
- package/compliance/index.ts +2 -0
- package/connection/ChronicleConnection.ts +7 -1
- package/connection/ChronicleServices.ts +2 -0
- package/connection/Guid.ts +18 -0
- package/connection/callResults.spec.ts +90 -0
- package/connection/callResults.ts +112 -0
- package/dist/ChronicleClient.d.ts.map +1 -1
- package/dist/ChronicleClient.js +4 -3
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/EventStore.d.ts +8 -0
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +16 -3
- package/dist/EventStore.js.map +1 -1
- package/dist/IEventStore.d.ts +12 -0
- package/dist/IEventStore.d.ts.map +1 -1
- package/dist/auditing/CausationType.d.ts +8 -0
- package/dist/auditing/CausationType.d.ts.map +1 -1
- package/dist/auditing/CausationType.js +8 -0
- package/dist/auditing/CausationType.js.map +1 -1
- package/dist/compliance/ComplianceContracts.d.ts +40 -0
- package/dist/compliance/ComplianceContracts.d.ts.map +1 -1
- package/dist/compliance/ComplianceContracts.js +71 -0
- package/dist/compliance/ComplianceContracts.js.map +1 -1
- package/dist/compliance/IPIIManager.d.ts +15 -0
- package/dist/compliance/IPIIManager.d.ts.map +1 -0
- package/dist/compliance/IPIIManager.js +4 -0
- package/dist/compliance/IPIIManager.js.map +1 -0
- package/dist/compliance/PIIManager.d.ts +20 -0
- package/dist/compliance/PIIManager.d.ts.map +1 -0
- package/dist/compliance/PIIManager.js +30 -0
- package/dist/compliance/PIIManager.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 +1 -0
- package/dist/compliance/index.js.map +1 -1
- package/dist/connection/ChronicleConnection.d.ts +1 -0
- package/dist/connection/ChronicleConnection.d.ts.map +1 -1
- package/dist/connection/ChronicleConnection.js +6 -1
- package/dist/connection/ChronicleConnection.js.map +1 -1
- package/dist/connection/ChronicleServices.d.ts +2 -0
- package/dist/connection/ChronicleServices.d.ts.map +1 -1
- package/dist/connection/Guid.d.ts +5 -0
- package/dist/connection/Guid.d.ts.map +1 -1
- package/dist/connection/Guid.js +15 -0
- package/dist/connection/Guid.js.map +1 -1
- package/dist/connection/callResults.d.ts +69 -0
- package/dist/connection/callResults.d.ts.map +1 -0
- package/dist/connection/callResults.js +74 -0
- package/dist/connection/callResults.js.map +1 -0
- package/dist/eventSequences/AppendOperationsBroadcaster.d.ts +16 -0
- package/dist/eventSequences/AppendOperationsBroadcaster.d.ts.map +1 -0
- package/dist/eventSequences/AppendOperationsBroadcaster.js +77 -0
- package/dist/eventSequences/AppendOperationsBroadcaster.js.map +1 -0
- package/dist/eventSequences/AppendOptions.d.ts +7 -0
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
- package/dist/eventSequences/AppendResult.d.ts +14 -0
- package/dist/eventSequences/AppendResult.d.ts.map +1 -1
- package/dist/eventSequences/AppendedEventWithResult.d.ts +13 -0
- package/dist/eventSequences/AppendedEventWithResult.d.ts.map +1 -0
- package/dist/eventSequences/AppendedEventWithResult.js +4 -0
- package/dist/eventSequences/AppendedEventWithResult.js.map +1 -0
- package/dist/eventSequences/CompleteStreamError.d.ts +17 -0
- package/dist/eventSequences/CompleteStreamError.d.ts.map +1 -0
- package/dist/eventSequences/CompleteStreamError.js +20 -0
- package/dist/eventSequences/CompleteStreamError.js.map +1 -0
- package/dist/eventSequences/CompleteStreamResult.d.ts +14 -0
- package/dist/eventSequences/CompleteStreamResult.d.ts.map +1 -0
- package/dist/eventSequences/CompleteStreamResult.js +4 -0
- package/dist/eventSequences/CompleteStreamResult.js.map +1 -0
- package/dist/eventSequences/ConcurrencyViolation.d.ts +13 -0
- package/dist/eventSequences/ConcurrencyViolation.d.ts.map +1 -0
- package/dist/eventSequences/ConcurrencyViolation.js +4 -0
- package/dist/eventSequences/ConcurrencyViolation.js.map +1 -0
- package/dist/eventSequences/EventForEventSourceId.d.ts +8 -0
- package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.d.ts +35 -1
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +350 -19
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/eventSequences/IEventSequence.d.ts +85 -1
- package/dist/eventSequences/IEventSequence.d.ts.map +1 -1
- package/dist/eventSequences/WaitForCompletionResult.d.ts +11 -0
- package/dist/eventSequences/WaitForCompletionResult.d.ts.map +1 -0
- package/dist/eventSequences/WaitForCompletionResult.js +4 -0
- package/dist/eventSequences/WaitForCompletionResult.js.map +1 -0
- package/dist/eventSequences/index.d.ts +5 -0
- package/dist/eventSequences/index.d.ts.map +1 -1
- package/dist/eventSequences/index.js +1 -0
- package/dist/eventSequences/index.js.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts +3 -0
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js +9 -0
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js.map +1 -1
- package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts +6 -0
- package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/contracts.d.ts +18 -0
- package/dist/eventStoreSubscriptions/contracts.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/contracts.js +106 -0
- package/dist/eventStoreSubscriptions/contracts.js.map +1 -1
- package/dist/events/constraints/Constraints.js +4 -4
- package/dist/events/constraints/Constraints.js.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.d.ts +42 -0
- package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -0
- package/dist/externalServices/ExternalServiceBuilder.js +110 -0
- package/dist/externalServices/ExternalServiceBuilder.js.map +1 -0
- package/dist/externalServices/ExternalServices.d.ts +19 -0
- package/dist/externalServices/ExternalServices.d.ts.map +1 -0
- package/dist/externalServices/ExternalServices.js +30 -0
- package/dist/externalServices/ExternalServices.js.map +1 -0
- package/dist/externalServices/ExternalServicesContracts.d.ts +137 -0
- package/dist/externalServices/ExternalServicesContracts.d.ts.map +1 -0
- package/dist/externalServices/ExternalServicesContracts.js +654 -0
- package/dist/externalServices/ExternalServicesContracts.js.map +1 -0
- package/dist/externalServices/IExternalServiceBuilder.d.ts +67 -0
- package/dist/externalServices/IExternalServiceBuilder.d.ts.map +1 -0
- package/dist/externalServices/IExternalServiceBuilder.js +4 -0
- package/dist/externalServices/IExternalServiceBuilder.js.map +1 -0
- package/dist/externalServices/IExternalServices.d.ts +13 -0
- package/dist/externalServices/IExternalServices.d.ts.map +1 -0
- package/dist/externalServices/IExternalServices.js +4 -0
- package/dist/externalServices/IExternalServices.js.map +1 -0
- package/dist/externalServices/index.d.ts +5 -0
- package/dist/externalServices/index.d.ts.map +1 -0
- package/dist/externalServices/index.js +5 -0
- package/dist/externalServices/index.js.map +1 -0
- package/dist/identities/IIdentityManager.d.ts +17 -0
- package/dist/identities/IIdentityManager.d.ts.map +1 -0
- package/dist/identities/IIdentityManager.js +4 -0
- package/dist/identities/IIdentityManager.js.map +1 -0
- package/dist/identities/IdentityManager.d.ts +20 -0
- package/dist/identities/IdentityManager.d.ts.map +1 -0
- package/dist/identities/IdentityManager.js +31 -0
- package/dist/identities/IdentityManager.js.map +1 -0
- package/dist/identities/index.d.ts +3 -0
- package/dist/identities/index.d.ts.map +1 -0
- package/dist/identities/index.js +4 -0
- package/dist/identities/index.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/jobs/IJobs.d.ts +4 -4
- package/dist/jobs/IJobs.d.ts.map +1 -1
- package/dist/jobs/Jobs.d.ts +4 -4
- package/dist/jobs/Jobs.d.ts.map +1 -1
- package/dist/jobs/Jobs.js +12 -10
- package/dist/jobs/Jobs.js.map +1 -1
- package/dist/observation/FailedPartition.d.ts +15 -0
- package/dist/observation/FailedPartition.d.ts.map +1 -0
- package/dist/observation/FailedPartition.js +4 -0
- package/dist/observation/FailedPartition.js.map +1 -0
- package/dist/observation/FailedPartitionAttempt.d.ts +15 -0
- package/dist/observation/FailedPartitionAttempt.d.ts.map +1 -0
- package/dist/observation/FailedPartitionAttempt.js +4 -0
- package/dist/observation/FailedPartitionAttempt.js.map +1 -0
- package/dist/observation/FailedPartitions.d.ts +24 -0
- package/dist/observation/FailedPartitions.d.ts.map +1 -0
- package/dist/observation/FailedPartitions.js +39 -0
- package/dist/observation/FailedPartitions.js.map +1 -0
- package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.d.ts +19 -0
- package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.d.ts.map +1 -0
- package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.js +4 -0
- package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.js.map +1 -0
- package/dist/observation/ICanBeNotifiedWhenReplay.d.ts +17 -0
- package/dist/observation/ICanBeNotifiedWhenReplay.d.ts.map +1 -0
- package/dist/observation/ICanBeNotifiedWhenReplay.js +4 -0
- package/dist/observation/ICanBeNotifiedWhenReplay.js.map +1 -0
- package/dist/observation/IFailedPartitions.d.ts +18 -0
- package/dist/observation/IFailedPartitions.d.ts.map +1 -0
- package/dist/observation/IFailedPartitions.js +4 -0
- package/dist/observation/IFailedPartitions.js.map +1 -0
- package/dist/observation/index.d.ts +6 -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/notifyReplayLifecycle.d.ts +13 -0
- package/dist/observation/notifyReplayLifecycle.d.ts.map +1 -0
- package/dist/observation/notifyReplayLifecycle.js +54 -0
- package/dist/observation/notifyReplayLifecycle.js.map +1 -0
- package/dist/observation/toClientFailedPartition.d.ts +9 -0
- package/dist/observation/toClientFailedPartition.d.ts.map +1 -0
- package/dist/observation/toClientFailedPartition.js +23 -0
- package/dist/observation/toClientFailedPartition.js.map +1 -0
- package/dist/projections/Projections.d.ts +0 -4
- package/dist/projections/Projections.d.ts.map +1 -1
- package/dist/projections/Projections.js +25 -103
- package/dist/projections/Projections.js.map +1 -1
- package/dist/projections/declarative/AddBuilder.d.ts +17 -0
- package/dist/projections/declarative/AddBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/AddBuilder.js +28 -0
- package/dist/projections/declarative/AddBuilder.js.map +1 -0
- package/dist/projections/declarative/AddChildBuilder.d.ts +56 -0
- package/dist/projections/declarative/AddChildBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/AddChildBuilder.js +72 -0
- package/dist/projections/declarative/AddChildBuilder.js.map +1 -0
- package/dist/projections/declarative/ChildrenBuilder.d.ts +28 -0
- package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/ChildrenBuilder.js +72 -0
- package/dist/projections/declarative/ChildrenBuilder.js.map +1 -0
- package/dist/projections/declarative/CompositeKeyBuilder.d.ts +16 -0
- package/dist/projections/declarative/CompositeKeyBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/CompositeKeyBuilder.js +29 -0
- package/dist/projections/declarative/CompositeKeyBuilder.js.map +1 -0
- package/dist/projections/declarative/FromBuilder.d.ts +8 -6
- package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/FromBuilder.js +44 -14
- package/dist/projections/declarative/FromBuilder.js.map +1 -1
- package/dist/projections/declarative/ICompositeKeyBuilder.d.ts +5 -0
- package/dist/projections/declarative/ICompositeKeyBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/JoinBuilder.d.ts +7 -5
- package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/JoinBuilder.js +50 -16
- package/dist/projections/declarative/JoinBuilder.js.map +1 -1
- package/dist/projections/declarative/NestedBuilder.d.ts +24 -0
- package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/NestedBuilder.js +60 -0
- package/dist/projections/declarative/NestedBuilder.js.map +1 -0
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts +127 -0
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -0
- package/dist/projections/declarative/ProjectionBuilderCore.js +180 -0
- package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -0
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -32
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.js +24 -118
- package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
- package/dist/projections/declarative/SubtractBuilder.d.ts +17 -0
- package/dist/projections/declarative/SubtractBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/SubtractBuilder.js +28 -0
- package/dist/projections/declarative/SubtractBuilder.js.map +1 -0
- package/dist/projections/declarative/index.d.ts +9 -0
- package/dist/projections/declarative/index.d.ts.map +1 -1
- package/dist/projections/declarative/index.js +8 -0
- package/dist/projections/declarative/index.js.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +90 -0
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -0
- package/dist/projections/modelBound/childrenAndNestedBuilder.js +290 -0
- package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -0
- package/dist/reactors/ReactorSideEffects.d.ts +29 -0
- package/dist/reactors/ReactorSideEffects.d.ts.map +1 -0
- package/dist/reactors/ReactorSideEffects.js +70 -0
- package/dist/reactors/ReactorSideEffects.js.map +1 -0
- package/dist/reactors/Reactors.d.ts +4 -1
- package/dist/reactors/Reactors.d.ts.map +1 -1
- package/dist/reactors/Reactors.js +23 -4
- package/dist/reactors/Reactors.js.map +1 -1
- package/dist/reducers/Reducers.d.ts.map +1 -1
- package/dist/reducers/Reducers.js +15 -3
- package/dist/reducers/Reducers.js.map +1 -1
- package/dist/reducers/reducer.d.ts +9 -1
- package/dist/reducers/reducer.d.ts.map +1 -1
- package/dist/reducers/reducer.js +4 -2
- package/dist/reducers/reducer.js.map +1 -1
- package/dist/transactions/IUnitOfWork.d.ts +18 -0
- package/dist/transactions/IUnitOfWork.d.ts.map +1 -1
- package/dist/transactions/UnitOfWork.d.ts +9 -0
- package/dist/transactions/UnitOfWork.d.ts.map +1 -1
- package/dist/transactions/UnitOfWork.js +14 -0
- package/dist/transactions/UnitOfWork.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eventSequences/AppendOperationsBroadcaster.ts +83 -0
- package/eventSequences/AppendOptions.ts +8 -0
- package/eventSequences/AppendResult.ts +16 -0
- package/eventSequences/AppendedEventWithResult.ts +17 -0
- package/eventSequences/CompleteStreamError.ts +20 -0
- package/eventSequences/CompleteStreamResult.ts +13 -0
- package/eventSequences/ConcurrencyViolation.ts +18 -0
- package/eventSequences/EventForEventSourceId.ts +12 -0
- package/eventSequences/EventSequence.spec.ts +588 -0
- package/eventSequences/EventSequence.ts +406 -20
- package/eventSequences/IEventSequence.ts +109 -1
- package/eventSequences/WaitForCompletionResult.ts +15 -0
- package/eventSequences/index.ts +5 -0
- package/eventStoreSubscriptions/EventStoreSubscriptions.spec.ts +52 -0
- package/eventStoreSubscriptions/EventStoreSubscriptions.ts +19 -1
- package/eventStoreSubscriptions/IEventStoreSubscriptions.ts +7 -0
- package/eventStoreSubscriptions/contracts.ts +126 -0
- package/events/constraints/Constraints.ts +4 -4
- package/externalServices/ExternalServiceBuilder.ts +128 -0
- package/externalServices/ExternalServices.ts +34 -0
- package/externalServices/ExternalServicesContracts.ts +709 -0
- package/externalServices/IExternalServiceBuilder.ts +76 -0
- package/externalServices/IExternalServices.ts +16 -0
- package/externalServices/index.ts +7 -0
- package/identities/IIdentityManager.ts +19 -0
- package/identities/IdentityManager.ts +32 -0
- package/identities/index.ts +5 -0
- package/index.ts +6 -0
- package/jobs/IJobs.ts +4 -4
- package/jobs/Jobs.ts +16 -14
- package/observation/FailedPartition.ts +21 -0
- package/observation/FailedPartitionAttempt.ts +21 -0
- package/observation/FailedPartitions.spec.ts +75 -0
- package/observation/FailedPartitions.ts +44 -0
- package/observation/ICanBeNotifiedWhenPartitionReplayed.ts +22 -0
- package/observation/ICanBeNotifiedWhenReplay.ts +20 -0
- package/observation/IFailedPartitions.ts +22 -0
- package/observation/index.ts +6 -0
- package/observation/notifyReplayLifecycle.spec.ts +98 -0
- package/observation/notifyReplayLifecycle.ts +61 -0
- package/observation/toClientFailedPartition.ts +26 -0
- package/package.json +28 -3
- package/projections/Projections.childrenAndNested.spec.ts +188 -0
- package/projections/Projections.spec.ts +131 -0
- package/projections/Projections.ts +37 -119
- package/projections/declarative/AddBuilder.ts +28 -0
- package/projections/declarative/AddChildBuilder.ts +97 -0
- package/projections/declarative/ChildrenBuilder.spec.ts +157 -0
- package/projections/declarative/ChildrenBuilder.ts +90 -0
- package/projections/declarative/CompositeKeyBuilder.spec.ts +117 -0
- package/projections/declarative/CompositeKeyBuilder.ts +38 -0
- package/projections/declarative/FromBuilder.ts +60 -15
- package/projections/declarative/ICompositeKeyBuilder.ts +6 -0
- package/projections/declarative/JoinBuilder.ts +66 -17
- package/projections/declarative/NestedBuilder.ts +76 -0
- package/projections/declarative/ProjectionBuilderCore.ts +257 -0
- package/projections/declarative/ProjectionBuilderFor.spec.ts +115 -0
- package/projections/declarative/ProjectionBuilderFor.ts +29 -168
- package/projections/declarative/SubtractBuilder.ts +28 -0
- package/projections/declarative/index.ts +9 -0
- package/projections/modelBound/childrenAndNestedBuilder.ts +354 -0
- package/reactors/ReactorSideEffects.spec.ts +182 -0
- package/reactors/ReactorSideEffects.ts +97 -0
- package/reactors/Reactors.ts +29 -4
- package/reducers/Reducers.spec.ts +87 -0
- package/reducers/Reducers.ts +15 -3
- package/reducers/reducer.spec.ts +40 -0
- package/reducers/reducer.ts +11 -2
- package/transactions/IUnitOfWork.ts +21 -0
- package/transactions/UnitOfWork.spec.ts +82 -0
- package/transactions/UnitOfWork.ts +20 -0
|
@@ -0,0 +1,39 @@
|
|
|
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 { toClientFailedPartition } from './toClientFailedPartition';
|
|
4
|
+
/**
|
|
5
|
+
* Implements {@link IFailedPartitions} by proxying to the Chronicle Kernel over the client connection.
|
|
6
|
+
*/
|
|
7
|
+
export class FailedPartitions {
|
|
8
|
+
_eventStore;
|
|
9
|
+
_namespace;
|
|
10
|
+
_connection;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new {@link FailedPartitions} instance.
|
|
13
|
+
* @param _eventStore - Event store name.
|
|
14
|
+
* @param _namespace - Event store namespace.
|
|
15
|
+
* @param _connection - Chronicle connection.
|
|
16
|
+
*/
|
|
17
|
+
constructor(_eventStore, _namespace, _connection) {
|
|
18
|
+
this._eventStore = _eventStore;
|
|
19
|
+
this._namespace = _namespace;
|
|
20
|
+
this._connection = _connection;
|
|
21
|
+
}
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
async getAllFailedPartitions() {
|
|
24
|
+
return this.getFailedPartitions('');
|
|
25
|
+
}
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
async getFailedPartitionsFor(observerId) {
|
|
28
|
+
return this.getFailedPartitions(observerId);
|
|
29
|
+
}
|
|
30
|
+
async getFailedPartitions(observerId) {
|
|
31
|
+
const response = await this._connection.failedPartitions.getFailedPartitions({
|
|
32
|
+
EventStore: this._eventStore,
|
|
33
|
+
Namespace: this._namespace,
|
|
34
|
+
ObserverId: observerId
|
|
35
|
+
});
|
|
36
|
+
return (response.items ?? []).map(failedPartition => toClientFailedPartition(failedPartition));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=FailedPartitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FailedPartitions.js","sourceRoot":"","sources":["../../observation/FailedPartitions.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAKrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAQJ;IACA;IACA;IATrB;;;;;OAKG;IACH,YACqB,WAAmB,EACnB,UAAkB,EAClB,WAAgC;QAFhC,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAqB;IAClD,CAAC;IAEJ,kBAAkB;IAClB,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;YACzE,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;QAEH,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IACnG,CAAC;CACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines an optional contract a `@reactor`/`@reducer`-decorated class instance can implement to
|
|
3
|
+
* receive notifications when replay of a specific partition begins and ends.
|
|
4
|
+
*/
|
|
5
|
+
export interface ICanBeNotifiedWhenPartitionReplayed {
|
|
6
|
+
/**
|
|
7
|
+
* Called when replay of a partition begins.
|
|
8
|
+
* @param partition - The partition being replayed.
|
|
9
|
+
* @returns A promise that resolves when the callback has completed.
|
|
10
|
+
*/
|
|
11
|
+
beginReplayPartition(partition: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Called when replay of a partition ends.
|
|
14
|
+
* @param partition - The partition that was replayed.
|
|
15
|
+
* @returns A promise that resolves when the callback has completed.
|
|
16
|
+
*/
|
|
17
|
+
endReplayPartition(partition: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ICanBeNotifiedWhenPartitionReplayed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICanBeNotifiedWhenPartitionReplayed.d.ts","sourceRoot":"","sources":["../../observation/ICanBeNotifiedWhenPartitionReplayed.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAChD;;;;OAIG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICanBeNotifiedWhenPartitionReplayed.js","sourceRoot":"","sources":["../../observation/ICanBeNotifiedWhenPartitionReplayed.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines an optional contract a `@reactor`/`@reducer`-decorated class instance can implement to
|
|
3
|
+
* receive notifications when a full replay of its observation begins and ends.
|
|
4
|
+
*/
|
|
5
|
+
export interface ICanBeNotifiedWhenReplay {
|
|
6
|
+
/**
|
|
7
|
+
* Called when a replay begins.
|
|
8
|
+
* @returns A promise that resolves when the callback has completed.
|
|
9
|
+
*/
|
|
10
|
+
beginReplay(): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Called when a replay ends.
|
|
13
|
+
* @returns A promise that resolves when the callback has completed.
|
|
14
|
+
*/
|
|
15
|
+
endReplay(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ICanBeNotifiedWhenReplay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICanBeNotifiedWhenReplay.d.ts","sourceRoot":"","sources":["../../observation/ICanBeNotifiedWhenReplay.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICanBeNotifiedWhenReplay.js","sourceRoot":"","sources":["../../observation/ICanBeNotifiedWhenReplay.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FailedPartition } from './FailedPartition';
|
|
2
|
+
/**
|
|
3
|
+
* Defines a system that can work with failed partitions.
|
|
4
|
+
*/
|
|
5
|
+
export interface IFailedPartitions {
|
|
6
|
+
/**
|
|
7
|
+
* Gets any failed partitions for any observer (Reactor, Reducer, ++).
|
|
8
|
+
* @returns A collection of {@link FailedPartition}.
|
|
9
|
+
*/
|
|
10
|
+
getAllFailedPartitions(): Promise<FailedPartition[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Gets any failed partitions for a specific observer (Reactor, Reducer, ++).
|
|
13
|
+
* @param observerId - The identifier of the observer to get for.
|
|
14
|
+
* @returns A collection of {@link FailedPartition}.
|
|
15
|
+
*/
|
|
16
|
+
getFailedPartitionsFor(observerId: string): Promise<FailedPartition[]>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=IFailedPartitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFailedPartitions.d.ts","sourceRoot":"","sources":["../../observation/IFailedPartitions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAC1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFailedPartitions.js","sourceRoot":"","sources":["../../observation/IFailedPartitions.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export { ObserverId } from './ObserverId';
|
|
2
2
|
export { ObserverRunningState } from './ObserverRunningState';
|
|
3
|
+
export type { FailedPartition } from './FailedPartition';
|
|
4
|
+
export type { FailedPartitionAttempt } from './FailedPartitionAttempt';
|
|
5
|
+
export type { IFailedPartitions } from './IFailedPartitions';
|
|
6
|
+
export { FailedPartitions } from './FailedPartitions';
|
|
7
|
+
export type { ICanBeNotifiedWhenReplay } from './ICanBeNotifiedWhenReplay';
|
|
8
|
+
export type { ICanBeNotifiedWhenPartitionReplayed } from './ICanBeNotifiedWhenPartitionReplayed';
|
|
3
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../observation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../observation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
export { ObserverId } from './ObserverId';
|
|
4
4
|
export { ObserverRunningState } from './ObserverRunningState';
|
|
5
|
+
export { FailedPartitions } from './FailedPartitions';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../observation/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../observation/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReplayState } from '@cratis/chronicle.contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Notifies a reactor/reducer instance of a replay-state transition signaled by the Chronicle Kernel,
|
|
4
|
+
* when the instance optionally implements {@link ICanBeNotifiedWhenReplay} and/or
|
|
5
|
+
* {@link ICanBeNotifiedWhenPartitionReplayed}. A no-op for {@link ReplayState.REPLAY_STATE_None} or
|
|
6
|
+
* when the instance implements neither contract.
|
|
7
|
+
* @param instance - The reactor/reducer instance to notify.
|
|
8
|
+
* @param replayState - The replay-state transition signaled for the current batch.
|
|
9
|
+
* @param partition - The partition the transition applies to, for the partition-scoped states.
|
|
10
|
+
* @returns A promise that resolves when the relevant callback (if any) has completed.
|
|
11
|
+
*/
|
|
12
|
+
export declare function notifyReplayLifecycle(instance: unknown, replayState: ReplayState, partition: string): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=notifyReplayLifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyReplayLifecycle.d.ts","sourceRoot":"","sources":["../../observation/notifyReplayLifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAsB1D;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBzH"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 { ReplayState } from '@cratis/chronicle.contracts';
|
|
4
|
+
function hasReplayLifecycleHooks(instance) {
|
|
5
|
+
if (typeof instance !== 'object' || instance === null) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
const candidate = instance;
|
|
9
|
+
return typeof candidate.beginReplay === 'function' && typeof candidate.endReplay === 'function';
|
|
10
|
+
}
|
|
11
|
+
function hasPartitionReplayLifecycleHooks(instance) {
|
|
12
|
+
if (typeof instance !== 'object' || instance === null) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const candidate = instance;
|
|
16
|
+
return typeof candidate.beginReplayPartition === 'function' && typeof candidate.endReplayPartition === 'function';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Notifies a reactor/reducer instance of a replay-state transition signaled by the Chronicle Kernel,
|
|
20
|
+
* when the instance optionally implements {@link ICanBeNotifiedWhenReplay} and/or
|
|
21
|
+
* {@link ICanBeNotifiedWhenPartitionReplayed}. A no-op for {@link ReplayState.REPLAY_STATE_None} or
|
|
22
|
+
* when the instance implements neither contract.
|
|
23
|
+
* @param instance - The reactor/reducer instance to notify.
|
|
24
|
+
* @param replayState - The replay-state transition signaled for the current batch.
|
|
25
|
+
* @param partition - The partition the transition applies to, for the partition-scoped states.
|
|
26
|
+
* @returns A promise that resolves when the relevant callback (if any) has completed.
|
|
27
|
+
*/
|
|
28
|
+
export async function notifyReplayLifecycle(instance, replayState, partition) {
|
|
29
|
+
switch (replayState) {
|
|
30
|
+
case ReplayState.BeginReplay:
|
|
31
|
+
if (hasReplayLifecycleHooks(instance)) {
|
|
32
|
+
await instance.beginReplay();
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
case ReplayState.EndReplay:
|
|
36
|
+
if (hasReplayLifecycleHooks(instance)) {
|
|
37
|
+
await instance.endReplay();
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
case ReplayState.BeginReplayPartition:
|
|
41
|
+
if (hasPartitionReplayLifecycleHooks(instance)) {
|
|
42
|
+
await instance.beginReplayPartition(partition);
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
case ReplayState.EndReplayPartition:
|
|
46
|
+
if (hasPartitionReplayLifecycleHooks(instance)) {
|
|
47
|
+
await instance.endReplayPartition(partition);
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=notifyReplayLifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyReplayLifecycle.js","sourceRoot":"","sources":["../../observation/notifyReplayLifecycle.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,SAAS,uBAAuB,CAAC,QAAiB;IAC9C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,QAAmC,CAAC;IACtD,OAAO,OAAO,SAAS,CAAC,WAAW,KAAK,UAAU,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC;AACpG,CAAC;AAED,SAAS,gCAAgC,CAAC,QAAiB;IACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,QAAmC,CAAC;IACtD,OAAO,OAAO,SAAS,CAAC,oBAAoB,KAAK,UAAU,IAAI,OAAO,SAAS,CAAC,kBAAkB,KAAK,UAAU,CAAC;AACtH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAiB,EAAE,WAAwB,EAAE,SAAiB;IACtG,QAAQ,WAAW,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,WAAW;YACxB,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjC,CAAC;YACD,MAAM;QACV,KAAK,WAAW,CAAC,SAAS;YACtB,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM;QACV,KAAK,WAAW,CAAC,oBAAoB;YACjC,IAAI,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YACD,MAAM;QACV,KAAK,WAAW,CAAC,kBAAkB;YAC/B,IAAI,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YACD,MAAM;QACV;YACI,MAAM;IACd,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FailedPartition as ContractsFailedPartition } from '@cratis/chronicle.contracts';
|
|
2
|
+
import { FailedPartition } from './FailedPartition';
|
|
3
|
+
/**
|
|
4
|
+
* Converts a wire {@link ContractsFailedPartition} into the client {@link FailedPartition} shape.
|
|
5
|
+
* @param failedPartition - The wire failed partition to convert.
|
|
6
|
+
* @returns The converted client failed partition.
|
|
7
|
+
*/
|
|
8
|
+
export declare function toClientFailedPartition(failedPartition: ContractsFailedPartition): FailedPartition;
|
|
9
|
+
//# sourceMappingURL=toClientFailedPartition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toClientFailedPartition.d.ts","sourceRoot":"","sources":["../../observation/toClientFailedPartition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAG/F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,wBAAwB,GAAG,eAAe,CAYlG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
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 { fromContractsGuid } from '../connection/Guid';
|
|
4
|
+
import { EventSequenceNumber } from '../eventSequences/EventSequenceNumber';
|
|
5
|
+
/**
|
|
6
|
+
* Converts a wire {@link ContractsFailedPartition} into the client {@link FailedPartition} shape.
|
|
7
|
+
* @param failedPartition - The wire failed partition to convert.
|
|
8
|
+
* @returns The converted client failed partition.
|
|
9
|
+
*/
|
|
10
|
+
export function toClientFailedPartition(failedPartition) {
|
|
11
|
+
return {
|
|
12
|
+
id: fromContractsGuid(failedPartition.Id).toString(),
|
|
13
|
+
observerId: failedPartition.ObserverId,
|
|
14
|
+
partition: failedPartition.Partition,
|
|
15
|
+
attempts: (failedPartition.Attempts ?? []).map(attempt => ({
|
|
16
|
+
occurred: new Date(attempt.Occurred?.Value ?? ''),
|
|
17
|
+
sequenceNumber: new EventSequenceNumber(attempt.SequenceNumber ?? 0n),
|
|
18
|
+
messages: attempt.Messages ?? [],
|
|
19
|
+
stackTrace: attempt.StackTrace ?? ''
|
|
20
|
+
}))
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=toClientFailedPartition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toClientFailedPartition.js","sourceRoot":"","sources":["../../observation/toClientFailedPartition.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,eAAyC;IAC7E,OAAO;QACH,EAAE,EAAE,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpD,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,QAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;YACjD,cAAc,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YACrE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACvC,CAAC,CAAC;KACN,CAAC;AACN,CAAC"}
|
|
@@ -29,11 +29,7 @@ export declare class Projections implements IProjections {
|
|
|
29
29
|
private inferReadModelIdentifier;
|
|
30
30
|
private buildModelBoundDefinition;
|
|
31
31
|
private resolveModelBoundMetadata;
|
|
32
|
-
private throwIfUnsupportedModelBoundDecorators;
|
|
33
|
-
private ensureFromEntry;
|
|
34
32
|
private ensureJoinEntry;
|
|
35
|
-
private toContractEventType;
|
|
36
|
-
private getEventTypeMapKey;
|
|
37
33
|
/**
|
|
38
34
|
* Computes a stable, deterministic ISO timestamp from the projection definition content,
|
|
39
35
|
* excluding the LastUpdated field itself. This ensures the server does not interpret
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Projections.d.ts","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Projections.d.ts","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAMpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA+B9C;;;GAGG;AACH,qBAAa,WAAY,YAAW,YAAY;IAWxC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAbvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8E;IAEtG;;;OAGG;gBAEkB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB,EAC1C,kBAAkB,EAAE,MAAM;IAG/C,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC/B,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCjB,iBAAiB;IA8B/B,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,yBAAyB;IAwHjC,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,eAAe;IAuBvB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;CASnC"}
|
|
@@ -6,19 +6,14 @@ 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 { getEventTypeFor } from '../events/eventTypeDecorator';
|
|
10
9
|
import { getReadModelMetadata } from '../readModels';
|
|
11
10
|
import { TypeIntrospector } from '../types';
|
|
12
11
|
import { getProjectionMetadata } from './declarative/projection';
|
|
13
12
|
import { ProjectionBuilderFor } from './declarative/ProjectionBuilderFor';
|
|
14
|
-
import {
|
|
13
|
+
import { applyPropertyMappings, buildChildrenEntry, buildNestedEntry, getEventTypeMapKey, toContractEventType } from './modelBound/childrenAndNestedBuilder';
|
|
15
14
|
import { getChildrenFromMetadata } from './modelBound/childrenFrom';
|
|
16
|
-
import { getClearWithClassMetadata, getClearWithPropertyMetadata } from './modelBound/clearWith';
|
|
17
|
-
import { getCountMetadata } from './modelBound/count';
|
|
18
|
-
import { getDecrementMetadata } from './modelBound/decrement';
|
|
19
15
|
import { getFromEveryMetadata } from './modelBound/fromEvery';
|
|
20
16
|
import { getFromEventMetadata, hasFromEventMetadata } from './modelBound/fromEvent';
|
|
21
|
-
import { getIncrementMetadata } from './modelBound/increment';
|
|
22
17
|
import { getJoinMetadata } from './modelBound/join';
|
|
23
18
|
import { ProjectionId } from './ProjectionId';
|
|
24
19
|
import { isNested } from './modelBound/nested';
|
|
@@ -26,10 +21,6 @@ import { isNotRewindable } from './modelBound/notRewindable';
|
|
|
26
21
|
import { isPassive } from './modelBound/passive';
|
|
27
22
|
import { getRemovedWithClassMetadata, getRemovedWithPropertyMetadata } from './modelBound/removedWith';
|
|
28
23
|
import { getRemovedWithJoinClassMetadata, getRemovedWithJoinPropertyMetadata } from './modelBound/removedWithJoin';
|
|
29
|
-
import { getSetFromMetadata } from './modelBound/setFrom';
|
|
30
|
-
import { getSetFromContextMetadata } from './modelBound/setFromContext';
|
|
31
|
-
import { getSetValueMetadata } from './modelBound/setValue';
|
|
32
|
-
import { getSubtractFromMetadata } from './modelBound/subtractFrom';
|
|
33
24
|
/**
|
|
34
25
|
* Implements {@link IProjections}, managing discovery and registration of projections
|
|
35
26
|
* with the Chronicle Kernel.
|
|
@@ -236,10 +227,12 @@ export class Projections {
|
|
|
236
227
|
const joinByEventType = new Map();
|
|
237
228
|
const removedWithByEventType = new Map();
|
|
238
229
|
const removedWithJoinByEventType = new Map();
|
|
230
|
+
const childrenByProperty = {};
|
|
231
|
+
const nestedByProperty = {};
|
|
239
232
|
const fromEvents = getFromEventMetadata(type);
|
|
240
233
|
for (const fromEvent of fromEvents) {
|
|
241
|
-
const eventType =
|
|
242
|
-
const eventKey =
|
|
234
|
+
const eventType = toContractEventType(fromEvent.eventType);
|
|
235
|
+
const eventKey = getEventTypeMapKey(eventType);
|
|
243
236
|
fromByEventType.set(eventKey, {
|
|
244
237
|
Key: eventType,
|
|
245
238
|
Value: {
|
|
@@ -249,63 +242,50 @@ export class Projections {
|
|
|
249
242
|
}
|
|
250
243
|
});
|
|
251
244
|
}
|
|
252
|
-
const clearWithClass = getClearWithClassMetadata(type);
|
|
253
|
-
if (clearWithClass.length > 0) {
|
|
254
|
-
throw new Error(`Model-bound projection '${type.name}' uses @clearWith on class level, which is not implemented yet.`);
|
|
255
|
-
}
|
|
256
245
|
const removedWithClass = getRemovedWithClassMetadata(type);
|
|
257
246
|
for (const removed of removedWithClass) {
|
|
258
|
-
const eventType =
|
|
259
|
-
removedWithByEventType.set(
|
|
247
|
+
const eventType = toContractEventType(removed.eventType);
|
|
248
|
+
removedWithByEventType.set(getEventTypeMapKey(eventType), {
|
|
260
249
|
Key: eventType,
|
|
261
250
|
Value: { Key: removed.key ?? '$eventSourceId', ParentKey: removed.parentKey ?? '' }
|
|
262
251
|
});
|
|
263
252
|
}
|
|
264
253
|
const removedWithJoinClass = getRemovedWithJoinClassMetadata(type);
|
|
265
254
|
for (const removed of removedWithJoinClass) {
|
|
266
|
-
const eventType =
|
|
267
|
-
removedWithJoinByEventType.set(
|
|
255
|
+
const eventType = toContractEventType(removed.eventType);
|
|
256
|
+
removedWithJoinByEventType.set(getEventTypeMapKey(eventType), {
|
|
268
257
|
Key: eventType,
|
|
269
258
|
Value: { Key: removed.key ?? '$eventSourceId' }
|
|
270
259
|
});
|
|
271
260
|
}
|
|
272
261
|
for (const property of properties) {
|
|
273
|
-
|
|
274
|
-
for (const mapping of getSetFromMetadata(prototype, property)) {
|
|
275
|
-
const entry = this.ensureFromEntry(fromByEventType, mapping.eventType);
|
|
276
|
-
entry.Value.Properties[property] = mapping.eventPropertyName ?? property;
|
|
277
|
-
}
|
|
278
|
-
for (const mapping of getSetFromContextMetadata(prototype, property)) {
|
|
279
|
-
const entry = this.ensureFromEntry(fromByEventType, mapping.eventType);
|
|
280
|
-
entry.Value.Properties[property] = mapping.contextPropertyName ?? property;
|
|
281
|
-
}
|
|
282
|
-
for (const mapping of getSetValueMetadata(prototype, property)) {
|
|
283
|
-
const entry = this.ensureFromEntry(fromByEventType, mapping.eventType);
|
|
284
|
-
entry.Value.Properties[property] = JSON.stringify(mapping.value);
|
|
285
|
-
}
|
|
262
|
+
applyPropertyMappings(prototype, property, fromByEventType);
|
|
286
263
|
for (const mapping of getJoinMetadata(prototype, property)) {
|
|
287
264
|
const entry = this.ensureJoinEntry(joinByEventType, mapping.eventType);
|
|
288
265
|
entry.Value.On = mapping.on ?? entry.Value.On;
|
|
289
266
|
entry.Value.Properties[property] = mapping.eventPropertyName ?? property;
|
|
290
267
|
}
|
|
291
|
-
const fromEvery = getFromEveryMetadata(prototype, property);
|
|
292
|
-
if (fromEvery) {
|
|
293
|
-
// Applied later to projection.All
|
|
294
|
-
}
|
|
295
268
|
for (const removed of getRemovedWithPropertyMetadata(prototype, property)) {
|
|
296
|
-
const eventType =
|
|
297
|
-
removedWithByEventType.set(
|
|
269
|
+
const eventType = toContractEventType(removed.eventType);
|
|
270
|
+
removedWithByEventType.set(getEventTypeMapKey(eventType), {
|
|
298
271
|
Key: eventType,
|
|
299
272
|
Value: { Key: removed.key ?? '$eventSourceId', ParentKey: removed.parentKey ?? '' }
|
|
300
273
|
});
|
|
301
274
|
}
|
|
302
275
|
for (const removed of getRemovedWithJoinPropertyMetadata(prototype, property)) {
|
|
303
|
-
const eventType =
|
|
304
|
-
removedWithJoinByEventType.set(
|
|
276
|
+
const eventType = toContractEventType(removed.eventType);
|
|
277
|
+
removedWithJoinByEventType.set(getEventTypeMapKey(eventType), {
|
|
305
278
|
Key: eventType,
|
|
306
279
|
Value: { Key: removed.key ?? '$eventSourceId' }
|
|
307
280
|
});
|
|
308
281
|
}
|
|
282
|
+
const childrenFromList = getChildrenFromMetadata(prototype, property);
|
|
283
|
+
if (childrenFromList.length > 0) {
|
|
284
|
+
childrenByProperty[property] = buildChildrenEntry(type, property, childrenFromList);
|
|
285
|
+
}
|
|
286
|
+
if (isNested(prototype, property)) {
|
|
287
|
+
nestedByProperty[property] = buildNestedEntry(type, property);
|
|
288
|
+
}
|
|
309
289
|
}
|
|
310
290
|
const allProperties = {};
|
|
311
291
|
for (const property of properties) {
|
|
@@ -325,7 +305,7 @@ export class Projections {
|
|
|
325
305
|
InitialModelState: '{}',
|
|
326
306
|
From: Array.from(fromByEventType.values()),
|
|
327
307
|
Join: Array.from(joinByEventType.values()),
|
|
328
|
-
Children:
|
|
308
|
+
Children: childrenByProperty,
|
|
329
309
|
FromEvery: [],
|
|
330
310
|
All: {
|
|
331
311
|
Properties: allProperties,
|
|
@@ -337,7 +317,7 @@ export class Projections {
|
|
|
337
317
|
LastUpdated: { Value: '' },
|
|
338
318
|
Tags: [],
|
|
339
319
|
AutoMap: AutoMap.Enabled,
|
|
340
|
-
Nested:
|
|
320
|
+
Nested: nestedByProperty
|
|
341
321
|
};
|
|
342
322
|
definition.LastUpdated = { Value: this.computeStableLastUpdated(definition) };
|
|
343
323
|
return definition;
|
|
@@ -353,53 +333,9 @@ export class Projections {
|
|
|
353
333
|
}
|
|
354
334
|
return undefined;
|
|
355
335
|
}
|
|
356
|
-
throwIfUnsupportedModelBoundDecorators(typeName, prototype, property) {
|
|
357
|
-
if (getAddFromMetadata(prototype, property).length > 0) {
|
|
358
|
-
throw new Error(`Model-bound projection '${typeName}' uses @addFrom on '${property}', which is not implemented yet.`);
|
|
359
|
-
}
|
|
360
|
-
if (getSubtractFromMetadata(prototype, property).length > 0) {
|
|
361
|
-
throw new Error(`Model-bound projection '${typeName}' uses @subtractFrom on '${property}', which is not implemented yet.`);
|
|
362
|
-
}
|
|
363
|
-
if (getIncrementMetadata(prototype, property).length > 0) {
|
|
364
|
-
throw new Error(`Model-bound projection '${typeName}' uses @increment on '${property}', which is not implemented yet.`);
|
|
365
|
-
}
|
|
366
|
-
if (getDecrementMetadata(prototype, property).length > 0) {
|
|
367
|
-
throw new Error(`Model-bound projection '${typeName}' uses @decrement on '${property}', which is not implemented yet.`);
|
|
368
|
-
}
|
|
369
|
-
if (getCountMetadata(prototype, property).length > 0) {
|
|
370
|
-
throw new Error(`Model-bound projection '${typeName}' uses @count on '${property}', which is not implemented yet.`);
|
|
371
|
-
}
|
|
372
|
-
if (getChildrenFromMetadata(prototype, property).length > 0) {
|
|
373
|
-
throw new Error(`Model-bound projection '${typeName}' uses @childrenFrom on '${property}', which is not implemented yet.`);
|
|
374
|
-
}
|
|
375
|
-
if (isNested(prototype, property)) {
|
|
376
|
-
throw new Error(`Model-bound projection '${typeName}' uses @nested on '${property}', which is not implemented yet.`);
|
|
377
|
-
}
|
|
378
|
-
if (getClearWithPropertyMetadata(prototype, property).length > 0) {
|
|
379
|
-
throw new Error(`Model-bound projection '${typeName}' uses @clearWith on '${property}', which is not implemented yet.`);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
ensureFromEntry(fromByEventType, eventTypeConstructor) {
|
|
383
|
-
const eventType = this.toContractEventType(eventTypeConstructor);
|
|
384
|
-
const key = this.getEventTypeMapKey(eventType);
|
|
385
|
-
const existing = fromByEventType.get(key);
|
|
386
|
-
if (existing) {
|
|
387
|
-
return existing;
|
|
388
|
-
}
|
|
389
|
-
const created = {
|
|
390
|
-
Key: eventType,
|
|
391
|
-
Value: {
|
|
392
|
-
Properties: {},
|
|
393
|
-
Key: '$eventSourceId',
|
|
394
|
-
ParentKey: ''
|
|
395
|
-
}
|
|
396
|
-
};
|
|
397
|
-
fromByEventType.set(key, created);
|
|
398
|
-
return created;
|
|
399
|
-
}
|
|
400
336
|
ensureJoinEntry(joinByEventType, eventTypeConstructor) {
|
|
401
|
-
const eventType =
|
|
402
|
-
const key =
|
|
337
|
+
const eventType = toContractEventType(eventTypeConstructor);
|
|
338
|
+
const key = getEventTypeMapKey(eventType);
|
|
403
339
|
const existing = joinByEventType.get(key);
|
|
404
340
|
if (existing) {
|
|
405
341
|
return existing;
|
|
@@ -415,20 +351,6 @@ export class Projections {
|
|
|
415
351
|
joinByEventType.set(key, created);
|
|
416
352
|
return created;
|
|
417
353
|
}
|
|
418
|
-
toContractEventType(eventTypeConstructor) {
|
|
419
|
-
const eventType = getEventTypeFor(eventTypeConstructor);
|
|
420
|
-
if (eventType.id.value === '') {
|
|
421
|
-
throw new Error(`Event type '${eventTypeConstructor.name}' is not decorated with @eventType().`);
|
|
422
|
-
}
|
|
423
|
-
return {
|
|
424
|
-
Id: eventType.id.value,
|
|
425
|
-
Generation: eventType.generation.value,
|
|
426
|
-
Tombstone: false
|
|
427
|
-
};
|
|
428
|
-
}
|
|
429
|
-
getEventTypeMapKey(eventType) {
|
|
430
|
-
return `${eventType.Id}:${eventType.Generation}:${eventType.Tombstone ? '1' : '0'}`;
|
|
431
|
-
}
|
|
432
354
|
/**
|
|
433
355
|
* Computes a stable, deterministic ISO timestamp from the projection definition content,
|
|
434
356
|
* excluding the LastUpdated field itself. This ensures the server does not interpret
|
|
@@ -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":"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"}
|