UNPKG

@grafana/ui

Version:
1 lines 1.97 kB
{"version":3,"file":"validate.mjs","sources":["../../../src/utils/validate.ts"],"sourcesContent":["import { ValidationRule, ValidationEvents } from '../types/input';\n\nexport enum EventsWithValidation {\n onBlur = 'onBlur',\n onFocus = 'onFocus',\n onChange = 'onChange',\n}\n\nexport const validate = (value: string, validationRules: ValidationRule[]) => {\n const errors = validationRules.reduce<string[]>((acc, currRule) => {\n if (!currRule.rule(value)) {\n return acc.concat(currRule.errorMessage);\n }\n return acc;\n }, []);\n return errors.length > 0 ? errors : null;\n};\n\nexport const hasValidationEvent = (event: EventsWithValidation, validationEvents: ValidationEvents | undefined) => {\n return validationEvents && validationEvents[event];\n};\n\nexport const regexValidation = (pattern: string | RegExp, errorMessage?: string): ValidationRule => {\n return {\n rule: (valueToValidate: string) => {\n return !!valueToValidate.match(pattern);\n },\n errorMessage: errorMessage || 'Value is not valid',\n };\n};\n"],"names":["EventsWithValidation"],"mappings":"AAEY,IAAA,oBAAA,qBAAAA,qBAAL,KAAA;AACL,EAAAA,sBAAA,QAAS,CAAA,GAAA,QAAA;AACT,EAAAA,sBAAA,SAAU,CAAA,GAAA,SAAA;AACV,EAAAA,sBAAA,UAAW,CAAA,GAAA,UAAA;AAHD,EAAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;AAMC,MAAA,QAAA,GAAW,CAAC,KAAA,EAAe,eAAsC,KAAA;AAC5E,EAAA,MAAM,MAAS,GAAA,eAAA,CAAgB,MAAiB,CAAA,CAAC,KAAK,QAAa,KAAA;AACjE,IAAA,IAAI,CAAC,QAAA,CAAS,IAAK,CAAA,KAAK,CAAG,EAAA;AACzB,MAAO,OAAA,GAAA,CAAI,MAAO,CAAA,QAAA,CAAS,YAAY,CAAA;AAAA;AAEzC,IAAO,OAAA,GAAA;AAAA,GACT,EAAG,EAAE,CAAA;AACL,EAAO,OAAA,MAAA,CAAO,MAAS,GAAA,CAAA,GAAI,MAAS,GAAA,IAAA;AACtC;AAEa,MAAA,kBAAA,GAAqB,CAAC,KAAA,EAA6B,gBAAmD,KAAA;AACjH,EAAO,OAAA,gBAAA,IAAoB,iBAAiB,KAAK,CAAA;AACnD;AAEa,MAAA,eAAA,GAAkB,CAAC,OAAA,EAA0B,YAA0C,KAAA;AAClG,EAAO,OAAA;AAAA,IACL,IAAA,EAAM,CAAC,eAA4B,KAAA;AACjC,MAAA,OAAO,CAAC,CAAC,eAAgB,CAAA,KAAA,CAAM,OAAO,CAAA;AAAA,KACxC;AAAA,IACA,cAAc,YAAgB,IAAA;AAAA,GAChC;AACF;;;;"}