UNPKG

@dugongjs/nestjs

Version:

24 lines (23 loc) 1.33 kB
import { IConsumedMessageRepository, IDomainEventRepository, IInboundMessageMapper, IMessageConsumer, IMessageProducer, IOutboundMessageMapper, ISnapshotRepository, ITransactionManager, type Constructor } from "@dugongjs/core"; import type { ModuleMetadata } from "@nestjs/common"; import type { ILoggerFactory } from "../logger/i-logger-factory.js"; export type DugongAdapters = { imports?: ModuleMetadata["imports"]; providers?: ModuleMetadata["providers"]; loggerFactory?: Constructor<ILoggerFactory>; transactionManager?: Constructor<ITransactionManager>; domainEventRepository?: Constructor<IDomainEventRepository>; snapshotRepository?: Constructor<ISnapshotRepository>; consumedMessageRepository?: Constructor<IConsumedMessageRepository>; messageConsumer?: Constructor<IMessageConsumer<any>>; inboundMessageMapper?: Constructor<IInboundMessageMapper<any>>; messageProducer?: Constructor<IMessageProducer<any>>; outboundMessageMapper?: Constructor<IOutboundMessageMapper<any>>; }; export type DugongAdapterFactory = () => DugongAdapters; export declare class DugongAdapterBuilder { private adapters; register(adapter: DugongAdapters | DugongAdapterFactory): this; registerMany(...adapters: (DugongAdapters | DugongAdapterFactory)[]): this; build(): DugongAdapters; }