{"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/form/src/validators/index.ts"],"sourcesContent":["import { isString } from '../../../../utils/is'\nimport type { FormItemRule } from '../types'\nimport { REGEXPS } from './regExps'\nimport type { IREGEXPS } from './regExps'\n\nexport const replaceValidatorToFunction = (row: any) => {\n  if (isString(row.validator)) {\n    const validator: IREGEXPS = row.validator\n    const RE: RegExp = REGEXPS[validator]\n\n    const validatorFn = (rule: any, value: string, callback: Function) => {\n      if (RE) {\n        if (row.required) {\n          RE.test(value) ? callback() : callback(new Error(rule.message || '校验不通过'))\n        } else {\n          if (value) {\n            RE.test(value) ? callback() : callback(new Error(rule.message || '校验不通过'))\n          } else {\n            callback()\n          }\n        }\n      } else {\n        callback(\n          new Error('内置validator不存在！validator支持(email ｜ url | mobile | chinese | number)')\n        )\n      }\n    }\n    // 重写 validator\n    row.validator = validatorFn\n  }\n}\n\nexport const registerCustomValidator = (rules: FormItemRule[]) => {\n  rules.forEach((ruleItem) => {\n    replaceValidatorToFunction(ruleItem)\n  })\n}\n"],"names":[],"mappings":";;;AAKa,MAAA,0BAAA,GAA6B,CAAC,GAAa,KAAA;AACtD,EAAI,IAAA,QAAA,CAAS,GAAI,CAAA,SAAS,CAAG,EAAA;AAC3B,IAAA,MAAM,YAAsB,GAAI,CAAA,SAAA,CAAA;AAChC,IAAM,MAAA,EAAA,GAAa,QAAQ,SAAS,CAAA,CAAA;AAEpC,IAAA,MAAM,WAAc,GAAA,CAAC,IAAW,EAAA,KAAA,EAAe,QAAuB,KAAA;AACpE,MAAA,IAAI,EAAI,EAAA;AACN,QAAA,IAAI,IAAI,QAAU,EAAA;AAChB,UAAG,EAAA,CAAA,IAAA,CAAK,KAAK,CAAA,GAAI,QAAS,EAAA,GAAI,QAAS,CAAA,IAAI,KAAM,CAAA,IAAA,CAAK,OAAW,IAAA,gCAAO,CAAC,CAAA,CAAA;AAAA,SACpE,MAAA;AACL,UAAA,IAAI,KAAO,EAAA;AACT,YAAG,EAAA,CAAA,IAAA,CAAK,KAAK,CAAA,GAAI,QAAS,EAAA,GAAI,QAAS,CAAA,IAAI,KAAM,CAAA,IAAA,CAAK,OAAW,IAAA,gCAAO,CAAC,CAAA,CAAA;AAAA,WACpE,MAAA;AACL,YAAS,QAAA,EAAA,CAAA;AAAA,WACX;AAAA,SACF;AAAA,OACK,MAAA;AACL,QAAA,QAAA;AAAA,UACE,IAAI,MAAM,kHAAqE,CAAA;AAAA,SACjF,CAAA;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,GAAA,CAAI,SAAY,GAAA,WAAA,CAAA;AAAA,GAClB;AACF,EAAA;AAEa,MAAA,uBAAA,GAA0B,CAAC,KAA0B,KAAA;AAChE,EAAM,KAAA,CAAA,OAAA,CAAQ,CAAC,QAAa,KAAA;AAC1B,IAAA,0BAAA,CAA2B,QAAQ,CAAA,CAAA;AAAA,GACpC,CAAA,CAAA;AACH;;;;"}