UNPKG

@cashfarm/plow

Version:

Library for validating input data and parameters

18 lines (17 loc) 561 B
import { Guid } from '@cashfarm/lang'; import { IEntity, Entity } from './entity'; import { IDomainEvent } from './domainEvent'; import { Identity } from './identity'; export interface IAggregateRoot<TId extends Identity<any> | Guid> extends IEntity<TId> { readonly id: TId; } /** * Base implementation of an aggregate root. * * @export * @class AggregateRoot * @template TId */ export declare abstract class AggregateRoot<TId extends Identity<any> | Guid> extends Entity<TId> implements IAggregateRoot<TId> { protected _events: IDomainEvent[]; }