UNPKG

flowjv

Version:

Flow based approach to JSON validation!

32 lines (31 loc) 971 B
import { IJSONExpression } from "../.."; import { IKeyPath } from "../../helper/immutable"; import { ISimplePayload } from "./simple"; export interface IValidation<IData = {}, IContext = {}> { logic: IJSONExpression<IData, IContext>; err: string; } export interface IValidationResult { isValid: boolean; errors: { key: IKeyPath; msgs: string[]; }[]; payload: IPayload; } export interface IPayload<IData = any, IContext = any> { data: IData; context?: IContext; } export interface IFlowConfig { aggressive?: boolean; typeCheck?: boolean; normalize?: boolean; } export declare const ErrorMsgs: { required: string; type: string; }; export declare function executeValidation(validation: IValidation, payload: ISimplePayload): string | null; export declare function executeValidations(validations: IValidation[], payload: ISimplePayload): string[]; export declare function uniqueId(prefix?: string): string;