UNPKG

@lucaspaganini/value-objects

Version:

TypeScript first validation and class creation library

10 lines (9 loc) 724 B
import { Either } from '../utils'; import { ValueObjectContructor, VOCRawInit } from './value-object'; export declare const makeIsValidRawInit: <VOC extends ValueObjectContructor<any, any>>(VO: VOC) => (v: any) => v is VOCRawInit<VOC>; export declare const makeFromRawInit: <VOC extends ValueObjectContructor<any, any>>(VO: VOC) => (data: VOCRawInit<VOC>) => Either<Error[], InstanceType<VOC>>; export interface ValueObjectFunctions<VOC extends ValueObjectContructor> { isValidRawInit(v: any): v is VOCRawInit<VOC>; fromRawInit(data: VOCRawInit<VOC>): Either<Array<Error>, InstanceType<VOC>>; } export declare const makeFunctions: <VOC extends ValueObjectContructor<any, any>>(VO: VOC) => ValueObjectFunctions<VOC>;