@dugongjs/testing
Version:
23 lines (22 loc) • 889 B
TypeScript
import type { AbstractDomainEvent, IOutboundMessageMapper } from "@dugongjs/core";
export type MessageBuilderOptions<TMessage> = {
outboundMessageMapper: IOutboundMessageMapper<TMessage>;
initialSequenceNumber?: number;
autoIncrementSequenceNumber?: boolean;
};
export type BuildResult<TMessage> = {
messages: TMessage[];
domainEvents: AbstractDomainEvent[];
domainEventIds: string[];
};
export declare class MessageBuilder<TMessage> {
private readonly outboundMessageMapper;
private readonly domainEvents;
private initialSequenceNumber;
private autoIncrementSequenceNumber;
constructor(options: MessageBuilderOptions<TMessage>);
setInitialSequenceNumber(initialSequenceNumber: number): this;
addDomainEvent(...domainEvents: AbstractDomainEvent<any>[]): this;
build(): BuildResult<TMessage>;
clear(): MessageBuilder<TMessage>;
}