@nestjs-cqrs-eventsourcing/core
Version:
Event sourcing for nestjs CQRS
21 lines (20 loc) • 979 B
TypeScript
import { Type } from '@nestjs/common';
import { IEvent, IEventHandler } from '@nestjs/cqrs/dist/interfaces';
declare const INTERNAL_EVENTS: unique symbol;
declare const IS_AUTO_COMMIT_ENABLED: unique symbol;
export declare abstract class AggregateRoot<EventBase extends IEvent = IEvent> {
[IS_AUTO_COMMIT_ENABLED]: boolean;
private readonly [INTERNAL_EVENTS];
get autoCommit(): boolean;
set autoCommit(value: boolean);
publish<T extends EventBase = EventBase>(_event: T): Promise<void>;
publishAll<T extends EventBase = EventBase>(_events: T[]): Promise<void>;
commit(): Promise<void>;
uncommit(): void;
getUncommittedEvents(): EventBase[];
apply<T extends EventBase = EventBase>(event: T, isFromHistory?: boolean): void;
loadFromHistory(history: EventBase[]): void;
protected getEventHandler<T extends EventBase = EventBase>(event: T): Type<IEventHandler> | undefined;
protected getEventName(event: any): string;
}
export {};