UNPKG

jet-validators

Version:

A list common typescript validator-functions and some useful utilities to go with them.

39 lines 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isNullishUrl = exports.isNullableUrl = exports.isOptionalUrl = exports.isUrl = exports.isNullishAlphaNumericString = exports.isNullableAlphaNumericString = exports.isOptionalAlphaNumericString = exports.isAlphaNumericString = exports.isNullishAlphabeticString = exports.isNullableAlphabeticString = exports.isOptionalAlphabeticString = exports.isAlphabeticString = exports.isNullishEmail = exports.isNullableEmail = exports.isOptionalEmail = exports.isEmail = exports.isNullishColor = exports.isNullableColor = exports.isOptionalColor = exports.isColor = void 0; const basic_1 = require("./basic"); const common_1 = require("./common"); const DEFAULTS = { EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/, COLOR: /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/, ALPHABETIC: /^[a-zA-Z]*$/, ALPHA_NUMERIC: /^[a-zA-Z0-9]*$/, URL: /^((https?|ftp|smtp):\/\/)?(www.)?[a-z0-9]+(\.[a-z]{2,}){1,3}(#?\/?[a-zA-Z0-9#]+)*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/, }; exports.isColor = _matchesRegex('COLOR'); exports.isOptionalColor = (0, common_1.orOptional)(exports.isColor); exports.isNullableColor = (0, common_1.orNullable)(exports.isColor); exports.isNullishColor = (0, common_1.orNullable)(exports.isOptionalColor); exports.isEmail = _matchesRegex('EMAIL'); exports.isOptionalEmail = (0, common_1.orOptional)(exports.isEmail); exports.isNullableEmail = (0, common_1.orNullable)(exports.isEmail); exports.isNullishEmail = (0, common_1.orNullable)(exports.isOptionalEmail); exports.isAlphabeticString = _matchesRegex('ALPHABETIC'); exports.isOptionalAlphabeticString = (0, common_1.orOptional)(exports.isAlphabeticString); exports.isNullableAlphabeticString = (0, common_1.orNullable)(exports.isAlphabeticString); exports.isNullishAlphabeticString = (0, common_1.orNullable)(exports.isOptionalAlphabeticString); exports.isAlphaNumericString = _matchesRegex('ALPHA_NUMERIC'); exports.isOptionalAlphaNumericString = (0, common_1.orOptional)(exports.isAlphaNumericString); exports.isNullableAlphaNumericString = (0, common_1.orNullable)(exports.isAlphaNumericString); exports.isNullishAlphaNumericString = (0, common_1.orNullable)(exports.isOptionalAlphaNumericString); exports.isUrl = _matchesRegex('URL'); exports.isOptionalUrl = (0, common_1.orOptional)(exports.isUrl); exports.isNullableUrl = (0, common_1.orNullable)(exports.isUrl); exports.isNullishUrl = (0, common_1.orNullable)(exports.isOptionalUrl); function _matchesRegex(name) { const envVar = process.env['JET_VALIDATORS_REGEX_' + name], rgx = !!envVar ? new RegExp(envVar) : DEFAULTS[name]; return (arg) => { return ((0, basic_1.isString)(arg) && (arg === '' || rgx.test(arg))); }; } //# sourceMappingURL=regexes.js.map