UNPKG

typescript-checker

Version:

Powerful data validation library enabling type safety

28 lines (27 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EMail = exports.IsUUID = exports.Between = exports.Max = exports.Min = exports.MaxLength = exports.MinLength = void 0; var common_1 = require("./common"); var MinLength = function (minLength) { return function (value) { return value.length >= minLength ? [null, value] : [["expected minimum string length " + minLength]]; }; }; exports.MinLength = MinLength; var MaxLength = function (maxLength) { return function (value) { return value.length <= maxLength ? [null, value] : [["expected maximum string length " + maxLength]]; }; }; exports.MaxLength = MaxLength; var Min = function (min) { return function (value) { return value >= min ? [null, value] : [["expected number >= " + min + ", found " + value]]; }; }; exports.Min = Min; var Max = function (max) { return function (value) { return value <= max ? [null, value] : [["expected number <= " + max + ", found " + value]]; }; }; exports.Max = Max; var Between = function (min, max) { return function (value) { return value >= min && value <= max ? [null, value] : [["expected number between " + min + " and " + max + ", found " + value]]; }; }; exports.Between = Between; exports.IsUUID = (0, common_1.TypeMatches)("UUID", /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i); // opinionated validators exports.EMail = (0, common_1.TypeMatches)("email", /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);