flowjv
Version:
Flow based approach to JSON validation!
15 lines (14 loc) • 787 B
TypeScript
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;