@kerthin/domain
Version:
Kerthin Domain (based on DDD)
21 lines (20 loc) • 735 B
TypeScript
import { UniqueEntityID } from './unique-entity-id';
import { Actions } from '../utils';
import { ValidatorExecutor } from './validate';
import { ValidationResult } from '../validators';
export declare abstract class DomainEntity {
readonly ownId: UniqueEntityID;
protected readonly action: Actions;
protected validator: ValidatorExecutor;
private static initialize;
constructor(data: any, ownId?: UniqueEntityID);
equals(object?: DomainEntity): boolean;
toRaw<T = any>(): T;
validate(): {
[key: string]: ValidationResult[];
} | null;
validateAndThrowException(message?: string): void;
protected setValueObjects<T>(data: T): void;
private runValidation;
private serialize;
}