UNPKG

@kingdom-sdk/core

Version:

Core module to design DDD applications in TypeScript

12 lines (11 loc) 483 B
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; }