UNPKG

flowjv

Version:

Flow based approach to JSON validation!

15 lines (14 loc) 787 B
import { IFlowConfig, IPayload, IValidationResult } from "../helper"; import { IKeyPath } from "../../../helper/immutable"; import { IObjectPropertyAndCondition } from "../composite/object"; import { IJSONExpression } from "../../../jsonexpression"; export declare type IIfConditionType<IData = {}, IContext = {}, A = {}, B = {}, C = {}, D = {}, E = {}, F = {}> = { type: "if"; cond: IJSONExpression<IData, IContext>; true: IObjectPropertyAndCondition<IData, IContext, A, B, C, D, E, F>[]; false?: IObjectPropertyAndCondition<IData, IContext, A, B, C, D, E, F>[]; }; export declare type IIfPayload = IPayload & { refPath: IKeyPath; }; export declare function validateIfCondition(schema: IIfConditionType, payload: IIfPayload, config: IFlowConfig): IValidationResult;