@martinmilo/verve
Version:
TypeScript domain modeling library with field-level authorization, business rule validation, and context-aware access control
26 lines • 1.29 kB
TypeScript
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