@cratis/chronicle 0.1.0 → 0.2.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 +41 -19
- package/IEventStore.ts +24 -8
- package/README.md +1 -1
- package/artifacts/DefaultClientArtifactsProvider.ts +14 -0
- package/artifacts/IClientArtifactsProvider.ts +9 -0
- package/connection/ChronicleConnection.ts +314 -216
- package/connection/ChronicleConnectionString.ts +327 -1
- package/connection/ChronicleServices.ts +42 -1
- package/connection/Guid.ts +2 -4
- package/connection/TokenProvider.ts +128 -6
- package/dist/EventStore.d.ts +16 -8
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +28 -12
- package/dist/EventStore.js.map +1 -1
- package/dist/IEventStore.d.ts +20 -8
- package/dist/IEventStore.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts +5 -0
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js +11 -0
- package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
- package/dist/artifacts/IClientArtifactsProvider.d.ts +6 -0
- package/dist/artifacts/IClientArtifactsProvider.d.ts.map +1 -1
- package/dist/auditing/Causation.d.ts.map +1 -0
- package/dist/auditing/Causation.js.map +1 -0
- package/dist/auditing/CausationManager.d.ts.map +1 -0
- package/dist/auditing/CausationManager.js.map +1 -0
- package/dist/auditing/CausationType.d.ts.map +1 -0
- package/dist/auditing/CausationType.js.map +1 -0
- package/dist/auditing/ICausationManager.d.ts.map +1 -0
- package/dist/auditing/ICausationManager.js.map +1 -0
- package/dist/auditing/index.d.ts.map +1 -0
- package/dist/auditing/index.js.map +1 -0
- package/dist/connection/ChronicleConnection.d.ts +49 -78
- package/dist/connection/ChronicleConnection.d.ts.map +1 -1
- package/dist/connection/ChronicleConnection.js +140 -130
- package/dist/connection/ChronicleConnection.js.map +1 -1
- package/dist/connection/ChronicleConnectionString.d.ts +78 -1
- package/dist/connection/ChronicleConnectionString.d.ts.map +1 -1
- package/dist/connection/ChronicleConnectionString.js +251 -1
- package/dist/connection/ChronicleConnectionString.js.map +1 -1
- package/dist/connection/ChronicleServices.d.ts +23 -1
- package/dist/connection/ChronicleServices.d.ts.map +1 -1
- package/dist/connection/Guid.d.ts.map +1 -1
- package/dist/connection/Guid.js +2 -4
- package/dist/connection/Guid.js.map +1 -1
- package/dist/connection/TokenProvider.d.ts +37 -3
- package/dist/connection/TokenProvider.d.ts.map +1 -1
- package/dist/connection/TokenProvider.js +95 -1
- package/dist/connection/TokenProvider.js.map +1 -1
- package/dist/correlation/CorrelationId.d.ts.map +1 -0
- package/dist/correlation/CorrelationId.js.map +1 -0
- package/dist/correlation/CorrelationIdManager.d.ts.map +1 -0
- package/dist/correlation/CorrelationIdManager.js.map +1 -0
- package/dist/correlation/ICorrelationIdAccessor.d.ts.map +1 -0
- package/dist/correlation/ICorrelationIdAccessor.js.map +1 -0
- package/dist/correlation/ICorrelationIdSetter.d.ts.map +1 -0
- package/dist/correlation/ICorrelationIdSetter.js.map +1 -0
- package/dist/correlation/index.d.ts.map +1 -0
- package/dist/correlation/index.js.map +1 -0
- package/dist/eventSequences/AppendError.d.ts.map +1 -0
- package/dist/eventSequences/AppendError.js.map +1 -0
- package/dist/eventSequences/AppendOptions.d.ts +14 -0
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -0
- package/dist/eventSequences/AppendOptions.js.map +1 -0
- package/dist/eventSequences/AppendResult.d.ts.map +1 -0
- package/dist/eventSequences/AppendResult.js.map +1 -0
- package/dist/eventSequences/ConcurrencyScope.d.ts +19 -0
- package/dist/eventSequences/ConcurrencyScope.d.ts.map +1 -0
- package/dist/eventSequences/ConcurrencyScope.js +4 -0
- package/dist/eventSequences/ConcurrencyScope.js.map +1 -0
- package/dist/eventSequences/ConstraintViolation.d.ts.map +1 -0
- package/dist/eventSequences/ConstraintViolation.js.map +1 -0
- package/dist/eventSequences/EventForEventSourceId.d.ts +10 -0
- package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -0
- package/dist/eventSequences/EventForEventSourceId.js +4 -0
- package/dist/eventSequences/EventForEventSourceId.js.map +1 -0
- package/dist/eventSequences/EventLog.d.ts +12 -0
- package/dist/eventSequences/EventLog.d.ts.map +1 -0
- package/dist/eventSequences/EventLog.js +14 -0
- package/dist/eventSequences/EventLog.js.map +1 -0
- package/dist/eventSequences/EventSequence.d.ts +34 -0
- package/dist/eventSequences/EventSequence.d.ts.map +1 -0
- package/dist/eventSequences/EventSequence.js +365 -0
- package/dist/eventSequences/EventSequence.js.map +1 -0
- package/dist/eventSequences/EventSequenceId.d.ts.map +1 -0
- package/dist/eventSequences/EventSequenceId.js.map +1 -0
- package/dist/eventSequences/EventSequenceNumber.d.ts +26 -0
- package/dist/eventSequences/EventSequenceNumber.d.ts.map +1 -0
- package/dist/eventSequences/EventSequenceNumber.js +36 -0
- package/dist/eventSequences/EventSequenceNumber.js.map +1 -0
- package/dist/eventSequences/IEventLog.d.ts.map +1 -0
- package/dist/eventSequences/IEventLog.js.map +1 -0
- package/dist/eventSequences/IEventSequence.d.ts +51 -0
- package/dist/eventSequences/IEventSequence.d.ts.map +1 -0
- package/dist/eventSequences/IEventSequence.js.map +1 -0
- package/dist/eventSequences/ITransactionalEventSequence.d.ts +21 -0
- package/dist/eventSequences/ITransactionalEventSequence.d.ts.map +1 -0
- package/dist/eventSequences/ITransactionalEventSequence.js +4 -0
- package/dist/eventSequences/ITransactionalEventSequence.js.map +1 -0
- package/dist/eventSequences/TransactionalEventSequence.d.ts +19 -0
- package/dist/eventSequences/TransactionalEventSequence.d.ts.map +1 -0
- package/dist/eventSequences/TransactionalEventSequence.js +28 -0
- package/dist/eventSequences/TransactionalEventSequence.js.map +1 -0
- package/dist/eventSequences/index.d.ts +15 -0
- package/dist/eventSequences/index.d.ts.map +1 -0
- package/dist/eventSequences/index.js +8 -0
- package/dist/eventSequences/index.js.map +1 -0
- package/dist/events/AppendedEvent.d.ts.map +1 -0
- package/dist/events/AppendedEvent.js.map +1 -0
- package/dist/events/CausationEntry.d.ts.map +1 -0
- package/dist/events/CausationEntry.js.map +1 -0
- package/dist/events/EventContext.d.ts +20 -0
- package/dist/events/EventContext.d.ts.map +1 -0
- package/dist/events/EventContext.js.map +1 -0
- package/dist/events/EventType.d.ts.map +1 -0
- package/dist/events/EventType.js.map +1 -0
- package/dist/events/EventTypeGeneration.d.ts.map +1 -0
- package/dist/events/EventTypeGeneration.js.map +1 -0
- package/dist/events/EventTypeId.d.ts.map +1 -0
- package/dist/events/EventTypeId.js.map +1 -0
- package/dist/events/EventTypes.d.ts +35 -0
- package/dist/events/EventTypes.d.ts.map +1 -0
- package/dist/events/EventTypes.js +157 -0
- package/dist/events/EventTypes.js.map +1 -0
- package/dist/events/IEventTypes.d.ts.map +1 -0
- package/dist/events/IEventTypes.js.map +1 -0
- package/dist/events/constraints/ConstraintBuilder.d.ts.map +1 -0
- package/dist/events/constraints/ConstraintBuilder.js.map +1 -0
- package/dist/events/constraints/ConstraintId.d.ts.map +1 -0
- package/dist/events/constraints/ConstraintId.js.map +1 -0
- package/dist/events/constraints/Constraints.d.ts.map +1 -0
- package/dist/events/constraints/Constraints.js.map +1 -0
- package/dist/events/constraints/IConstraint.d.ts.map +1 -0
- package/dist/events/constraints/IConstraint.js.map +1 -0
- package/dist/events/constraints/IConstraintBuilder.d.ts.map +1 -0
- package/dist/events/constraints/IConstraintBuilder.js.map +1 -0
- package/dist/events/constraints/IConstraints.d.ts.map +1 -0
- package/dist/events/constraints/IConstraints.js.map +1 -0
- package/dist/events/constraints/IUniqueConstraintBuilder.d.ts.map +1 -0
- package/dist/events/constraints/IUniqueConstraintBuilder.js.map +1 -0
- package/dist/events/constraints/UniqueConstraintBuilder.d.ts.map +1 -0
- package/dist/events/constraints/UniqueConstraintBuilder.js.map +1 -0
- package/dist/events/constraints/constraint.d.ts.map +1 -0
- package/dist/events/constraints/constraint.js.map +1 -0
- package/dist/events/constraints/index.d.ts.map +1 -0
- package/dist/events/constraints/index.js.map +1 -0
- package/dist/events/eventTypeDecorator.d.ts +71 -0
- package/dist/events/eventTypeDecorator.d.ts.map +1 -0
- package/dist/events/eventTypeDecorator.js +86 -0
- package/dist/events/eventTypeDecorator.js.map +1 -0
- package/dist/events/index.d.ts +13 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/migrations/EventMigrationBuilder.d.ts +16 -0
- package/dist/events/migrations/EventMigrationBuilder.d.ts.map +1 -0
- package/dist/events/migrations/EventMigrationBuilder.js +27 -0
- package/dist/events/migrations/EventMigrationBuilder.js.map +1 -0
- package/dist/events/migrations/EventMigrationPropertyBuilder.d.ts +20 -0
- package/dist/events/migrations/EventMigrationPropertyBuilder.d.ts.map +1 -0
- package/dist/events/migrations/EventMigrationPropertyBuilder.js +54 -0
- package/dist/events/migrations/EventMigrationPropertyBuilder.js.map +1 -0
- package/dist/events/migrations/EventTypeMigrators.d.ts +21 -0
- package/dist/events/migrations/EventTypeMigrators.d.ts.map +1 -0
- package/dist/events/migrations/EventTypeMigrators.js +41 -0
- package/dist/events/migrations/EventTypeMigrators.js.map +1 -0
- package/dist/events/migrations/IEventMigrationBuilder.d.ts +12 -0
- package/dist/events/migrations/IEventMigrationBuilder.d.ts.map +1 -0
- package/dist/events/migrations/IEventMigrationBuilder.js +4 -0
- package/dist/events/migrations/IEventMigrationBuilder.js.map +1 -0
- package/dist/events/migrations/IEventMigrationPropertyBuilder.d.ts +37 -0
- package/dist/events/migrations/IEventMigrationPropertyBuilder.d.ts.map +1 -0
- package/dist/events/migrations/IEventMigrationPropertyBuilder.js +4 -0
- package/dist/events/migrations/IEventMigrationPropertyBuilder.js.map +1 -0
- package/dist/events/migrations/IEventTypeMigration.d.ts +17 -0
- package/dist/events/migrations/IEventTypeMigration.d.ts.map +1 -0
- package/dist/events/migrations/IEventTypeMigration.js +4 -0
- package/dist/events/migrations/IEventTypeMigration.js.map +1 -0
- package/dist/events/migrations/IEventTypeMigrators.d.ts +17 -0
- package/dist/events/migrations/IEventTypeMigrators.d.ts.map +1 -0
- package/dist/events/migrations/IEventTypeMigrators.js +4 -0
- package/dist/events/migrations/IEventTypeMigrators.js.map +1 -0
- package/dist/events/migrations/InvalidMigrationGenerationGap.d.ts +7 -0
- package/dist/events/migrations/InvalidMigrationGenerationGap.d.ts.map +1 -0
- package/dist/events/migrations/InvalidMigrationGenerationGap.js +12 -0
- package/dist/events/migrations/InvalidMigrationGenerationGap.js.map +1 -0
- package/dist/events/migrations/eventTypeMigration.d.ts +33 -0
- package/dist/events/migrations/eventTypeMigration.d.ts.map +1 -0
- package/dist/events/migrations/eventTypeMigration.js +52 -0
- package/dist/events/migrations/eventTypeMigration.js.map +1 -0
- package/dist/events/migrations/index.d.ts +11 -0
- package/dist/events/migrations/index.d.ts.map +1 -0
- package/dist/events/migrations/index.js +8 -0
- package/dist/events/migrations/index.js.map +1 -0
- package/dist/identity/IIdentityProvider.d.ts.map +1 -0
- package/dist/identity/IIdentityProvider.js.map +1 -0
- package/dist/identity/Identity.d.ts.map +1 -0
- package/dist/identity/Identity.js.map +1 -0
- package/dist/identity/IdentityProvider.d.ts.map +1 -0
- package/dist/identity/IdentityProvider.js.map +1 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +34 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -11
- package/dist/index.js.map +1 -1
- package/dist/jobs/IJobs.d.ts +41 -0
- package/dist/jobs/IJobs.d.ts.map +1 -0
- package/dist/jobs/IJobs.js +4 -0
- package/dist/jobs/IJobs.js.map +1 -0
- package/dist/jobs/JobId.d.ts +17 -0
- package/dist/jobs/JobId.d.ts.map +1 -0
- package/dist/jobs/JobId.js +25 -0
- package/dist/jobs/JobId.js.map +1 -0
- package/dist/jobs/Jobs.d.ts +35 -0
- package/dist/jobs/Jobs.d.ts.map +1 -0
- package/dist/jobs/Jobs.js +71 -0
- package/dist/jobs/Jobs.js.map +1 -0
- package/dist/jobs/index.d.ts +4 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +5 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/observation/ObserverId.d.ts.map +1 -0
- package/dist/observation/ObserverId.js.map +1 -0
- package/dist/observation/ObserverRunningState.d.ts.map +1 -0
- package/dist/observation/ObserverRunningState.js.map +1 -0
- package/dist/observation/index.d.ts.map +1 -0
- package/dist/observation/index.js.map +1 -0
- package/dist/projections/IProjections.d.ts.map +1 -0
- package/dist/projections/IProjections.js.map +1 -0
- package/dist/projections/ProjectionId.d.ts.map +1 -0
- package/dist/projections/ProjectionId.js.map +1 -0
- package/dist/projections/Projections.d.ts.map +1 -0
- package/dist/projections/Projections.js +441 -0
- package/dist/projections/Projections.js.map +1 -0
- package/dist/projections/declarative/AllSetBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/AllSetBuilder.js.map +1 -0
- package/dist/projections/declarative/FromBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/FromBuilder.js.map +1 -0
- package/dist/projections/declarative/FromEveryBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/FromEveryBuilder.js.map +1 -0
- package/dist/projections/declarative/IAddBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IAddBuilder.js.map +1 -0
- package/dist/projections/declarative/IAddChildBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IAddChildBuilder.js.map +1 -0
- package/dist/projections/declarative/IAllSetBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IAllSetBuilder.js.map +1 -0
- package/dist/projections/declarative/IChildrenBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IChildrenBuilder.js.map +1 -0
- package/dist/projections/declarative/ICompositeKeyBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/ICompositeKeyBuilder.js.map +1 -0
- package/dist/projections/declarative/IFromBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IFromBuilder.js.map +1 -0
- package/dist/projections/declarative/IFromEveryBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IFromEveryBuilder.js.map +1 -0
- package/dist/projections/declarative/IJoinBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IJoinBuilder.js.map +1 -0
- package/dist/projections/declarative/INestedBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/INestedBuilder.js.map +1 -0
- package/dist/projections/declarative/IProjectionBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IProjectionBuilder.js.map +1 -0
- package/dist/projections/declarative/IProjectionBuilderFor.d.ts.map +1 -0
- package/dist/projections/declarative/IProjectionBuilderFor.js.map +1 -0
- package/dist/projections/declarative/IProjectionFor.d.ts.map +1 -0
- package/dist/projections/declarative/IProjectionFor.js.map +1 -0
- package/dist/projections/declarative/IReadModelPropertiesBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IReadModelPropertiesBuilder.js.map +1 -0
- package/dist/projections/declarative/IRemovedWithBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IRemovedWithBuilder.js.map +1 -0
- package/dist/projections/declarative/IRemovedWithJoinBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/IRemovedWithJoinBuilder.js.map +1 -0
- package/dist/projections/declarative/ISetBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/ISetBuilder.js.map +1 -0
- package/dist/projections/declarative/ISubtractBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/ISubtractBuilder.js.map +1 -0
- package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/JoinBuilder.js.map +1 -0
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -0
- package/dist/projections/declarative/ProjectionBuilderFor.js +223 -0
- package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -0
- package/dist/projections/declarative/RemovedWithBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/RemovedWithBuilder.js.map +1 -0
- package/dist/projections/declarative/RemovedWithJoinBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/RemovedWithJoinBuilder.js.map +1 -0
- package/dist/projections/declarative/SetBuilder.d.ts.map +1 -0
- package/dist/projections/declarative/SetBuilder.js.map +1 -0
- package/dist/projections/declarative/index.d.ts.map +1 -0
- package/dist/projections/declarative/index.js.map +1 -0
- package/dist/projections/declarative/projection.d.ts.map +1 -0
- package/dist/projections/declarative/projection.js.map +1 -0
- package/dist/projections/index.d.ts.map +1 -0
- package/dist/projections/index.js.map +1 -0
- package/dist/projections/modelBound/FromEventMetadata.d.ts.map +1 -0
- package/dist/projections/modelBound/FromEventMetadata.js.map +1 -0
- package/dist/projections/modelBound/FromEventOptions.d.ts.map +1 -0
- package/dist/projections/modelBound/FromEventOptions.js.map +1 -0
- package/dist/projections/modelBound/addFrom.d.ts.map +1 -0
- package/dist/projections/modelBound/addFrom.js.map +1 -0
- package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -0
- package/dist/projections/modelBound/childrenFrom.js.map +1 -0
- package/dist/projections/modelBound/clearWith.d.ts.map +1 -0
- package/dist/projections/modelBound/clearWith.js.map +1 -0
- package/dist/projections/modelBound/count.d.ts.map +1 -0
- package/dist/projections/modelBound/count.js.map +1 -0
- package/dist/projections/modelBound/decrement.d.ts.map +1 -0
- package/dist/projections/modelBound/decrement.js.map +1 -0
- package/dist/projections/modelBound/fromEvent.d.ts.map +1 -0
- package/dist/projections/modelBound/fromEvent.js.map +1 -0
- package/dist/projections/modelBound/fromEvery.d.ts.map +1 -0
- package/dist/projections/modelBound/fromEvery.js.map +1 -0
- package/dist/projections/modelBound/increment.d.ts.map +1 -0
- package/dist/projections/modelBound/increment.js.map +1 -0
- package/dist/projections/modelBound/index.d.ts.map +1 -0
- package/dist/projections/modelBound/index.js.map +1 -0
- package/dist/projections/modelBound/join.d.ts.map +1 -0
- package/dist/projections/modelBound/join.js.map +1 -0
- package/dist/projections/modelBound/nested.d.ts.map +1 -0
- package/dist/projections/modelBound/nested.js.map +1 -0
- package/dist/projections/modelBound/notRewindable.d.ts.map +1 -0
- package/dist/projections/modelBound/notRewindable.js.map +1 -0
- package/dist/projections/modelBound/removedWith.d.ts.map +1 -0
- package/dist/projections/modelBound/removedWith.js.map +1 -0
- package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -0
- package/dist/projections/modelBound/removedWithJoin.js.map +1 -0
- package/dist/projections/modelBound/setFrom.d.ts.map +1 -0
- package/dist/projections/modelBound/setFrom.js.map +1 -0
- package/dist/projections/modelBound/setFromContext.d.ts +26 -0
- package/dist/projections/modelBound/setFromContext.d.ts.map +1 -0
- package/dist/projections/modelBound/setFromContext.js.map +1 -0
- package/dist/projections/modelBound/setValue.d.ts.map +1 -0
- package/dist/projections/modelBound/setValue.js.map +1 -0
- package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -0
- package/dist/projections/modelBound/subtractFrom.js.map +1 -0
- package/dist/reactors/IReactors.d.ts.map +1 -0
- package/dist/reactors/IReactors.js.map +1 -0
- package/dist/reactors/ReactorId.d.ts.map +1 -0
- package/dist/reactors/ReactorId.js.map +1 -0
- package/dist/reactors/Reactors.d.ts.map +1 -0
- package/dist/reactors/Reactors.js +280 -0
- package/dist/reactors/Reactors.js.map +1 -0
- package/dist/reactors/index.d.ts.map +1 -0
- package/dist/reactors/index.js.map +1 -0
- package/dist/reactors/reactor.d.ts.map +1 -0
- package/dist/reactors/reactor.js.map +1 -0
- package/dist/readModels/ReadModelId.d.ts.map +1 -0
- package/dist/readModels/ReadModelId.js.map +1 -0
- package/dist/readModels/index.d.ts.map +1 -0
- package/dist/readModels/index.js.map +1 -0
- package/dist/readModels/readModel.d.ts +33 -0
- package/dist/readModels/readModel.d.ts.map +1 -0
- package/dist/readModels/readModel.js +64 -0
- package/dist/readModels/readModel.js.map +1 -0
- package/dist/reducers/IReducers.d.ts.map +1 -0
- package/dist/reducers/IReducers.js.map +1 -0
- package/dist/reducers/ReducerId.d.ts.map +1 -0
- package/dist/reducers/ReducerId.js.map +1 -0
- package/dist/reducers/Reducers.d.ts.map +1 -0
- package/dist/reducers/Reducers.js +337 -0
- package/dist/reducers/Reducers.js.map +1 -0
- package/dist/reducers/index.d.ts.map +1 -0
- package/dist/reducers/index.js.map +1 -0
- package/dist/reducers/reducer.d.ts.map +1 -0
- package/dist/reducers/reducer.js.map +1 -0
- package/dist/schemas/JsonSchema.d.ts.map +1 -0
- package/dist/schemas/JsonSchema.js.map +1 -0
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -0
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/jsonSchemaProperty.d.ts.map +1 -0
- package/dist/schemas/jsonSchemaProperty.js.map +1 -0
- package/dist/seeding/EventSeeding.d.ts +40 -0
- package/dist/seeding/EventSeeding.d.ts.map +1 -0
- package/dist/seeding/EventSeeding.js +150 -0
- package/dist/seeding/EventSeeding.js.map +1 -0
- package/dist/seeding/ICanSeedEvents.d.ts +12 -0
- package/dist/seeding/ICanSeedEvents.d.ts.map +1 -0
- package/dist/seeding/ICanSeedEvents.js +4 -0
- package/dist/seeding/ICanSeedEvents.js.map +1 -0
- package/dist/seeding/IEventSeeding.d.ts +17 -0
- package/dist/seeding/IEventSeeding.d.ts.map +1 -0
- package/dist/seeding/IEventSeeding.js +4 -0
- package/dist/seeding/IEventSeeding.js.map +1 -0
- package/dist/seeding/IEventSeedingBuilder.d.ts +30 -0
- package/dist/seeding/IEventSeedingBuilder.d.ts.map +1 -0
- package/dist/seeding/IEventSeedingBuilder.js +4 -0
- package/dist/seeding/IEventSeedingBuilder.js.map +1 -0
- package/dist/seeding/IEventSeedingScopeBuilder.d.ts +20 -0
- package/dist/seeding/IEventSeedingScopeBuilder.d.ts.map +1 -0
- package/dist/seeding/IEventSeedingScopeBuilder.js +4 -0
- package/dist/seeding/IEventSeedingScopeBuilder.js.map +1 -0
- package/dist/seeding/index.d.ts +8 -0
- package/dist/seeding/index.d.ts.map +1 -0
- package/dist/seeding/index.js +5 -0
- package/dist/seeding/index.js.map +1 -0
- package/dist/seeding/seeder.d.ts +28 -0
- package/dist/seeding/seeder.d.ts.map +1 -0
- package/dist/seeding/seeder.js +37 -0
- package/dist/seeding/seeder.js.map +1 -0
- package/dist/transactions/IUnitOfWork.d.ts +45 -0
- package/dist/transactions/IUnitOfWork.d.ts.map +1 -0
- package/dist/transactions/IUnitOfWork.js +4 -0
- package/dist/transactions/IUnitOfWork.js.map +1 -0
- package/dist/transactions/IUnitOfWorkManager.d.ts +29 -0
- package/dist/transactions/IUnitOfWorkManager.d.ts.map +1 -0
- package/dist/transactions/IUnitOfWorkManager.js +4 -0
- package/dist/transactions/IUnitOfWorkManager.js.map +1 -0
- package/dist/transactions/NoUnitOfWorkHasBeenStarted.d.ts +10 -0
- package/dist/transactions/NoUnitOfWorkHasBeenStarted.d.ts.map +1 -0
- package/dist/transactions/NoUnitOfWorkHasBeenStarted.js +14 -0
- package/dist/transactions/NoUnitOfWorkHasBeenStarted.js.map +1 -0
- package/dist/transactions/UnitOfWork.d.ts +36 -0
- package/dist/transactions/UnitOfWork.d.ts.map +1 -0
- package/dist/transactions/UnitOfWork.js +102 -0
- package/dist/transactions/UnitOfWork.js.map +1 -0
- package/dist/transactions/UnitOfWorkManager.d.ts +25 -0
- package/dist/transactions/UnitOfWorkManager.d.ts.map +1 -0
- package/dist/transactions/UnitOfWorkManager.js +57 -0
- package/dist/transactions/UnitOfWorkManager.js.map +1 -0
- package/dist/transactions/index.d.ts +6 -0
- package/dist/transactions/index.d.ts.map +1 -0
- package/dist/transactions/index.js +6 -0
- package/dist/transactions/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/DecoratorType.d.ts +7 -1
- package/dist/types/DecoratorType.d.ts.map +1 -1
- package/dist/types/DecoratorType.js +6 -0
- package/dist/types/DecoratorType.js.map +1 -1
- package/dist/webhooks/IWebhook.d.ts +12 -0
- package/dist/webhooks/IWebhook.d.ts.map +1 -0
- package/dist/webhooks/IWebhook.js +4 -0
- package/dist/webhooks/IWebhook.js.map +1 -0
- package/dist/webhooks/IWebhookDefinitionBuilder.d.ts +58 -0
- package/dist/webhooks/IWebhookDefinitionBuilder.d.ts.map +1 -0
- package/dist/webhooks/IWebhookDefinitionBuilder.js +4 -0
- package/dist/webhooks/IWebhookDefinitionBuilder.js.map +1 -0
- package/dist/webhooks/IWebhooks.d.ts +34 -0
- package/dist/webhooks/IWebhooks.d.ts.map +1 -0
- package/dist/webhooks/IWebhooks.js +4 -0
- package/dist/webhooks/IWebhooks.js.map +1 -0
- package/dist/webhooks/WebhookDefinitionBuilder.d.ts +49 -0
- package/dist/webhooks/WebhookDefinitionBuilder.d.ts.map +1 -0
- package/dist/webhooks/WebhookDefinitionBuilder.js +122 -0
- package/dist/webhooks/WebhookDefinitionBuilder.js.map +1 -0
- package/dist/webhooks/WebhookId.d.ts +10 -0
- package/dist/webhooks/WebhookId.d.ts.map +1 -0
- package/dist/webhooks/WebhookId.js +16 -0
- package/dist/webhooks/WebhookId.js.map +1 -0
- package/dist/webhooks/WebhookTargetUrl.d.ts +10 -0
- package/dist/webhooks/WebhookTargetUrl.d.ts.map +1 -0
- package/dist/webhooks/WebhookTargetUrl.js +16 -0
- package/dist/webhooks/WebhookTargetUrl.js.map +1 -0
- package/dist/webhooks/Webhooks.d.ts +38 -0
- package/dist/webhooks/Webhooks.d.ts.map +1 -0
- package/dist/webhooks/Webhooks.js +92 -0
- package/dist/webhooks/Webhooks.js.map +1 -0
- package/dist/webhooks/index.d.ts +10 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +8 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/webhook.d.ts +41 -0
- package/dist/webhooks/webhook.d.ts.map +1 -0
- package/dist/webhooks/webhook.js +44 -0
- package/dist/webhooks/webhook.js.map +1 -0
- package/eventSequences/AppendOptions.ts +19 -0
- package/eventSequences/ConcurrencyScope.ts +27 -0
- package/eventSequences/EventForEventSourceId.ts +13 -0
- package/eventSequences/EventLog.ts +23 -0
- package/eventSequences/EventSequence.ts +413 -0
- package/eventSequences/EventSequenceNumber.ts +38 -0
- package/eventSequences/IEventSequence.ts +60 -0
- package/eventSequences/ITransactionalEventSequence.ts +26 -0
- package/eventSequences/TransactionalEventSequence.ts +34 -0
- package/eventSequences/index.ts +17 -0
- package/events/EventContext.ts +28 -0
- package/events/EventTypes.ts +186 -0
- package/events/eventTypeDecorator.ts +147 -0
- package/events/index.ts +15 -0
- package/events/migrations/EventMigrationBuilder.ts +31 -0
- package/events/migrations/EventMigrationPropertyBuilder.ts +77 -0
- package/events/migrations/EventTypeMigrators.ts +48 -0
- package/events/migrations/IEventMigrationBuilder.ts +15 -0
- package/events/migrations/IEventMigrationPropertyBuilder.ts +57 -0
- package/events/migrations/IEventTypeMigration.ts +21 -0
- package/events/migrations/IEventTypeMigrators.ts +21 -0
- package/events/migrations/InvalidMigrationGenerationGap.ts +19 -0
- package/events/migrations/eventTypeMigration.ts +82 -0
- package/events/migrations/index.ts +13 -0
- package/index.ts +55 -11
- package/jobs/IJobs.ts +49 -0
- package/jobs/JobId.ts +25 -0
- package/jobs/Jobs.ts +81 -0
- package/jobs/index.ts +6 -0
- package/package.json +103 -2
- package/projections/Projections.ts +518 -0
- package/projections/declarative/ProjectionBuilderFor.ts +294 -0
- package/projections/modelBound/setFromContext.ts +59 -0
- package/reactors/Reactors.ts +321 -0
- package/readModels/readModel.ts +89 -0
- package/reducers/Reducers.ts +386 -0
- package/seeding/EventSeeding.ts +176 -0
- package/seeding/ICanSeedEvents.ts +15 -0
- package/seeding/IEventSeeding.ts +21 -0
- package/seeding/IEventSeedingBuilder.ts +35 -0
- package/seeding/IEventSeedingScopeBuilder.ts +23 -0
- package/seeding/index.ts +10 -0
- package/seeding/seeder.ts +54 -0
- package/transactions/IUnitOfWork.ts +56 -0
- package/transactions/IUnitOfWorkManager.ts +36 -0
- package/transactions/NoUnitOfWorkHasBeenStarted.ts +14 -0
- package/transactions/UnitOfWork.ts +132 -0
- package/transactions/UnitOfWorkManager.ts +70 -0
- package/transactions/index.ts +8 -0
- package/types/DecoratorType.ts +10 -1
- package/webhooks/IWebhook.ts +15 -0
- package/webhooks/IWebhookDefinitionBuilder.ts +68 -0
- package/webhooks/IWebhooks.ts +45 -0
- package/webhooks/WebhookDefinitionBuilder.ts +144 -0
- package/webhooks/WebhookId.ts +14 -0
- package/webhooks/WebhookTargetUrl.ts +14 -0
- package/webhooks/Webhooks.ts +125 -0
- package/webhooks/index.ts +12 -0
- package/webhooks/webhook.ts +83 -0
- package/EventSequences/AppendOptions.ts +0 -15
- package/EventSequences/EventLog.ts +0 -21
- package/EventSequences/EventSequence.ts +0 -370
- package/EventSequences/EventSequenceNumber.ts +0 -38
- package/EventSequences/IEventSequence.ts +0 -47
- package/EventSequences/index.ts +0 -13
- package/Events/EventContext.ts +0 -28
- package/Events/EventTypes.ts +0 -95
- package/Events/eventTypeDecorator.ts +0 -147
- package/Events/index.ts +0 -14
- package/Projections/Projections.ts +0 -518
- package/Projections/declarative/ProjectionBuilderFor.ts +0 -294
- package/Projections/modelBound/setFromContext.ts +0 -59
- package/Reactors/Reactors.ts +0 -321
- package/ReadModels/readModel.ts +0 -89
- package/Reducers/Reducers.ts +0 -386
- package/dist/Auditing/Causation.d.ts.map +0 -1
- package/dist/Auditing/Causation.js.map +0 -1
- package/dist/Auditing/CausationManager.d.ts.map +0 -1
- package/dist/Auditing/CausationManager.js.map +0 -1
- package/dist/Auditing/CausationType.d.ts.map +0 -1
- package/dist/Auditing/CausationType.js.map +0 -1
- package/dist/Auditing/ICausationManager.d.ts.map +0 -1
- package/dist/Auditing/ICausationManager.js.map +0 -1
- package/dist/Auditing/index.d.ts.map +0 -1
- package/dist/Auditing/index.js.map +0 -1
- package/dist/Correlation/CorrelationId.d.ts.map +0 -1
- package/dist/Correlation/CorrelationId.js.map +0 -1
- package/dist/Correlation/CorrelationIdManager.d.ts.map +0 -1
- package/dist/Correlation/CorrelationIdManager.js.map +0 -1
- package/dist/Correlation/ICorrelationIdAccessor.d.ts.map +0 -1
- package/dist/Correlation/ICorrelationIdAccessor.js.map +0 -1
- package/dist/Correlation/ICorrelationIdSetter.d.ts.map +0 -1
- package/dist/Correlation/ICorrelationIdSetter.js.map +0 -1
- package/dist/Correlation/index.d.ts.map +0 -1
- package/dist/Correlation/index.js.map +0 -1
- package/dist/EventSequences/AppendError.d.ts.map +0 -1
- package/dist/EventSequences/AppendError.js.map +0 -1
- package/dist/EventSequences/AppendOptions.d.ts +0 -11
- package/dist/EventSequences/AppendOptions.d.ts.map +0 -1
- package/dist/EventSequences/AppendOptions.js.map +0 -1
- package/dist/EventSequences/AppendResult.d.ts.map +0 -1
- package/dist/EventSequences/AppendResult.js.map +0 -1
- package/dist/EventSequences/ConstraintViolation.d.ts.map +0 -1
- package/dist/EventSequences/ConstraintViolation.js.map +0 -1
- package/dist/EventSequences/EventLog.d.ts +0 -11
- package/dist/EventSequences/EventLog.d.ts.map +0 -1
- package/dist/EventSequences/EventLog.js +0 -14
- package/dist/EventSequences/EventLog.js.map +0 -1
- package/dist/EventSequences/EventSequence.d.ts +0 -27
- package/dist/EventSequences/EventSequence.d.ts.map +0 -1
- package/dist/EventSequences/EventSequence.js +0 -336
- package/dist/EventSequences/EventSequence.js.map +0 -1
- package/dist/EventSequences/EventSequenceId.d.ts.map +0 -1
- package/dist/EventSequences/EventSequenceId.js.map +0 -1
- package/dist/EventSequences/EventSequenceNumber.d.ts +0 -26
- package/dist/EventSequences/EventSequenceNumber.d.ts.map +0 -1
- package/dist/EventSequences/EventSequenceNumber.js +0 -36
- package/dist/EventSequences/EventSequenceNumber.js.map +0 -1
- package/dist/EventSequences/IEventLog.d.ts.map +0 -1
- package/dist/EventSequences/IEventLog.js.map +0 -1
- package/dist/EventSequences/IEventSequence.d.ts +0 -40
- package/dist/EventSequences/IEventSequence.d.ts.map +0 -1
- package/dist/EventSequences/IEventSequence.js.map +0 -1
- package/dist/EventSequences/index.d.ts +0 -11
- package/dist/EventSequences/index.d.ts.map +0 -1
- package/dist/EventSequences/index.js +0 -7
- package/dist/EventSequences/index.js.map +0 -1
- package/dist/Events/AppendedEvent.d.ts.map +0 -1
- package/dist/Events/AppendedEvent.js.map +0 -1
- package/dist/Events/CausationEntry.d.ts.map +0 -1
- package/dist/Events/CausationEntry.js.map +0 -1
- package/dist/Events/Constraints/ConstraintBuilder.d.ts.map +0 -1
- package/dist/Events/Constraints/ConstraintBuilder.js.map +0 -1
- package/dist/Events/Constraints/ConstraintId.d.ts.map +0 -1
- package/dist/Events/Constraints/ConstraintId.js.map +0 -1
- package/dist/Events/Constraints/Constraints.d.ts.map +0 -1
- package/dist/Events/Constraints/Constraints.js.map +0 -1
- package/dist/Events/Constraints/IConstraint.d.ts.map +0 -1
- package/dist/Events/Constraints/IConstraint.js.map +0 -1
- package/dist/Events/Constraints/IConstraintBuilder.d.ts.map +0 -1
- package/dist/Events/Constraints/IConstraintBuilder.js.map +0 -1
- package/dist/Events/Constraints/IConstraints.d.ts.map +0 -1
- package/dist/Events/Constraints/IConstraints.js.map +0 -1
- package/dist/Events/Constraints/IUniqueConstraintBuilder.d.ts.map +0 -1
- package/dist/Events/Constraints/IUniqueConstraintBuilder.js.map +0 -1
- package/dist/Events/Constraints/UniqueConstraintBuilder.d.ts.map +0 -1
- package/dist/Events/Constraints/UniqueConstraintBuilder.js.map +0 -1
- package/dist/Events/Constraints/constraint.d.ts.map +0 -1
- package/dist/Events/Constraints/constraint.js.map +0 -1
- package/dist/Events/Constraints/index.d.ts.map +0 -1
- package/dist/Events/Constraints/index.js.map +0 -1
- package/dist/Events/EventContext.d.ts +0 -20
- package/dist/Events/EventContext.d.ts.map +0 -1
- package/dist/Events/EventContext.js.map +0 -1
- package/dist/Events/EventType.d.ts.map +0 -1
- package/dist/Events/EventType.js.map +0 -1
- package/dist/Events/EventTypeGeneration.d.ts.map +0 -1
- package/dist/Events/EventTypeGeneration.js.map +0 -1
- package/dist/Events/EventTypeId.d.ts.map +0 -1
- package/dist/Events/EventTypeId.js.map +0 -1
- package/dist/Events/EventTypes.d.ts +0 -33
- package/dist/Events/EventTypes.d.ts.map +0 -1
- package/dist/Events/EventTypes.js +0 -83
- package/dist/Events/EventTypes.js.map +0 -1
- package/dist/Events/IEventTypes.d.ts.map +0 -1
- package/dist/Events/IEventTypes.js.map +0 -1
- package/dist/Events/eventTypeDecorator.d.ts +0 -71
- package/dist/Events/eventTypeDecorator.d.ts.map +0 -1
- package/dist/Events/eventTypeDecorator.js +0 -86
- package/dist/Events/eventTypeDecorator.js.map +0 -1
- package/dist/Events/index.d.ts +0 -12
- package/dist/Events/index.d.ts.map +0 -1
- package/dist/Events/index.js +0 -9
- package/dist/Events/index.js.map +0 -1
- package/dist/Identity/IIdentityProvider.d.ts.map +0 -1
- package/dist/Identity/IIdentityProvider.js.map +0 -1
- package/dist/Identity/Identity.d.ts.map +0 -1
- package/dist/Identity/Identity.js.map +0 -1
- package/dist/Identity/IdentityProvider.d.ts.map +0 -1
- package/dist/Identity/IdentityProvider.js.map +0 -1
- package/dist/Identity/index.d.ts.map +0 -1
- package/dist/Identity/index.js.map +0 -1
- package/dist/Observation/ObserverId.d.ts.map +0 -1
- package/dist/Observation/ObserverId.js.map +0 -1
- package/dist/Observation/ObserverRunningState.d.ts.map +0 -1
- package/dist/Observation/ObserverRunningState.js.map +0 -1
- package/dist/Observation/index.d.ts.map +0 -1
- package/dist/Observation/index.js.map +0 -1
- package/dist/Projections/IProjections.d.ts.map +0 -1
- package/dist/Projections/IProjections.js.map +0 -1
- package/dist/Projections/ProjectionId.d.ts.map +0 -1
- package/dist/Projections/ProjectionId.js.map +0 -1
- package/dist/Projections/Projections.d.ts.map +0 -1
- package/dist/Projections/Projections.js +0 -441
- package/dist/Projections/Projections.js.map +0 -1
- package/dist/Projections/declarative/AllSetBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/AllSetBuilder.js.map +0 -1
- package/dist/Projections/declarative/FromBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/FromBuilder.js.map +0 -1
- package/dist/Projections/declarative/FromEveryBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/FromEveryBuilder.js.map +0 -1
- package/dist/Projections/declarative/IAddBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IAddBuilder.js.map +0 -1
- package/dist/Projections/declarative/IAddChildBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IAddChildBuilder.js.map +0 -1
- package/dist/Projections/declarative/IAllSetBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IAllSetBuilder.js.map +0 -1
- package/dist/Projections/declarative/IChildrenBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IChildrenBuilder.js.map +0 -1
- package/dist/Projections/declarative/ICompositeKeyBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/ICompositeKeyBuilder.js.map +0 -1
- package/dist/Projections/declarative/IFromBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IFromBuilder.js.map +0 -1
- package/dist/Projections/declarative/IFromEveryBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IFromEveryBuilder.js.map +0 -1
- package/dist/Projections/declarative/IJoinBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IJoinBuilder.js.map +0 -1
- package/dist/Projections/declarative/INestedBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/INestedBuilder.js.map +0 -1
- package/dist/Projections/declarative/IProjectionBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IProjectionBuilder.js.map +0 -1
- package/dist/Projections/declarative/IProjectionBuilderFor.d.ts.map +0 -1
- package/dist/Projections/declarative/IProjectionBuilderFor.js.map +0 -1
- package/dist/Projections/declarative/IProjectionFor.d.ts.map +0 -1
- package/dist/Projections/declarative/IProjectionFor.js.map +0 -1
- package/dist/Projections/declarative/IReadModelPropertiesBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IReadModelPropertiesBuilder.js.map +0 -1
- package/dist/Projections/declarative/IRemovedWithBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IRemovedWithBuilder.js.map +0 -1
- package/dist/Projections/declarative/IRemovedWithJoinBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/IRemovedWithJoinBuilder.js.map +0 -1
- package/dist/Projections/declarative/ISetBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/ISetBuilder.js.map +0 -1
- package/dist/Projections/declarative/ISubtractBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/ISubtractBuilder.js.map +0 -1
- package/dist/Projections/declarative/JoinBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/JoinBuilder.js.map +0 -1
- package/dist/Projections/declarative/ProjectionBuilderFor.d.ts.map +0 -1
- package/dist/Projections/declarative/ProjectionBuilderFor.js +0 -223
- package/dist/Projections/declarative/ProjectionBuilderFor.js.map +0 -1
- package/dist/Projections/declarative/RemovedWithBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/RemovedWithBuilder.js.map +0 -1
- package/dist/Projections/declarative/RemovedWithJoinBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/RemovedWithJoinBuilder.js.map +0 -1
- package/dist/Projections/declarative/SetBuilder.d.ts.map +0 -1
- package/dist/Projections/declarative/SetBuilder.js.map +0 -1
- package/dist/Projections/declarative/index.d.ts.map +0 -1
- package/dist/Projections/declarative/index.js.map +0 -1
- package/dist/Projections/declarative/projection.d.ts.map +0 -1
- package/dist/Projections/declarative/projection.js.map +0 -1
- package/dist/Projections/index.d.ts.map +0 -1
- package/dist/Projections/index.js.map +0 -1
- package/dist/Projections/modelBound/FromEventMetadata.d.ts.map +0 -1
- package/dist/Projections/modelBound/FromEventMetadata.js.map +0 -1
- package/dist/Projections/modelBound/FromEventOptions.d.ts.map +0 -1
- package/dist/Projections/modelBound/FromEventOptions.js.map +0 -1
- package/dist/Projections/modelBound/addFrom.d.ts.map +0 -1
- package/dist/Projections/modelBound/addFrom.js.map +0 -1
- package/dist/Projections/modelBound/childrenFrom.d.ts.map +0 -1
- package/dist/Projections/modelBound/childrenFrom.js.map +0 -1
- package/dist/Projections/modelBound/clearWith.d.ts.map +0 -1
- package/dist/Projections/modelBound/clearWith.js.map +0 -1
- package/dist/Projections/modelBound/count.d.ts.map +0 -1
- package/dist/Projections/modelBound/count.js.map +0 -1
- package/dist/Projections/modelBound/decrement.d.ts.map +0 -1
- package/dist/Projections/modelBound/decrement.js.map +0 -1
- package/dist/Projections/modelBound/fromEvent.d.ts.map +0 -1
- package/dist/Projections/modelBound/fromEvent.js.map +0 -1
- package/dist/Projections/modelBound/fromEvery.d.ts.map +0 -1
- package/dist/Projections/modelBound/fromEvery.js.map +0 -1
- package/dist/Projections/modelBound/increment.d.ts.map +0 -1
- package/dist/Projections/modelBound/increment.js.map +0 -1
- package/dist/Projections/modelBound/index.d.ts.map +0 -1
- package/dist/Projections/modelBound/index.js.map +0 -1
- package/dist/Projections/modelBound/join.d.ts.map +0 -1
- package/dist/Projections/modelBound/join.js.map +0 -1
- package/dist/Projections/modelBound/nested.d.ts.map +0 -1
- package/dist/Projections/modelBound/nested.js.map +0 -1
- package/dist/Projections/modelBound/notRewindable.d.ts.map +0 -1
- package/dist/Projections/modelBound/notRewindable.js.map +0 -1
- package/dist/Projections/modelBound/removedWith.d.ts.map +0 -1
- package/dist/Projections/modelBound/removedWith.js.map +0 -1
- package/dist/Projections/modelBound/removedWithJoin.d.ts.map +0 -1
- package/dist/Projections/modelBound/removedWithJoin.js.map +0 -1
- package/dist/Projections/modelBound/setFrom.d.ts.map +0 -1
- package/dist/Projections/modelBound/setFrom.js.map +0 -1
- package/dist/Projections/modelBound/setFromContext.d.ts +0 -26
- package/dist/Projections/modelBound/setFromContext.d.ts.map +0 -1
- package/dist/Projections/modelBound/setFromContext.js.map +0 -1
- package/dist/Projections/modelBound/setValue.d.ts.map +0 -1
- package/dist/Projections/modelBound/setValue.js.map +0 -1
- package/dist/Projections/modelBound/subtractFrom.d.ts.map +0 -1
- package/dist/Projections/modelBound/subtractFrom.js.map +0 -1
- package/dist/Reactors/IReactors.d.ts.map +0 -1
- package/dist/Reactors/IReactors.js.map +0 -1
- package/dist/Reactors/ReactorId.d.ts.map +0 -1
- package/dist/Reactors/ReactorId.js.map +0 -1
- package/dist/Reactors/Reactors.d.ts.map +0 -1
- package/dist/Reactors/Reactors.js +0 -280
- package/dist/Reactors/Reactors.js.map +0 -1
- package/dist/Reactors/index.d.ts.map +0 -1
- package/dist/Reactors/index.js.map +0 -1
- package/dist/Reactors/reactor.d.ts.map +0 -1
- package/dist/Reactors/reactor.js.map +0 -1
- package/dist/ReadModels/ReadModelId.d.ts.map +0 -1
- package/dist/ReadModels/ReadModelId.js.map +0 -1
- package/dist/ReadModels/index.d.ts.map +0 -1
- package/dist/ReadModels/index.js.map +0 -1
- package/dist/ReadModels/readModel.d.ts +0 -33
- package/dist/ReadModels/readModel.d.ts.map +0 -1
- package/dist/ReadModels/readModel.js +0 -64
- package/dist/ReadModels/readModel.js.map +0 -1
- package/dist/Reducers/IReducers.d.ts.map +0 -1
- package/dist/Reducers/IReducers.js.map +0 -1
- package/dist/Reducers/ReducerId.d.ts.map +0 -1
- package/dist/Reducers/ReducerId.js.map +0 -1
- package/dist/Reducers/Reducers.d.ts.map +0 -1
- package/dist/Reducers/Reducers.js +0 -337
- package/dist/Reducers/Reducers.js.map +0 -1
- package/dist/Reducers/index.d.ts.map +0 -1
- package/dist/Reducers/index.js.map +0 -1
- package/dist/Reducers/reducer.d.ts.map +0 -1
- package/dist/Reducers/reducer.js.map +0 -1
- package/dist/Schemas/JsonSchema.d.ts.map +0 -1
- package/dist/Schemas/JsonSchema.js.map +0 -1
- package/dist/Schemas/JsonSchemaGenerator.d.ts.map +0 -1
- package/dist/Schemas/JsonSchemaGenerator.js.map +0 -1
- package/dist/Schemas/index.d.ts.map +0 -1
- package/dist/Schemas/index.js.map +0 -1
- package/dist/Schemas/jsonSchemaProperty.d.ts.map +0 -1
- package/dist/Schemas/jsonSchemaProperty.js.map +0 -1
- /package/{Auditing → auditing}/Causation.ts +0 -0
- /package/{Auditing → auditing}/CausationManager.ts +0 -0
- /package/{Auditing → auditing}/CausationType.ts +0 -0
- /package/{Auditing → auditing}/ICausationManager.ts +0 -0
- /package/{Auditing → auditing}/index.ts +0 -0
- /package/{Correlation → correlation}/CorrelationId.ts +0 -0
- /package/{Correlation → correlation}/CorrelationIdManager.ts +0 -0
- /package/{Correlation → correlation}/ICorrelationIdAccessor.ts +0 -0
- /package/{Correlation → correlation}/ICorrelationIdSetter.ts +0 -0
- /package/{Correlation → correlation}/index.ts +0 -0
- /package/dist/{Auditing → auditing}/Causation.d.ts +0 -0
- /package/dist/{Auditing → auditing}/Causation.js +0 -0
- /package/dist/{Auditing → auditing}/CausationManager.d.ts +0 -0
- /package/dist/{Auditing → auditing}/CausationManager.js +0 -0
- /package/dist/{Auditing → auditing}/CausationType.d.ts +0 -0
- /package/dist/{Auditing → auditing}/CausationType.js +0 -0
- /package/dist/{Auditing → auditing}/ICausationManager.d.ts +0 -0
- /package/dist/{Auditing → auditing}/ICausationManager.js +0 -0
- /package/dist/{Auditing → auditing}/index.d.ts +0 -0
- /package/dist/{Auditing → auditing}/index.js +0 -0
- /package/dist/{Correlation → correlation}/CorrelationId.d.ts +0 -0
- /package/dist/{Correlation → correlation}/CorrelationId.js +0 -0
- /package/dist/{Correlation → correlation}/CorrelationIdManager.d.ts +0 -0
- /package/dist/{Correlation → correlation}/CorrelationIdManager.js +0 -0
- /package/dist/{Correlation → correlation}/ICorrelationIdAccessor.d.ts +0 -0
- /package/dist/{Correlation → correlation}/ICorrelationIdAccessor.js +0 -0
- /package/dist/{Correlation → correlation}/ICorrelationIdSetter.d.ts +0 -0
- /package/dist/{Correlation → correlation}/ICorrelationIdSetter.js +0 -0
- /package/dist/{Correlation → correlation}/index.d.ts +0 -0
- /package/dist/{Correlation → correlation}/index.js +0 -0
- /package/dist/{EventSequences → eventSequences}/AppendError.d.ts +0 -0
- /package/dist/{EventSequences → eventSequences}/AppendError.js +0 -0
- /package/dist/{EventSequences → eventSequences}/AppendOptions.js +0 -0
- /package/dist/{EventSequences → eventSequences}/AppendResult.d.ts +0 -0
- /package/dist/{EventSequences → eventSequences}/AppendResult.js +0 -0
- /package/dist/{EventSequences → eventSequences}/ConstraintViolation.d.ts +0 -0
- /package/dist/{EventSequences → eventSequences}/ConstraintViolation.js +0 -0
- /package/dist/{EventSequences → eventSequences}/EventSequenceId.d.ts +0 -0
- /package/dist/{EventSequences → eventSequences}/EventSequenceId.js +0 -0
- /package/dist/{EventSequences → eventSequences}/IEventLog.d.ts +0 -0
- /package/dist/{EventSequences → eventSequences}/IEventLog.js +0 -0
- /package/dist/{EventSequences → eventSequences}/IEventSequence.js +0 -0
- /package/dist/{Events → events}/AppendedEvent.d.ts +0 -0
- /package/dist/{Events → events}/AppendedEvent.js +0 -0
- /package/dist/{Events → events}/CausationEntry.d.ts +0 -0
- /package/dist/{Events → events}/CausationEntry.js +0 -0
- /package/dist/{Events → events}/EventContext.js +0 -0
- /package/dist/{Events → events}/EventType.d.ts +0 -0
- /package/dist/{Events → events}/EventType.js +0 -0
- /package/dist/{Events → events}/EventTypeGeneration.d.ts +0 -0
- /package/dist/{Events → events}/EventTypeGeneration.js +0 -0
- /package/dist/{Events → events}/EventTypeId.d.ts +0 -0
- /package/dist/{Events → events}/EventTypeId.js +0 -0
- /package/dist/{Events → events}/IEventTypes.d.ts +0 -0
- /package/dist/{Events → events}/IEventTypes.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/ConstraintBuilder.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/ConstraintBuilder.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/ConstraintId.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/ConstraintId.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/Constraints.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/Constraints.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IConstraint.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IConstraint.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IConstraintBuilder.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IConstraintBuilder.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IConstraints.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IConstraints.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IUniqueConstraintBuilder.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/IUniqueConstraintBuilder.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/UniqueConstraintBuilder.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/UniqueConstraintBuilder.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/constraint.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/constraint.js +0 -0
- /package/dist/{Events/Constraints → events/constraints}/index.d.ts +0 -0
- /package/dist/{Events/Constraints → events/constraints}/index.js +0 -0
- /package/dist/{Identity → identity}/IIdentityProvider.d.ts +0 -0
- /package/dist/{Identity → identity}/IIdentityProvider.js +0 -0
- /package/dist/{Identity → identity}/Identity.d.ts +0 -0
- /package/dist/{Identity → identity}/Identity.js +0 -0
- /package/dist/{Identity → identity}/IdentityProvider.d.ts +0 -0
- /package/dist/{Identity → identity}/IdentityProvider.js +0 -0
- /package/dist/{Identity → identity}/index.d.ts +0 -0
- /package/dist/{Identity → identity}/index.js +0 -0
- /package/dist/{Observation → observation}/ObserverId.d.ts +0 -0
- /package/dist/{Observation → observation}/ObserverId.js +0 -0
- /package/dist/{Observation → observation}/ObserverRunningState.d.ts +0 -0
- /package/dist/{Observation → observation}/ObserverRunningState.js +0 -0
- /package/dist/{Observation → observation}/index.d.ts +0 -0
- /package/dist/{Observation → observation}/index.js +0 -0
- /package/dist/{Projections → projections}/IProjections.d.ts +0 -0
- /package/dist/{Projections → projections}/IProjections.js +0 -0
- /package/dist/{Projections → projections}/ProjectionId.d.ts +0 -0
- /package/dist/{Projections → projections}/ProjectionId.js +0 -0
- /package/dist/{Projections → projections}/Projections.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/AllSetBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/AllSetBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/FromBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/FromBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/FromEveryBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/FromEveryBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IAddBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IAddBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IAddChildBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IAddChildBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IAllSetBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IAllSetBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IChildrenBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IChildrenBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/ICompositeKeyBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/ICompositeKeyBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IFromBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IFromBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IFromEveryBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IFromEveryBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IJoinBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IJoinBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/INestedBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/INestedBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IProjectionBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IProjectionBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IProjectionBuilderFor.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IProjectionBuilderFor.js +0 -0
- /package/dist/{Projections → projections}/declarative/IProjectionFor.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IProjectionFor.js +0 -0
- /package/dist/{Projections → projections}/declarative/IReadModelPropertiesBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IReadModelPropertiesBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IRemovedWithBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IRemovedWithBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/IRemovedWithJoinBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/IRemovedWithJoinBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/ISetBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/ISetBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/ISubtractBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/ISubtractBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/JoinBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/JoinBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/ProjectionBuilderFor.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/RemovedWithBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/RemovedWithBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/RemovedWithJoinBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/RemovedWithJoinBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/SetBuilder.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/SetBuilder.js +0 -0
- /package/dist/{Projections → projections}/declarative/index.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/index.js +0 -0
- /package/dist/{Projections → projections}/declarative/projection.d.ts +0 -0
- /package/dist/{Projections → projections}/declarative/projection.js +0 -0
- /package/dist/{Projections → projections}/index.d.ts +0 -0
- /package/dist/{Projections → projections}/index.js +0 -0
- /package/dist/{Projections → projections}/modelBound/FromEventMetadata.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/FromEventMetadata.js +0 -0
- /package/dist/{Projections → projections}/modelBound/FromEventOptions.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/FromEventOptions.js +0 -0
- /package/dist/{Projections → projections}/modelBound/addFrom.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/addFrom.js +0 -0
- /package/dist/{Projections → projections}/modelBound/childrenFrom.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/childrenFrom.js +0 -0
- /package/dist/{Projections → projections}/modelBound/clearWith.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/clearWith.js +0 -0
- /package/dist/{Projections → projections}/modelBound/count.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/count.js +0 -0
- /package/dist/{Projections → projections}/modelBound/decrement.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/decrement.js +0 -0
- /package/dist/{Projections → projections}/modelBound/fromEvent.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/fromEvent.js +0 -0
- /package/dist/{Projections → projections}/modelBound/fromEvery.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/fromEvery.js +0 -0
- /package/dist/{Projections → projections}/modelBound/increment.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/increment.js +0 -0
- /package/dist/{Projections → projections}/modelBound/index.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/index.js +0 -0
- /package/dist/{Projections → projections}/modelBound/join.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/join.js +0 -0
- /package/dist/{Projections → projections}/modelBound/nested.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/nested.js +0 -0
- /package/dist/{Projections → projections}/modelBound/notRewindable.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/notRewindable.js +0 -0
- /package/dist/{Projections → projections}/modelBound/removedWith.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/removedWith.js +0 -0
- /package/dist/{Projections → projections}/modelBound/removedWithJoin.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/removedWithJoin.js +0 -0
- /package/dist/{Projections → projections}/modelBound/setFrom.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/setFrom.js +0 -0
- /package/dist/{Projections → projections}/modelBound/setFromContext.js +0 -0
- /package/dist/{Projections → projections}/modelBound/setValue.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/setValue.js +0 -0
- /package/dist/{Projections → projections}/modelBound/subtractFrom.d.ts +0 -0
- /package/dist/{Projections → projections}/modelBound/subtractFrom.js +0 -0
- /package/dist/{Reactors → reactors}/IReactors.d.ts +0 -0
- /package/dist/{Reactors → reactors}/IReactors.js +0 -0
- /package/dist/{Reactors → reactors}/ReactorId.d.ts +0 -0
- /package/dist/{Reactors → reactors}/ReactorId.js +0 -0
- /package/dist/{Reactors → reactors}/Reactors.d.ts +0 -0
- /package/dist/{Reactors → reactors}/index.d.ts +0 -0
- /package/dist/{Reactors → reactors}/index.js +0 -0
- /package/dist/{Reactors → reactors}/reactor.d.ts +0 -0
- /package/dist/{Reactors → reactors}/reactor.js +0 -0
- /package/dist/{ReadModels → readModels}/ReadModelId.d.ts +0 -0
- /package/dist/{ReadModels → readModels}/ReadModelId.js +0 -0
- /package/dist/{ReadModels → readModels}/index.d.ts +0 -0
- /package/dist/{ReadModels → readModels}/index.js +0 -0
- /package/dist/{Reducers → reducers}/IReducers.d.ts +0 -0
- /package/dist/{Reducers → reducers}/IReducers.js +0 -0
- /package/dist/{Reducers → reducers}/ReducerId.d.ts +0 -0
- /package/dist/{Reducers → reducers}/ReducerId.js +0 -0
- /package/dist/{Reducers → reducers}/Reducers.d.ts +0 -0
- /package/dist/{Reducers → reducers}/index.d.ts +0 -0
- /package/dist/{Reducers → reducers}/index.js +0 -0
- /package/dist/{Reducers → reducers}/reducer.d.ts +0 -0
- /package/dist/{Reducers → reducers}/reducer.js +0 -0
- /package/dist/{Schemas → schemas}/JsonSchema.d.ts +0 -0
- /package/dist/{Schemas → schemas}/JsonSchema.js +0 -0
- /package/dist/{Schemas → schemas}/JsonSchemaGenerator.d.ts +0 -0
- /package/dist/{Schemas → schemas}/JsonSchemaGenerator.js +0 -0
- /package/dist/{Schemas → schemas}/index.d.ts +0 -0
- /package/dist/{Schemas → schemas}/index.js +0 -0
- /package/dist/{Schemas → schemas}/jsonSchemaProperty.d.ts +0 -0
- /package/dist/{Schemas → schemas}/jsonSchemaProperty.js +0 -0
- /package/{EventSequences → eventSequences}/AppendError.ts +0 -0
- /package/{EventSequences → eventSequences}/AppendResult.ts +0 -0
- /package/{EventSequences → eventSequences}/ConstraintViolation.ts +0 -0
- /package/{EventSequences → eventSequences}/EventSequenceId.ts +0 -0
- /package/{EventSequences → eventSequences}/IEventLog.ts +0 -0
- /package/{Events → events}/AppendedEvent.ts +0 -0
- /package/{Events → events}/CausationEntry.ts +0 -0
- /package/{Events → events}/EventType.ts +0 -0
- /package/{Events → events}/EventTypeGeneration.ts +0 -0
- /package/{Events → events}/EventTypeId.ts +0 -0
- /package/{Events → events}/IEventTypes.ts +0 -0
- /package/{Events/Constraints → events/constraints}/ConstraintBuilder.ts +0 -0
- /package/{Events/Constraints → events/constraints}/ConstraintId.ts +0 -0
- /package/{Events/Constraints → events/constraints}/Constraints.ts +0 -0
- /package/{Events/Constraints → events/constraints}/IConstraint.ts +0 -0
- /package/{Events/Constraints → events/constraints}/IConstraintBuilder.ts +0 -0
- /package/{Events/Constraints → events/constraints}/IConstraints.ts +0 -0
- /package/{Events/Constraints → events/constraints}/IUniqueConstraintBuilder.ts +0 -0
- /package/{Events/Constraints → events/constraints}/UniqueConstraintBuilder.ts +0 -0
- /package/{Events/Constraints → events/constraints}/constraint.ts +0 -0
- /package/{Events/Constraints → events/constraints}/index.ts +0 -0
- /package/{Identity → identity}/IIdentityProvider.ts +0 -0
- /package/{Identity → identity}/Identity.ts +0 -0
- /package/{Identity → identity}/IdentityProvider.ts +0 -0
- /package/{Identity → identity}/index.ts +0 -0
- /package/{Observation → observation}/ObserverId.ts +0 -0
- /package/{Observation → observation}/ObserverRunningState.ts +0 -0
- /package/{Observation → observation}/index.ts +0 -0
- /package/{Projections → projections}/IProjections.ts +0 -0
- /package/{Projections → projections}/ProjectionId.ts +0 -0
- /package/{Projections → projections}/declarative/AllSetBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/FromBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/FromEveryBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IAddBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IAddChildBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IAllSetBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IChildrenBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/ICompositeKeyBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IFromBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IFromEveryBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IJoinBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/INestedBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IProjectionBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IProjectionBuilderFor.ts +0 -0
- /package/{Projections → projections}/declarative/IProjectionFor.ts +0 -0
- /package/{Projections → projections}/declarative/IReadModelPropertiesBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IRemovedWithBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/IRemovedWithJoinBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/ISetBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/ISubtractBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/JoinBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/RemovedWithBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/RemovedWithJoinBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/SetBuilder.ts +0 -0
- /package/{Projections → projections}/declarative/index.ts +0 -0
- /package/{Projections → projections}/declarative/projection.ts +0 -0
- /package/{Projections → projections}/index.ts +0 -0
- /package/{Projections → projections}/modelBound/FromEventMetadata.ts +0 -0
- /package/{Projections → projections}/modelBound/FromEventOptions.ts +0 -0
- /package/{Projections → projections}/modelBound/addFrom.ts +0 -0
- /package/{Projections → projections}/modelBound/childrenFrom.ts +0 -0
- /package/{Projections → projections}/modelBound/clearWith.ts +0 -0
- /package/{Projections → projections}/modelBound/count.ts +0 -0
- /package/{Projections → projections}/modelBound/decrement.ts +0 -0
- /package/{Projections → projections}/modelBound/fromEvent.ts +0 -0
- /package/{Projections → projections}/modelBound/fromEvery.ts +0 -0
- /package/{Projections → projections}/modelBound/increment.ts +0 -0
- /package/{Projections → projections}/modelBound/index.ts +0 -0
- /package/{Projections → projections}/modelBound/join.ts +0 -0
- /package/{Projections → projections}/modelBound/nested.ts +0 -0
- /package/{Projections → projections}/modelBound/notRewindable.ts +0 -0
- /package/{Projections → projections}/modelBound/removedWith.ts +0 -0
- /package/{Projections → projections}/modelBound/removedWithJoin.ts +0 -0
- /package/{Projections → projections}/modelBound/setFrom.ts +0 -0
- /package/{Projections → projections}/modelBound/setValue.ts +0 -0
- /package/{Projections → projections}/modelBound/subtractFrom.ts +0 -0
- /package/{Reactors → reactors}/IReactors.ts +0 -0
- /package/{Reactors → reactors}/ReactorId.ts +0 -0
- /package/{Reactors → reactors}/index.ts +0 -0
- /package/{Reactors → reactors}/reactor.ts +0 -0
- /package/{ReadModels → readModels}/ReadModelId.ts +0 -0
- /package/{ReadModels → readModels}/index.ts +0 -0
- /package/{Reducers → reducers}/IReducers.ts +0 -0
- /package/{Reducers → reducers}/ReducerId.ts +0 -0
- /package/{Reducers → reducers}/index.ts +0 -0
- /package/{Reducers → reducers}/reducer.ts +0 -0
- /package/{Schemas → schemas}/JsonSchema.ts +0 -0
- /package/{Schemas → schemas}/JsonSchemaGenerator.ts +0 -0
- /package/{Schemas → schemas}/index.ts +0 -0
- /package/{Schemas → schemas}/jsonSchemaProperty.ts +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
import 'reflect-metadata';
|
|
5
|
+
import { Constructor } from '@cratis/fundamentals';
|
|
6
|
+
import { ReadModelId } from './ReadModelId';
|
|
7
|
+
import { DecoratorType, TypeDiscoverer, TypeIntrospector } from '../types';
|
|
8
|
+
import { JsonSchema, JsonSchemaGenerator } from '../schemas';
|
|
9
|
+
|
|
10
|
+
/** Metadata key used to store read model information on a class. */
|
|
11
|
+
const READ_MODEL_METADATA_KEY = 'chronicle:readModel';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Metadata stored on a read model class.
|
|
15
|
+
*/
|
|
16
|
+
export interface ReadModelMetadata {
|
|
17
|
+
/** The unique identifier for the read model. */
|
|
18
|
+
readonly id: ReadModelId;
|
|
19
|
+
|
|
20
|
+
/** The reflected members and their runtime types. */
|
|
21
|
+
readonly members: ReadonlyMap<string, Function | undefined>;
|
|
22
|
+
|
|
23
|
+
/** The generated JSON schema for the read model. */
|
|
24
|
+
readonly schema: JsonSchema;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* TypeScript decorator that marks a class as a read model and captures reflection metadata.
|
|
29
|
+
* @param id - The unique identifier for the read model. Defaults to the class name if omitted.
|
|
30
|
+
* @returns A class decorator.
|
|
31
|
+
*/
|
|
32
|
+
export function readModel(id: string = ''): ClassDecorator {
|
|
33
|
+
return (target: object) => {
|
|
34
|
+
const constructor = target as Function;
|
|
35
|
+
const readModelId = new ReadModelId(id || constructor.name);
|
|
36
|
+
trackInstanceProperties(constructor);
|
|
37
|
+
const members = TypeIntrospector.getMembers(constructor);
|
|
38
|
+
const metadata: ReadModelMetadata = {
|
|
39
|
+
id: readModelId,
|
|
40
|
+
members,
|
|
41
|
+
schema: JsonSchemaGenerator.generate(constructor, members)
|
|
42
|
+
};
|
|
43
|
+
Reflect.defineMetadata(READ_MODEL_METADATA_KEY, metadata, target);
|
|
44
|
+
TypeDiscoverer.default.register(
|
|
45
|
+
DecoratorType.ReadModel,
|
|
46
|
+
constructor as Constructor,
|
|
47
|
+
readModelId.value
|
|
48
|
+
);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function trackInstanceProperties(constructor: Function): void {
|
|
53
|
+
const instance = tryCreateInstance(constructor);
|
|
54
|
+
if (!instance || typeof instance !== 'object') {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
for (const propertyName of Object.keys(instance as Record<string, unknown>)) {
|
|
59
|
+
TypeIntrospector.trackProperty(constructor, propertyName);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function tryCreateInstance(constructor: Function): unknown {
|
|
64
|
+
try {
|
|
65
|
+
const parameterCount = constructor.length;
|
|
66
|
+
const parameters = Array.from({ length: parameterCount }, () => undefined);
|
|
67
|
+
return Reflect.construct(constructor as new (...args: unknown[]) => unknown, parameters);
|
|
68
|
+
} catch {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Gets the {@link ReadModelMetadata} associated with a class decorated with {@link readModel}.
|
|
75
|
+
* @param target - The class constructor to retrieve metadata for.
|
|
76
|
+
* @returns The associated metadata, or undefined if not decorated.
|
|
77
|
+
*/
|
|
78
|
+
export function getReadModelMetadata(target: Function): ReadModelMetadata | undefined {
|
|
79
|
+
return Reflect.getMetadata(READ_MODEL_METADATA_KEY, target);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Checks whether a class has been decorated with {@link readModel}.
|
|
84
|
+
* @param target - The class constructor to check.
|
|
85
|
+
* @returns True if the class has a read model decorator; false otherwise.
|
|
86
|
+
*/
|
|
87
|
+
export function isReadModel(target: Function): boolean {
|
|
88
|
+
return Reflect.hasMetadata(READ_MODEL_METADATA_KEY, target);
|
|
89
|
+
}
|
|
@@ -0,0 +1,386 @@
|
|
|
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
|
+
import 'reflect-metadata';
|
|
5
|
+
import { diag } from '@opentelemetry/api';
|
|
6
|
+
import { Constructor } from '@cratis/fundamentals';
|
|
7
|
+
import { ObservationState, ReadModelObserverType, ReducerMessage } from '@cratis/chronicle.contracts';
|
|
8
|
+
import { IClientArtifactsProvider } from '../artifacts';
|
|
9
|
+
import { ChronicleConnection } from '../connection';
|
|
10
|
+
import { toContractsGuid } from '../connection/Guid';
|
|
11
|
+
import { ConnectionLifecycle } from '../connection/ConnectionLifecycle';
|
|
12
|
+
import { getEventTypeMetadata } from '../events/eventTypeDecorator';
|
|
13
|
+
import { EventSequenceId } from '../eventSequences/EventSequenceId';
|
|
14
|
+
import { WellKnownSinks } from '../sinks';
|
|
15
|
+
import { IReducers } from './IReducers';
|
|
16
|
+
import { getReducerMetadata } from './reducer';
|
|
17
|
+
import { getReadModelMetadata } from '../readModels';
|
|
18
|
+
import { JsonSchemaGenerator } from '../schemas';
|
|
19
|
+
|
|
20
|
+
/** Expression used to partition reducer observations by event source ID. */
|
|
21
|
+
const EVENT_SOURCE_ID_KEY = '$eventSourceId';
|
|
22
|
+
|
|
23
|
+
/** Sentinel sequence number sent back when no event was successfully processed. */
|
|
24
|
+
const SEQUENCE_NUMBER_UNAVAILABLE = 4294967295n;
|
|
25
|
+
|
|
26
|
+
interface EventTypeEntry {
|
|
27
|
+
readonly id: string;
|
|
28
|
+
readonly generation: number;
|
|
29
|
+
readonly methodName: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A push-based async queue that implements {@link AsyncIterable} for use with nice-grpc
|
|
34
|
+
* bidirectional streaming. Values pushed via {@link send} are yielded in order to
|
|
35
|
+
* any consumer that iterates the queue.
|
|
36
|
+
*/
|
|
37
|
+
class AsyncQueue<T> {
|
|
38
|
+
private readonly _queue: T[] = [];
|
|
39
|
+
private _resolve: ((result: IteratorResult<T, undefined>) => void) | undefined = undefined;
|
|
40
|
+
private _done = false;
|
|
41
|
+
|
|
42
|
+
/** Pushes a value into the queue. No-op if the queue has been completed. */
|
|
43
|
+
send(value: T): void {
|
|
44
|
+
if (this._done) return;
|
|
45
|
+
if (this._resolve) {
|
|
46
|
+
const resolve = this._resolve;
|
|
47
|
+
this._resolve = undefined;
|
|
48
|
+
resolve({ value, done: false });
|
|
49
|
+
} else {
|
|
50
|
+
this._queue.push(value);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Signals that no more values will be pushed, causing consumers to finish iteration. */
|
|
55
|
+
complete(): void {
|
|
56
|
+
this._done = true;
|
|
57
|
+
if (this._resolve) {
|
|
58
|
+
this._resolve({ value: undefined, done: true });
|
|
59
|
+
this._resolve = undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
[Symbol.asyncIterator](): AsyncIterator<T, undefined> {
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
65
|
+
const self = this;
|
|
66
|
+
return {
|
|
67
|
+
next(): Promise<IteratorResult<T, undefined>> {
|
|
68
|
+
if (self._queue.length > 0) {
|
|
69
|
+
return Promise.resolve({ value: self._queue.shift()!, done: false });
|
|
70
|
+
}
|
|
71
|
+
if (self._done) {
|
|
72
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
73
|
+
}
|
|
74
|
+
return new Promise(resolve => {
|
|
75
|
+
self._resolve = resolve as (result: IteratorResult<T, undefined>) => void;
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
return(): Promise<IteratorResult<T, undefined>> {
|
|
79
|
+
self._done = true;
|
|
80
|
+
if (self._resolve) {
|
|
81
|
+
self._resolve({ value: undefined, done: true });
|
|
82
|
+
self._resolve = undefined;
|
|
83
|
+
}
|
|
84
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Implements {@link IReducers}, managing discovery and registration of reducers
|
|
92
|
+
* with the Chronicle Kernel via bidirectional gRPC streaming.
|
|
93
|
+
*/
|
|
94
|
+
export class Reducers implements IReducers {
|
|
95
|
+
private readonly _logger = diag.createComponentLogger({ namespace: '@cratis/chronicle/reducers' });
|
|
96
|
+
private readonly _lifecycle: ConnectionLifecycle;
|
|
97
|
+
private readonly _reducers = new Map<string, Constructor>();
|
|
98
|
+
private readonly _queues = new Map<string, AsyncQueue<ReducerMessage>>();
|
|
99
|
+
private _registered = false;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Creates a new {@link Reducers} instance.
|
|
103
|
+
* @param _clientArtifacts - Provider for discovered client artifact types.
|
|
104
|
+
* @param _connection - The Chronicle gRPC connection.
|
|
105
|
+
* @param _eventStoreName - The name of the event store.
|
|
106
|
+
* @param _namespace - The namespace within the event store.
|
|
107
|
+
* @param lifecycle - The connection lifecycle used to react to disconnect events.
|
|
108
|
+
*/
|
|
109
|
+
constructor(
|
|
110
|
+
private readonly _clientArtifacts: IClientArtifactsProvider,
|
|
111
|
+
private readonly _connection: ChronicleConnection,
|
|
112
|
+
private readonly _eventStoreName: string,
|
|
113
|
+
private readonly _namespace: string,
|
|
114
|
+
lifecycle: ConnectionLifecycle
|
|
115
|
+
) {
|
|
116
|
+
this._lifecycle = lifecycle;
|
|
117
|
+
lifecycle.onDisconnected(async () => {
|
|
118
|
+
this._logger.info('Disconnected — stopping all reducer observations');
|
|
119
|
+
this._registered = false;
|
|
120
|
+
this.disconnectAll();
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/** @inheritdoc */
|
|
125
|
+
async discover(): Promise<void> {
|
|
126
|
+
this._reducers.clear();
|
|
127
|
+
for (const type of this._clientArtifacts.reducers) {
|
|
128
|
+
const metadata = getReducerMetadata(type);
|
|
129
|
+
if (metadata) {
|
|
130
|
+
this._reducers.set(metadata.id.value, type);
|
|
131
|
+
this._logger.debug('Discovered reducer', { reducerId: metadata.id.value, type: (type as Function).name });
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** @inheritdoc */
|
|
137
|
+
async register(): Promise<void> {
|
|
138
|
+
if (this._registered) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (this._reducers.size === 0) {
|
|
143
|
+
await this.discover();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
await this.registerReadModels();
|
|
147
|
+
|
|
148
|
+
this._logger.info('Registering reducers', { count: this._reducers.size });
|
|
149
|
+
for (const [id, reducerType] of this._reducers) {
|
|
150
|
+
this.startObservation(id, reducerType);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
this._registered = true;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
private async registerReadModels(): Promise<void> {
|
|
157
|
+
if (this._reducers.size === 0) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
const readModels = Array.from(this._reducers.entries()).map(([id, reducerType]) => {
|
|
162
|
+
const readModelName = (reducerType as Function).name;
|
|
163
|
+
return {
|
|
164
|
+
Type: {
|
|
165
|
+
Identifier: readModelName,
|
|
166
|
+
Generation: 1
|
|
167
|
+
},
|
|
168
|
+
ContainerName: readModelName,
|
|
169
|
+
DisplayName: readModelName,
|
|
170
|
+
Sink: {
|
|
171
|
+
ConfigurationId: toContractsGuid(WellKnownSinks.Null),
|
|
172
|
+
TypeId: toContractsGuid(WellKnownSinks.MongoDB)
|
|
173
|
+
},
|
|
174
|
+
Schema: this.getReducerSchema(reducerType, readModelName),
|
|
175
|
+
Indexes: [],
|
|
176
|
+
ObserverType: ReadModelObserverType.Reducer,
|
|
177
|
+
ObserverIdentifier: id,
|
|
178
|
+
Owner: 1,
|
|
179
|
+
Source: 1
|
|
180
|
+
};
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
this._logger.info('Registering read models for reducers', { count: readModels.length });
|
|
184
|
+
await this._connection.readModels.registerMany({
|
|
185
|
+
EventStore: this._eventStoreName,
|
|
186
|
+
Owner: 1,
|
|
187
|
+
ReadModels: readModels,
|
|
188
|
+
Source: 1
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
private getReducerSchema(reducerType: Constructor, readModelName: string): string {
|
|
193
|
+
const metadata = getReducerMetadata(reducerType);
|
|
194
|
+
if (metadata?.readModel) {
|
|
195
|
+
const readModelMeta = getReadModelMetadata(metadata.readModel);
|
|
196
|
+
if (readModelMeta?.schema) {
|
|
197
|
+
return JSON.stringify(readModelMeta.schema);
|
|
198
|
+
}
|
|
199
|
+
// No @readModel() decorator — generate from instance
|
|
200
|
+
return JSON.stringify(JsonSchemaGenerator.generate(metadata.readModel));
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// No read model type declared — generate from a minimal schema
|
|
204
|
+
const minimalSchema = {
|
|
205
|
+
...JsonSchemaGenerator.createEmptySchema(readModelName),
|
|
206
|
+
additionalProperties: true
|
|
207
|
+
};
|
|
208
|
+
return JSON.stringify(minimalSchema);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
private startObservation(id: string, reducerType: Constructor): void {
|
|
212
|
+
const metadata = getReducerMetadata(reducerType)!;
|
|
213
|
+
const eventSequenceId = metadata.eventSequenceId ?? EventSequenceId.eventLog.value;
|
|
214
|
+
const eventTypes = this.getEventTypesFor(reducerType);
|
|
215
|
+
const readModelName = (reducerType as Function).name;
|
|
216
|
+
|
|
217
|
+
this._logger.info('Starting reducer observation', {
|
|
218
|
+
reducerId: id,
|
|
219
|
+
eventSequenceId,
|
|
220
|
+
readModel: readModelName,
|
|
221
|
+
handlerCount: eventTypes.length,
|
|
222
|
+
handlers: eventTypes.map(e => e.methodName)
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
this.observeReducer(id, reducerType, eventSequenceId, eventTypes, readModelName).catch(err => {
|
|
226
|
+
this._logger.error('Reducer observation loop exited with error', { reducerId: id, error: String(err) });
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
private async observeReducer(
|
|
231
|
+
id: string,
|
|
232
|
+
reducerType: Constructor,
|
|
233
|
+
eventSequenceId: string,
|
|
234
|
+
eventTypes: EventTypeEntry[],
|
|
235
|
+
readModelName: string
|
|
236
|
+
): Promise<void> {
|
|
237
|
+
const queue = new AsyncQueue<ReducerMessage>();
|
|
238
|
+
this._queues.set(id, queue);
|
|
239
|
+
|
|
240
|
+
queue.send({
|
|
241
|
+
Content: {
|
|
242
|
+
Value0: {
|
|
243
|
+
ConnectionId: this._lifecycle.connectionId,
|
|
244
|
+
EventStore: this._eventStoreName,
|
|
245
|
+
Namespace: this._namespace,
|
|
246
|
+
Reducer: {
|
|
247
|
+
ReducerId: id,
|
|
248
|
+
EventSequenceId: eventSequenceId,
|
|
249
|
+
EventTypes: eventTypes.map(et => ({
|
|
250
|
+
EventType: { Id: et.id, Generation: et.generation, Tombstone: false },
|
|
251
|
+
Key: EVENT_SOURCE_ID_KEY
|
|
252
|
+
})),
|
|
253
|
+
ReadModel: readModelName,
|
|
254
|
+
IsActive: true,
|
|
255
|
+
Sink: {
|
|
256
|
+
TypeId: toContractsGuid(WellKnownSinks.MongoDB),
|
|
257
|
+
ConfigurationId: toContractsGuid(WellKnownSinks.Null)
|
|
258
|
+
},
|
|
259
|
+
Tags: [],
|
|
260
|
+
Filters: {
|
|
261
|
+
FilterTags: [],
|
|
262
|
+
EventSourceType: '',
|
|
263
|
+
EventStreamType: 'All'
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
Value1: undefined
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
try {
|
|
272
|
+
const reducerInstance = new (reducerType as new () => Record<string, Function>)();
|
|
273
|
+
|
|
274
|
+
for await (const operation of this._connection.reducers.observe(queue)) {
|
|
275
|
+
let lastSuccessfullyObservedEvent = SEQUENCE_NUMBER_UNAVAILABLE;
|
|
276
|
+
let state = ObservationState.Success;
|
|
277
|
+
const exceptionMessages: string[] = [];
|
|
278
|
+
let exceptionStackTrace = '';
|
|
279
|
+
let readModelState: string | undefined;
|
|
280
|
+
|
|
281
|
+
this._logger.debug('Received reduce operation', {
|
|
282
|
+
reducerId: id,
|
|
283
|
+
partition: operation.Partition,
|
|
284
|
+
count: operation.Events.length,
|
|
285
|
+
hasInitialState: operation.InitialState !== ''
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
let currentState: unknown = operation.InitialState
|
|
289
|
+
? JSON.parse(operation.InitialState) as unknown
|
|
290
|
+
: undefined;
|
|
291
|
+
|
|
292
|
+
for (const event of operation.Events) {
|
|
293
|
+
try {
|
|
294
|
+
const eventTypeId = event.Context?.EventType?.Id;
|
|
295
|
+
if (!eventTypeId) {
|
|
296
|
+
this._logger.warn('Event missing event type context', { reducerId: id });
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
const entry = eventTypes.find(et => et.id === eventTypeId);
|
|
301
|
+
if (!entry) {
|
|
302
|
+
this._logger.debug('No handler registered for event type — skipping', { reducerId: id, eventTypeId });
|
|
303
|
+
lastSuccessfullyObservedEvent = event.Context!.SequenceNumber;
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
const content = JSON.parse(event.Content) as Record<string, unknown>;
|
|
308
|
+
|
|
309
|
+
this._logger.info('Invoking reducer handler', {
|
|
310
|
+
reducerId: id,
|
|
311
|
+
method: entry.methodName,
|
|
312
|
+
sequenceNumber: event.Context!.SequenceNumber,
|
|
313
|
+
eventTypeId,
|
|
314
|
+
hasState: currentState !== undefined
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
currentState = await reducerInstance[entry.methodName](content, currentState);
|
|
318
|
+
lastSuccessfullyObservedEvent = event.Context!.SequenceNumber;
|
|
319
|
+
} catch (err) {
|
|
320
|
+
this._logger.error('Error handling event in reducer', { reducerId: id, error: String(err) });
|
|
321
|
+
exceptionMessages.push(String(err));
|
|
322
|
+
exceptionStackTrace = err instanceof Error ? (err.stack ?? '') : '';
|
|
323
|
+
state = ObservationState.Failed;
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
if (state === ObservationState.Success && currentState !== undefined) {
|
|
329
|
+
readModelState = JSON.stringify(currentState);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
queue.send({
|
|
333
|
+
Content: {
|
|
334
|
+
Value0: undefined,
|
|
335
|
+
Value1: {
|
|
336
|
+
Partition: operation.Partition,
|
|
337
|
+
State: state,
|
|
338
|
+
LastSuccessfulObservation: lastSuccessfullyObservedEvent,
|
|
339
|
+
ExceptionMessages: exceptionMessages,
|
|
340
|
+
ExceptionStackTrace: exceptionStackTrace,
|
|
341
|
+
ReadModelState: readModelState ?? ''
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
} catch (err) {
|
|
347
|
+
if (!this._queues.has(id)) {
|
|
348
|
+
this._logger.debug('Reducer observation stream closed cleanly', { reducerId: id });
|
|
349
|
+
} else {
|
|
350
|
+
this._logger.error('Reducer observation stream ended unexpectedly', { reducerId: id, error: String(err) });
|
|
351
|
+
}
|
|
352
|
+
} finally {
|
|
353
|
+
this._queues.delete(id);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
private getEventTypesFor(reducerType: Constructor): EventTypeEntry[] {
|
|
358
|
+
const proto = reducerType.prototype as Record<string, unknown>;
|
|
359
|
+
const entries: EventTypeEntry[] = [];
|
|
360
|
+
|
|
361
|
+
for (const eventTypeClass of this._clientArtifacts.eventTypes) {
|
|
362
|
+
const eventTypeMeta = getEventTypeMetadata(eventTypeClass);
|
|
363
|
+
if (!eventTypeMeta) continue;
|
|
364
|
+
|
|
365
|
+
const className = (eventTypeClass as Function).name;
|
|
366
|
+
const methodName = className.charAt(0).toLowerCase() + className.slice(1);
|
|
367
|
+
|
|
368
|
+
if (typeof proto[methodName] === 'function') {
|
|
369
|
+
entries.push({
|
|
370
|
+
id: eventTypeMeta.eventType.id.value,
|
|
371
|
+
generation: eventTypeMeta.eventType.generation.value,
|
|
372
|
+
methodName
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return entries;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
private disconnectAll(): void {
|
|
381
|
+
for (const queue of this._queues.values()) {
|
|
382
|
+
queue.complete();
|
|
383
|
+
}
|
|
384
|
+
this._queues.clear();
|
|
385
|
+
}
|
|
386
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
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
|
+
import { diag } from '@opentelemetry/api';
|
|
5
|
+
import { IClientArtifactsProvider } from '../artifacts';
|
|
6
|
+
import { ChronicleConnection } from '../connection';
|
|
7
|
+
import { EventStoreNamespaceName } from '../EventStoreNamespaceName';
|
|
8
|
+
import { getEventTypeFor } from '../events/eventTypeDecorator';
|
|
9
|
+
import { ICanSeedEvents } from './ICanSeedEvents';
|
|
10
|
+
import { IEventSeeding } from './IEventSeeding';
|
|
11
|
+
import { IEventSeedingBuilder } from './IEventSeedingBuilder';
|
|
12
|
+
import { IEventSeedingScopeBuilder } from './IEventSeedingScopeBuilder';
|
|
13
|
+
|
|
14
|
+
interface SeedingEntry {
|
|
15
|
+
readonly eventSourceId: string;
|
|
16
|
+
readonly eventTypeId: string;
|
|
17
|
+
readonly content: string;
|
|
18
|
+
readonly tags: string[];
|
|
19
|
+
readonly isGlobal: boolean;
|
|
20
|
+
readonly targetNamespace: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Implements {@link IEventSeeding}, managing discovery and registration of event seeders
|
|
25
|
+
* with the Chronicle Kernel.
|
|
26
|
+
*/
|
|
27
|
+
export class EventSeeding implements IEventSeeding {
|
|
28
|
+
private readonly _logger = diag.createComponentLogger({ namespace: '@cratis/chronicle/EventSeeding' });
|
|
29
|
+
private readonly _entries: SeedingEntry[] = [];
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new {@link EventSeeding} instance.
|
|
33
|
+
* @param _eventStoreName - The name of the event store.
|
|
34
|
+
* @param _connection - The Chronicle gRPC connection.
|
|
35
|
+
* @param _clientArtifacts - Provider for discovered client artifact types.
|
|
36
|
+
*/
|
|
37
|
+
constructor(
|
|
38
|
+
private readonly _eventStoreName: string,
|
|
39
|
+
private readonly _connection: ChronicleConnection,
|
|
40
|
+
private readonly _clientArtifacts: IClientArtifactsProvider
|
|
41
|
+
) {}
|
|
42
|
+
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
for<TEvent extends object>(eventSourceId: string, events: Iterable<TEvent>): IEventSeedingBuilder {
|
|
45
|
+
this.addEntries(eventSourceId, events, true, '');
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
forEventSource(eventSourceId: string, events: Iterable<object>): IEventSeedingBuilder {
|
|
51
|
+
this.addEntries(eventSourceId, events, true, '');
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** @inheritdoc */
|
|
56
|
+
forNamespace(namespace: string | EventStoreNamespaceName): IEventSeedingScopeBuilder {
|
|
57
|
+
const targetNamespace = typeof namespace === 'string' ? new EventStoreNamespaceName(namespace).value : namespace.value;
|
|
58
|
+
return new EventSeedingScopeBuilder(this, targetNamespace);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** @inheritdoc */
|
|
62
|
+
async discover(): Promise<void> {
|
|
63
|
+
for (const seederType of this._clientArtifacts.seeders) {
|
|
64
|
+
try {
|
|
65
|
+
const seeder = new (seederType as new () => ICanSeedEvents)();
|
|
66
|
+
await seeder.seed(this);
|
|
67
|
+
} catch (error) {
|
|
68
|
+
this._logger.warn('Failed to activate or execute event seeder - skipping seeder', {
|
|
69
|
+
seederType: seederType.name,
|
|
70
|
+
error: String(error)
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** @inheritdoc */
|
|
77
|
+
async register(): Promise<void> {
|
|
78
|
+
if (this._entries.length === 0) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const globalEntries = this._entries.filter(entry => entry.isGlobal);
|
|
83
|
+
const namespacedEntriesByNamespace = this.groupBy(this._entries.filter(entry => !entry.isGlobal), entry => entry.targetNamespace);
|
|
84
|
+
|
|
85
|
+
const request = {
|
|
86
|
+
EventStore: this._eventStoreName,
|
|
87
|
+
GlobalByEventType: this.toEventTypeSeedEntries(globalEntries),
|
|
88
|
+
GlobalByEventSource: this.toEventSourceSeedEntries(globalEntries),
|
|
89
|
+
NamespacedEntries: Array.from(namespacedEntriesByNamespace.entries()).map(([namespaceName, entries]) => ({
|
|
90
|
+
Namespace: namespaceName,
|
|
91
|
+
ByEventType: this.toEventTypeSeedEntries(entries),
|
|
92
|
+
ByEventSource: this.toEventSourceSeedEntries(entries)
|
|
93
|
+
}))
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
await this._connection.eventSeeding.seed(request);
|
|
97
|
+
this._entries.length = 0;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
addScoped(eventSourceId: string, events: Iterable<object>, targetNamespace: string): void {
|
|
101
|
+
this.addEntries(eventSourceId, events, false, targetNamespace);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
private addEntries<TEvent extends object>(eventSourceId: string, events: Iterable<TEvent>, isGlobal: boolean, targetNamespace: string): void {
|
|
105
|
+
for (const event of events) {
|
|
106
|
+
const eventType = getEventTypeFor(event.constructor as Function);
|
|
107
|
+
this._entries.push({
|
|
108
|
+
eventSourceId,
|
|
109
|
+
eventTypeId: eventType.id.value,
|
|
110
|
+
content: JSON.stringify(event),
|
|
111
|
+
tags: [],
|
|
112
|
+
isGlobal,
|
|
113
|
+
targetNamespace
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
private groupBy<TKey extends string, TValue>(
|
|
119
|
+
values: TValue[],
|
|
120
|
+
keySelector: (value: TValue) => TKey
|
|
121
|
+
): Map<TKey, TValue[]> {
|
|
122
|
+
const grouped = new Map<TKey, TValue[]>();
|
|
123
|
+
for (const value of values) {
|
|
124
|
+
const key = keySelector(value);
|
|
125
|
+
const existing = grouped.get(key);
|
|
126
|
+
if (existing) {
|
|
127
|
+
existing.push(value);
|
|
128
|
+
} else {
|
|
129
|
+
grouped.set(key, [value]);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return grouped;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
private toEventTypeSeedEntries(entries: SeedingEntry[]): { EventTypeId: string; Entries: object[] }[] {
|
|
136
|
+
const byEventType = this.groupBy(entries, entry => entry.eventTypeId);
|
|
137
|
+
return Array.from(byEventType.entries()).map(([eventTypeId, groupedEntries]) => ({
|
|
138
|
+
EventTypeId: eventTypeId,
|
|
139
|
+
Entries: groupedEntries.map(entry => ({
|
|
140
|
+
EventSourceId: entry.eventSourceId,
|
|
141
|
+
EventTypeId: entry.eventTypeId,
|
|
142
|
+
Content: entry.content,
|
|
143
|
+
Tags: entry.tags
|
|
144
|
+
}))
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
private toEventSourceSeedEntries(entries: SeedingEntry[]): { EventSourceId: string; Entries: object[] }[] {
|
|
149
|
+
const byEventSource = this.groupBy(entries, entry => entry.eventSourceId);
|
|
150
|
+
return Array.from(byEventSource.entries()).map(([eventSourceId, groupedEntries]) => ({
|
|
151
|
+
EventSourceId: eventSourceId,
|
|
152
|
+
Entries: groupedEntries.map(entry => ({
|
|
153
|
+
EventSourceId: entry.eventSourceId,
|
|
154
|
+
EventTypeId: entry.eventTypeId,
|
|
155
|
+
Content: entry.content,
|
|
156
|
+
Tags: entry.tags
|
|
157
|
+
}))
|
|
158
|
+
}));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
class EventSeedingScopeBuilder implements IEventSeedingScopeBuilder {
|
|
163
|
+
constructor(private readonly _parent: EventSeeding, private readonly _targetNamespace: string) {}
|
|
164
|
+
|
|
165
|
+
/** @inheritdoc */
|
|
166
|
+
for<TEvent extends object>(eventSourceId: string, events: Iterable<TEvent>): IEventSeedingScopeBuilder {
|
|
167
|
+
this._parent.addScoped(eventSourceId, events, this._targetNamespace);
|
|
168
|
+
return this;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** @inheritdoc */
|
|
172
|
+
forEventSource(eventSourceId: string, events: Iterable<object>): IEventSeedingScopeBuilder {
|
|
173
|
+
this._parent.addScoped(eventSourceId, events, this._targetNamespace);
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
import { IEventSeedingBuilder } from './IEventSeedingBuilder';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Defines a system that can seed events into the event store.
|
|
8
|
+
*/
|
|
9
|
+
export interface ICanSeedEvents {
|
|
10
|
+
/**
|
|
11
|
+
* Seeds events into the event store.
|
|
12
|
+
* @param builder - The event seeding builder to use.
|
|
13
|
+
*/
|
|
14
|
+
seed(builder: IEventSeedingBuilder): void | Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
import { IEventSeedingBuilder } from './IEventSeedingBuilder';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Defines the event seeding API surface.
|
|
8
|
+
*/
|
|
9
|
+
export interface IEventSeeding extends IEventSeedingBuilder {
|
|
10
|
+
/**
|
|
11
|
+
* Discovers all registered event seeders.
|
|
12
|
+
* @returns A promise that resolves when discovery is complete.
|
|
13
|
+
*/
|
|
14
|
+
discover(): Promise<void>;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Registers all discovered event seeders by invoking them and sending seed data to the server.
|
|
18
|
+
* @returns A promise that resolves when registration is complete.
|
|
19
|
+
*/
|
|
20
|
+
register(): Promise<void>;
|
|
21
|
+
}
|