UNPKG

@martinmilo/verve

Version:

TypeScript domain modeling library with field-level authorization, business rule validation, and context-aware access control

26 lines 1.29 kB
import type { FieldValidator } from "../../core/types"; import type { WithFieldBuilder } from "../types"; type ChainedValidateFunc<T> = { (validators: FieldValidator | FieldValidator[]): T; add(validators: FieldValidator | FieldValidator[]): T; only(validators: FieldValidator | FieldValidator[]): T; }; export type WithValidateFunc<T> = { (validators: FieldValidator | FieldValidator[]): T; add(validators: FieldValidator | FieldValidator[]): T; only(validators: FieldValidator | FieldValidator[]): T; none(): T; lazy: ChainedValidateFunc<T>; }; export declare function WithValidate<TBase extends WithFieldBuilder>(Base: TBase): { new (...args: any[]): { readonly validate: WithValidateFunc</*elided*/ any>; Field: import("../../core/types").FieldClass<any>; options: import("../../core/types").FieldOptions; getOption<K extends keyof import("../../core/types").FieldOptions>(option: K): import("../../core/types").FieldOptions[K]; setOption<K extends keyof import("../../core/types").FieldOptions>(option: K, value: import("../../core/types").FieldOptions[K]): void; toField(model?: import("../../..").Model): import("../..").Field<any>; }; } & TBase; export {}; //# sourceMappingURL=WithValidate.d.ts.map