@kingdom-sdk/core
Version:
Core module to design DDD applications in TypeScript
12 lines (11 loc) • 483 B
TypeScript
import { AnyEvent } from '../aliases';
import { Entity, IEntity } from './Entity';
export interface IAggregate<Id_T> extends IEntity<Id_T> {
}
export declare abstract class Aggregate<Id_T> extends Entity<Id_T> implements IAggregate<Id_T> {
private readonly events;
constructor(id: Id_T, version: number, isDiscarded: boolean, registeredAt: Date, updatedAt: Date);
addEvents(...events: AnyEvent[]): void;
hasEvents(): boolean;
nextEvent(): AnyEvent | undefined;
}