@cratis/chronicle 6.3.1 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChronicleClient.ts +14 -14
- package/ChronicleOptions.ts +3 -3
- package/EventStore.ts +46 -43
- package/IChronicleClient.ts +4 -4
- package/IEventStore.ts +20 -20
- package/README.md +13 -2
- package/artifacts/DefaultClientArtifactsProvider.ts +3 -3
- package/artifacts/index.ts +2 -2
- package/artifacts/validateArtifactSchemas.spec.ts +61 -0
- package/artifacts/validateArtifactSchemas.ts +39 -0
- package/auditing/Causation.ts +1 -1
- package/auditing/CausationManager.ts +3 -3
- package/auditing/ICausationManager.ts +2 -2
- package/auditing/index.ts +5 -5
- package/compliance/ComplianceMetadata.ts +1 -1
- package/compliance/ComplianceMetadataResolver.ts +2 -2
- package/compliance/PIIManager.spec.ts +2 -2
- package/compliance/PIIManager.ts +2 -2
- package/compliance/index.ts +8 -8
- package/compliance/pii.spec.ts +2 -2
- package/compliance/pii.ts +11 -10
- package/compliance/subject.spec.ts +1 -1
- package/compliance/subject.ts +7 -6
- package/confidentiality/SecurityMetadata.ts +1 -1
- package/confidentiality/SecurityMetadataResolver.ts +2 -2
- package/confidentiality/encrypted.spec.ts +3 -3
- package/confidentiality/encrypted.ts +12 -11
- package/confidentiality/index.ts +7 -7
- package/connection/ChronicleConnection.ts +11 -11
- package/connection/ChronicleConnectionString.spec.ts +5 -5
- package/connection/ChronicleConnectionString.ts +2 -2
- package/connection/ChronicleServerAddressResolver.spec.ts +3 -3
- package/connection/ChronicleServerAddressResolver.ts +2 -2
- package/connection/ChronicleServices.ts +3 -3
- package/connection/ChronicleSrvResolver.spec.ts +2 -2
- package/connection/ChronicleSrvResolver.ts +2 -2
- package/connection/CompatibilityPreflight.ts +1 -1
- package/connection/ConnectionLifecycle.spec.ts +1 -1
- package/connection/ILoadBalancerStrategy.ts +1 -1
- package/connection/KernelKeepAlive.spec.ts +1 -1
- package/connection/LeastConnectionsLoadBalancerStrategy.spec.ts +2 -2
- package/connection/LeastConnectionsLoadBalancerStrategy.ts +3 -3
- package/connection/LoadBalancerStrategyFactory.ts +5 -5
- package/connection/RandomLoadBalancerStrategy.spec.ts +2 -2
- package/connection/RandomLoadBalancerStrategy.ts +2 -2
- package/connection/RoundRobinLoadBalancerStrategy.spec.ts +2 -2
- package/connection/RoundRobinLoadBalancerStrategy.ts +2 -2
- package/connection/TokenProvider.spec.ts +2 -2
- package/connection/TokenProvider.ts +1 -1
- package/connection/callResults.spec.ts +1 -1
- package/connection/for_ChronicleConnection/when_checking_compatibility/before_append.spec.ts +4 -4
- package/connection/for_CompatibilityPreflight/when_verifying/with_concurrent_calls.spec.ts +1 -1
- package/connection/formatServerAddress.ts +1 -1
- package/connection/index.ts +6 -6
- package/correlation/CorrelationIdManager.ts +3 -3
- package/correlation/ICorrelationIdAccessor.ts +1 -1
- package/correlation/ICorrelationIdSetter.ts +1 -1
- package/correlation/index.ts +5 -5
- package/dist/ChronicleClient.d.ts +5 -5
- package/dist/ChronicleClient.d.ts.map +1 -1
- package/dist/ChronicleClient.js +11 -11
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/ChronicleOptions.d.ts +2 -2
- package/dist/ChronicleOptions.d.ts.map +1 -1
- package/dist/ChronicleOptions.js +3 -3
- package/dist/ChronicleOptions.js.map +1 -1
- package/dist/EventStore.d.ts +23 -23
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +24 -22
- package/dist/EventStore.js.map +1 -1
- package/dist/EventStoreName.d.ts.map +1 -1
- package/dist/EventStoreName.js.map +1 -1
- package/dist/EventStoreNamespaceName.d.ts.map +1 -1
- package/dist/EventStoreNamespaceName.js.map +1 -1
- package/dist/IChronicleClient.d.ts +4 -4
- package/dist/IChronicleClient.d.ts.map +1 -1
- package/dist/IEventStore.d.ts +20 -20
- package/dist/IEventStore.d.ts.map +1 -1
- package/dist/Metrics.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts +2 -2
- package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
- package/dist/artifacts/DefaultClientArtifactsProvider.js +2 -2
- package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
- package/dist/artifacts/index.d.ts +2 -2
- package/dist/artifacts/index.d.ts.map +1 -1
- package/dist/artifacts/index.js +1 -1
- package/dist/artifacts/index.js.map +1 -1
- package/dist/artifacts/validateArtifactSchemas.d.ts +4 -0
- package/dist/artifacts/validateArtifactSchemas.d.ts.map +1 -0
- package/dist/artifacts/validateArtifactSchemas.js +38 -0
- package/dist/artifacts/validateArtifactSchemas.js.map +1 -0
- package/dist/auditing/Causation.d.ts +1 -1
- package/dist/auditing/Causation.d.ts.map +1 -1
- package/dist/auditing/Causation.js +1 -1
- package/dist/auditing/Causation.js.map +1 -1
- package/dist/auditing/CausationManager.d.ts +3 -3
- package/dist/auditing/CausationManager.d.ts.map +1 -1
- package/dist/auditing/CausationManager.js +2 -2
- package/dist/auditing/CausationManager.js.map +1 -1
- package/dist/auditing/CausationType.d.ts.map +1 -1
- package/dist/auditing/CausationType.js.map +1 -1
- package/dist/auditing/ICausationManager.d.ts +2 -2
- package/dist/auditing/ICausationManager.d.ts.map +1 -1
- package/dist/auditing/index.d.ts +5 -5
- package/dist/auditing/index.d.ts.map +1 -1
- package/dist/auditing/index.js +4 -4
- package/dist/auditing/index.js.map +1 -1
- package/dist/compliance/ComplianceContracts.d.ts +5 -5
- package/dist/compliance/ComplianceContracts.d.ts.map +1 -1
- package/dist/compliance/ComplianceContracts.js.map +1 -1
- package/dist/compliance/ComplianceMetadata.d.ts +1 -1
- package/dist/compliance/ComplianceMetadata.d.ts.map +1 -1
- package/dist/compliance/ComplianceMetadataResolver.d.ts +1 -1
- package/dist/compliance/ComplianceMetadataResolver.d.ts.map +1 -1
- package/dist/compliance/ComplianceMetadataResolver.js +1 -1
- package/dist/compliance/ComplianceMetadataResolver.js.map +1 -1
- package/dist/compliance/ComplianceMetadataType.d.ts.map +1 -1
- package/dist/compliance/ComplianceMetadataType.js.map +1 -1
- package/dist/compliance/PIIManager.d.ts +2 -2
- package/dist/compliance/PIIManager.d.ts.map +1 -1
- package/dist/compliance/PIIManager.js.map +1 -1
- package/dist/compliance/PIINotSupportedOnEventSourceId.d.ts.map +1 -1
- package/dist/compliance/index.d.ts +8 -8
- package/dist/compliance/index.d.ts.map +1 -1
- package/dist/compliance/index.js +6 -6
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/pii.d.ts +3 -2
- package/dist/compliance/pii.d.ts.map +1 -1
- package/dist/compliance/pii.js +9 -8
- package/dist/compliance/pii.js.map +1 -1
- package/dist/compliance/subject.d.ts +2 -1
- package/dist/compliance/subject.d.ts.map +1 -1
- package/dist/compliance/subject.js +6 -5
- package/dist/compliance/subject.js.map +1 -1
- package/dist/confidentiality/EncryptedNotSupportedOnEventSourceId.d.ts.map +1 -1
- package/dist/confidentiality/PIIAndEncryptedCombinedNotSupported.d.ts.map +1 -1
- package/dist/confidentiality/SecurityMetadata.d.ts +1 -1
- package/dist/confidentiality/SecurityMetadata.d.ts.map +1 -1
- package/dist/confidentiality/SecurityMetadataResolver.d.ts +1 -1
- package/dist/confidentiality/SecurityMetadataResolver.d.ts.map +1 -1
- package/dist/confidentiality/SecurityMetadataResolver.js +1 -1
- package/dist/confidentiality/SecurityMetadataResolver.js.map +1 -1
- package/dist/confidentiality/SecurityMetadataType.d.ts.map +1 -1
- package/dist/confidentiality/SecurityMetadataType.js.map +1 -1
- package/dist/confidentiality/encrypted.d.ts +4 -3
- package/dist/confidentiality/encrypted.d.ts.map +1 -1
- package/dist/confidentiality/encrypted.js +10 -9
- package/dist/confidentiality/encrypted.js.map +1 -1
- package/dist/confidentiality/index.d.ts +7 -7
- package/dist/confidentiality/index.d.ts.map +1 -1
- package/dist/confidentiality/index.js +6 -6
- package/dist/confidentiality/index.js.map +1 -1
- package/dist/connection/ChronicleConnection.d.ts +5 -5
- package/dist/connection/ChronicleConnection.d.ts.map +1 -1
- package/dist/connection/ChronicleConnection.js +9 -9
- package/dist/connection/ChronicleConnection.js.map +1 -1
- package/dist/connection/ChronicleConnectionString.d.ts +1 -1
- package/dist/connection/ChronicleConnectionString.d.ts.map +1 -1
- package/dist/connection/ChronicleConnectionString.js +2 -2
- package/dist/connection/ChronicleConnectionString.js.map +1 -1
- package/dist/connection/ChronicleServerAddressResolver.d.ts +2 -2
- package/dist/connection/ChronicleServerAddressResolver.d.ts.map +1 -1
- package/dist/connection/ChronicleServerAddressResolver.js +1 -1
- package/dist/connection/ChronicleServerAddressResolver.js.map +1 -1
- package/dist/connection/ChronicleServices.d.ts +3 -3
- package/dist/connection/ChronicleServices.d.ts.map +1 -1
- package/dist/connection/ChronicleSrvResolutionError.d.ts.map +1 -1
- package/dist/connection/ChronicleSrvResolver.d.ts +1 -1
- package/dist/connection/ChronicleSrvResolver.d.ts.map +1 -1
- package/dist/connection/ChronicleSrvResolver.js +1 -1
- package/dist/connection/ChronicleSrvResolver.js.map +1 -1
- package/dist/connection/CompatibilityPreflight.d.ts.map +1 -1
- package/dist/connection/CompatibilityPreflight.js +1 -1
- package/dist/connection/CompatibilityPreflight.js.map +1 -1
- package/dist/connection/ConnectionLifecycle.d.ts.map +1 -1
- package/dist/connection/ILoadBalancerStrategy.d.ts +1 -1
- package/dist/connection/ILoadBalancerStrategy.d.ts.map +1 -1
- package/dist/connection/IncompatibleChronicleServer.d.ts.map +1 -1
- package/dist/connection/KernelKeepAlive.d.ts.map +1 -1
- package/dist/connection/KernelKeepAlive.js.map +1 -1
- package/dist/connection/LeastConnectionsLoadBalancerStrategy.d.ts +2 -2
- package/dist/connection/LeastConnectionsLoadBalancerStrategy.d.ts.map +1 -1
- package/dist/connection/LeastConnectionsLoadBalancerStrategy.js +1 -1
- package/dist/connection/LeastConnectionsLoadBalancerStrategy.js.map +1 -1
- package/dist/connection/LoadBalancerStrategyFactory.d.ts +2 -2
- package/dist/connection/LoadBalancerStrategyFactory.d.ts.map +1 -1
- package/dist/connection/LoadBalancerStrategyFactory.js +4 -4
- package/dist/connection/LoadBalancerStrategyFactory.js.map +1 -1
- package/dist/connection/RandomLoadBalancerStrategy.d.ts +2 -2
- package/dist/connection/RandomLoadBalancerStrategy.d.ts.map +1 -1
- package/dist/connection/RoundRobinLoadBalancerStrategy.d.ts +2 -2
- package/dist/connection/RoundRobinLoadBalancerStrategy.d.ts.map +1 -1
- package/dist/connection/TokenProvider.d.ts +1 -1
- package/dist/connection/TokenProvider.d.ts.map +1 -1
- package/dist/connection/TokenProvider.js +1 -1
- package/dist/connection/TokenProvider.js.map +1 -1
- package/dist/connection/callResults.d.ts.map +1 -1
- package/dist/connection/formatServerAddress.d.ts +1 -1
- package/dist/connection/formatServerAddress.d.ts.map +1 -1
- package/dist/connection/index.d.ts +6 -6
- package/dist/connection/index.d.ts.map +1 -1
- package/dist/connection/index.js +4 -4
- package/dist/connection/index.js.map +1 -1
- package/dist/correlation/CorrelationId.d.ts.map +1 -1
- package/dist/correlation/CorrelationId.js.map +1 -1
- package/dist/correlation/CorrelationIdManager.d.ts +3 -3
- package/dist/correlation/CorrelationIdManager.d.ts.map +1 -1
- package/dist/correlation/CorrelationIdManager.js +1 -1
- package/dist/correlation/CorrelationIdManager.js.map +1 -1
- package/dist/correlation/ICorrelationIdAccessor.d.ts +1 -1
- package/dist/correlation/ICorrelationIdAccessor.d.ts.map +1 -1
- package/dist/correlation/ICorrelationIdSetter.d.ts +1 -1
- package/dist/correlation/ICorrelationIdSetter.d.ts.map +1 -1
- package/dist/correlation/index.d.ts +5 -5
- package/dist/correlation/index.d.ts.map +1 -1
- package/dist/correlation/index.js +3 -3
- package/dist/correlation/index.js.map +1 -1
- package/dist/eventSequences/AppendOperationsBroadcaster.d.ts.map +1 -1
- package/dist/eventSequences/AppendOptions.d.ts +2 -2
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
- package/dist/eventSequences/AppendResult.d.ts +5 -5
- package/dist/eventSequences/AppendResult.d.ts.map +1 -1
- package/dist/eventSequences/AppendedEventWithResult.d.ts +2 -2
- package/dist/eventSequences/AppendedEventWithResult.d.ts.map +1 -1
- package/dist/eventSequences/CompleteStreamResult.d.ts +2 -2
- package/dist/eventSequences/CompleteStreamResult.d.ts.map +1 -1
- package/dist/eventSequences/ConcurrencyScope.d.ts +1 -1
- package/dist/eventSequences/ConcurrencyScope.d.ts.map +1 -1
- package/dist/eventSequences/ConcurrencyViolation.d.ts +1 -1
- package/dist/eventSequences/ConcurrencyViolation.d.ts.map +1 -1
- package/dist/eventSequences/EventForEventSourceId.d.ts +1 -1
- package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
- package/dist/eventSequences/EventLog.d.ts +4 -4
- package/dist/eventSequences/EventLog.d.ts.map +1 -1
- package/dist/eventSequences/EventLog.js +2 -2
- package/dist/eventSequences/EventLog.js.map +1 -1
- package/dist/eventSequences/EventSequence.d.ts +13 -13
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +30 -20
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/eventSequences/EventSequenceId.d.ts.map +1 -1
- package/dist/eventSequences/EventSequenceId.js.map +1 -1
- package/dist/eventSequences/EventSequenceNumber.d.ts.map +1 -1
- package/dist/eventSequences/EventSequenceNumber.js.map +1 -1
- package/dist/eventSequences/IEventLog.d.ts +1 -1
- package/dist/eventSequences/IEventLog.d.ts.map +1 -1
- package/dist/eventSequences/IEventSequence.d.ts +9 -9
- package/dist/eventSequences/IEventSequence.d.ts.map +1 -1
- package/dist/eventSequences/ITransactionalEventSequence.d.ts +1 -1
- package/dist/eventSequences/ITransactionalEventSequence.d.ts.map +1 -1
- package/dist/eventSequences/TransactionalEventSequence.d.ts +4 -4
- package/dist/eventSequences/TransactionalEventSequence.d.ts.map +1 -1
- package/dist/eventSequences/TransactionalEventSequence.js.map +1 -1
- package/dist/eventSequences/WaitForCompletionResult.d.ts +1 -1
- package/dist/eventSequences/WaitForCompletionResult.d.ts.map +1 -1
- package/dist/eventSequences/index.d.ts +19 -19
- package/dist/eventSequences/index.d.ts.map +1 -1
- package/dist/eventSequences/index.js +6 -6
- package/dist/eventSequences/index.js.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.d.ts +4 -4
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.js +2 -2
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionBuilder.js.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.d.ts +2 -2
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionDefinition.js.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionId.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptionId.js.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts +7 -7
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js +4 -4
- package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js.map +1 -1
- package/dist/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.d.ts +2 -2
- package/dist/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts +4 -4
- package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/contracts.d.ts +5 -5
- package/dist/eventStoreSubscriptions/contracts.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/contracts.js.map +1 -1
- package/dist/eventStoreSubscriptions/index.d.ts +6 -6
- package/dist/eventStoreSubscriptions/index.d.ts.map +1 -1
- package/dist/eventStoreSubscriptions/index.js +4 -4
- package/dist/eventStoreSubscriptions/index.js.map +1 -1
- package/dist/events/AppendedEvent.d.ts +2 -2
- package/dist/events/AppendedEvent.d.ts.map +1 -1
- package/dist/events/EventContext.d.ts +4 -4
- package/dist/events/EventContext.d.ts.map +1 -1
- package/dist/events/EventType.d.ts +2 -2
- package/dist/events/EventType.d.ts.map +1 -1
- package/dist/events/EventType.js +2 -2
- package/dist/events/EventType.js.map +1 -1
- package/dist/events/EventTypeGeneration.d.ts.map +1 -1
- package/dist/events/EventTypeGeneration.js.map +1 -1
- package/dist/events/EventTypeId.d.ts.map +1 -1
- package/dist/events/EventTypeId.js.map +1 -1
- package/dist/events/EventTypes.d.ts +4 -4
- package/dist/events/EventTypes.d.ts.map +1 -1
- package/dist/events/EventTypes.js +5 -5
- package/dist/events/EventTypes.js.map +1 -1
- package/dist/events/IEventTypes.d.ts +1 -1
- package/dist/events/IEventTypes.d.ts.map +1 -1
- package/dist/events/Tag.d.ts.map +1 -1
- package/dist/events/Tag.js.map +1 -1
- package/dist/events/constraints/ConstraintBuilder.d.ts +3 -3
- package/dist/events/constraints/ConstraintBuilder.d.ts.map +1 -1
- package/dist/events/constraints/ConstraintBuilder.js +2 -2
- package/dist/events/constraints/ConstraintBuilder.js.map +1 -1
- package/dist/events/constraints/ConstraintId.d.ts.map +1 -1
- package/dist/events/constraints/ConstraintId.js.map +1 -1
- package/dist/events/constraints/Constraints.d.ts +4 -4
- package/dist/events/constraints/Constraints.d.ts.map +1 -1
- package/dist/events/constraints/Constraints.js +2 -2
- package/dist/events/constraints/Constraints.js.map +1 -1
- package/dist/events/constraints/IConstraint.d.ts +1 -1
- package/dist/events/constraints/IConstraint.d.ts.map +1 -1
- package/dist/events/constraints/IConstraintBuilder.d.ts +1 -1
- package/dist/events/constraints/IConstraintBuilder.d.ts.map +1 -1
- package/dist/events/constraints/IConstraints.d.ts +1 -1
- package/dist/events/constraints/IConstraints.d.ts.map +1 -1
- package/dist/events/constraints/UniqueConstraintBuilder.d.ts +1 -1
- package/dist/events/constraints/UniqueConstraintBuilder.d.ts.map +1 -1
- package/dist/events/constraints/UniqueConstraintBuilder.js +1 -1
- package/dist/events/constraints/UniqueConstraintBuilder.js.map +1 -1
- package/dist/events/constraints/constraint.d.ts +1 -1
- package/dist/events/constraints/constraint.d.ts.map +1 -1
- package/dist/events/constraints/constraint.js +2 -2
- package/dist/events/constraints/constraint.js.map +1 -1
- package/dist/events/constraints/index.d.ts +12 -12
- package/dist/events/constraints/index.d.ts.map +1 -1
- package/dist/events/constraints/index.js +5 -5
- package/dist/events/constraints/index.js.map +1 -1
- package/dist/events/eventTypeDecorator.d.ts +10 -9
- package/dist/events/eventTypeDecorator.d.ts.map +1 -1
- package/dist/events/eventTypeDecorator.js +27 -10
- package/dist/events/eventTypeDecorator.js.map +1 -1
- package/dist/events/filterEventsByTagDecorator.d.ts +1 -1
- package/dist/events/filterEventsByTagDecorator.d.ts.map +1 -1
- package/dist/events/filterEventsByTagDecorator.js +2 -2
- package/dist/events/filterEventsByTagDecorator.js.map +1 -1
- package/dist/events/index.d.ts +17 -16
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +12 -11
- package/dist/events/index.js.map +1 -1
- package/dist/events/mergeTags.d.ts +1 -1
- package/dist/events/mergeTags.d.ts.map +1 -1
- package/dist/events/migrations/EventMigrationBuilder.d.ts +2 -2
- package/dist/events/migrations/EventMigrationBuilder.d.ts.map +1 -1
- package/dist/events/migrations/EventMigrationBuilder.js +1 -1
- package/dist/events/migrations/EventMigrationBuilder.js.map +1 -1
- package/dist/events/migrations/EventMigrationPropertyBuilder.d.ts +1 -1
- package/dist/events/migrations/EventMigrationPropertyBuilder.d.ts.map +1 -1
- package/dist/events/migrations/EventTypeMigrators.d.ts +2 -2
- package/dist/events/migrations/EventTypeMigrators.d.ts.map +1 -1
- package/dist/events/migrations/EventTypeMigrators.js +2 -2
- package/dist/events/migrations/EventTypeMigrators.js.map +1 -1
- package/dist/events/migrations/IEventMigrationBuilder.d.ts +1 -1
- package/dist/events/migrations/IEventMigrationBuilder.d.ts.map +1 -1
- package/dist/events/migrations/IEventTypeMigration.d.ts +1 -1
- package/dist/events/migrations/IEventTypeMigration.d.ts.map +1 -1
- package/dist/events/migrations/InvalidMigrationGenerationGap.d.ts.map +1 -1
- package/dist/events/migrations/eventTypeMigration.d.ts +1 -1
- package/dist/events/migrations/eventTypeMigration.d.ts.map +1 -1
- package/dist/events/migrations/eventTypeMigration.js +3 -3
- package/dist/events/migrations/eventTypeMigration.js.map +1 -1
- package/dist/events/migrations/index.d.ts +10 -10
- package/dist/events/migrations/index.d.ts.map +1 -1
- package/dist/events/migrations/index.js +5 -5
- package/dist/events/migrations/index.js.map +1 -1
- package/dist/events/tagDecorator.d.ts +1 -1
- package/dist/events/tagDecorator.d.ts.map +1 -1
- package/dist/events/tagDecorator.js +2 -2
- package/dist/events/tagDecorator.js.map +1 -1
- package/dist/events/toClientEventContext.d.ts +2 -2
- package/dist/events/toClientEventContext.d.ts.map +1 -1
- package/dist/events/toClientEventContext.js +6 -6
- package/dist/events/toClientEventContext.js.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.d.ts +2 -2
- package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -1
- package/dist/externalServices/ExternalServiceBuilder.js +1 -1
- package/dist/externalServices/ExternalServiceBuilder.js.map +1 -1
- package/dist/externalServices/ExternalServices.d.ts +3 -3
- package/dist/externalServices/ExternalServices.d.ts.map +1 -1
- package/dist/externalServices/ExternalServices.js +1 -1
- package/dist/externalServices/ExternalServices.js.map +1 -1
- package/dist/externalServices/ExternalServicesContracts.d.ts +3 -3
- package/dist/externalServices/ExternalServicesContracts.d.ts.map +1 -1
- package/dist/externalServices/ExternalServicesContracts.js.map +1 -1
- package/dist/externalServices/IExternalServices.d.ts +1 -1
- package/dist/externalServices/IExternalServices.d.ts.map +1 -1
- package/dist/externalServices/index.d.ts +4 -4
- package/dist/externalServices/index.d.ts.map +1 -1
- package/dist/externalServices/index.js +2 -2
- package/dist/externalServices/index.js.map +1 -1
- package/dist/identities/IdentityManager.d.ts +2 -2
- package/dist/identities/IdentityManager.d.ts.map +1 -1
- package/dist/identities/IdentityManager.js.map +1 -1
- package/dist/identities/index.d.ts +2 -2
- package/dist/identities/index.d.ts.map +1 -1
- package/dist/identities/index.js +1 -1
- package/dist/identities/index.js.map +1 -1
- package/dist/identity/IIdentityProvider.d.ts +1 -1
- package/dist/identity/IIdentityProvider.d.ts.map +1 -1
- package/dist/identity/Identity.d.ts.map +1 -1
- package/dist/identity/Identity.js.map +1 -1
- package/dist/identity/IdentityProvider.d.ts +2 -2
- package/dist/identity/IdentityProvider.d.ts.map +1 -1
- package/dist/identity/IdentityProvider.js +1 -1
- package/dist/identity/IdentityProvider.js.map +1 -1
- package/dist/identity/index.d.ts +4 -4
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +3 -3
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +56 -56
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -54
- package/dist/index.js.map +1 -1
- package/dist/jobs/IJobs.d.ts +1 -1
- package/dist/jobs/IJobs.d.ts.map +1 -1
- package/dist/jobs/JobId.d.ts.map +1 -1
- package/dist/jobs/JobId.js.map +1 -1
- package/dist/jobs/Jobs.d.ts +3 -3
- package/dist/jobs/Jobs.d.ts.map +1 -1
- package/dist/jobs/Jobs.js +3 -3
- package/dist/jobs/Jobs.js.map +1 -1
- package/dist/jobs/index.d.ts +3 -3
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js +2 -2
- package/dist/jobs/index.js.map +1 -1
- package/dist/observation/FailedPartition.d.ts +1 -1
- package/dist/observation/FailedPartition.d.ts.map +1 -1
- package/dist/observation/FailedPartitionAttempt.d.ts +1 -1
- package/dist/observation/FailedPartitionAttempt.d.ts.map +1 -1
- package/dist/observation/FailedPartitions.d.ts +3 -3
- package/dist/observation/FailedPartitions.d.ts.map +1 -1
- package/dist/observation/FailedPartitions.js +1 -1
- package/dist/observation/FailedPartitions.js.map +1 -1
- package/dist/observation/IFailedPartitions.d.ts +1 -1
- package/dist/observation/IFailedPartitions.d.ts.map +1 -1
- package/dist/observation/ObserverId.d.ts.map +1 -1
- package/dist/observation/ObserverId.js.map +1 -1
- package/dist/observation/index.d.ts +9 -9
- package/dist/observation/index.d.ts.map +1 -1
- package/dist/observation/index.js +4 -4
- package/dist/observation/index.js.map +1 -1
- package/dist/observation/toClientFailedPartition.d.ts +1 -1
- package/dist/observation/toClientFailedPartition.d.ts.map +1 -1
- package/dist/observation/toClientFailedPartition.js +2 -2
- package/dist/observation/toClientFailedPartition.js.map +1 -1
- package/dist/observation/toObserverRunningState.d.ts +1 -1
- package/dist/observation/toObserverRunningState.d.ts.map +1 -1
- package/dist/observation/toObserverRunningState.js +1 -1
- package/dist/observation/toObserverRunningState.js.map +1 -1
- package/dist/projections/GlobalHandlerPropertyNotOnVariant.d.ts.map +1 -1
- package/dist/projections/IProjections.d.ts +5 -5
- package/dist/projections/IProjections.d.ts.map +1 -1
- package/dist/projections/ProjectionId.d.ts.map +1 -1
- package/dist/projections/ProjectionId.js.map +1 -1
- package/dist/projections/ProjectionState.d.ts +2 -2
- package/dist/projections/ProjectionState.d.ts.map +1 -1
- package/dist/projections/Projections.d.ts +8 -8
- package/dist/projections/Projections.d.ts.map +1 -1
- package/dist/projections/Projections.js +31 -31
- package/dist/projections/Projections.js.map +1 -1
- package/dist/projections/UnableToQueryProjection.d.ts.map +1 -1
- package/dist/projections/VariantMustDeclareEntersOnEvent.d.ts.map +1 -1
- package/dist/projections/VariantReclassifier.d.ts +1 -1
- package/dist/projections/VariantReclassifier.d.ts.map +1 -1
- package/dist/projections/VariantReclassifier.js +2 -2
- package/dist/projections/VariantReclassifier.js.map +1 -1
- package/dist/projections/declarative/AddBuilder.d.ts +1 -1
- package/dist/projections/declarative/AddBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/AddBuilder.js.map +1 -1
- package/dist/projections/declarative/AddChildBuilder.d.ts +1 -1
- package/dist/projections/declarative/AddChildBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/AllSetBuilder.d.ts +1 -1
- package/dist/projections/declarative/AllSetBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/AllSetBuilder.js.map +1 -1
- package/dist/projections/declarative/ChildrenBuilder.d.ts +3 -3
- package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/ChildrenBuilder.js +2 -2
- package/dist/projections/declarative/ChildrenBuilder.js.map +1 -1
- package/dist/projections/declarative/CompositeKeyBuilder.d.ts +1 -1
- package/dist/projections/declarative/CompositeKeyBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/FromBuilder.d.ts +7 -7
- package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/FromBuilder.js +5 -5
- package/dist/projections/declarative/FromBuilder.js.map +1 -1
- package/dist/projections/declarative/FromEveryBuilder.d.ts +2 -2
- package/dist/projections/declarative/FromEveryBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/FromEveryBuilder.js +1 -1
- package/dist/projections/declarative/FromEveryBuilder.js.map +1 -1
- package/dist/projections/declarative/IChildrenBuilder.d.ts +1 -1
- package/dist/projections/declarative/IChildrenBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/IFromBuilder.d.ts +1 -1
- package/dist/projections/declarative/IFromBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/IFromEveryBuilder.d.ts +1 -1
- package/dist/projections/declarative/IFromEveryBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/IJoinBuilder.d.ts +1 -1
- package/dist/projections/declarative/IJoinBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/INestedBuilder.d.ts +1 -1
- package/dist/projections/declarative/INestedBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/IProjectionBuilder.d.ts +7 -7
- package/dist/projections/declarative/IProjectionBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/IProjectionBuilderFor.d.ts +1 -1
- package/dist/projections/declarative/IProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/IProjectionFor.d.ts +1 -1
- package/dist/projections/declarative/IProjectionFor.d.ts.map +1 -1
- package/dist/projections/declarative/IReadModelPropertiesBuilder.d.ts +5 -5
- package/dist/projections/declarative/IReadModelPropertiesBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/JoinBuilder.d.ts +7 -7
- package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/JoinBuilder.js +5 -5
- package/dist/projections/declarative/JoinBuilder.js.map +1 -1
- package/dist/projections/declarative/NestedBuilder.d.ts +3 -3
- package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/NestedBuilder.js +2 -2
- package/dist/projections/declarative/NestedBuilder.js.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts +5 -5
- package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderCore.js +6 -6
- package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts +4 -4
- package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
- package/dist/projections/declarative/ProjectionBuilderFor.js +4 -4
- package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
- package/dist/projections/declarative/RemovedWithBuilder.d.ts +1 -1
- package/dist/projections/declarative/RemovedWithBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/RemovedWithJoinBuilder.d.ts +1 -1
- package/dist/projections/declarative/RemovedWithJoinBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/SetBuilder.d.ts +1 -1
- package/dist/projections/declarative/SetBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/SetBuilder.js.map +1 -1
- package/dist/projections/declarative/SubtractBuilder.d.ts +1 -1
- package/dist/projections/declarative/SubtractBuilder.d.ts.map +1 -1
- package/dist/projections/declarative/SubtractBuilder.js.map +1 -1
- package/dist/projections/declarative/index.d.ts +32 -32
- package/dist/projections/declarative/index.d.ts.map +1 -1
- package/dist/projections/declarative/index.js +13 -13
- package/dist/projections/declarative/index.js.map +1 -1
- package/dist/projections/declarative/projection.d.ts +1 -1
- package/dist/projections/declarative/projection.d.ts.map +1 -1
- package/dist/projections/declarative/projection.js +2 -2
- package/dist/projections/declarative/projection.js.map +1 -1
- package/dist/projections/index.d.ts +10 -10
- package/dist/projections/index.d.ts.map +1 -1
- package/dist/projections/index.js +7 -7
- package/dist/projections/index.js.map +1 -1
- package/dist/projections/modelBound/FromEventMetadata.d.ts +1 -1
- package/dist/projections/modelBound/FromEventMetadata.d.ts.map +1 -1
- package/dist/projections/modelBound/addFrom.d.ts +2 -1
- package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/addFrom.js +5 -4
- package/dist/projections/modelBound/addFrom.js.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenAndNestedBuilder.js +16 -16
- package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
- package/dist/projections/modelBound/childrenFrom.d.ts +2 -1
- package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenFrom.js +5 -4
- package/dist/projections/modelBound/childrenFrom.js.map +1 -1
- package/dist/projections/modelBound/clearWith.d.ts +2 -1
- package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
- package/dist/projections/modelBound/clearWith.js +5 -4
- package/dist/projections/modelBound/clearWith.js.map +1 -1
- package/dist/projections/modelBound/count.d.ts +2 -1
- package/dist/projections/modelBound/count.d.ts.map +1 -1
- package/dist/projections/modelBound/count.js +5 -4
- package/dist/projections/modelBound/count.js.map +1 -1
- package/dist/projections/modelBound/decrement.d.ts +2 -1
- package/dist/projections/modelBound/decrement.d.ts.map +1 -1
- package/dist/projections/modelBound/decrement.js +5 -4
- package/dist/projections/modelBound/decrement.js.map +1 -1
- package/dist/projections/modelBound/eventSequence.js +1 -1
- package/dist/projections/modelBound/eventSequence.js.map +1 -1
- package/dist/projections/modelBound/fromAll.d.ts +2 -1
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
- package/dist/projections/modelBound/fromAll.js +5 -4
- package/dist/projections/modelBound/fromAll.js.map +1 -1
- package/dist/projections/modelBound/fromEvent.d.ts +2 -2
- package/dist/projections/modelBound/fromEvent.d.ts.map +1 -1
- package/dist/projections/modelBound/fromEvery.d.ts +2 -1
- package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
- package/dist/projections/modelBound/fromEvery.js +5 -4
- package/dist/projections/modelBound/fromEvery.js.map +1 -1
- package/dist/projections/modelBound/globalFor.js +1 -1
- package/dist/projections/modelBound/globalFor.js.map +1 -1
- package/dist/projections/modelBound/increment.d.ts +2 -1
- package/dist/projections/modelBound/increment.d.ts.map +1 -1
- package/dist/projections/modelBound/increment.js +5 -4
- package/dist/projections/modelBound/increment.js.map +1 -1
- package/dist/projections/modelBound/index.d.ts +44 -44
- package/dist/projections/modelBound/index.d.ts.map +1 -1
- package/dist/projections/modelBound/index.js +24 -24
- package/dist/projections/modelBound/index.js.map +1 -1
- package/dist/projections/modelBound/join.d.ts +2 -1
- package/dist/projections/modelBound/join.d.ts.map +1 -1
- package/dist/projections/modelBound/join.js +5 -4
- package/dist/projections/modelBound/join.js.map +1 -1
- package/dist/projections/modelBound/nested.d.ts +1 -6
- package/dist/projections/modelBound/nested.d.ts.map +1 -1
- package/dist/projections/modelBound/nested.js +7 -3
- package/dist/projections/modelBound/nested.js.map +1 -1
- package/dist/projections/modelBound/noAutoMap.d.ts +4 -11
- package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
- package/dist/projections/modelBound/noAutoMap.js +7 -3
- package/dist/projections/modelBound/noAutoMap.js.map +1 -1
- package/dist/projections/modelBound/removedWith.d.ts +2 -1
- package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWith.js +5 -4
- package/dist/projections/modelBound/removedWith.js.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.d.ts +2 -1
- package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.js +5 -4
- package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
- package/dist/projections/modelBound/setFrom.d.ts +2 -1
- package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/setFrom.js +5 -4
- package/dist/projections/modelBound/setFrom.js.map +1 -1
- package/dist/projections/modelBound/setFromContext.d.ts +4 -3
- package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
- package/dist/projections/modelBound/setFromContext.js +5 -4
- package/dist/projections/modelBound/setFromContext.js.map +1 -1
- package/dist/projections/modelBound/setValue.d.ts +2 -1
- package/dist/projections/modelBound/setValue.d.ts.map +1 -1
- package/dist/projections/modelBound/setValue.js +5 -4
- package/dist/projections/modelBound/setValue.js.map +1 -1
- package/dist/projections/modelBound/subtractFrom.d.ts +2 -1
- package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/subtractFrom.js +5 -4
- package/dist/projections/modelBound/subtractFrom.js.map +1 -1
- package/dist/reactors/ReactorId.d.ts.map +1 -1
- package/dist/reactors/ReactorId.js.map +1 -1
- package/dist/reactors/ReactorSideEffects.d.ts +1 -1
- package/dist/reactors/ReactorSideEffects.d.ts.map +1 -1
- package/dist/reactors/ReactorSideEffects.js +1 -1
- package/dist/reactors/ReactorSideEffects.js.map +1 -1
- package/dist/reactors/Reactors.d.ts +5 -5
- package/dist/reactors/Reactors.d.ts.map +1 -1
- package/dist/reactors/Reactors.js +8 -8
- package/dist/reactors/Reactors.js.map +1 -1
- package/dist/reactors/index.d.ts +5 -5
- package/dist/reactors/index.d.ts.map +1 -1
- package/dist/reactors/index.js +3 -3
- package/dist/reactors/index.js.map +1 -1
- package/dist/reactors/reactor.d.ts +1 -1
- package/dist/reactors/reactor.d.ts.map +1 -1
- package/dist/reactors/reactor.js +2 -2
- package/dist/reactors/reactor.js.map +1 -1
- package/dist/readModels/IReadModels.d.ts +3 -3
- package/dist/readModels/IReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.d.ts +2 -2
- package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.js +3 -3
- package/dist/readModels/MaterializedReadModels.js.map +1 -1
- package/dist/readModels/ReadModelId.d.ts.map +1 -1
- package/dist/readModels/ReadModelId.js.map +1 -1
- package/dist/readModels/ReadModelSubjectResolver.d.ts.map +1 -1
- package/dist/readModels/ReadModelSubjectResolver.js +1 -1
- package/dist/readModels/ReadModelSubjectResolver.js.map +1 -1
- package/dist/readModels/ReadModels.d.ts +6 -6
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +12 -12
- package/dist/readModels/ReadModels.js.map +1 -1
- package/dist/readModels/index.d.ts +10 -10
- package/dist/readModels/index.d.ts.map +1 -1
- package/dist/readModels/index.js +5 -5
- package/dist/readModels/index.js.map +1 -1
- package/dist/readModels/readModel.d.ts +4 -3
- package/dist/readModels/readModel.d.ts.map +1 -1
- package/dist/readModels/readModel.js +25 -8
- package/dist/readModels/readModel.js.map +1 -1
- package/dist/reducers/ReducerId.d.ts.map +1 -1
- package/dist/reducers/ReducerId.js.map +1 -1
- package/dist/reducers/Reducers.d.ts +4 -4
- package/dist/reducers/Reducers.d.ts.map +1 -1
- package/dist/reducers/Reducers.js +10 -10
- package/dist/reducers/Reducers.js.map +1 -1
- package/dist/reducers/index.d.ts +5 -5
- package/dist/reducers/index.d.ts.map +1 -1
- package/dist/reducers/index.js +3 -3
- package/dist/reducers/index.js.map +1 -1
- package/dist/reducers/reducer.d.ts +1 -1
- package/dist/reducers/reducer.d.ts.map +1 -1
- package/dist/reducers/reducer.js +2 -2
- package/dist/reducers/reducer.js.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts +7 -2
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.js +45 -35
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/schemas/createDeferredSchema.d.ts +7 -0
- package/dist/schemas/createDeferredSchema.d.ts.map +1 -0
- package/dist/schemas/createDeferredSchema.js +19 -0
- package/dist/schemas/createDeferredSchema.js.map +1 -0
- package/dist/schemas/index.d.ts +4 -3
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/jsonSchemaProperty.d.ts +2 -1
- package/dist/schemas/jsonSchemaProperty.d.ts.map +1 -1
- package/dist/schemas/jsonSchemaProperty.js +4 -3
- package/dist/schemas/jsonSchemaProperty.js.map +1 -1
- package/dist/seeding/EventSeeding.d.ts +6 -6
- package/dist/seeding/EventSeeding.d.ts.map +1 -1
- package/dist/seeding/EventSeeding.js +4 -4
- package/dist/seeding/EventSeeding.js.map +1 -1
- package/dist/seeding/ICanSeedEvents.d.ts +1 -1
- package/dist/seeding/ICanSeedEvents.d.ts.map +1 -1
- package/dist/seeding/IEventSeeding.d.ts +1 -1
- package/dist/seeding/IEventSeeding.d.ts.map +1 -1
- package/dist/seeding/IEventSeedingBuilder.d.ts +2 -2
- package/dist/seeding/IEventSeedingBuilder.d.ts.map +1 -1
- package/dist/seeding/index.d.ts +7 -7
- package/dist/seeding/index.d.ts.map +1 -1
- package/dist/seeding/index.js +2 -2
- package/dist/seeding/index.js.map +1 -1
- package/dist/seeding/seeder.js +1 -1
- package/dist/seeding/seeder.js.map +1 -1
- package/dist/sinks/WellKnownSinks.d.ts +4 -4
- package/dist/sinks/WellKnownSinks.d.ts.map +1 -1
- package/dist/sinks/index.d.ts +1 -1
- package/dist/sinks/index.d.ts.map +1 -1
- package/dist/sinks/index.js +1 -1
- package/dist/sinks/index.js.map +1 -1
- package/dist/transactions/IUnitOfWork.d.ts +5 -5
- package/dist/transactions/IUnitOfWork.d.ts.map +1 -1
- package/dist/transactions/IUnitOfWorkManager.d.ts +1 -1
- package/dist/transactions/IUnitOfWorkManager.d.ts.map +1 -1
- package/dist/transactions/NoUnitOfWorkHasBeenStarted.d.ts.map +1 -1
- package/dist/transactions/UnitOfWork.d.ts +7 -7
- package/dist/transactions/UnitOfWork.d.ts.map +1 -1
- package/dist/transactions/UnitOfWork.js +1 -1
- package/dist/transactions/UnitOfWork.js.map +1 -1
- package/dist/transactions/UnitOfWorkManager.d.ts +3 -3
- package/dist/transactions/UnitOfWorkManager.d.ts.map +1 -1
- package/dist/transactions/UnitOfWorkManager.js +2 -2
- package/dist/transactions/UnitOfWorkManager.js.map +1 -1
- package/dist/transactions/index.d.ts +5 -5
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +3 -3
- package/dist/transactions/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/TypeDiscoverer.d.ts +1 -1
- package/dist/types/TypeDiscoverer.d.ts.map +1 -1
- package/dist/types/TypeDiscoverer.js.map +1 -1
- package/dist/types/TypeIntrospector.d.ts.map +1 -1
- package/dist/types/TypeIntrospector.js +9 -3
- package/dist/types/TypeIntrospector.js.map +1 -1
- package/dist/types/index.d.ts +5 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/propertyDecoratorMetadata.d.ts +17 -0
- package/dist/types/propertyDecoratorMetadata.d.ts.map +1 -0
- package/dist/types/propertyDecoratorMetadata.js +76 -0
- package/dist/types/propertyDecoratorMetadata.js.map +1 -0
- package/dist/types/standardDecoratorMetadata.d.ts +9 -0
- package/dist/types/standardDecoratorMetadata.d.ts.map +1 -0
- package/dist/types/standardDecoratorMetadata.js +20 -0
- package/dist/types/standardDecoratorMetadata.js.map +1 -0
- package/dist/webhooks/IWebhook.d.ts +1 -1
- package/dist/webhooks/IWebhook.d.ts.map +1 -1
- package/dist/webhooks/IWebhookDefinitionBuilder.d.ts +1 -1
- package/dist/webhooks/IWebhookDefinitionBuilder.d.ts.map +1 -1
- package/dist/webhooks/IWebhooks.d.ts +3 -3
- package/dist/webhooks/IWebhooks.d.ts.map +1 -1
- package/dist/webhooks/WebhookDefinitionBuilder.d.ts +5 -5
- package/dist/webhooks/WebhookDefinitionBuilder.d.ts.map +1 -1
- package/dist/webhooks/WebhookDefinitionBuilder.js +2 -2
- package/dist/webhooks/WebhookDefinitionBuilder.js.map +1 -1
- package/dist/webhooks/WebhookId.d.ts.map +1 -1
- package/dist/webhooks/WebhookId.js.map +1 -1
- package/dist/webhooks/WebhookTargetUrl.d.ts.map +1 -1
- package/dist/webhooks/WebhookTargetUrl.js.map +1 -1
- package/dist/webhooks/Webhooks.d.ts +7 -7
- package/dist/webhooks/Webhooks.d.ts.map +1 -1
- package/dist/webhooks/Webhooks.js +6 -6
- package/dist/webhooks/Webhooks.js.map +1 -1
- package/dist/webhooks/index.d.ts +9 -9
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/index.js +5 -5
- package/dist/webhooks/index.js.map +1 -1
- package/dist/webhooks/webhook.d.ts +2 -2
- package/dist/webhooks/webhook.d.ts.map +1 -1
- package/dist/webhooks/webhook.js +3 -3
- package/dist/webhooks/webhook.js.map +1 -1
- package/eventSequences/AppendOptions.ts +2 -2
- package/eventSequences/AppendResult.ts +5 -5
- package/eventSequences/AppendedEventWithResult.ts +2 -2
- package/eventSequences/CompleteStreamResult.ts +2 -2
- package/eventSequences/ConcurrencyScope.ts +1 -1
- package/eventSequences/ConcurrencyViolation.ts +1 -1
- package/eventSequences/EventForEventSourceId.ts +1 -1
- package/eventSequences/EventLog.ts +5 -5
- package/eventSequences/EventSequence.spec.ts +47 -8
- package/eventSequences/EventSequence.ts +52 -42
- package/eventSequences/IEventLog.ts +1 -1
- package/eventSequences/IEventSequence.ts +9 -9
- package/eventSequences/ITransactionalEventSequence.ts +1 -1
- package/eventSequences/TransactionalEventSequence.ts +4 -4
- package/eventSequences/WaitForCompletionResult.ts +1 -1
- package/eventSequences/for_EventSequence/when_appending/with_metadata.spec.ts +4 -4
- package/eventSequences/for_EventSequence/when_reading/with_route_filters.spec.ts +4 -4
- package/eventSequences/index.ts +19 -19
- package/eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts +4 -4
- package/eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts +2 -2
- package/eventStoreSubscriptions/EventStoreSubscriptions.spec.ts +3 -3
- package/eventStoreSubscriptions/EventStoreSubscriptions.ts +8 -8
- package/eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts +2 -2
- package/eventStoreSubscriptions/IEventStoreSubscriptions.ts +4 -4
- package/eventStoreSubscriptions/index.ts +6 -6
- package/events/AppendedEvent.ts +2 -2
- package/events/EventContext.ts +4 -4
- package/events/EventType.ts +2 -2
- package/events/EventTypes.ts +10 -10
- package/events/IEventTypes.ts +1 -1
- package/events/classDecorators.standard.spec.ts +77 -0
- package/events/constraints/ConstraintBuilder.ts +4 -4
- package/events/constraints/Constraints.ts +7 -7
- package/events/constraints/IConstraint.ts +1 -1
- package/events/constraints/IConstraintBuilder.ts +1 -1
- package/events/constraints/IConstraints.ts +1 -1
- package/events/constraints/UniqueConstraintBuilder.ts +2 -2
- package/events/constraints/constraint.ts +2 -2
- package/events/constraints/for_Constraints/when_registering_unique_property_constraints.spec.ts +8 -8
- package/events/constraints/index.ts +12 -12
- package/events/eventTypeDecorator.ts +36 -18
- package/events/filterEventsByTagDecorator.ts +2 -2
- package/events/for_EventContext/when_receiving/with_kernel_metadata.spec.ts +11 -11
- package/events/index.ts +18 -16
- package/events/mergeTags.spec.ts +2 -2
- package/events/mergeTags.ts +1 -1
- package/events/migrations/EventMigrationBuilder.ts +2 -2
- package/events/migrations/EventMigrationPropertyBuilder.ts +1 -1
- package/events/migrations/EventTypeMigrators.ts +4 -4
- package/events/migrations/IEventMigrationBuilder.ts +1 -1
- package/events/migrations/IEventTypeMigration.ts +1 -1
- package/events/migrations/eventTypeMigration.ts +4 -4
- package/events/migrations/index.ts +10 -10
- package/events/tagDecorator.spec.ts +2 -2
- package/events/tagDecorator.ts +2 -2
- package/events/toClientEventContext.ts +8 -8
- package/externalServices/ExternalServiceBuilder.ts +2 -2
- package/externalServices/ExternalServices.ts +4 -4
- package/externalServices/IExternalServices.ts +1 -1
- package/externalServices/index.ts +4 -4
- package/for_ChronicleClient/when_reconnecting/and_the_server_becomes_incompatible.spec.ts +3 -3
- package/identities/IdentityManager.ts +2 -2
- package/identities/index.ts +2 -2
- package/identity/IIdentityProvider.ts +1 -1
- package/identity/IdentityProvider.ts +2 -2
- package/identity/index.ts +4 -4
- package/index.ts +56 -56
- package/jobs/IJobs.ts +1 -1
- package/jobs/Jobs.ts +5 -5
- package/jobs/index.ts +3 -3
- package/observation/FailedPartition.ts +1 -1
- package/observation/FailedPartitionAttempt.ts +1 -1
- package/observation/FailedPartitions.spec.ts +2 -2
- package/observation/FailedPartitions.ts +4 -4
- package/observation/IFailedPartitions.ts +1 -1
- package/observation/index.ts +9 -9
- package/observation/notifyReplayLifecycle.spec.ts +1 -1
- package/observation/notifyReplayLifecycle.ts +2 -2
- package/observation/toClientFailedPartition.ts +3 -3
- package/observation/toObserverRunningState.ts +1 -1
- package/package.json +7 -3
- package/projections/IProjections.ts +5 -5
- package/projections/ProjectionState.ts +2 -2
- package/projections/Projections.childrenAndNested.spec.ts +10 -10
- package/projections/Projections.declarativeVariants.spec.ts +8 -8
- package/projections/Projections.modelBoundCompleteness.spec.ts +11 -11
- package/projections/Projections.operationalSurface.spec.ts +12 -12
- package/projections/Projections.spec.ts +11 -11
- package/projections/Projections.ts +38 -38
- package/projections/Projections.variants.spec.ts +12 -12
- package/projections/VariantReclassifier.ts +3 -3
- package/projections/declarative/AddBuilder.ts +1 -1
- package/projections/declarative/AddChildBuilder.ts +1 -1
- package/projections/declarative/AllSetBuilder.ts +1 -1
- package/projections/declarative/ChildrenBuilder.spec.ts +2 -2
- package/projections/declarative/ChildrenBuilder.ts +4 -4
- package/projections/declarative/CompositeKeyBuilder.spec.ts +2 -2
- package/projections/declarative/CompositeKeyBuilder.ts +1 -1
- package/projections/declarative/FromBuilder.ts +11 -11
- package/projections/declarative/FromEveryBuilder.ts +3 -3
- package/projections/declarative/IChildrenBuilder.ts +1 -1
- package/projections/declarative/IFromBuilder.ts +1 -1
- package/projections/declarative/IFromEveryBuilder.ts +1 -1
- package/projections/declarative/IJoinBuilder.ts +1 -1
- package/projections/declarative/INestedBuilder.ts +1 -1
- package/projections/declarative/IProjectionBuilder.ts +7 -7
- package/projections/declarative/IProjectionBuilderFor.ts +1 -1
- package/projections/declarative/IProjectionFor.ts +1 -1
- package/projections/declarative/IReadModelPropertiesBuilder.ts +5 -5
- package/projections/declarative/JoinBuilder.ts +11 -11
- package/projections/declarative/NestedBuilder.ts +4 -4
- package/projections/declarative/ProjectionBuilderCore.ts +12 -12
- package/projections/declarative/ProjectionBuilderFor.spec.ts +2 -2
- package/projections/declarative/ProjectionBuilderFor.ts +7 -7
- package/projections/declarative/RemovedWithBuilder.ts +1 -1
- package/projections/declarative/RemovedWithJoinBuilder.ts +1 -1
- package/projections/declarative/SetBuilder.ts +1 -1
- package/projections/declarative/SubtractBuilder.ts +1 -1
- package/projections/declarative/index.ts +32 -32
- package/projections/declarative/projection.ts +2 -2
- package/projections/index.ts +10 -10
- package/projections/modelBound/FromEventMetadata.ts +1 -1
- package/projections/modelBound/addFrom.ts +6 -5
- package/projections/modelBound/childrenAndNestedBuilder.ts +16 -16
- package/projections/modelBound/childrenFrom.ts +6 -5
- package/projections/modelBound/clearWith.ts +6 -5
- package/projections/modelBound/count.ts +6 -5
- package/projections/modelBound/decorators.standard.spec.ts +71 -0
- package/projections/modelBound/decrement.ts +6 -5
- package/projections/modelBound/eventSequence.ts +1 -1
- package/projections/modelBound/fromAll.ts +6 -5
- package/projections/modelBound/fromEvent.ts +2 -2
- package/projections/modelBound/fromEvery.ts +6 -5
- package/projections/modelBound/globalFor.ts +1 -1
- package/projections/modelBound/increment.ts +6 -5
- package/projections/modelBound/index.ts +44 -44
- package/projections/modelBound/join.ts +6 -5
- package/projections/modelBound/nested.ts +10 -3
- package/projections/modelBound/noAutoMap.ts +12 -3
- package/projections/modelBound/removedWith.ts +6 -5
- package/projections/modelBound/removedWithJoin.ts +6 -5
- package/projections/modelBound/setFrom.ts +6 -5
- package/projections/modelBound/setFromContext.ts +9 -8
- package/projections/modelBound/setValue.ts +6 -5
- package/projections/modelBound/subtractFrom.ts +6 -5
- package/reactors/ReactorSideEffects.spec.ts +4 -4
- package/reactors/ReactorSideEffects.ts +3 -3
- package/reactors/Reactors.ts +13 -13
- package/reactors/index.ts +5 -5
- package/reactors/reactor.ts +2 -2
- package/readModels/IReadModels.ts +3 -3
- package/readModels/MaterializedReadModels.spec.ts +5 -5
- package/readModels/MaterializedReadModels.ts +5 -5
- package/readModels/ReadModelSubjectResolver.spec.ts +2 -2
- package/readModels/ReadModelSubjectResolver.ts +1 -1
- package/readModels/ReadModels.spec.ts +6 -6
- package/readModels/ReadModels.ts +18 -18
- package/readModels/index.ts +10 -10
- package/readModels/readModel.ts +27 -9
- package/readModels/standardFallbacks.standard.spec.ts +39 -0
- package/reducers/Reducers.spec.ts +9 -9
- package/reducers/Reducers.ts +14 -14
- package/reducers/index.ts +5 -5
- package/reducers/reducer.spec.ts +1 -1
- package/reducers/reducer.ts +2 -2
- package/schemas/JsonSchemaGenerator.confidentiality.spec.ts +8 -6
- package/schemas/JsonSchemaGenerator.spec.ts +32 -5
- package/schemas/JsonSchemaGenerator.ts +52 -37
- package/schemas/createDeferredSchema.ts +21 -0
- package/schemas/decorators.expected.fixture.ts +24 -0
- package/schemas/decorators.legacy.spec.ts +62 -0
- package/schemas/decorators.standard.spec.ts +235 -0
- package/schemas/index.ts +4 -3
- package/schemas/jsonSchemaProperty.ts +5 -4
- package/schemas/legacyDesignMetadata.spec.ts +39 -0
- package/seeding/EventSeeding.ts +10 -10
- package/seeding/ICanSeedEvents.ts +1 -1
- package/seeding/IEventSeeding.ts +1 -1
- package/seeding/IEventSeedingBuilder.ts +2 -2
- package/seeding/index.ts +7 -7
- package/seeding/seeder.ts +1 -1
- package/sinks/index.ts +1 -1
- package/transactions/IUnitOfWork.ts +5 -5
- package/transactions/IUnitOfWorkManager.ts +1 -1
- package/transactions/UnitOfWork.spec.ts +6 -6
- package/transactions/UnitOfWork.ts +8 -8
- package/transactions/UnitOfWorkManager.ts +5 -5
- package/transactions/index.ts +5 -5
- package/types/TypeDiscoverer.ts +1 -1
- package/types/TypeIntrospector.ts +8 -3
- package/types/index.ts +5 -3
- package/types/propertyDecoratorMetadata.ts +80 -0
- package/types/standardDecoratorMetadata.spec.ts +31 -0
- package/types/standardDecoratorMetadata.ts +26 -0
- package/vitest.config.ts +17 -0
- package/webhooks/IWebhook.ts +1 -1
- package/webhooks/IWebhookDefinitionBuilder.ts +1 -1
- package/webhooks/IWebhooks.ts +3 -3
- package/webhooks/WebhookDefinitionBuilder.ts +6 -6
- package/webhooks/Webhooks.ts +12 -12
- package/webhooks/index.ts +9 -9
- package/webhooks/webhook.ts +3 -3
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import { field } from '@cratis/fundamentals';
|
|
6
6
|
import { describe, expect, it, vi } from 'vitest';
|
|
7
|
-
import type { ChronicleConnection } from '../connection';
|
|
8
|
-
import { pii } from '../compliance/pii';
|
|
9
|
-
import { subject } from '../compliance/subject';
|
|
10
|
-
import { readModel } from './readModel';
|
|
11
|
-
import { MaterializedReadModels } from './MaterializedReadModels';
|
|
7
|
+
import type { ChronicleConnection } from '../connection/index.js';
|
|
8
|
+
import { pii } from '../compliance/pii.js';
|
|
9
|
+
import { subject } from '../compliance/subject.js';
|
|
10
|
+
import { readModel } from './readModel.js';
|
|
11
|
+
import { MaterializedReadModels } from './MaterializedReadModels.js';
|
|
12
12
|
|
|
13
13
|
// Decorators are applied as plain function calls (rather than `@decorator` syntax) so these
|
|
14
14
|
// fixtures don't depend on the test runner's decorator-syntax support.
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
import type { Constructor } from '@cratis/fundamentals';
|
|
5
5
|
import { JsonSerializer } from '@cratis/fundamentals';
|
|
6
|
-
import { ChronicleConnection } from '../connection';
|
|
7
|
-
import { JsonSchemaGenerator } from '../schemas';
|
|
8
|
-
import { getReadModelMetadata } from './readModel';
|
|
9
|
-
import { ReadModelSubjectResolver } from './ReadModelSubjectResolver';
|
|
10
|
-
import type { IMaterializedReadModels } from './IMaterializedReadModels';
|
|
6
|
+
import { ChronicleConnection } from '../connection/index.js';
|
|
7
|
+
import { JsonSchemaGenerator } from '../schemas/index.js';
|
|
8
|
+
import { getReadModelMetadata } from './readModel.js';
|
|
9
|
+
import { ReadModelSubjectResolver } from './ReadModelSubjectResolver.js';
|
|
10
|
+
import type { IMaterializedReadModels } from './IMaterializedReadModels.js';
|
|
11
11
|
|
|
12
12
|
const defaultTake = 50;
|
|
13
13
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import { describe, expect, it } from 'vitest';
|
|
6
|
-
import { subject } from '../compliance/subject';
|
|
7
|
-
import { ReadModelSubjectResolver } from './ReadModelSubjectResolver';
|
|
6
|
+
import { subject } from '../compliance/subject.js';
|
|
7
|
+
import { ReadModelSubjectResolver } from './ReadModelSubjectResolver.js';
|
|
8
8
|
|
|
9
9
|
// Decorators are applied as plain function calls (rather than `@decorator` syntax) so these
|
|
10
10
|
// fixtures don't depend on the test runner's decorator-syntax support.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
4
|
import type { Constructor } from '@cratis/fundamentals';
|
|
5
|
-
import { getSubjectPropertyName } from '../compliance/subject';
|
|
5
|
+
import { getSubjectPropertyName } from '../compliance/subject.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Resolves the compliance subject - the natural person a read model's Personal Identifiable
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import type { Constructor } from '@cratis/fundamentals';
|
|
6
6
|
import { describe, expect, it, vi } from 'vitest';
|
|
7
|
-
import type { IClientArtifactsProvider } from '../artifacts';
|
|
8
|
-
import type { ChronicleConnection } from '../connection';
|
|
9
|
-
import { subject } from '../compliance/subject';
|
|
10
|
-
import { fromEvent } from '../projections/modelBound/fromEvent';
|
|
11
|
-
import { readModel } from './readModel';
|
|
12
|
-
import { ReadModels } from './ReadModels';
|
|
7
|
+
import type { IClientArtifactsProvider } from '../artifacts/index.js';
|
|
8
|
+
import type { ChronicleConnection } from '../connection/index.js';
|
|
9
|
+
import { subject } from '../compliance/subject.js';
|
|
10
|
+
import { fromEvent } from '../projections/modelBound/fromEvent.js';
|
|
11
|
+
import { readModel } from './readModel.js';
|
|
12
|
+
import { ReadModels } from './ReadModels.js';
|
|
13
13
|
|
|
14
14
|
// Decorators are applied as plain function calls (rather than `@decorator` syntax) so these
|
|
15
15
|
// fixtures don't depend on the test runner's decorator-syntax support.
|
package/readModels/ReadModels.ts
CHANGED
|
@@ -10,24 +10,24 @@ import {
|
|
|
10
10
|
} from '@cratis/chronicle.contracts';
|
|
11
11
|
import type { Constructor } from '@cratis/fundamentals';
|
|
12
12
|
import { Guid, JsonSerializer } from '@cratis/fundamentals';
|
|
13
|
-
import { IClientArtifactsProvider } from '../artifacts';
|
|
14
|
-
import { toContractsGuid } from '../connection/Guid';
|
|
15
|
-
import { ChronicleConnection } from '../connection';
|
|
16
|
-
import { ensureQuerySuccess } from '../connection/callResults';
|
|
17
|
-
import { EventSequenceId } from '../eventSequences/EventSequenceId';
|
|
18
|
-
import { getProjectionMetadata } from '../projections/declarative/projection';
|
|
19
|
-
import { hasFromEventMetadata } from '../projections/modelBound/fromEvent';
|
|
20
|
-
import { isPassive } from '../projections/modelBound/passive';
|
|
21
|
-
import { getReducerMetadata } from '../reducers/reducer';
|
|
22
|
-
import { JsonSchemaGenerator } from '../schemas';
|
|
23
|
-
import { WellKnownSinks } from '../sinks';
|
|
24
|
-
import { getReadModelMetadata } from './readModel';
|
|
25
|
-
import type { IMaterializedReadModels } from './IMaterializedReadModels';
|
|
26
|
-
import { MaterializedReadModels } from './MaterializedReadModels';
|
|
27
|
-
import { ReadModelSubjectResolver } from './ReadModelSubjectResolver';
|
|
28
|
-
import type { IReadModels } from './IReadModels';
|
|
29
|
-
import type { ReadModelChangeset } from './ReadModelChangeset';
|
|
30
|
-
import type { ReadModelSnapshot } from './ReadModelSnapshot';
|
|
13
|
+
import { IClientArtifactsProvider } from '../artifacts/index.js';
|
|
14
|
+
import { toContractsGuid } from '../connection/Guid.js';
|
|
15
|
+
import { ChronicleConnection } from '../connection/index.js';
|
|
16
|
+
import { ensureQuerySuccess } from '../connection/callResults.js';
|
|
17
|
+
import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
|
|
18
|
+
import { getProjectionMetadata } from '../projections/declarative/projection.js';
|
|
19
|
+
import { hasFromEventMetadata } from '../projections/modelBound/fromEvent.js';
|
|
20
|
+
import { isPassive } from '../projections/modelBound/passive.js';
|
|
21
|
+
import { getReducerMetadata } from '../reducers/reducer.js';
|
|
22
|
+
import { JsonSchemaGenerator } from '../schemas/index.js';
|
|
23
|
+
import { WellKnownSinks } from '../sinks/index.js';
|
|
24
|
+
import { getReadModelMetadata } from './readModel.js';
|
|
25
|
+
import type { IMaterializedReadModels } from './IMaterializedReadModels.js';
|
|
26
|
+
import { MaterializedReadModels } from './MaterializedReadModels.js';
|
|
27
|
+
import { ReadModelSubjectResolver } from './ReadModelSubjectResolver.js';
|
|
28
|
+
import type { IReadModels } from './IReadModels.js';
|
|
29
|
+
import type { ReadModelChangeset } from './ReadModelChangeset.js';
|
|
30
|
+
import type { ReadModelSnapshot } from './ReadModelSnapshot.js';
|
|
31
31
|
|
|
32
32
|
const unlimitedEventCount = BigInt('18446744073709551615');
|
|
33
33
|
|
package/readModels/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
|
-
export { ReadModelId } from './ReadModelId';
|
|
5
|
-
export type { IReadModels } from './IReadModels';
|
|
6
|
-
export type { IMaterializedReadModels } from './IMaterializedReadModels';
|
|
7
|
-
export { ReadModels } from './ReadModels';
|
|
8
|
-
export { MaterializedReadModels } from './MaterializedReadModels';
|
|
9
|
-
export { ReadModelSubjectResolver } from './ReadModelSubjectResolver';
|
|
10
|
-
export type { ReadModelChangeset } from './ReadModelChangeset';
|
|
11
|
-
export type { ReadModelSnapshot } from './ReadModelSnapshot';
|
|
12
|
-
export { readModel, getReadModelMetadata, isReadModel } from './readModel';
|
|
13
|
-
export type { ReadModelMetadata } from './readModel';
|
|
4
|
+
export { ReadModelId } from './ReadModelId.js';
|
|
5
|
+
export type { IReadModels } from './IReadModels.js';
|
|
6
|
+
export type { IMaterializedReadModels } from './IMaterializedReadModels.js';
|
|
7
|
+
export { ReadModels } from './ReadModels.js';
|
|
8
|
+
export { MaterializedReadModels } from './MaterializedReadModels.js';
|
|
9
|
+
export { ReadModelSubjectResolver } from './ReadModelSubjectResolver.js';
|
|
10
|
+
export type { ReadModelChangeset } from './ReadModelChangeset.js';
|
|
11
|
+
export type { ReadModelSnapshot } from './ReadModelSnapshot.js';
|
|
12
|
+
export { readModel, getReadModelMetadata, isReadModel } from './readModel.js';
|
|
13
|
+
export type { ReadModelMetadata } from './readModel.js';
|
package/readModels/readModel.ts
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import { Constructor } from '@cratis/fundamentals';
|
|
6
|
-
import { ReadModelId } from './ReadModelId';
|
|
7
|
-
import { DecoratorType, TypeDiscoverer, TypeIntrospector } from '../types';
|
|
8
|
-
import { JsonSchema, JsonSchemaGenerator } from '../schemas';
|
|
6
|
+
import { ReadModelId } from './ReadModelId.js';
|
|
7
|
+
import { DecoratorType, TypeDiscoverer, TypeIntrospector } from '../types/index.js';
|
|
8
|
+
import { JsonSchema, JsonSchemaGenerator } from '../schemas/index.js';
|
|
9
|
+
import { ChronicleClassDecorator } from '../types/standardDecoratorMetadata.js';
|
|
10
|
+
import { createDeferredSchema } from '../schemas/createDeferredSchema.js';
|
|
9
11
|
|
|
10
12
|
/** Metadata key used to store read model information on a class. */
|
|
11
13
|
const READ_MODEL_METADATA_KEY = 'chronicle:readModel';
|
|
@@ -29,14 +31,23 @@ export interface ReadModelMetadata {
|
|
|
29
31
|
* @param id - The unique identifier for the read model. Defaults to the class name if omitted.
|
|
30
32
|
* @returns A class decorator.
|
|
31
33
|
*/
|
|
32
|
-
export function readModel(id: string = ''):
|
|
33
|
-
return (target: object) => {
|
|
34
|
-
|
|
34
|
+
export function readModel(id: string = ''): ChronicleClassDecorator {
|
|
35
|
+
return (target: object, context?: ClassDecoratorContext) => {
|
|
36
|
+
let constructor = target as Function;
|
|
35
37
|
const readModelId = new ReadModelId(id || constructor.name);
|
|
36
|
-
const members = TypeIntrospector.getMembers(constructor);
|
|
37
|
-
const
|
|
38
|
+
const members = context?.kind === 'class' ? undefined : TypeIntrospector.getMembers(constructor);
|
|
39
|
+
const resolve = createDeferredSchema(() => constructor);
|
|
40
|
+
const metadata: ReadModelMetadata = context?.kind === 'class' ? {
|
|
38
41
|
id: readModelId,
|
|
39
|
-
members
|
|
42
|
+
get members() {
|
|
43
|
+
return resolve().members;
|
|
44
|
+
},
|
|
45
|
+
get schema() {
|
|
46
|
+
return resolve().schema;
|
|
47
|
+
}
|
|
48
|
+
} : {
|
|
49
|
+
id: readModelId,
|
|
50
|
+
members: members!,
|
|
40
51
|
schema: JsonSchemaGenerator.generate(constructor, members)
|
|
41
52
|
};
|
|
42
53
|
Reflect.defineMetadata(READ_MODEL_METADATA_KEY, metadata, target);
|
|
@@ -45,6 +56,13 @@ export function readModel(id: string = ''): ClassDecorator {
|
|
|
45
56
|
constructor as Constructor,
|
|
46
57
|
readModelId.value
|
|
47
58
|
);
|
|
59
|
+
context?.addInitializer(function () {
|
|
60
|
+
if (this !== constructor) {
|
|
61
|
+
constructor = this;
|
|
62
|
+
Reflect.defineMetadata(READ_MODEL_METADATA_KEY, metadata, constructor);
|
|
63
|
+
TypeDiscoverer.default.register(DecoratorType.ReadModel, constructor as Constructor, readModelId.value);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
48
66
|
};
|
|
49
67
|
}
|
|
50
68
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { field } from '@cratis/fundamentals';
|
|
5
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
6
|
+
import { IClientArtifactsProvider } from '../artifacts/IClientArtifactsProvider.js';
|
|
7
|
+
import { ChronicleConnection } from '../connection/ChronicleConnection.js';
|
|
8
|
+
import { reducer } from '../reducers/reducer.js';
|
|
9
|
+
import { MaterializedReadModels } from './MaterializedReadModels.js';
|
|
10
|
+
import { ReadModels } from './ReadModels.js';
|
|
11
|
+
|
|
12
|
+
class UndecoratedModel {
|
|
13
|
+
@field(Array) items!: string[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@reducer('undecorated-model', undefined, UndecoratedModel)
|
|
17
|
+
class ModelReducer {}
|
|
18
|
+
|
|
19
|
+
const artifacts = {
|
|
20
|
+
eventTypes: [], readModels: [], reactors: [], reducers: [ModelReducer], seeders: [],
|
|
21
|
+
constraints: [], projections: [], webhooks: [], eventTypeMigrations: [], globalForHandlers: []
|
|
22
|
+
} as IClientArtifactsProvider;
|
|
23
|
+
|
|
24
|
+
describe('standard read models without @readModel', () => {
|
|
25
|
+
it('rejects an untyped array before registering a reducer read model', async () => {
|
|
26
|
+
const registerMany = vi.fn();
|
|
27
|
+
const connection = { readModels: { registerMany } } as unknown as ChronicleConnection;
|
|
28
|
+
const readModels = new ReadModels('test', 'Default', connection, artifacts, 'sink');
|
|
29
|
+
await expect(readModels.register(UndecoratedModel)).rejects.toThrow(/Cannot determine the element type of UndecoratedModel.items/);
|
|
30
|
+
expect(registerMany).not.toHaveBeenCalled();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('rejects an untyped array instead of releasing an incomplete materialized schema', async () => {
|
|
34
|
+
const getInstances = vi.fn().mockResolvedValue({ Instances: [] });
|
|
35
|
+
const connection = { materializedReadModels: { getInstances } } as unknown as ChronicleConnection;
|
|
36
|
+
const materialized = new MaterializedReadModels('test', 'Default', connection);
|
|
37
|
+
await expect(materialized.getInstances(UndecoratedModel)).rejects.toThrow(/Cannot determine the element type of UndecoratedModel.items/);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
|
|
4
4
|
import { describe, expect, it, vi } from 'vitest';
|
|
5
5
|
import type { Constructor } from '@cratis/fundamentals';
|
|
6
|
-
import type { IClientArtifactsProvider } from '../artifacts';
|
|
7
|
-
import type { ChronicleConnection } from '../connection';
|
|
8
|
-
import { ConnectionLifecycle } from '../connection/ConnectionLifecycle';
|
|
9
|
-
import { eventType, getEventTypeFor } from '../events/eventTypeDecorator';
|
|
10
|
-
import type { EventContext } from '../events/EventContext';
|
|
11
|
-
import { filterEventsByTag } from '../events/filterEventsByTagDecorator';
|
|
12
|
-
import { tag } from '../events/tagDecorator';
|
|
13
|
-
import { reducer } from './reducer';
|
|
14
|
-
import { Reducers } from './Reducers';
|
|
6
|
+
import type { IClientArtifactsProvider } from '../artifacts/index.js';
|
|
7
|
+
import type { ChronicleConnection } from '../connection/index.js';
|
|
8
|
+
import { ConnectionLifecycle } from '../connection/ConnectionLifecycle.js';
|
|
9
|
+
import { eventType, getEventTypeFor } from '../events/eventTypeDecorator.js';
|
|
10
|
+
import type { EventContext } from '../events/EventContext.js';
|
|
11
|
+
import { filterEventsByTag } from '../events/filterEventsByTagDecorator.js';
|
|
12
|
+
import { tag } from '../events/tagDecorator.js';
|
|
13
|
+
import { reducer } from './reducer.js';
|
|
14
|
+
import { Reducers } from './Reducers.js';
|
|
15
15
|
|
|
16
16
|
const flush = () => new Promise(resolve => setTimeout(resolve, 0));
|
|
17
17
|
|
package/reducers/Reducers.ts
CHANGED
|
@@ -5,20 +5,20 @@ import 'reflect-metadata';
|
|
|
5
5
|
import { diag } from '@opentelemetry/api';
|
|
6
6
|
import { Constructor, Guid } from '@cratis/fundamentals';
|
|
7
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 { toClientEventContext } from '../events/toClientEventContext';
|
|
14
|
-
import { getTagsFor } from '../events/tagDecorator';
|
|
15
|
-
import { getFilterTagsFor } from '../events/filterEventsByTagDecorator';
|
|
16
|
-
import { EventSequenceId } from '../eventSequences/EventSequenceId';
|
|
17
|
-
import { notifyReplayLifecycle } from '../observation/notifyReplayLifecycle';
|
|
18
|
-
import { IReducers } from './IReducers';
|
|
19
|
-
import { getReducerMetadata } from './reducer';
|
|
20
|
-
import { getReadModelMetadata } from '../readModels';
|
|
21
|
-
import { JsonSchemaGenerator } from '../schemas';
|
|
8
|
+
import { IClientArtifactsProvider } from '../artifacts/index.js';
|
|
9
|
+
import { ChronicleConnection } from '../connection/index.js';
|
|
10
|
+
import { toContractsGuid } from '../connection/Guid.js';
|
|
11
|
+
import { ConnectionLifecycle } from '../connection/ConnectionLifecycle.js';
|
|
12
|
+
import { getEventTypeMetadata } from '../events/eventTypeDecorator.js';
|
|
13
|
+
import { toClientEventContext } from '../events/toClientEventContext.js';
|
|
14
|
+
import { getTagsFor } from '../events/tagDecorator.js';
|
|
15
|
+
import { getFilterTagsFor } from '../events/filterEventsByTagDecorator.js';
|
|
16
|
+
import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
|
|
17
|
+
import { notifyReplayLifecycle } from '../observation/notifyReplayLifecycle.js';
|
|
18
|
+
import { IReducers } from './IReducers.js';
|
|
19
|
+
import { getReducerMetadata } from './reducer.js';
|
|
20
|
+
import { getReadModelMetadata } from '../readModels/index.js';
|
|
21
|
+
import { JsonSchemaGenerator } from '../schemas/index.js';
|
|
22
22
|
|
|
23
23
|
/** Expression used to partition reducer observations by event source ID. */
|
|
24
24
|
const EVENT_SOURCE_ID_KEY = '$eventSourceId';
|
package/reducers/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
|
-
export { ReducerId } from './ReducerId';
|
|
5
|
-
export { reducer, getReducerMetadata, isReducer } from './reducer';
|
|
6
|
-
export type { ReducerMetadata } from './reducer';
|
|
7
|
-
export type { IReducers } from './IReducers';
|
|
8
|
-
export { Reducers } from './Reducers';
|
|
4
|
+
export { ReducerId } from './ReducerId.js';
|
|
5
|
+
export { reducer, getReducerMetadata, isReducer } from './reducer.js';
|
|
6
|
+
export type { ReducerMetadata } from './reducer.js';
|
|
7
|
+
export type { IReducers } from './IReducers.js';
|
|
8
|
+
export { Reducers } from './Reducers.js';
|
package/reducers/reducer.spec.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
4
|
import { describe, expect, it } from 'vitest';
|
|
5
|
-
import { getReducerMetadata, reducer } from './reducer';
|
|
5
|
+
import { getReducerMetadata, reducer } from './reducer.js';
|
|
6
6
|
|
|
7
7
|
describe('reducer', () => {
|
|
8
8
|
describe('when decorating a class without specifying isActive', () => {
|
package/reducers/reducer.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import { Constructor } from '@cratis/fundamentals';
|
|
6
|
-
import { ReducerId } from './ReducerId';
|
|
7
|
-
import { DecoratorType, TypeDiscoverer } from '../types';
|
|
6
|
+
import { ReducerId } from './ReducerId.js';
|
|
7
|
+
import { DecoratorType, TypeDiscoverer } from '../types/index.js';
|
|
8
8
|
|
|
9
9
|
/** Metadata key used to store reducer information on a class. */
|
|
10
10
|
const REDUCER_METADATA_KEY = 'chronicle:reducer';
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import { ConceptAs, field } from '@cratis/fundamentals';
|
|
6
6
|
import { describe, expect, it } from 'vitest';
|
|
7
|
-
import { pii } from '../compliance/pii';
|
|
8
|
-
import { encrypted } from '../confidentiality/encrypted';
|
|
9
|
-
import { EncryptionScope } from '../confidentiality/EncryptionScope';
|
|
10
|
-
import { PIIAndEncryptedCombinedNotSupported } from '../confidentiality/PIIAndEncryptedCombinedNotSupported';
|
|
11
|
-
import { getReadModelMetadata, readModel } from '../readModels/readModel';
|
|
12
|
-
import { JsonSchema } from './JsonSchema';
|
|
7
|
+
import { pii } from '../compliance/pii.js';
|
|
8
|
+
import { encrypted } from '../confidentiality/encrypted.js';
|
|
9
|
+
import { EncryptionScope } from '../confidentiality/EncryptionScope.js';
|
|
10
|
+
import { PIIAndEncryptedCombinedNotSupported } from '../confidentiality/PIIAndEncryptedCombinedNotSupported.js';
|
|
11
|
+
import { getReadModelMetadata, readModel } from '../readModels/readModel.js';
|
|
12
|
+
import { JsonSchema } from './JsonSchema.js';
|
|
13
13
|
|
|
14
14
|
// See JsonSchemaGenerator.spec.ts for why decorators are applied as plain function calls here
|
|
15
15
|
// rather than `@decorator` syntax, and why order matters.
|
|
@@ -77,6 +77,8 @@ describe('JsonSchemaGenerator - security metadata', () => {
|
|
|
77
77
|
|
|
78
78
|
describe('when a property is typed as a ConceptAs<T> marked @encrypted()', () => {
|
|
79
79
|
class ApiKey extends ConceptAs<string> {
|
|
80
|
+
static readonly valueType = String;
|
|
81
|
+
|
|
80
82
|
constructor(value: string) {
|
|
81
83
|
super(value);
|
|
82
84
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
|
-
import { ConceptAs, field } from '@cratis/fundamentals';
|
|
5
|
+
import { ConceptAs, field, Guid } from '@cratis/fundamentals';
|
|
6
6
|
import { describe, expect, it } from 'vitest';
|
|
7
|
-
import { pii } from '../compliance/pii';
|
|
8
|
-
import { eventType, getEventTypeJsonSchemaFor } from '../events/eventTypeDecorator';
|
|
9
|
-
import { getReadModelMetadata, readModel } from '../readModels/readModel';
|
|
10
|
-
import { JsonSchema } from './JsonSchema';
|
|
7
|
+
import { pii } from '../compliance/pii.js';
|
|
8
|
+
import { eventType, getEventTypeJsonSchemaFor } from '../events/eventTypeDecorator.js';
|
|
9
|
+
import { getReadModelMetadata, readModel } from '../readModels/readModel.js';
|
|
10
|
+
import { JsonSchema } from './JsonSchema.js';
|
|
11
11
|
|
|
12
12
|
// Decorators are applied as plain function calls (rather than `@decorator` syntax) so these
|
|
13
13
|
// fixtures don't depend on the test runner's decorator-syntax support - they exercise exactly
|
|
@@ -22,6 +22,31 @@ function schemaFor(target: Function): JsonSchema {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
describe('JsonSchemaGenerator', () => {
|
|
25
|
+
it('retains the legacy string-concept fallback without emitted type metadata', () => {
|
|
26
|
+
class LegacyCode extends ConceptAs<string> {}
|
|
27
|
+
class LegacyModel {
|
|
28
|
+
code = new LegacyCode('A');
|
|
29
|
+
}
|
|
30
|
+
readModel()(LegacyModel);
|
|
31
|
+
expect(schemaFor(LegacyModel).properties?.code.type).toBe('string');
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it('preserves Guid and Date-backed legacy concepts with design:type', () => {
|
|
35
|
+
class LegacyId extends ConceptAs<Guid> {}
|
|
36
|
+
class LegacyTime extends ConceptAs<Date> {}
|
|
37
|
+
Reflect.defineMetadata('design:type', Guid, LegacyId.prototype, 'value');
|
|
38
|
+
Reflect.defineMetadata('design:type', Date, LegacyTime.prototype, 'value');
|
|
39
|
+
class LegacyEvent {
|
|
40
|
+
id = new LegacyId(Guid.empty);
|
|
41
|
+
occurred = new LegacyTime(new Date());
|
|
42
|
+
}
|
|
43
|
+
eventType()(LegacyEvent);
|
|
44
|
+
expect(getEventTypeJsonSchemaFor(LegacyEvent).properties).toMatchObject({
|
|
45
|
+
id: { type: 'string', format: 'guid' },
|
|
46
|
+
occurred: { type: 'string', format: 'date-time' }
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
25
50
|
describe('when a class is marked @pii() at the class level', () => {
|
|
26
51
|
class PersonProfile {
|
|
27
52
|
name = '';
|
|
@@ -59,6 +84,8 @@ describe('JsonSchemaGenerator', () => {
|
|
|
59
84
|
|
|
60
85
|
describe('when a property is typed as a ConceptAs<T> marked @pii()', () => {
|
|
61
86
|
class EmailAddress extends ConceptAs<string> {
|
|
87
|
+
static readonly valueType = String;
|
|
88
|
+
|
|
62
89
|
constructor(value: string) {
|
|
63
90
|
super(value);
|
|
64
91
|
}
|
|
@@ -2,18 +2,24 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
|
-
import {
|
|
6
|
-
import { ComplianceSchemaMetadata, JsonSchema, SecuritySchemaMetadata } from './JsonSchema';
|
|
7
|
-
import { TypeIntrospector } from '../types';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
5
|
+
import { conceptAsTypeKey, Constructor, Fields, Guid, typeKeyOf } from '@cratis/fundamentals';
|
|
6
|
+
import { ComplianceSchemaMetadata, JsonSchema, SecuritySchemaMetadata } from './JsonSchema.js';
|
|
7
|
+
import { TypeIntrospector } from '../types/index.js';
|
|
8
|
+
import { hasOwnStandardMetadata } from '../types/standardDecoratorMetadata.js';
|
|
9
|
+
import { ComplianceMetadata } from '../compliance/ComplianceMetadata.js';
|
|
10
|
+
import { ComplianceMetadataResolver } from '../compliance/ComplianceMetadataResolver.js';
|
|
11
|
+
import { SecurityMetadata } from '../confidentiality/SecurityMetadata.js';
|
|
12
|
+
import { SecurityMetadataResolver } from '../confidentiality/SecurityMetadataResolver.js';
|
|
13
|
+
import { PIIAndEncryptedCombinedNotSupported } from '../confidentiality/PIIAndEncryptedCombinedNotSupported.js';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Generates JSON schemas for class constructors using reflection metadata.
|
|
16
17
|
*/
|
|
18
|
+
export interface JsonSchemaGenerationOptions {
|
|
19
|
+
/** Reject members and array elements without runtime types. Defaults to true for standard-decorated classes. */
|
|
20
|
+
readonly requireResolvedTypes?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
17
23
|
export class JsonSchemaGenerator {
|
|
18
24
|
private static readonly _knownTypeFormats = new Map<Function, { type: JsonSchema['type']; format: string }>([
|
|
19
25
|
[Guid, { type: 'string', format: 'guid' }],
|
|
@@ -44,15 +50,20 @@ export class JsonSchemaGenerator {
|
|
|
44
50
|
* Generates a JSON schema for a class constructor.
|
|
45
51
|
* @param target - The class constructor to generate schema for.
|
|
46
52
|
* @param members - Optional pre-introspected members for reuse.
|
|
53
|
+
* @param options - Schema resolution options. A boolean remains supported for existing callers.
|
|
47
54
|
* @returns The generated JSON schema.
|
|
48
55
|
*/
|
|
49
|
-
static generate(target: Function, members?: ReadonlyMap<string, Function | undefined
|
|
56
|
+
static generate(target: Function, members?: ReadonlyMap<string, Function | undefined>, options?: JsonSchemaGenerationOptions | boolean): JsonSchema {
|
|
57
|
+
const requireResolvedTypes = typeof options === 'boolean' ? options : options?.requireResolvedTypes ?? hasOwnStandardMetadata(target);
|
|
50
58
|
const membersToUse = members ?? TypeIntrospector.getMembers(target);
|
|
51
59
|
const schemaProperties: Record<string, JsonSchema> = {};
|
|
52
60
|
const prototype = target.prototype;
|
|
53
61
|
|
|
54
62
|
for (const [memberName, memberType] of membersToUse.entries()) {
|
|
55
|
-
|
|
63
|
+
if (!memberType && requireResolvedTypes) {
|
|
64
|
+
throw new TypeError(`Cannot determine the type of ${target.name}.${memberName}; declare @field with its runtime type.`);
|
|
65
|
+
}
|
|
66
|
+
const propertySchema = this.mapRuntimeTypeToSchema(memberType, target, memberName, requireResolvedTypes);
|
|
56
67
|
// Only include properties whose type was resolved. An empty schema ({}) means
|
|
57
68
|
// the runtime type was unavailable (e.g. esbuild/tsx omits design:paramtypes).
|
|
58
69
|
if (Object.keys(propertySchema).length > 0) {
|
|
@@ -71,9 +82,8 @@ export class JsonSchemaGenerator {
|
|
|
71
82
|
}
|
|
72
83
|
}
|
|
73
84
|
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
// content as-is via ConvertUnknownSchemaTypeToClrType.
|
|
85
|
+
// Legacy decorators retain the minimal schema fallback for members with no
|
|
86
|
+
// runtime type metadata. Standard decorators reject unresolved types above.
|
|
77
87
|
if (Object.keys(schemaProperties).length === 0) {
|
|
78
88
|
return this.createEmptySchema(target.name);
|
|
79
89
|
}
|
|
@@ -85,7 +95,7 @@ export class JsonSchemaGenerator {
|
|
|
85
95
|
};
|
|
86
96
|
}
|
|
87
97
|
|
|
88
|
-
private static mapRuntimeTypeToSchema(runtimeType: Function | undefined, declaringType?: Function, propertyName?: string): JsonSchema {
|
|
98
|
+
private static mapRuntimeTypeToSchema(runtimeType: Function | undefined, declaringType?: Function, propertyName?: string, requireResolvedTypes = false): JsonSchema {
|
|
89
99
|
const knownTypeFormat = this.getKnownTypeFormat(runtimeType);
|
|
90
100
|
if (knownTypeFormat) {
|
|
91
101
|
return knownTypeFormat;
|
|
@@ -104,25 +114,29 @@ export class JsonSchemaGenerator {
|
|
|
104
114
|
}
|
|
105
115
|
|
|
106
116
|
if (runtimeType === Array) {
|
|
107
|
-
return this.mapArrayTypeToSchema(declaringType, propertyName);
|
|
117
|
+
return this.mapArrayTypeToSchema(declaringType, propertyName, requireResolvedTypes);
|
|
108
118
|
}
|
|
109
119
|
|
|
110
120
|
if (!runtimeType) {
|
|
111
121
|
return {};
|
|
112
122
|
}
|
|
113
123
|
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
// not available at runtime, so resolve it from the 'value' property's design:type
|
|
117
|
-
// when present (ts-node/webpack with emitDecoratorMetadata) and fall back to string
|
|
118
|
-
// when it is not (esbuild/tsx) — string-backed concepts are by far the common case.
|
|
124
|
+
// TypeScript erases ConceptAs<T>'s primitive type. Prefer an explicit field or
|
|
125
|
+
// static hint; legacy emitDecoratorMetadata is the last available source.
|
|
119
126
|
if (this.isConceptAs(runtimeType)) {
|
|
120
|
-
const
|
|
121
|
-
|
|
127
|
+
const concept = runtimeType as Function & { valueType?: Function };
|
|
128
|
+
const fieldType = Fields.getFieldsForType(concept as Constructor).find(field => field.name === 'value')?.type;
|
|
129
|
+
const valueType = fieldType ?? concept.valueType ?? Reflect.getMetadata('design:type', runtimeType.prototype, 'value') as Function | undefined;
|
|
130
|
+
if (!valueType && !requireResolvedTypes) return { type: 'string' }; // Legacy schema compatibility.
|
|
131
|
+
const valueSchema = this.mapRuntimeTypeToSchema(valueType, undefined, undefined, requireResolvedTypes);
|
|
132
|
+
if (!valueType || !valueSchema.type || (requireResolvedTypes && valueSchema.type === 'object')) {
|
|
133
|
+
throw new TypeError(`Cannot determine the value type of concept ${runtimeType.name}; declare static readonly valueType = String, Number, Boolean, Guid, or Date.`);
|
|
134
|
+
}
|
|
135
|
+
return valueSchema;
|
|
122
136
|
}
|
|
123
137
|
|
|
124
138
|
if (runtimeType !== Object) {
|
|
125
|
-
return this.generate(runtimeType);
|
|
139
|
+
return this.generate(runtimeType, undefined, requireResolvedTypes);
|
|
126
140
|
}
|
|
127
141
|
|
|
128
142
|
return { type: 'object' };
|
|
@@ -135,7 +149,7 @@ export class JsonSchemaGenerator {
|
|
|
135
149
|
* @param propertyName - The array property name.
|
|
136
150
|
* @returns The array schema, with the element's own compliance metadata carried onto `items` when the element is a PII concept.
|
|
137
151
|
*/
|
|
138
|
-
private static mapArrayTypeToSchema(declaringType: Function | undefined, propertyName: string | undefined): JsonSchema {
|
|
152
|
+
private static mapArrayTypeToSchema(declaringType: Function | undefined, propertyName: string | undefined, requireResolvedTypes: boolean): JsonSchema {
|
|
139
153
|
const elementType = this.getArrayElementType(declaringType, propertyName);
|
|
140
154
|
|
|
141
155
|
// An array whose element is a ConceptAs<T> loses its classification the moment it is put in
|
|
@@ -143,7 +157,7 @@ export class JsonSchemaGenerator {
|
|
|
143
157
|
// item schema - a value that would be encrypted as a scalar would otherwise be persisted in
|
|
144
158
|
// the clear as a list element. Mirrors the C# generator's explicit enumerable-of-concept branch.
|
|
145
159
|
if (elementType && this.isConceptAs(elementType)) {
|
|
146
|
-
const itemSchema = this.mapRuntimeTypeToSchema(elementType);
|
|
160
|
+
const itemSchema = this.mapRuntimeTypeToSchema(elementType, undefined, undefined, requireResolvedTypes);
|
|
147
161
|
const complianceMetadata = ComplianceMetadataResolver.getMetadataForType(elementType);
|
|
148
162
|
const securityMetadata = SecurityMetadataResolver.getMetadataForType(elementType);
|
|
149
163
|
this.throwIfBothCompliantAndSecure(elementType.name, complianceMetadata, securityMetadata);
|
|
@@ -152,7 +166,15 @@ export class JsonSchemaGenerator {
|
|
|
152
166
|
return { type: 'array', items: itemSchema };
|
|
153
167
|
}
|
|
154
168
|
|
|
155
|
-
|
|
169
|
+
if (!elementType) {
|
|
170
|
+
if (requireResolvedTypes) {
|
|
171
|
+
throw new TypeError(`Cannot determine the element type of ${declaringType?.name}.${propertyName}; declare @field(Array, { genericArguments: [ItemType] }).`);
|
|
172
|
+
}
|
|
173
|
+
return { type: 'array', items: { type: 'object' } };
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (!requireResolvedTypes) return { type: 'array', items: { type: 'object' } }; // Legacy schema compatibility.
|
|
177
|
+
return { type: 'array', items: this.mapRuntimeTypeToSchema(elementType, undefined, undefined, true) };
|
|
156
178
|
}
|
|
157
179
|
|
|
158
180
|
/**
|
|
@@ -189,16 +211,7 @@ export class JsonSchemaGenerator {
|
|
|
189
211
|
}
|
|
190
212
|
|
|
191
213
|
private static isConceptAs(runtimeType: Function): boolean {
|
|
192
|
-
|
|
193
|
-
while (current && current !== Function.prototype) {
|
|
194
|
-
if (current === ConceptAs) {
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
current = Object.getPrototypeOf(current) as Function | null;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
return false;
|
|
214
|
+
return typeKeyOf(runtimeType as Constructor) === conceptAsTypeKey;
|
|
202
215
|
}
|
|
203
216
|
|
|
204
217
|
private static getKnownTypeFormat(runtimeType: Function | undefined): JsonSchema | undefined {
|
|
@@ -206,7 +219,9 @@ export class JsonSchemaGenerator {
|
|
|
206
219
|
return undefined;
|
|
207
220
|
}
|
|
208
221
|
|
|
209
|
-
const known =
|
|
222
|
+
const known = typeKeyOf(runtimeType as Constructor) === 'Guid'
|
|
223
|
+
? this._knownTypeFormats.get(Guid)
|
|
224
|
+
: this._knownTypeFormats.get(runtimeType);
|
|
210
225
|
if (!known) {
|
|
211
226
|
return undefined;
|
|
212
227
|
}
|