jet-validators
Version:
A list common typescript validator-functions and some useful utilities to go with them.
39 lines • 2.77 kB
JavaScript
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
;