UNPKG

@kingdom-sdk/core

Version:

Core module to design DDD applications in TypeScript

32 lines (31 loc) 930 B
import { Props } from '../../interfaces/Props'; export interface IEntity<Id_T> { id?: Id_T; version?: number; isDiscarded?: boolean; registeredAt?: Date; updatedAt?: Date; } export declare abstract class Entity<Id_T> implements IEntity<Id_T> { private _id; private _version; private _isDiscarded; private _registeredAt; private _updatedAt; constructor(id: Id_T, version: number, isDiscarded: boolean, registeredAt: Date, updatedAt: Date); protected check_not_discarded(): void; protected baseRepr(identifier: string, props?: Props): string; abstract toString(): string; toHash(): string; equals(other: any): boolean; get id(): Id_T; set id(value: Id_T); get version(): number; get isDiscarded(): boolean; get registeredAt(): Date; get updatedAt(): Date; get props(): Props; update(): void; private _update; discard(): void; }