@dugongjs/nestjs
Version:
34 lines (33 loc) • 1.38 kB
TypeScript
import type { Constructor, IConsumedMessageRepository, IDomainEventRepository, IInboundMessageMapper, IMessageConsumer, IMessageProducer, IOutboundMessageMapper, ISnapshotRepository, ITransactionManager } from "@dugongjs/core";
import type { ModuleMetadata } from "@nestjs/common";
export type ModuleImports = {
imports?: ModuleMetadata["imports"];
};
export type ModuleProviders = {
providers?: ModuleMetadata["providers"];
};
export type ModuleInjectables = ModuleImports & ModuleProviders;
export type DomainEventRepositoryProvider = {
domainEventRepository: Constructor<IDomainEventRepository>;
};
export type SnapshotRepositoryProvider = {
snapshotRepository: Constructor<ISnapshotRepository>;
};
export type ConsumedMessageRepositoryProvider = {
consumedMessageRepository: Constructor<IConsumedMessageRepository>;
};
export type TransactionManagerProvider = {
transactionManager: Constructor<ITransactionManager>;
};
export type MessageProducerProvider = {
messageProducer: Constructor<IMessageProducer<any>>;
};
export type MessageConsumerProvider = {
messageConsumer: Constructor<IMessageConsumer<any>>;
};
export type InboundMessageMapperProvider = {
inboundMessageMapper: Constructor<IInboundMessageMapper<any>>;
};
export type OutboundMessageMapperProvider = {
outboundMessageMapper: Constructor<IOutboundMessageMapper<any>>;
};