@cashfarm/plow
Version:
Library for validating input data and parameters
27 lines (26 loc) • 619 B
TypeScript
import { Guid } from '@cashfarm/lang';
import { Identity } from './identity';
export declare const IEntity: symbol;
export interface IEntity<TId> {
readonly id: TId;
}
/**
* Abstract Base Class for Entities
*
* @export
* @abstract
* @class Entity
* @extends {IEntity<TId>}
* @template TId The type of this entities identity.
*/
export declare abstract class Entity<TId extends Identity<any> | Guid> implements IEntity<TId> {
protected _id: TId;
/**
* Persistent identity value for the Entity
*
* @readonly
* @type {TId}
*/
readonly id: TId;
constructor(id?: TId);
}