import { rules } from './defineRule'; type SecondParamType = T extends (p1: any, p2: infer P) => any ? P : boolean; type ParamsType = { [Key in keyof typeof rules]?: SecondParamType; }; export interface Rules extends ParamsType { /** * 必填 */ required: boolean; /** * 同步的自定义验证方法, 返回字符串,false, 抛出错误对象,reject错误对象队徽展示 * @param value * @param formValues */ verify?: (value: any, formValues: TValue) => boolean | string | Promise; /** * 异步自定义验证方法只要在handleBlur,handleSubmit 手动验证时会触发 * @param value * @param formValues */ asyncValidate?: (value: any, formValues: TValue) => any | Promise; } export type RuleExpression = string | Partial | undefined; export {};