Socket
Socket
Sign inDemoInstall

validator

Package Overview
Dependencies
Maintainers
1
Versions
211
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

validator - npm Package Compare versions

Comparing version 10.8.0 to 10.9.0

16

CHANGELOG.md

@@ -0,1 +1,17 @@

#### 10.9.0
- Added an option to `isURL()` to reject email-like URLs
([#901](https://github.com/chriso/validator.js/pull/901))
- Added a `strict` option to `isISO8601()`
([#910](https://github.com/chriso/validator.js/pull/910))
- Relaxed `isJWT()` signature requirements
([#906](https://github.com/chriso/validator.js/pull/906))
- New and improved locales
([#899](https://github.com/chriso/validator.js/pull/899),
[#904](https://github.com/chriso/validator.js/pull/904),
[#913](https://github.com/chriso/validator.js/pull/913),
[#916](https://github.com/chriso/validator.js/pull/916),
[#925](https://github.com/chriso/validator.js/pull/925),
[#928](https://github.com/chriso/validator.js/pull/928))
#### 10.8.0

@@ -2,0 +18,0 @@

450

index.js

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,382 +6,238 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = void 0;
var _toDate = require('./lib/toDate');
var _toDate = _interopRequireDefault(require("./lib/toDate"));
var _toDate2 = _interopRequireDefault(_toDate);
var _toFloat = _interopRequireDefault(require("./lib/toFloat"));
var _toFloat = require('./lib/toFloat');
var _toInt = _interopRequireDefault(require("./lib/toInt"));
var _toFloat2 = _interopRequireDefault(_toFloat);
var _toBoolean = _interopRequireDefault(require("./lib/toBoolean"));
var _toInt = require('./lib/toInt');
var _equals = _interopRequireDefault(require("./lib/equals"));
var _toInt2 = _interopRequireDefault(_toInt);
var _contains = _interopRequireDefault(require("./lib/contains"));
var _toBoolean = require('./lib/toBoolean');
var _matches = _interopRequireDefault(require("./lib/matches"));
var _toBoolean2 = _interopRequireDefault(_toBoolean);
var _isEmail = _interopRequireDefault(require("./lib/isEmail"));
var _equals = require('./lib/equals');
var _isURL = _interopRequireDefault(require("./lib/isURL"));
var _equals2 = _interopRequireDefault(_equals);
var _isMACAddress = _interopRequireDefault(require("./lib/isMACAddress"));
var _contains = require('./lib/contains');
var _isIP = _interopRequireDefault(require("./lib/isIP"));
var _contains2 = _interopRequireDefault(_contains);
var _isIPRange = _interopRequireDefault(require("./lib/isIPRange"));
var _matches = require('./lib/matches');
var _isFQDN = _interopRequireDefault(require("./lib/isFQDN"));
var _matches2 = _interopRequireDefault(_matches);
var _isBoolean = _interopRequireDefault(require("./lib/isBoolean"));
var _isEmail = require('./lib/isEmail');
var _isAlpha = _interopRequireWildcard(require("./lib/isAlpha"));
var _isEmail2 = _interopRequireDefault(_isEmail);
var _isAlphanumeric = _interopRequireWildcard(require("./lib/isAlphanumeric"));
var _isURL = require('./lib/isURL');
var _isNumeric = _interopRequireDefault(require("./lib/isNumeric"));
var _isURL2 = _interopRequireDefault(_isURL);
var _isPort = _interopRequireDefault(require("./lib/isPort"));
var _isMACAddress = require('./lib/isMACAddress');
var _isLowercase = _interopRequireDefault(require("./lib/isLowercase"));
var _isMACAddress2 = _interopRequireDefault(_isMACAddress);
var _isUppercase = _interopRequireDefault(require("./lib/isUppercase"));
var _isIP = require('./lib/isIP');
var _isAscii = _interopRequireDefault(require("./lib/isAscii"));
var _isIP2 = _interopRequireDefault(_isIP);
var _isFullWidth = _interopRequireDefault(require("./lib/isFullWidth"));
var _isIPRange = require('./lib/isIPRange');
var _isHalfWidth = _interopRequireDefault(require("./lib/isHalfWidth"));
var _isIPRange2 = _interopRequireDefault(_isIPRange);
var _isVariableWidth = _interopRequireDefault(require("./lib/isVariableWidth"));
var _isFQDN = require('./lib/isFQDN');
var _isMultibyte = _interopRequireDefault(require("./lib/isMultibyte"));
var _isFQDN2 = _interopRequireDefault(_isFQDN);
var _isSurrogatePair = _interopRequireDefault(require("./lib/isSurrogatePair"));
var _isBoolean = require('./lib/isBoolean');
var _isInt = _interopRequireDefault(require("./lib/isInt"));
var _isBoolean2 = _interopRequireDefault(_isBoolean);
var _isFloat = _interopRequireWildcard(require("./lib/isFloat"));
var _isAlpha = require('./lib/isAlpha');
var _isDecimal = _interopRequireDefault(require("./lib/isDecimal"));
var _isAlpha2 = _interopRequireDefault(_isAlpha);
var _isHexadecimal = _interopRequireDefault(require("./lib/isHexadecimal"));
var _isAlphanumeric = require('./lib/isAlphanumeric');
var _isDivisibleBy = _interopRequireDefault(require("./lib/isDivisibleBy"));
var _isAlphanumeric2 = _interopRequireDefault(_isAlphanumeric);
var _isHexColor = _interopRequireDefault(require("./lib/isHexColor"));
var _isNumeric = require('./lib/isNumeric');
var _isISRC = _interopRequireDefault(require("./lib/isISRC"));
var _isNumeric2 = _interopRequireDefault(_isNumeric);
var _isMD = _interopRequireDefault(require("./lib/isMD5"));
var _isPort = require('./lib/isPort');
var _isHash = _interopRequireDefault(require("./lib/isHash"));
var _isPort2 = _interopRequireDefault(_isPort);
var _isJWT = _interopRequireDefault(require("./lib/isJWT"));
var _isLowercase = require('./lib/isLowercase');
var _isJSON = _interopRequireDefault(require("./lib/isJSON"));
var _isLowercase2 = _interopRequireDefault(_isLowercase);
var _isEmpty = _interopRequireDefault(require("./lib/isEmpty"));
var _isUppercase = require('./lib/isUppercase');
var _isLength = _interopRequireDefault(require("./lib/isLength"));
var _isUppercase2 = _interopRequireDefault(_isUppercase);
var _isByteLength = _interopRequireDefault(require("./lib/isByteLength"));
var _isAscii = require('./lib/isAscii');
var _isUUID = _interopRequireDefault(require("./lib/isUUID"));
var _isAscii2 = _interopRequireDefault(_isAscii);
var _isMongoId = _interopRequireDefault(require("./lib/isMongoId"));
var _isFullWidth = require('./lib/isFullWidth');
var _isAfter = _interopRequireDefault(require("./lib/isAfter"));
var _isFullWidth2 = _interopRequireDefault(_isFullWidth);
var _isBefore = _interopRequireDefault(require("./lib/isBefore"));
var _isHalfWidth = require('./lib/isHalfWidth');
var _isIn = _interopRequireDefault(require("./lib/isIn"));
var _isHalfWidth2 = _interopRequireDefault(_isHalfWidth);
var _isCreditCard = _interopRequireDefault(require("./lib/isCreditCard"));
var _isVariableWidth = require('./lib/isVariableWidth');
var _isIdentityCard = _interopRequireDefault(require("./lib/isIdentityCard"));
var _isVariableWidth2 = _interopRequireDefault(_isVariableWidth);
var _isISIN = _interopRequireDefault(require("./lib/isISIN"));
var _isMultibyte = require('./lib/isMultibyte');
var _isISBN = _interopRequireDefault(require("./lib/isISBN"));
var _isMultibyte2 = _interopRequireDefault(_isMultibyte);
var _isISSN = _interopRequireDefault(require("./lib/isISSN"));
var _isSurrogatePair = require('./lib/isSurrogatePair');
var _isMobilePhone = _interopRequireWildcard(require("./lib/isMobilePhone"));
var _isSurrogatePair2 = _interopRequireDefault(_isSurrogatePair);
var _isCurrency = _interopRequireDefault(require("./lib/isCurrency"));
var _isInt = require('./lib/isInt');
var _isISO = _interopRequireDefault(require("./lib/isISO8601"));
var _isInt2 = _interopRequireDefault(_isInt);
var _isRFC = _interopRequireDefault(require("./lib/isRFC3339"));
var _isFloat = require('./lib/isFloat');
var _isISO31661Alpha = _interopRequireDefault(require("./lib/isISO31661Alpha2"));
var _isFloat2 = _interopRequireDefault(_isFloat);
var _isISO31661Alpha2 = _interopRequireDefault(require("./lib/isISO31661Alpha3"));
var _isDecimal = require('./lib/isDecimal');
var _isBase = _interopRequireDefault(require("./lib/isBase64"));
var _isDecimal2 = _interopRequireDefault(_isDecimal);
var _isDataURI = _interopRequireDefault(require("./lib/isDataURI"));
var _isHexadecimal = require('./lib/isHexadecimal');
var _isMagnetURI = _interopRequireDefault(require("./lib/isMagnetURI"));
var _isHexadecimal2 = _interopRequireDefault(_isHexadecimal);
var _isMimeType = _interopRequireDefault(require("./lib/isMimeType"));
var _isDivisibleBy = require('./lib/isDivisibleBy');
var _isLatLong = _interopRequireDefault(require("./lib/isLatLong"));
var _isDivisibleBy2 = _interopRequireDefault(_isDivisibleBy);
var _isPostalCode = _interopRequireWildcard(require("./lib/isPostalCode"));
var _isHexColor = require('./lib/isHexColor');
var _ltrim = _interopRequireDefault(require("./lib/ltrim"));
var _isHexColor2 = _interopRequireDefault(_isHexColor);
var _rtrim = _interopRequireDefault(require("./lib/rtrim"));
var _isISRC = require('./lib/isISRC');
var _trim = _interopRequireDefault(require("./lib/trim"));
var _isISRC2 = _interopRequireDefault(_isISRC);
var _escape = _interopRequireDefault(require("./lib/escape"));
var _isMD = require('./lib/isMD5');
var _unescape = _interopRequireDefault(require("./lib/unescape"));
var _isMD2 = _interopRequireDefault(_isMD);
var _stripLow = _interopRequireDefault(require("./lib/stripLow"));
var _isHash = require('./lib/isHash');
var _whitelist = _interopRequireDefault(require("./lib/whitelist"));
var _isHash2 = _interopRequireDefault(_isHash);
var _blacklist = _interopRequireDefault(require("./lib/blacklist"));
var _isJWT = require('./lib/isJWT');
var _isWhitelisted = _interopRequireDefault(require("./lib/isWhitelisted"));
var _isJWT2 = _interopRequireDefault(_isJWT);
var _normalizeEmail = _interopRequireDefault(require("./lib/normalizeEmail"));
var _isJSON = require('./lib/isJSON');
var _toString = _interopRequireDefault(require("./lib/util/toString"));
var _isJSON2 = _interopRequireDefault(_isJSON);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
var _isEmpty = require('./lib/isEmpty');
var _isEmpty2 = _interopRequireDefault(_isEmpty);
var _isLength = require('./lib/isLength');
var _isLength2 = _interopRequireDefault(_isLength);
var _isByteLength = require('./lib/isByteLength');
var _isByteLength2 = _interopRequireDefault(_isByteLength);
var _isUUID = require('./lib/isUUID');
var _isUUID2 = _interopRequireDefault(_isUUID);
var _isMongoId = require('./lib/isMongoId');
var _isMongoId2 = _interopRequireDefault(_isMongoId);
var _isAfter = require('./lib/isAfter');
var _isAfter2 = _interopRequireDefault(_isAfter);
var _isBefore = require('./lib/isBefore');
var _isBefore2 = _interopRequireDefault(_isBefore);
var _isIn = require('./lib/isIn');
var _isIn2 = _interopRequireDefault(_isIn);
var _isCreditCard = require('./lib/isCreditCard');
var _isCreditCard2 = _interopRequireDefault(_isCreditCard);
var _isIdentityCard = require('./lib/isIdentityCard');
var _isIdentityCard2 = _interopRequireDefault(_isIdentityCard);
var _isISIN = require('./lib/isISIN');
var _isISIN2 = _interopRequireDefault(_isISIN);
var _isISBN = require('./lib/isISBN');
var _isISBN2 = _interopRequireDefault(_isISBN);
var _isISSN = require('./lib/isISSN');
var _isISSN2 = _interopRequireDefault(_isISSN);
var _isMobilePhone = require('./lib/isMobilePhone');
var _isMobilePhone2 = _interopRequireDefault(_isMobilePhone);
var _isCurrency = require('./lib/isCurrency');
var _isCurrency2 = _interopRequireDefault(_isCurrency);
var _isISO = require('./lib/isISO8601');
var _isISO2 = _interopRequireDefault(_isISO);
var _isRFC = require('./lib/isRFC3339');
var _isRFC2 = _interopRequireDefault(_isRFC);
var _isISO31661Alpha = require('./lib/isISO31661Alpha2');
var _isISO31661Alpha2 = _interopRequireDefault(_isISO31661Alpha);
var _isISO31661Alpha3 = require('./lib/isISO31661Alpha3');
var _isISO31661Alpha4 = _interopRequireDefault(_isISO31661Alpha3);
var _isBase = require('./lib/isBase64');
var _isBase2 = _interopRequireDefault(_isBase);
var _isDataURI = require('./lib/isDataURI');
var _isDataURI2 = _interopRequireDefault(_isDataURI);
var _isMagnetURI = require('./lib/isMagnetURI');
var _isMagnetURI2 = _interopRequireDefault(_isMagnetURI);
var _isMimeType = require('./lib/isMimeType');
var _isMimeType2 = _interopRequireDefault(_isMimeType);
var _isLatLong = require('./lib/isLatLong');
var _isLatLong2 = _interopRequireDefault(_isLatLong);
var _isPostalCode = require('./lib/isPostalCode');
var _isPostalCode2 = _interopRequireDefault(_isPostalCode);
var _ltrim = require('./lib/ltrim');
var _ltrim2 = _interopRequireDefault(_ltrim);
var _rtrim = require('./lib/rtrim');
var _rtrim2 = _interopRequireDefault(_rtrim);
var _trim = require('./lib/trim');
var _trim2 = _interopRequireDefault(_trim);
var _escape = require('./lib/escape');
var _escape2 = _interopRequireDefault(_escape);
var _unescape = require('./lib/unescape');
var _unescape2 = _interopRequireDefault(_unescape);
var _stripLow = require('./lib/stripLow');
var _stripLow2 = _interopRequireDefault(_stripLow);
var _whitelist = require('./lib/whitelist');
var _whitelist2 = _interopRequireDefault(_whitelist);
var _blacklist = require('./lib/blacklist');
var _blacklist2 = _interopRequireDefault(_blacklist);
var _isWhitelisted = require('./lib/isWhitelisted');
var _isWhitelisted2 = _interopRequireDefault(_isWhitelisted);
var _normalizeEmail = require('./lib/normalizeEmail');
var _normalizeEmail2 = _interopRequireDefault(_normalizeEmail);
var _toString = require('./lib/util/toString');
var _toString2 = _interopRequireDefault(_toString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var version = '10.8.0';
var version = '10.9.0';
var validator = {
version: version,
toDate: _toDate2.default,
toFloat: _toFloat2.default,
toInt: _toInt2.default,
toBoolean: _toBoolean2.default,
equals: _equals2.default,
contains: _contains2.default,
matches: _matches2.default,
isEmail: _isEmail2.default,
isURL: _isURL2.default,
isMACAddress: _isMACAddress2.default,
isIP: _isIP2.default,
isIPRange: _isIPRange2.default,
isFQDN: _isFQDN2.default,
isBoolean: _isBoolean2.default,
isAlpha: _isAlpha2.default,
toDate: _toDate.default,
toFloat: _toFloat.default,
toInt: _toInt.default,
toBoolean: _toBoolean.default,
equals: _equals.default,
contains: _contains.default,
matches: _matches.default,
isEmail: _isEmail.default,
isURL: _isURL.default,
isMACAddress: _isMACAddress.default,
isIP: _isIP.default,
isIPRange: _isIPRange.default,
isFQDN: _isFQDN.default,
isBoolean: _isBoolean.default,
isAlpha: _isAlpha.default,
isAlphaLocales: _isAlpha.locales,
isAlphanumeric: _isAlphanumeric2.default,
isAlphanumeric: _isAlphanumeric.default,
isAlphanumericLocales: _isAlphanumeric.locales,
isNumeric: _isNumeric2.default,
isPort: _isPort2.default,
isLowercase: _isLowercase2.default,
isUppercase: _isUppercase2.default,
isAscii: _isAscii2.default,
isFullWidth: _isFullWidth2.default,
isHalfWidth: _isHalfWidth2.default,
isVariableWidth: _isVariableWidth2.default,
isMultibyte: _isMultibyte2.default,
isSurrogatePair: _isSurrogatePair2.default,
isInt: _isInt2.default,
isFloat: _isFloat2.default,
isNumeric: _isNumeric.default,
isPort: _isPort.default,
isLowercase: _isLowercase.default,
isUppercase: _isUppercase.default,
isAscii: _isAscii.default,
isFullWidth: _isFullWidth.default,
isHalfWidth: _isHalfWidth.default,
isVariableWidth: _isVariableWidth.default,
isMultibyte: _isMultibyte.default,
isSurrogatePair: _isSurrogatePair.default,
isInt: _isInt.default,
isFloat: _isFloat.default,
isFloatLocales: _isFloat.locales,
isDecimal: _isDecimal2.default,
isHexadecimal: _isHexadecimal2.default,
isDivisibleBy: _isDivisibleBy2.default,
isHexColor: _isHexColor2.default,
isISRC: _isISRC2.default,
isMD5: _isMD2.default,
isHash: _isHash2.default,
isJWT: _isJWT2.default,
isJSON: _isJSON2.default,
isEmpty: _isEmpty2.default,
isLength: _isLength2.default,
isByteLength: _isByteLength2.default,
isUUID: _isUUID2.default,
isMongoId: _isMongoId2.default,
isAfter: _isAfter2.default,
isBefore: _isBefore2.default,
isIn: _isIn2.default,
isCreditCard: _isCreditCard2.default,
isIdentityCard: _isIdentityCard2.default,
isISIN: _isISIN2.default,
isISBN: _isISBN2.default,
isISSN: _isISSN2.default,
isMobilePhone: _isMobilePhone2.default,
isDecimal: _isDecimal.default,
isHexadecimal: _isHexadecimal.default,
isDivisibleBy: _isDivisibleBy.default,
isHexColor: _isHexColor.default,
isISRC: _isISRC.default,
isMD5: _isMD.default,
isHash: _isHash.default,
isJWT: _isJWT.default,
isJSON: _isJSON.default,
isEmpty: _isEmpty.default,
isLength: _isLength.default,
isByteLength: _isByteLength.default,
isUUID: _isUUID.default,
isMongoId: _isMongoId.default,
isAfter: _isAfter.default,
isBefore: _isBefore.default,
isIn: _isIn.default,
isCreditCard: _isCreditCard.default,
isIdentityCard: _isIdentityCard.default,
isISIN: _isISIN.default,
isISBN: _isISBN.default,
isISSN: _isISSN.default,
isMobilePhone: _isMobilePhone.default,
isMobilePhoneLocales: _isMobilePhone.locales,
isPostalCode: _isPostalCode2.default,
isPostalCode: _isPostalCode.default,
isPostalCodeLocales: _isPostalCode.locales,
isCurrency: _isCurrency2.default,
isISO8601: _isISO2.default,
isRFC3339: _isRFC2.default,
isISO31661Alpha2: _isISO31661Alpha2.default,
isISO31661Alpha3: _isISO31661Alpha4.default,
isBase64: _isBase2.default,
isDataURI: _isDataURI2.default,
isMagnetURI: _isMagnetURI2.default,
isMimeType: _isMimeType2.default,
isLatLong: _isLatLong2.default,
ltrim: _ltrim2.default,
rtrim: _rtrim2.default,
trim: _trim2.default,
escape: _escape2.default,
unescape: _unescape2.default,
stripLow: _stripLow2.default,
whitelist: _whitelist2.default,
blacklist: _blacklist2.default,
isWhitelisted: _isWhitelisted2.default,
normalizeEmail: _normalizeEmail2.default,
toString: _toString2.default
isCurrency: _isCurrency.default,
isISO8601: _isISO.default,
isRFC3339: _isRFC.default,
isISO31661Alpha2: _isISO31661Alpha.default,
isISO31661Alpha3: _isISO31661Alpha2.default,
isBase64: _isBase.default,
isDataURI: _isDataURI.default,
isMagnetURI: _isMagnetURI.default,
isMimeType: _isMimeType.default,
isLatLong: _isLatLong.default,
ltrim: _ltrim.default,
rtrim: _rtrim.default,
trim: _trim.default,
escape: _escape.default,
unescape: _unescape.default,
stripLow: _stripLow.default,
whitelist: _whitelist.default,
blacklist: _blacklist.default,
isWhitelisted: _isWhitelisted.default,
normalizeEmail: _normalizeEmail.default,
toString: _toString.default
};
exports.default = validator;
module.exports = exports['default'];
var _default = validator;
exports.default = _default;
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,3 +6,4 @@ Object.defineProperty(exports, "__esModule", {

});
var alpha = exports.alpha = {
exports.commaDecimal = exports.dotDecimal = exports.arabicLocales = exports.englishLocales = exports.decimal = exports.alphanumeric = exports.alpha = void 0;
var alpha = {
'en-US': /^[A-Z]+$/i,

@@ -34,4 +35,4 @@ 'bg-BG': /^[А-Я]+$/i,

};
var alphanumeric = exports.alphanumeric = {
exports.alpha = alpha;
var alphanumeric = {
'en-US': /^[0-9A-Z]+$/i,

@@ -63,31 +64,35 @@ 'bg-BG': /^[0-9А-Я]+$/i,

};
var decimal = exports.decimal = {
exports.alphanumeric = alphanumeric;
var decimal = {
'en-US': '.',
ar: '٫'
};
exports.decimal = decimal;
var englishLocales = ['AU', 'GB', 'HK', 'IN', 'NZ', 'ZA', 'ZM'];
exports.englishLocales = englishLocales;
var englishLocales = exports.englishLocales = ['AU', 'GB', 'HK', 'IN', 'NZ', 'ZA', 'ZM'];
for (var locale, i = 0; i < englishLocales.length; i++) {
locale = 'en-' + englishLocales[i];
locale = "en-".concat(englishLocales[i]);
alpha[locale] = alpha['en-US'];
alphanumeric[locale] = alphanumeric['en-US'];
decimal[locale] = decimal['en-US'];
}
} // Source: http://www.localeplanet.com/java/
// Source: http://www.localeplanet.com/java/
var arabicLocales = exports.arabicLocales = ['AE', 'BH', 'DZ', 'EG', 'IQ', 'JO', 'KW', 'LB', 'LY', 'MA', 'QM', 'QA', 'SA', 'SD', 'SY', 'TN', 'YE'];
var arabicLocales = ['AE', 'BH', 'DZ', 'EG', 'IQ', 'JO', 'KW', 'LB', 'LY', 'MA', 'QM', 'QA', 'SA', 'SD', 'SY', 'TN', 'YE'];
exports.arabicLocales = arabicLocales;
for (var _locale, _i = 0; _i < arabicLocales.length; _i++) {
_locale = 'ar-' + arabicLocales[_i];
_locale = "ar-".concat(arabicLocales[_i]);
alpha[_locale] = alpha.ar;
alphanumeric[_locale] = alphanumeric.ar;
decimal[_locale] = decimal.ar;
}
} // Source: https://en.wikipedia.org/wiki/Decimal_mark
// Source: https://en.wikipedia.org/wiki/Decimal_mark
var dotDecimal = exports.dotDecimal = [];
var commaDecimal = exports.commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'es-ES', 'fr-FR', 'it-IT', 'ku-IQ', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA'];
var dotDecimal = [];
exports.dotDecimal = dotDecimal;
var commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'es-ES', 'fr-FR', 'it-IT', 'ku-IQ', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA'];
exports.commaDecimal = commaDecimal;
for (var _i2 = 0; _i2 < dotDecimal.length; _i2++) {

@@ -103,7 +108,6 @@ decimal[dotDecimal[_i2]] = decimal['en-US'];

alphanumeric['pt-BR'] = alphanumeric['pt-PT'];
decimal['pt-BR'] = decimal['pt-PT'];
decimal['pt-BR'] = decimal['pt-PT']; // see #862
// see #862
alpha['pl-Pl'] = alpha['pl-PL'];
alphanumeric['pl-Pl'] = alphanumeric['pl-PL'];
decimal['pl-Pl'] = decimal['pl-PL'];

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function blacklist(str, chars) {
(0, _assertString2.default)(str);
return str.replace(new RegExp('[' + chars + ']+', 'g'), '');
(0, _assertString.default)(str);
return str.replace(new RegExp("[".concat(chars, "]+"), 'g'), '');
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,16 +8,13 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _toString = _interopRequireDefault(require("./util/toString"));
var _toString = require('./util/toString');
var _toString2 = _interopRequireDefault(_toString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function contains(str, elem) {
(0, _assertString2.default)(str);
return str.indexOf((0, _toString2.default)(elem)) >= 0;
(0, _assertString.default)(str);
return str.indexOf((0, _toString.default)(elem)) >= 0;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function equals(str, comparison) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return str === comparison;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function escape(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return str.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\//g, '&#x2F;').replace(/\\/g, '&#x5C;').replace(/`/g, '&#96;');
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _toDate = _interopRequireDefault(require("./toDate"));
var _toDate = require('./toDate');
var _toDate2 = _interopRequireDefault(_toDate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -21,8 +17,8 @@

var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : String(new Date());
(0, _assertString2.default)(str);
var comparison = (0, _toDate2.default)(date);
var original = (0, _toDate2.default)(str);
(0, _assertString.default)(str);
var comparison = (0, _toDate.default)(date);
var original = (0, _toDate.default)(str);
return !!(original && comparison && original > comparison);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,11 +6,9 @@ Object.defineProperty(exports, "__esModule", {

});
exports.locales = undefined;
exports.default = isAlpha;
exports.locales = void 0;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _alpha = require("./alpha");
var _alpha = require('./alpha');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,10 +18,12 @@

var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';
(0, _assertString.default)(str);
(0, _assertString2.default)(str);
if (locale in _alpha.alpha) {
return _alpha.alpha[locale].test(str);
}
throw new Error('Invalid locale \'' + locale + '\'');
throw new Error("Invalid locale '".concat(locale, "'"));
}
var locales = exports.locales = Object.keys(_alpha.alpha);
var locales = Object.keys(_alpha.alpha);
exports.locales = locales;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,11 +6,9 @@ Object.defineProperty(exports, "__esModule", {

});
exports.locales = undefined;
exports.default = isAlphanumeric;
exports.locales = void 0;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _alpha = require("./alpha");
var _alpha = require('./alpha');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,10 +18,12 @@

var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';
(0, _assertString.default)(str);
(0, _assertString2.default)(str);
if (locale in _alpha.alphanumeric) {
return _alpha.alphanumeric[locale].test(str);
}
throw new Error('Invalid locale \'' + locale + '\'');
throw new Error("Invalid locale '".concat(locale, "'"));
}
var locales = exports.locales = Object.keys(_alpha.alphanumeric);
var locales = Object.keys(_alpha.alphanumeric);
exports.locales = locales;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,5 +18,6 @@

function isAscii(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return ascii.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,10 +16,13 @@

function isBase64(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var len = str.length;
if (!len || len % 4 !== 0 || notBase64.test(str)) {
return false;
}
var firstPaddingChar = str.indexOf('=');
return firstPaddingChar === -1 || firstPaddingChar === len - 1 || firstPaddingChar === len - 2 && str[len - 1] === '=';
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _toDate = _interopRequireDefault(require("./toDate"));
var _toDate = require('./toDate');
var _toDate2 = _interopRequireDefault(_toDate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -21,8 +17,8 @@

var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : String(new Date());
(0, _assertString2.default)(str);
var comparison = (0, _toDate2.default)(date);
var original = (0, _toDate2.default)(str);
(0, _assertString.default)(str);
var comparison = (0, _toDate.default)(date);
var original = (0, _toDate.default)(str);
return !!(original && comparison && original < comparison);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isBoolean(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return ['true', 'false', '1', '0'].indexOf(str) >= 0;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,19 +6,17 @@ Object.defineProperty(exports, "__esModule", {

});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.default = isByteLength;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
/* eslint-disable prefer-rest-params */
function isByteLength(str, options) {
(0, _assertString2.default)(str);
var min = void 0;
var max = void 0;
if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
(0, _assertString.default)(str);
var min;
var max;
if (_typeof(options) === 'object') {
min = options.min || 0;

@@ -31,5 +29,7 @@ max = options.max;

}
var len = encodeURI(str).split(/%..|./).length - 1;
return len >= min && (typeof max === 'undefined' || len <= max);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,16 +18,21 @@

function isCreditCard(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var sanitized = str.replace(/[- ]+/g, '');
if (!creditCard.test(sanitized)) {
return false;
}
var sum = 0;
var digit = void 0;
var tmpNum = void 0;
var shouldDouble = void 0;
var digit;
var tmpNum;
var shouldDouble;
for (var i = sanitized.length - 1; i >= 0; i--) {
digit = sanitized.substring(i, i + 1);
tmpNum = parseInt(digit, 10);
if (shouldDouble) {
tmpNum *= 2;
if (tmpNum >= 10) {

@@ -43,6 +46,9 @@ sum += tmpNum % 10 + 1;

}
shouldDouble = !shouldDouble;
}
return !!(sum % 10 === 0 ? sanitized : false);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,27 +8,22 @@ Object.defineProperty(exports, "__esModule", {

var _merge = require('./util/merge');
var _merge = _interopRequireDefault(require("./util/merge"));
var _merge2 = _interopRequireDefault(_merge);
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString = require('./util/assertString');
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function currencyRegex(options) {
var decimal_digits = '\\d{' + options.digits_after_decimal[0] + '}';
var decimal_digits = "\\d{".concat(options.digits_after_decimal[0], "}");
options.digits_after_decimal.forEach(function (digit, index) {
if (index !== 0) decimal_digits = decimal_digits + '|\\d{' + digit + '}';
if (index !== 0) decimal_digits = "".concat(decimal_digits, "|\\d{").concat(digit, "}");
});
var symbol = '(\\' + options.symbol.replace(/\./g, '\\.') + ')' + (options.require_symbol ? '' : '?'),
var symbol = "(\\".concat(options.symbol.replace(/\./g, '\\.'), ")").concat(options.require_symbol ? '' : '?'),
negative = '-?',
whole_dollar_amount_without_sep = '[1-9]\\d*',
whole_dollar_amount_with_sep = '[1-9]\\d{0,2}(\\' + options.thousands_separator + '\\d{3})*',
whole_dollar_amount_with_sep = "[1-9]\\d{0,2}(\\".concat(options.thousands_separator, "\\d{3})*"),
valid_whole_dollar_amounts = ['0', whole_dollar_amount_without_sep, whole_dollar_amount_with_sep],
whole_dollar_amount = '(' + valid_whole_dollar_amounts.join('|') + ')?',
decimal_amount = '(\\' + options.decimal_separator + '(' + decimal_digits + '))' + (options.require_decimal ? '' : '?');
var pattern = whole_dollar_amount + (options.allow_decimal || options.require_decimal ? decimal_amount : '');
whole_dollar_amount = "(".concat(valid_whole_dollar_amounts.join('|'), ")?"),
decimal_amount = "(\\".concat(options.decimal_separator, "(").concat(decimal_digits, "))").concat(options.require_decimal ? '' : '?');
var pattern = whole_dollar_amount + (options.allow_decimal || options.require_decimal ? decimal_amount : ''); // default is negative sign before symbol, but there are two other options (besides parens)
// default is negative sign before symbol, but there are two other options (besides parens)
if (options.allow_negatives && !options.parens_for_negatives) {

@@ -40,9 +35,9 @@ if (options.negative_sign_after_digits) {

}
}
} // South African Rand, for example, uses R 123 (space) and R-123 (no space)
// South African Rand, for example, uses R 123 (space) and R-123 (no space)
if (options.allow_negative_sign_placeholder) {
pattern = '( (?!\\-))?' + pattern;
pattern = "( (?!\\-))?".concat(pattern);
} else if (options.allow_space_after_symbol) {
pattern = ' ?' + pattern;
pattern = " ?".concat(pattern);
} else if (options.allow_space_after_digits) {

@@ -60,11 +55,11 @@ pattern += '( (?!$))?';

if (options.parens_for_negatives) {
pattern = '(\\(' + pattern + '\\)|' + pattern + ')';
pattern = "(\\(".concat(pattern, "\\)|").concat(pattern, ")");
} else if (!(options.negative_sign_before_digits || options.negative_sign_after_digits)) {
pattern = negative + pattern;
}
}
} // ensure there's a dollar and/or decimal amount, and that
// it doesn't start with a space or a negative sign followed by a space
// ensure there's a dollar and/or decimal amount, and that
// it doesn't start with a space or a negative sign followed by a space
return new RegExp('^(?!-? )(?=.*\\d)' + pattern + '$');
return new RegExp("^(?!-? )(?=.*\\d)".concat(pattern, "$"));
}

@@ -91,6 +86,7 @@

function isCurrency(str, options) {
(0, _assertString2.default)(str);
options = (0, _merge2.default)(options, default_currency_options);
(0, _assertString.default)(str);
options = (0, _merge.default)(options, default_currency_options);
return currencyRegex(options).test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,32 +8,33 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var validMediaType = /^[a-z]+\/[a-z0-9\-\+]+$/i;
var validAttribute = /^[a-z\-]+=[a-z0-9\-]+$/i;
var validData = /^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;
function isDataURI(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var data = str.split(',');
if (data.length < 2) {
return false;
}
var attributes = data.shift().trim().split(';');
var schemeAndMediaType = attributes.shift();
if (schemeAndMediaType.substr(0, 5) !== 'data:') {
return false;
}
var mediaType = schemeAndMediaType.substr(5);
if (mediaType !== '' && !validMediaType.test(mediaType)) {
return false;
}
for (var i = 0; i < attributes.length; i++) {
if (i === attributes.length - 1 && attributes[i].toLowerCase() === 'base64') {
// ok
if (i === attributes.length - 1 && attributes[i].toLowerCase() === 'base64') {// ok
} else if (!validAttribute.test(attributes[i])) {

@@ -43,2 +44,3 @@ return false;

}
for (var _i = 0; _i < data.length; _i++) {

@@ -49,4 +51,6 @@ if (!validData.test(data[_i])) {

}
return true;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,20 +8,14 @@ Object.defineProperty(exports, "__esModule", {

var _merge = require('./util/merge');
var _merge = _interopRequireDefault(require("./util/merge"));
var _merge2 = _interopRequireDefault(_merge);
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString = require('./util/assertString');
var _includes = _interopRequireDefault(require("./util/includes"));
var _assertString2 = _interopRequireDefault(_assertString);
var _alpha = require("./alpha");
var _includes = require('./util/includes');
var _includes2 = _interopRequireDefault(_includes);
var _alpha = require('./alpha');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function decimalRegExp(options) {
var regExp = new RegExp('^[-+]?([0-9]+)?(\\' + _alpha.decimal[options.locale] + '[0-9]{' + options.decimal_digits + '})' + (options.force_decimal ? '' : '?') + '$');
var regExp = new RegExp("^[-+]?([0-9]+)?(\\".concat(_alpha.decimal[options.locale], "[0-9]{").concat(options.decimal_digits, "})").concat(options.force_decimal ? '' : '?', "$"));
return regExp;

@@ -35,13 +29,15 @@ }

};
var blacklist = ['', '-', '+'];
function isDecimal(str, options) {
(0, _assertString2.default)(str);
options = (0, _merge2.default)(options, default_decimal_options);
(0, _assertString.default)(str);
options = (0, _merge.default)(options, default_decimal_options);
if (options.locale in _alpha.decimal) {
return !(0, _includes2.default)(blacklist, str.replace(/ /g, '')) && decimalRegExp(options).test(str);
return !(0, _includes.default)(blacklist, str.replace(/ /g, '')) && decimalRegExp(options).test(str);
}
throw new Error('Invalid locale \'' + options.locale + '\'');
throw new Error("Invalid locale '".concat(options.locale, "'"));
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,16 +8,13 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _toFloat = _interopRequireDefault(require("./toFloat"));
var _toFloat = require('./toFloat');
var _toFloat2 = _interopRequireDefault(_toFloat);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isDivisibleBy(str, num) {
(0, _assertString2.default)(str);
return (0, _toFloat2.default)(str) % parseInt(num, 10) === 0;
(0, _assertString.default)(str);
return (0, _toFloat.default)(str) % parseInt(num, 10) === 0;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,22 +8,12 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _merge = _interopRequireDefault(require("./util/merge"));
var _merge = require('./util/merge');
var _isByteLength = _interopRequireDefault(require("./isByteLength"));
var _merge2 = _interopRequireDefault(_merge);
var _isFQDN = _interopRequireDefault(require("./isFQDN"));
var _isByteLength = require('./isByteLength');
var _isIP = _interopRequireDefault(require("./isIP"));
var _isByteLength2 = _interopRequireDefault(_isByteLength);
var _isFQDN = require('./isFQDN');
var _isFQDN2 = _interopRequireDefault(_isFQDN);
var _isIP = require('./isIP');
var _isIP2 = _interopRequireDefault(_isIP);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -37,5 +27,6 @@

};
/* eslint-disable max-len */
/* eslint-disable max-len */
/* eslint-disable no-control-regex */
var displayName = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\,\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i;

@@ -48,10 +39,12 @@ var emailUserPart = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i;

/* eslint-enable max-len */
/* eslint-enable no-control-regex */
function isEmail(str, options) {
(0, _assertString2.default)(str);
options = (0, _merge2.default)(options, default_email_options);
(0, _assertString.default)(str);
options = (0, _merge.default)(options, default_email_options);
if (options.require_display_name || options.allow_display_name) {
var display_email = str.match(displayName);
if (display_email) {

@@ -67,3 +60,2 @@ str = display_email[1];

var user = parts.join('@');
var lower_domain = domain.toLowerCase();

@@ -79,9 +71,10 @@

*/
user = user.toLowerCase();
user = user.toLowerCase(); // Removing sub-address from username before gmail validation
// Removing sub-address from username before gmail validation
var username = user.split('+')[0];
var username = user.split('+')[0]; // Dots are not included in gmail length restriction
// Dots are not included in gmail length restriction
if (!(0, _isByteLength2.default)(username.replace('.', ''), { min: 6, max: 30 })) {
if (!(0, _isByteLength.default)(username.replace('.', ''), {
min: 6,
max: 30
})) {
return false;

@@ -91,2 +84,3 @@ }

var _user_parts = username.split('.');
for (var i = 0; i < _user_parts.length; i++) {

@@ -99,7 +93,13 @@ if (!gmailUserPart.test(_user_parts[i])) {

if (!(0, _isByteLength2.default)(user, { max: 64 }) || !(0, _isByteLength2.default)(domain, { max: 254 })) {
if (!(0, _isByteLength.default)(user, {
max: 64
}) || !(0, _isByteLength.default)(domain, {
max: 254
})) {
return false;
}
if (!(0, _isFQDN2.default)(domain, { require_tld: options.require_tld })) {
if (!(0, _isFQDN.default)(domain, {
require_tld: options.require_tld
})) {
if (!options.allow_ip_domain) {

@@ -109,3 +109,3 @@ return false;

if (!(0, _isIP2.default)(domain)) {
if (!(0, _isIP.default)(domain)) {
if (!domain.startsWith('[') || !domain.endsWith(']')) {

@@ -117,3 +117,3 @@ return false;

if (noBracketdomain.length === 0 || !(0, _isIP2.default)(noBracketdomain)) {
if (noBracketdomain.length === 0 || !(0, _isIP.default)(noBracketdomain)) {
return false;

@@ -130,4 +130,4 @@ }

var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;
var user_parts = user.split('.');
var user_parts = user.split('.');
for (var _i = 0; _i < user_parts.length; _i++) {

@@ -141,2 +141,3 @@ if (!pattern.test(user_parts[_i])) {

}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _merge = _interopRequireDefault(require("./util/merge"));
var _merge = require('./util/merge');
var _merge2 = _interopRequireDefault(_merge);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -24,7 +20,7 @@

function isEmpty(str, options) {
(0, _assertString2.default)(str);
options = (0, _merge2.default)(options, default_is_empty_options);
(0, _assertString.default)(str);
options = (0, _merge.default)(options, default_is_empty_options);
return (options.ignore_whitespace ? str.trim().length : str.length) === 0;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,20 +6,20 @@ Object.defineProperty(exports, "__esModule", {

});
exports.locales = undefined;
exports.default = isFloat;
exports.locales = void 0;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _alpha = require("./alpha");
var _alpha = require('./alpha');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isFloat(str, options) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
options = options || {};
var float = new RegExp('^(?:[-+])?(?:[0-9]+)?(?:\\' + (options.locale ? _alpha.decimal[options.locale] : '.') + '[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$');
var float = new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(options.locale ? _alpha.decimal[options.locale] : '.', "[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));
if (str === '' || str === '.' || str === '-' || str === '+') {
return false;
}
var value = parseFloat(str.replace(',', '.'));

@@ -29,2 +29,3 @@ return float.test(str) && (!options.hasOwnProperty('min') || value >= options.min) && (!options.hasOwnProperty('max') || value <= options.max) && (!options.hasOwnProperty('lt') || value < options.lt) && (!options.hasOwnProperty('gt') || value > options.gt);

var locales = exports.locales = Object.keys(_alpha.decimal);
var locales = Object.keys(_alpha.decimal);
exports.locales = locales;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _merge = _interopRequireDefault(require("./util/merge"));
var _merge = require('./util/merge');
var _merge2 = _interopRequireDefault(_merge);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -26,10 +22,12 @@

function isFQDN(str, options) {
(0, _assertString2.default)(str);
options = (0, _merge2.default)(options, default_fqdn_options);
(0, _assertString.default)(str);
options = (0, _merge.default)(options, default_fqdn_options);
/* Remove the optional trailing dot before checking validity */
/* Remove the optional trailing dot before checking validity */
if (options.allow_trailing_dot && str[str.length - 1] === '.') {
str = str.substring(0, str.length - 1);
}
var parts = str.split('.');
for (var i = 0; i < parts.length; i++) {

@@ -40,8 +38,11 @@ if (parts[i].length > 63) {

}
if (options.require_tld) {
var tld = parts.pop();
if (!parts.length || !/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
return false;
}
// disallow spaces
} // disallow spaces
if (/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20]/.test(tld)) {

@@ -51,14 +52,19 @@ return false;

}
for (var part, _i = 0; _i < parts.length; _i++) {
part = parts[_i];
if (options.allow_underscores) {
part = part.replace(/_/g, '');
}
if (!/^[a-z\u00a1-\uffff0-9-]+$/i.test(part)) {
return false;
}
// disallow full-width chars
} // disallow full-width chars
if (/[\uff01-\uff5e]/.test(part)) {
return false;
}
if (part[0] === '-' || part[part.length - 1] === '-') {

@@ -68,4 +74,6 @@ return false;

}
return true;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,16 +6,15 @@ Object.defineProperty(exports, "__esModule", {

});
exports.fullWidth = undefined;
exports.default = isFullWidth;
exports.fullWidth = void 0;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var fullWidth = exports.fullWidth = /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;
var fullWidth = /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;
exports.fullWidth = fullWidth;
function isFullWidth(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return fullWidth.test(str);
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,16 +6,15 @@ Object.defineProperty(exports, "__esModule", {

});
exports.halfWidth = undefined;
exports.default = isHalfWidth;
exports.halfWidth = void 0;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var halfWidth = exports.halfWidth = /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;
var halfWidth = /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;
exports.halfWidth = halfWidth;
function isHalfWidth(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return halfWidth.test(str);
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -32,6 +30,7 @@

function isHash(str, algorithm) {
(0, _assertString2.default)(str);
var hash = new RegExp('^[a-f0-9]{' + lengths[algorithm] + '}$');
(0, _assertString.default)(str);
var hash = new RegExp("^[a-f0-9]{".concat(lengths[algorithm], "}$"));
return hash.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,5 +16,6 @@

function isHexadecimal(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return hexadecimal.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,5 +16,6 @@

function isHexColor(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return hexcolor.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -17,6 +15,4 @@

ES: function ES(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var DNI = /^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/;
var charsValue = {

@@ -27,18 +23,14 @@ X: 0,

};
var controlDigits = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E']; // sanitize user input
var controlDigits = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E'];
var sanitized = str.trim().toUpperCase(); // validate the data structure
// sanitize user input
var sanitized = str.trim().toUpperCase();
// validate the data structure
if (!DNI.test(sanitized)) {
return false;
}
} // validate the control digit
// validate the control digit
var number = sanitized.slice(0, -1).replace(/[X,Y,Z]/g, function (char) {
return charsValue[char];
});
return sanitized.endsWith(controlDigits[number % 23]);

@@ -50,4 +42,4 @@ }

var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'any';
(0, _assertString.default)(str);
(0, _assertString2.default)(str);
if (locale in validators) {

@@ -59,2 +51,3 @@ return validators[locale](str);

var validator = validators[key];
if (validator(str)) {

@@ -65,6 +58,9 @@ return true;

}
return false;
}
throw new Error('Invalid locale \'' + locale + '\'');
throw new Error("Invalid locale '".concat(locale, "'"));
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,29 +6,27 @@ Object.defineProperty(exports, "__esModule", {

});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.default = isIn;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _toString = _interopRequireDefault(require("./util/toString"));
var _toString = require('./util/toString');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _toString2 = _interopRequireDefault(_toString);
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isIn(str, options) {
(0, _assertString.default)(str);
var i;
function isIn(str, options) {
(0, _assertString2.default)(str);
var i = void 0;
if (Object.prototype.toString.call(options) === '[object Array]') {
var array = [];
for (i in options) {
if ({}.hasOwnProperty.call(options, i)) {
array[i] = (0, _toString2.default)(options[i]);
array[i] = (0, _toString.default)(options[i]);
}
}
return array.indexOf(str) >= 0;
} else if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
} else if (_typeof(options) === 'object') {
return options.hasOwnProperty(str);

@@ -38,4 +36,6 @@ } else if (options && typeof options.indexOf === 'function') {

}
return false;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -19,10 +17,8 @@

function isInt(str, options) {
(0, _assertString2.default)(str);
options = options || {};
// Get the regex to use for testing, based on whether
(0, _assertString.default)(str);
options = options || {}; // Get the regex to use for testing, based on whether
// leading zeroes are allowed or not.
var regex = options.hasOwnProperty('allow_leading_zeroes') && !options.allow_leading_zeroes ? int : intLeadingZeroes;
// Check min/max/lt/gt
var regex = options.hasOwnProperty('allow_leading_zeroes') && !options.allow_leading_zeroes ? int : intLeadingZeroes; // Check min/max/lt/gt
var minCheckPassed = !options.hasOwnProperty('min') || str >= options.min;

@@ -32,5 +28,5 @@ var maxCheckPassed = !options.hasOwnProperty('max') || str <= options.max;

var gtCheckPassed = !options.hasOwnProperty('gt') || str > options.gt;
return regex.test(str) && minCheckPassed && maxCheckPassed && ltCheckPassed && gtCheckPassed;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,5 +18,5 @@

var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
(0, _assertString.default)(str);
version = String(version);
(0, _assertString2.default)(str);
version = String(version);
if (!version) {

@@ -30,2 +28,3 @@ return isIP(str, 4) || isIP(str, 6);

}
var parts = str.split('.').sort(function (a, b) {

@@ -38,3 +37,2 @@ return a - b;

var foundOmissionBlock = false; // marker to indicate ::
// At least some OS accept the last 32 bits of an IPv6 address

@@ -44,2 +42,3 @@ // (i.e. 2 of the blocks) in IPv4 notation, and RFC 3493 says

// and '::a.b.c.d' is deprecated, but also valid.
var foundIPv4TransitionBlock = isIP(blocks[blocks.length - 1], 4);

@@ -50,4 +49,5 @@ var expectedNumberOfBlocks = foundIPv4TransitionBlock ? 7 : 8;

return false;
}
// initial or final ::
} // initial or final ::
if (str === '::') {

@@ -72,5 +72,5 @@ return true;

}
foundOmissionBlock = true;
} else if (foundIPv4TransitionBlock && i === blocks.length - 1) {
// it has been checked before that the last
} else if (foundIPv4TransitionBlock && i === blocks.length - 1) {// it has been checked before that the last
// block is a valid IPv4 address

@@ -81,9 +81,13 @@ } else if (!ipv6Block.test(blocks[i])) {

}
if (foundOmissionBlock) {
return blocks.length >= 1;
}
return blocks.length === expectedNumberOfBlocks;
}
return false;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _isIP = _interopRequireDefault(require("./isIP"));
var _isIP = require('./isIP');
var _isIP2 = _interopRequireDefault(_isIP);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -22,6 +18,5 @@

function isIPRange(str) {
(0, _assertString2.default)(str);
var parts = str.split('/');
(0, _assertString.default)(str);
var parts = str.split('/'); // parts[0] -> ip, parts[1] -> subnet
// parts[0] -> ip, parts[1] -> subnet
if (parts.length !== 2) {

@@ -33,5 +28,5 @@ return false;

return false;
}
} // Disallow preceding 0 i.e. 01, 02, ...
// Disallow preceding 0 i.e. 01, 02, ...
if (parts[1].length > 1 && parts[1].startsWith('0')) {

@@ -41,4 +36,5 @@ return false;

return (0, _isIP2.default)(parts[0], 4) && parts[1] <= 32 && parts[1] >= 0;
return (0, _isIP.default)(parts[0], 4) && parts[1] <= 32 && parts[1] >= 0;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -21,11 +19,13 @@

var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
(0, _assertString.default)(str);
version = String(version);
(0, _assertString2.default)(str);
version = String(version);
if (!version) {
return isISBN(str, 10) || isISBN(str, 13);
}
var sanitized = str.replace(/[\s-]+/g, '');
var checksum = 0;
var i = void 0;
var i;
if (version === '10') {

@@ -35,5 +35,7 @@ if (!isbn10Maybe.test(sanitized)) {

}
for (i = 0; i < 9; i++) {
checksum += (i + 1) * sanitized.charAt(i);
}
if (sanitized.charAt(9) === 'X') {

@@ -44,2 +46,3 @@ checksum += 10 * 10;

}
if (checksum % 11 === 0) {

@@ -52,5 +55,7 @@ return !!sanitized;

}
for (i = 0; i < 12; i++) {
checksum += factor[i % 2] * sanitized.charAt(i);
}
if (sanitized.charAt(12) - (10 - checksum % 10) % 10 === 0) {

@@ -60,4 +65,6 @@ return !!sanitized;

}
return false;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,3 +16,4 @@

function isISIN(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
if (!isin.test(str)) {

@@ -27,12 +26,14 @@ return false;

});
var sum = 0;
var digit = void 0;
var tmpNum = void 0;
var digit;
var tmpNum;
var shouldDouble = true;
for (var i = checksumStr.length - 2; i >= 0; i--) {
digit = checksumStr.substring(i, i + 1);
tmpNum = parseInt(digit, 10);
if (shouldDouble) {
tmpNum *= 2;
if (tmpNum >= 10) {

@@ -46,2 +47,3 @@ sum += tmpNum + 1;

}
shouldDouble = !shouldDouble;

@@ -52,2 +54,3 @@ }

}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _includes = _interopRequireDefault(require("./util/includes"));
var _includes = require('./util/includes');
var _includes2 = _interopRequireDefault(_includes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -23,5 +19,6 @@

function isISO31661Alpha2(str) {
(0, _assertString2.default)(str);
return (0, _includes2.default)(validISO31661Alpha2CountriesCodes, str.toUpperCase());
(0, _assertString.default)(str);
return (0, _includes.default)(validISO31661Alpha2CountriesCodes, str.toUpperCase());
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,6 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _includes = _interopRequireDefault(require("./util/includes"));
var _includes = require('./util/includes');
var _includes2 = _interopRequireDefault(_includes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -23,5 +19,6 @@

function isISO31661Alpha3(str) {
(0, _assertString2.default)(str);
return (0, _includes2.default)(validISO31661Alpha3CountriesCodes, str.toUpperCase());
(0, _assertString.default)(str);
return (0, _includes.default)(validISO31661Alpha3CountriesCodes, str.toUpperCase());
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -17,9 +15,43 @@

// from http://goo.gl/0ejHHW
var iso8601 = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
var iso8601 = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
/* eslint-enable max-len */
function isISO8601(str) {
(0, _assertString2.default)(str);
return iso8601.test(str);
var isValidDate = function isValidDate(str) {
// str must have passed the ISO8601 check
// this check is meant to catch invalid dates
// like 2009-02-31
// first check for ordinal dates
var ordinalMatch = str.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);
if (ordinalMatch) {
var oYear = Number(ordinalMatch[1]);
var oDay = Number(ordinalMatch[2]); // if is leap year
if (oYear % 4 === 0 && oYear % 100 !== 0) return oDay <= 366;
return oDay <= 365;
}
var match = str.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number);
var year = match[1];
var month = match[2];
var day = match[3]; // create a date object and compare
var d = new Date("".concat(year, "-").concat(month || 1, "-").concat(day || 1));
if (isNaN(d.getFullYear())) return false;
if (month && day) {
return d.getFullYear() === year && d.getMonth() + 1 === month && d.getDate() === day;
}
return true;
};
function isISO8601(str, options) {
(0, _assertString.default)(str);
var check = iso8601.test(str);
if (!options) return check;
if (check && options.strict) return isValidDate(str);
return check;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -19,5 +17,6 @@

function isISRC(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return isrc.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -19,12 +17,14 @@

var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var testIssn = issn;
testIssn = options.require_hyphen ? testIssn.replace('?', '') : testIssn;
testIssn = options.case_sensitive ? new RegExp(testIssn) : new RegExp(testIssn, 'i');
if (!testIssn.test(str)) {
return false;
}
var digits = str.replace('-', '').toUpperCase();
var checksum = 0;
for (var i = 0; i < digits.length; i++) {

@@ -34,4 +34,6 @@ var digit = digits[i];

}
return checksum % 11 === 0;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,21 +6,23 @@ Object.defineProperty(exports, "__esModule", {

});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.default = isJSON;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function isJSON(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
try {
var obj = JSON.parse(str);
return !!obj && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';
} catch (e) {/* ignore */}
return !!obj && _typeof(obj) === 'object';
} catch (e) {
/* ignore */
}
return false;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,14 +8,13 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var jwt = /^[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+$/;
var jwt = /^([A-Za-z0-9\-_~+\/]+[=]{0,2})\.([A-Za-z0-9\-_~+\/]+[=]{0,2})(?:\.([A-Za-z0-9\-_~+\/]+[=]{0,2}))?$/;
function isJWT(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return jwt.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,14 +6,6 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = _default;
exports.default = function (str) {
(0, _assertString2.default)(str);
if (!str.includes(',')) return false;
var pair = str.split(',');
return lat.test(pair[0]) && long.test(pair[1]);
};
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString = require('./util/assertString');
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -24,2 +16,9 @@

module.exports = exports['default'];
function _default(str) {
(0, _assertString.default)(str);
if (!str.includes(',')) return false;
var pair = str.split(',');
return lat.test(pair[0]) && long.test(pair[1]);
}
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,19 +6,17 @@ Object.defineProperty(exports, "__esModule", {

});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
exports.default = isLength;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
/* eslint-disable prefer-rest-params */
function isLength(str, options) {
(0, _assertString2.default)(str);
var min = void 0;
var max = void 0;
if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
(0, _assertString.default)(str);
var min;
var max;
if (_typeof(options) === 'object') {
min = options.min || 0;

@@ -31,2 +29,3 @@ max = options.max;

}
var surrogatePairs = str.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g) || [];

@@ -36,2 +35,3 @@ var len = str.length - surrogatePairs.length;

}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isLowercase(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return str === str.toLowerCase();
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -19,8 +17,11 @@

function isMACAddress(str, options) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
if (options && options.no_colons) {
return macAddressNoColons.test(str);
}
return macAddress.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,5 +16,6 @@

function isMagnetURI(url) {
(0, _assertString2.default)(url);
(0, _assertString.default)(url);
return magnetURI.test(url.trim());
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,5 +16,6 @@

function isMD5(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return md5.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -36,3 +34,2 @@

*/
// Match simple MIME types

@@ -43,13 +40,14 @@ // NB :

var mimeTypeSimple = /^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i; // eslint-disable-line max-len
// Handle "charset" in "text/*"
// Handle "charset" in "text/*"
var mimeTypeText = /^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i; // eslint-disable-line max-len
// Handle "boundary" in "multipart/*"
// Handle "boundary" in "multipart/*"
var mimeTypeMultipart = /^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i; // eslint-disable-line max-len
function isMimeType(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return mimeTypeSimple.test(str) || mimeTypeText.test(str) || mimeTypeMultipart.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", {

});
exports.locales = undefined;
exports.default = isMobilePhone;
exports.locales = void 0;
var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -29,3 +27,3 @@

'bg-BG': /^(\+?359|0)?8[789]\d{7}$/,
'bn-BD': /\+?(88)?0?1[156789][0-9]{8}\b/,
'bn-BD': /\+?(88)?0?1[356789][0-9]{8}\b/,
'cs-CZ': /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,

@@ -37,5 +35,7 @@ 'da-DK': /^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,

'en-GB': /^(\+?44|0)7\d{9}$/,
'en-GH': /^(\+233|0)(20|50|24|54|27|57|26|56|23|28)\d{7}$/,
'en-HK': /^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/,
'en-IN': /^(\+?91|0)?[6789]\d{9}$/,
'en-KE': /^(\+?254|0)?[7]\d{8}$/,
'en-MU': /^(\+?230|0)?\d{8}$/,
'en-NG': /^(\+?234|0)?[789]\d{9}$/,

@@ -53,2 +53,3 @@ 'en-NZ': /^(\+?64|0)[28]\d{7,9}$/,

'es-MX': /^(\+?52)?(1|01)?\d{10,11}$/,
'es-UY': /^(\+598|0)9[1-9][\d]{6}$/,
'et-EE': /^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,

@@ -61,3 +62,3 @@ 'fa-IR': /^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,

'hu-HU': /^(\+?36)(20|30|70)\d{7}$/,
'id-ID': /^(\+?62|0)(0?8?\d\d\s?\d?)([\s?|\d]{7,12})$/,
'id-ID': /^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,
'it-IT': /^(\+?39)?\s?3\d{2} ?\d{6,7}$/,

@@ -85,3 +86,3 @@ 'ja-JP': /^(\+?81|0)[789]0[ \-]?[1-9]\d{2}[ \-]?\d{5}$/,

'uk-UA': /^(\+?38|8)?0\d{9}$/,
'vi-VN': /^(\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$/,
'vi-VN': /^(\+?84|0)((3([2-9]))|(5([689]))|(7([0|6-9]))|(8([1-5]))|(9([0-9])))([0-9]{7})$/,
'zh-CN': /^((\+|00)86)?1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/,

@@ -91,4 +92,4 @@ 'zh-TW': /^(\+?886\-?|0)?9\d{8}$/

/* eslint-enable max-len */
// aliases
// aliases
phones['en-CA'] = phones['en-US'];

@@ -99,6 +100,8 @@ phones['fr-BE'] = phones['nl-BE'];

function isMobilePhone(str, locale, options) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
if (options && options.strictMode && !str.startsWith('+')) {
return false;
}
if (Array.isArray(locale)) {

@@ -108,2 +111,3 @@ return locale.some(function (key) {

var phone = phones[key];
if (phone.test(str)) {

@@ -113,7 +117,7 @@ return true;

}
return false;
});
} else if (locale in phones) {
return phones[locale].test(str);
// alias falsey locale as 'any'
return phones[locale].test(str); // alias falsey locale as 'any'
} else if (!locale || locale === 'any') {

@@ -123,2 +127,3 @@ for (var key in phones) {

var phone = phones[key];
if (phone.test(str)) {

@@ -129,7 +134,10 @@ return true;

}
return false;
}
throw new Error('Invalid locale \'' + locale + '\'');
throw new Error("Invalid locale '".concat(locale, "'"));
}
var locales = exports.locales = Object.keys(phones);
var locales = Object.keys(phones);
exports.locales = locales;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,16 +8,13 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _isHexadecimal = _interopRequireDefault(require("./isHexadecimal"));
var _isHexadecimal = require('./isHexadecimal');
var _isHexadecimal2 = _interopRequireDefault(_isHexadecimal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isMongoId(str) {
(0, _assertString2.default)(str);
return (0, _isHexadecimal2.default)(str) && str.length === 24;
(0, _assertString.default)(str);
return (0, _isHexadecimal.default)(str) && str.length === 24;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,5 +18,6 @@

function isMultibyte(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return multibyte.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -19,8 +17,11 @@

function isNumeric(str, options) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
if (options && options.no_symbols) {
return numericNoSymbols.test(str);
}
return numeric.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,11 +8,13 @@ Object.defineProperty(exports, "__esModule", {

var _isInt = require('./isInt');
var _isInt = _interopRequireDefault(require("./isInt"));
var _isInt2 = _interopRequireDefault(_isInt);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isPort(str) {
return (0, _isInt2.default)(str, { min: 0, max: 65535 });
return (0, _isInt.default)(str, {
min: 0,
max: 65535
});
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,26 +6,7 @@ Object.defineProperty(exports, "__esModule", {

});
exports.locales = undefined;
exports.default = _default;
exports.locales = void 0;
exports.default = function (str, locale) {
(0, _assertString2.default)(str);
if (locale in patterns) {
return patterns[locale].test(str);
} else if (locale === 'any') {
for (var key in patterns) {
if (patterns.hasOwnProperty(key)) {
var pattern = patterns[key];
if (pattern.test(str)) {
return true;
}
}
}
return false;
}
throw new Error('Invalid locale \'' + locale + '\'');
};
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString = require('./util/assertString');
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -38,3 +19,2 @@

var sixDigit = /^\d{6}$/;
var patterns = {

@@ -87,3 +67,25 @@ AD: /^AD\d{3}$/,

};
var locales = Object.keys(patterns);
exports.locales = locales;
var locales = exports.locales = Object.keys(patterns);
function _default(str, locale) {
(0, _assertString.default)(str);
if (locale in patterns) {
return patterns[locale].test(str);
} else if (locale === 'any') {
for (var key in patterns) {
if (patterns.hasOwnProperty(key)) {
var pattern = patterns[key];
if (pattern.test(str)) {
return true;
}
}
}
return false;
}
throw new Error("Invalid locale '".concat(locale, "'"));
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,33 +8,26 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* Based on https://tools.ietf.org/html/rfc3339#section-5.6 */
var dateFullYear = /[0-9]{4}/;
var dateMonth = /(0[1-9]|1[0-2])/;
var dateMDay = /([12]\d|0[1-9]|3[01])/;
var timeHour = /([01][0-9]|2[0-3])/;
var timeMinute = /[0-5][0-9]/;
var timeSecond = /([0-5][0-9]|60)/;
var timeSecFrac = /(\.[0-9]+)?/;
var timeNumOffset = new RegExp('[-+]' + timeHour.source + ':' + timeMinute.source);
var timeOffset = new RegExp('([zZ]|' + timeNumOffset.source + ')');
var timeNumOffset = new RegExp("[-+]".concat(timeHour.source, ":").concat(timeMinute.source));
var timeOffset = new RegExp("([zZ]|".concat(timeNumOffset.source, ")"));
var partialTime = new RegExp("".concat(timeHour.source, ":").concat(timeMinute.source, ":").concat(timeSecond.source).concat(timeSecFrac.source));
var fullDate = new RegExp("".concat(dateFullYear.source, "-").concat(dateMonth.source, "-").concat(dateMDay.source));
var fullTime = new RegExp("".concat(partialTime.source).concat(timeOffset.source));
var rfc3339 = new RegExp("".concat(fullDate.source, "[ tT]").concat(fullTime.source));
var partialTime = new RegExp(timeHour.source + ':' + timeMinute.source + ':' + timeSecond.source + timeSecFrac.source);
var fullDate = new RegExp(dateFullYear.source + '-' + dateMonth.source + '-' + dateMDay.source);
var fullTime = new RegExp('' + partialTime.source + timeOffset.source);
var rfc3339 = new RegExp(fullDate.source + '[ tT]' + fullTime.source);
function isRFC3339(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return rfc3339.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -18,5 +16,6 @@

function isSurrogatePair(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return surrogatePair.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isUppercase(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return str === str.toUpperCase();
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,18 +8,10 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _isFQDN = _interopRequireDefault(require("./isFQDN"));
var _isFQDN = require('./isFQDN');
var _isIP = _interopRequireDefault(require("./isIP"));
var _isFQDN2 = _interopRequireDefault(_isFQDN);
var _merge = _interopRequireDefault(require("./util/merge"));
var _isIP = require('./isIP');
var _isIP2 = _interopRequireDefault(_isIP);
var _merge = require('./util/merge');
var _merge2 = _interopRequireDefault(_merge);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -37,3 +29,2 @@

};
var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;

@@ -48,2 +39,3 @@

var match = matches[i];
if (host === match || isRegExp(match) && match.test(host)) {

@@ -53,2 +45,3 @@ return true;

}
return false;

@@ -58,28 +51,23 @@ }

function isURL(url, options) {
(0, _assertString2.default)(url);
(0, _assertString.default)(url);
if (!url || url.length >= 2083 || /[\s<>]/.test(url)) {
return false;
}
if (url.indexOf('mailto:') === 0) {
return false;
}
options = (0, _merge2.default)(options, default_url_options);
var protocol = void 0,
auth = void 0,
host = void 0,
hostname = void 0,
port = void 0,
port_str = void 0,
split = void 0,
ipv6 = void 0;
options = (0, _merge.default)(options, default_url_options);
var protocol, auth, host, hostname, port, port_str, split, ipv6;
split = url.split('#');
url = split.shift();
split = url.split('?');
url = split.shift();
split = url.split('://');
split = url.split('://');
if (split.length > 1) {
protocol = split.shift().toLowerCase();
if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {

@@ -94,4 +82,6 @@ return false;

}
split[0] = url.substr(2);
}
url = split.join('://');

@@ -111,4 +101,10 @@

split = url.split('@');
if (split.length > 1) {
if (options.disallow_auth) {
return false;
}
auth = split.shift();
if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {

@@ -118,7 +114,8 @@ return false;

}
hostname = split.join('@');
port_str = null;
ipv6 = null;
var ipv6_match = hostname.match(wrapped_ipv6);
if (ipv6_match) {

@@ -131,2 +128,3 @@ host = '';

host = split.shift();
if (split.length) {

@@ -139,2 +137,3 @@ port_str = split.join(':');

port = parseInt(port_str, 10);
if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {

@@ -145,3 +144,3 @@ return false;

if (!(0, _isIP2.default)(host) && !(0, _isFQDN2.default)(host, options) && (!ipv6 || !(0, _isIP2.default)(ipv6, 6))) {
if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
return false;

@@ -155,2 +154,3 @@ }

}
if (options.host_blacklist && checkHost(host, options.host_blacklist)) {

@@ -162,2 +162,3 @@ return false;

}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -24,7 +22,7 @@

var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'all';
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var pattern = uuid[version];
return pattern && pattern.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,16 +8,15 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _isFullWidth = require("./isFullWidth");
var _isFullWidth = require('./isFullWidth');
var _isHalfWidth = require("./isHalfWidth");
var _isHalfWidth = require('./isHalfWidth');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isVariableWidth(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return _isFullWidth.fullWidth.test(str) && _isHalfWidth.halfWidth.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,10 +8,9 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isWhitelisted(str, chars) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
for (var i = str.length - 1; i >= 0; i--) {

@@ -22,4 +21,6 @@ if (chars.indexOf(str[i]) === -1) {

}
return true;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,13 +8,12 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ltrim(str, chars) {
(0, _assertString2.default)(str);
var pattern = chars ? new RegExp('^[' + chars + ']+', 'g') : /^\s+/g;
(0, _assertString.default)(str);
var pattern = chars ? new RegExp("^[".concat(chars, "]+"), 'g') : /^\s+/g;
return str.replace(pattern, '');
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,15 +8,16 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function matches(str, pattern, modifiers) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
if (Object.prototype.toString.call(pattern) !== '[object RegExp]') {
pattern = new RegExp(pattern, modifiers);
}
return pattern.test(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,6 +8,4 @@ Object.defineProperty(exports, "__esModule", {

var _merge = require('./util/merge');
var _merge = _interopRequireDefault(require("./util/merge"));
var _merge2 = _interopRequireDefault(_merge);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -21,3 +19,2 @@

all_lowercase: true,
// The following conversions are specific to GMail

@@ -32,3 +29,2 @@ // Lowercases the local part of the GMail address (known to be case-insensitive)

gmail_convert_googlemaildotcom: true,
// The following conversions are specific to Outlook.com / Windows Live / Hotmail

@@ -39,3 +35,2 @@ // Lowercases the local part of the Outlook.com address (known to be case-insensitive)

outlookdotcom_remove_subaddress: true,
// The following conversions are specific to Yahoo

@@ -46,7 +41,5 @@ // Lowercases the local part of the Yahoo address (known to be case-insensitive)

yahoo_remove_subaddress: true,
// The following conversions are specific to Yandex
// Lowercases the local part of the Yandex address (known to be case-insensitive)
yandex_lowercase: true,
// The following conversions are specific to iCloud

@@ -57,21 +50,16 @@ // Lowercases the local part of the iCloud address (known to be case-insensitive)

icloud_remove_subaddress: true
};
}; // List of domains used by iCloud
// List of domains used by iCloud
var icloud_domains = ['icloud.com', 'me.com'];
// List of domains used by Outlook.com and its predecessors
var icloud_domains = ['icloud.com', 'me.com']; // List of domains used by Outlook.com and its predecessors
// This list is likely incomplete.
// Partial reference:
// https://blogs.office.com/2013/04/17/outlook-com-gets-two-step-verification-sign-in-by-alias-and-new-international-domains/
var outlookdotcom_domains = ['hotmail.at', 'hotmail.be', 'hotmail.ca', 'hotmail.cl', 'hotmail.co.il', 'hotmail.co.nz', 'hotmail.co.th', 'hotmail.co.uk', 'hotmail.com', 'hotmail.com.ar', 'hotmail.com.au', 'hotmail.com.br', 'hotmail.com.gr', 'hotmail.com.mx', 'hotmail.com.pe', 'hotmail.com.tr', 'hotmail.com.vn', 'hotmail.cz', 'hotmail.de', 'hotmail.dk', 'hotmail.es', 'hotmail.fr', 'hotmail.hu', 'hotmail.id', 'hotmail.ie', 'hotmail.in', 'hotmail.it', 'hotmail.jp', 'hotmail.kr', 'hotmail.lv', 'hotmail.my', 'hotmail.ph', 'hotmail.pt', 'hotmail.sa', 'hotmail.sg', 'hotmail.sk', 'live.be', 'live.co.uk', 'live.com', 'live.com.ar', 'live.com.mx', 'live.de', 'live.es', 'live.eu', 'live.fr', 'live.it', 'live.nl', 'msn.com', 'outlook.at', 'outlook.be', 'outlook.cl', 'outlook.co.il', 'outlook.co.nz', 'outlook.co.th', 'outlook.com', 'outlook.com.ar', 'outlook.com.au', 'outlook.com.br', 'outlook.com.gr', 'outlook.com.pe', 'outlook.com.tr', 'outlook.com.vn', 'outlook.cz', 'outlook.de', 'outlook.dk', 'outlook.es', 'outlook.fr', 'outlook.hu', 'outlook.id', 'outlook.ie', 'outlook.in', 'outlook.it', 'outlook.jp', 'outlook.kr', 'outlook.lv', 'outlook.my', 'outlook.ph', 'outlook.pt', 'outlook.sa', 'outlook.sg', 'outlook.sk', 'passport.com'];
// List of domains used by Yahoo Mail
var outlookdotcom_domains = ['hotmail.at', 'hotmail.be', 'hotmail.ca', 'hotmail.cl', 'hotmail.co.il', 'hotmail.co.nz', 'hotmail.co.th', 'hotmail.co.uk', 'hotmail.com', 'hotmail.com.ar', 'hotmail.com.au', 'hotmail.com.br', 'hotmail.com.gr', 'hotmail.com.mx', 'hotmail.com.pe', 'hotmail.com.tr', 'hotmail.com.vn', 'hotmail.cz', 'hotmail.de', 'hotmail.dk', 'hotmail.es', 'hotmail.fr', 'hotmail.hu', 'hotmail.id', 'hotmail.ie', 'hotmail.in', 'hotmail.it', 'hotmail.jp', 'hotmail.kr', 'hotmail.lv', 'hotmail.my', 'hotmail.ph', 'hotmail.pt', 'hotmail.sa', 'hotmail.sg', 'hotmail.sk', 'live.be', 'live.co.uk', 'live.com', 'live.com.ar', 'live.com.mx', 'live.de', 'live.es', 'live.eu', 'live.fr', 'live.it', 'live.nl', 'msn.com', 'outlook.at', 'outlook.be', 'outlook.cl', 'outlook.co.il', 'outlook.co.nz', 'outlook.co.th', 'outlook.com', 'outlook.com.ar', 'outlook.com.au', 'outlook.com.br', 'outlook.com.gr', 'outlook.com.pe', 'outlook.com.tr', 'outlook.com.vn', 'outlook.cz', 'outlook.de', 'outlook.dk', 'outlook.es', 'outlook.fr', 'outlook.hu', 'outlook.id', 'outlook.ie', 'outlook.in', 'outlook.it', 'outlook.jp', 'outlook.kr', 'outlook.lv', 'outlook.my', 'outlook.ph', 'outlook.pt', 'outlook.sa', 'outlook.sg', 'outlook.sk', 'passport.com']; // List of domains used by Yahoo Mail
// This list is likely incomplete
var yahoo_domains = ['rocketmail.com', 'yahoo.ca', 'yahoo.co.uk', 'yahoo.com', 'yahoo.de', 'yahoo.fr', 'yahoo.in', 'yahoo.it', 'ymail.com'];
// List of domains used by yandex.ru
var yandex_domains = ['yandex.ru', 'yandex.ua', 'yandex.kz', 'yandex.com', 'yandex.by', 'ya.ru'];
var yahoo_domains = ['rocketmail.com', 'yahoo.ca', 'yahoo.co.uk', 'yahoo.com', 'yahoo.de', 'yahoo.fr', 'yahoo.in', 'yahoo.it', 'ymail.com']; // List of domains used by yandex.ru
// replace single dots, but not multiple consecutive dots
var yandex_domains = ['yandex.ru', 'yandex.ua', 'yandex.kz', 'yandex.com', 'yandex.by', 'ya.ru']; // replace single dots, but not multiple consecutive dots
function dotsReplacer(match) {

@@ -81,2 +69,3 @@ if (match.length > 1) {

}
return '';

@@ -86,10 +75,8 @@ }

function normalizeEmail(email, options) {
options = (0, _merge2.default)(options, default_normalize_email_options);
options = (0, _merge.default)(options, default_normalize_email_options);
var raw_parts = email.split('@');
var domain = raw_parts.pop();
var user = raw_parts.join('@');
var parts = [user, domain];
var parts = [user, domain]; // The domain is always lowercased, as it's case-insensitive per RFC 1035
// The domain is always lowercased, as it's case-insensitive per RFC 1035
parts[1] = parts[1].toLowerCase();

@@ -102,2 +89,3 @@

}
if (options.gmail_remove_dots) {

@@ -107,8 +95,11 @@ // this does not replace consecutive dots like example..email@gmail.com

}
if (!parts[0].length) {
return false;
}
if (options.all_lowercase || options.gmail_lowercase) {
parts[0] = parts[0].toLowerCase();
}
parts[1] = options.gmail_convert_googlemaildotcom ? 'gmail.com' : parts[1];

@@ -120,5 +111,7 @@ } else if (icloud_domains.indexOf(parts[1]) >= 0) {

}
if (!parts[0].length) {
return false;
}
if (options.all_lowercase || options.icloud_lowercase) {

@@ -132,5 +125,7 @@ parts[0] = parts[0].toLowerCase();

}
if (!parts[0].length) {
return false;
}
if (options.all_lowercase || options.outlookdotcom_lowercase) {

@@ -145,5 +140,7 @@ parts[0] = parts[0].toLowerCase();

}
if (!parts[0].length) {
return false;
}
if (options.all_lowercase || options.yahoo_lowercase) {

@@ -156,2 +153,3 @@ parts[0] = parts[0].toLowerCase();

}
parts[1] = 'yandex.ru'; // all yandex domains are equal, 1st preffered

@@ -162,4 +160,6 @@ } else if (options.all_lowercase) {

}
return parts.join('@');
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,17 +8,18 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function rtrim(str, chars) {
(0, _assertString2.default)(str);
var pattern = chars ? new RegExp('[' + chars + ']') : /\s/;
(0, _assertString.default)(str);
var pattern = chars ? new RegExp("[".concat(chars, "]")) : /\s/;
var idx = str.length - 1;
for (; idx >= 0 && pattern.test(str[idx]); idx--) {}
for (; idx >= 0 && pattern.test(str[idx]); idx--) {
;
}
return idx < str.length ? str.substr(0, idx + 1) : str;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,17 +8,14 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
var _blacklist = _interopRequireDefault(require("./blacklist"));
var _blacklist = require('./blacklist');
var _blacklist2 = _interopRequireDefault(_blacklist);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function stripLow(str, keep_new_lines) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
var chars = keep_new_lines ? '\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F' : '\\x00-\\x1F\\x7F';
return (0, _blacklist2.default)(str, chars);
return (0, _blacklist.default)(str, chars);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,15 +8,16 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toBoolean(str, strict) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
if (strict) {
return str === '1' || str === 'true';
}
return str !== '0' && str !== 'false' && str !== '';
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,13 +8,12 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toDate(date) {
(0, _assertString2.default)(date);
(0, _assertString.default)(date);
date = Date.parse(date);
return !isNaN(date) ? new Date(date) : null;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toFloat(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return parseFloat(str);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function toInt(str, radix) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return parseInt(str, radix || 10);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,15 +8,12 @@ Object.defineProperty(exports, "__esModule", {

var _rtrim = require('./rtrim');
var _rtrim = _interopRequireDefault(require("./rtrim"));
var _rtrim2 = _interopRequireDefault(_rtrim);
var _ltrim = _interopRequireDefault(require("./ltrim"));
var _ltrim = require('./ltrim');
var _ltrim2 = _interopRequireDefault(_ltrim);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function trim(str, chars) {
return (0, _rtrim2.default)((0, _ltrim2.default)(str, chars), chars);
return (0, _rtrim.default)((0, _ltrim.default)(str, chars), chars);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function unescape(str) {
(0, _assertString2.default)(str);
(0, _assertString.default)(str);
return str.replace(/&amp;/g, '&').replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#x2F;/g, '/').replace(/&#x5C;/g, '\\').replace(/&#96;/g, '`');
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,6 +6,6 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = assertString;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
exports.default = assertString;
function assertString(input) {

@@ -15,16 +15,20 @@ var isString = typeof input === 'string' || input instanceof String;

if (!isString) {
var invalidType = void 0;
var invalidType;
if (input === null) {
invalidType = 'null';
} else {
invalidType = typeof input === 'undefined' ? 'undefined' : _typeof(input);
invalidType = _typeof(input);
if (invalidType === 'object' && input.constructor && input.constructor.hasOwnProperty('name')) {
invalidType = input.constructor.name;
} else {
invalidType = 'a ' + invalidType;
invalidType = "a ".concat(invalidType);
}
}
throw new TypeError('Expected string but received ' + invalidType + '.');
throw new TypeError("Expected string but received ".concat(invalidType, "."));
}
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -6,2 +6,4 @@ "use strict";

});
exports.default = void 0;
var includes = function includes(arr, val) {

@@ -13,3 +15,4 @@ return arr.some(function (arrVal) {

exports.default = includes;
module.exports = exports["default"];
var _default = includes;
exports.default = _default;
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -7,5 +7,6 @@ Object.defineProperty(exports, "__esModule", {

exports.default = merge;
function merge() {
var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var defaults = arguments[1];
var defaults = arguments.length > 1 ? arguments[1] : undefined;

@@ -17,4 +18,6 @@ for (var key in defaults) {

}
return obj;
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = toString;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
exports.default = toString;
function toString(input) {
if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) === 'object' && input !== null) {
if (_typeof(input) === 'object' && input !== null) {
if (typeof input.toString === 'function') {

@@ -21,4 +21,6 @@ input = input.toString();

}
return String(input);
}
module.exports = exports['default'];
module.exports = exports.default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -8,12 +8,11 @@ Object.defineProperty(exports, "__esModule", {

var _assertString = require('./util/assertString');
var _assertString = _interopRequireDefault(require("./util/assertString"));
var _assertString2 = _interopRequireDefault(_assertString);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function whitelist(str, chars) {
(0, _assertString2.default)(str);
return str.replace(new RegExp('[^' + chars + ']+', 'g'), '');
(0, _assertString.default)(str);
return str.replace(new RegExp("[^".concat(chars, "]+"), 'g'), '');
}
module.exports = exports['default'];
module.exports = exports.default;
{
"name": "validator",
"description": "String validation and sanitization",
"version": "10.8.0",
"version": "10.9.0",
"homepage": "https://github.com/chriso/validator.js",

@@ -40,6 +40,8 @@ "files": [

"devDependencies": {
"babel-cli": "^6.24.0",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-preset-es2015": "^6.24.0",
"babel-preset-es2015-rollup": "^3.0.0",
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/register": "^7.0.0",
"babel-eslint": "^10.0.1",
"babel-plugin-add-module-exports": "^1.0.0",
"eslint": "^4.19.1",

@@ -50,3 +52,3 @@ "eslint-config-airbnb-base": "^12.1.0",

"rollup": "^0.43.0",
"rollup-plugin-babel": "^2.7.1",
"rollup-plugin-babel": "^4.0.1",
"uglify-js": "^3.0.19"

@@ -61,7 +63,7 @@ },

"minify": "uglifyjs validator.js -o validator.min.js --compress --mangle --comments /Copyright/",
"build:browser": "babel-node build-browser && npm run minify",
"build:node": "babel src -d . --presets es2015 --plugins add-module-exports",
"build:browser": "node --require @babel/register build-browser && npm run minify",
"build:node": "babel src -d .",
"build": "npm run build:browser && npm run build:node",
"pretest": "npm run lint && npm run build",
"test": "mocha --reporter dot"
"test": "mocha --require @babel/register --reporter dot"
},

@@ -68,0 +70,0 @@ "engines": {

@@ -94,3 +94,3 @@ # validator.js

**isISIN(str)** | check if the string is an [ISIN][ISIN] (stock/security identifier).
**isISO8601(str)** | check if the string is a valid [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date.
**isISO8601(str)** | check if the string is a valid [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date; for additional checks for valid dates, e.g. invalidates dates like `2009-02-29`, pass `options` object as a second parameter with `options.strict = true`.
**isRFC3339(str)** | check if the string is a valid [RFC 3339](https://tools.ietf.org/html/rfc3339) date.

@@ -110,3 +110,3 @@ **isISO31661Alpha2(str)** | check if the string is a valid [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) officially assigned country code.

**isMimeType(str)** | check if the string matches to a valid [MIME type](https://en.wikipedia.org/wiki/Media_type) format
**isMobilePhone(str [, locale [, options]])** | check if the string is a mobile phone number,<br/><br/>(locale is either an array of locales (e.g `['sk-SK', 'sr-RS']`) OR one of `['ar-AE', 'ar-DZ', 'ar-EG', 'ar-IQ', ar-JO', 'ar-KW', 'ar-SA', 'ar-SY', 'ar-TN', 'be-BY', 'bg-BG', 'bn-BD', 'cs-CZ', 'de-DE', 'da-DK', 'el-GR', 'en-AU', 'en-CA', 'en-GB', 'en-HK', 'en-IN', 'en-KE', 'en-NG', 'en-NZ', 'en-RW', 'en-SG', 'en-UG', 'en-US', 'en-TZ', 'en-ZA', 'en-ZM', 'en-PK', 'es-ES', 'es-MX','et-EE', 'fa-IR', 'fi-FI', 'fr-FR', 'he-IL', 'hu-HU', 'it-IT', 'ja-JP', 'kk-KZ', 'ko-KR', 'lt-LT', 'ms-MY', 'nb-NO', 'nn-NO', 'pl-PL', 'pt-PT', 'pt-BR', 'ro-RO', 'ru-RU', 'sl-SI', 'sk-SK', 'sr-RS', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA', 'vi-VN', 'zh-CN', 'zh-HK', 'zh-TW']` OR defaults to 'any'. If 'any' or a falsey value is used, function will check if any of the locales match).<br/><br/>`options` is an optional object that can be supplied with the following keys: `strictMode`, if this is set to `true`, the mobile phone number must be supplied with the country code and therefore must start with `+`. Locale list is `validator.isMobilePhoneLocales`.
**isMobilePhone(str [, locale [, options]])** | check if the string is a mobile phone number,<br/><br/>(locale is either an array of locales (e.g `['sk-SK', 'sr-RS']`) OR one of `['ar-AE', 'ar-DZ', 'ar-EG', 'ar-IQ', ar-JO', 'ar-KW', 'ar-SA', 'ar-SY', 'ar-TN', 'be-BY', 'bg-BG', 'bn-BD', 'cs-CZ', 'de-DE', 'da-DK', 'el-GR', 'en-AU', 'en-CA', 'en-GB', 'en-GH', 'en-HK', 'en-IN', 'en-KE', 'en-MU', en-NG', 'en-NZ', 'en-RW', 'en-SG', 'en-UG', 'en-US', 'en-TZ', 'en-ZA', 'en-ZM', 'en-PK', 'es-ES', 'es-MX', 'es-UY', 'et-EE', 'fa-IR', 'fi-FI', 'fr-FR', 'he-IL', 'hu-HU', 'it-IT', 'ja-JP', 'kk-KZ', 'ko-KR', 'lt-LT', 'ms-MY', 'nb-NO', 'nn-NO', 'pl-PL', 'pt-PT', 'pt-BR', 'ro-RO', 'ru-RU', 'sl-SI', 'sk-SK', 'sr-RS', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA', 'vi-VN', 'zh-CN', 'zh-HK', 'zh-TW']` OR defaults to 'any'. If 'any' or a falsey value is used, function will check if any of the locales match).<br/><br/>`options` is an optional object that can be supplied with the following keys: `strictMode`, if this is set to `true`, the mobile phone number must be supplied with the country code and therefore must start with `+`. Locale list is `validator.isMobilePhoneLocales`.
**isMongoId(str)** | check if the string is a valid hex-encoded representation of a [MongoDB ObjectId][mongoid].

@@ -118,3 +118,3 @@ **isMultibyte(str)** | check if the string contains one or more multibyte chars.

**isSurrogatePair(str)** | check if the string contains any surrogate pairs chars.
**isURL(str [, options])** | check if the string is an URL.<br/><br/>`options` is an object which defaults to `{ protocols: ['http','https','ftp'], require_tld: true, require_protocol: false, require_host: true, require_valid_protocol: true, allow_underscores: false, host_whitelist: false, host_blacklist: false, allow_trailing_dot: false, allow_protocol_relative_urls: false }`.
**isURL(str [, options])** | check if the string is an URL.<br/><br/>`options` is an object which defaults to `{ protocols: ['http','https','ftp'], require_tld: true, require_protocol: false, require_host: true, require_valid_protocol: true, allow_underscores: false, host_whitelist: false, host_blacklist: false, allow_trailing_dot: false, allow_protocol_relative_urls: false, disallow_auth: false }`.
**isUUID(str [, version])** | check if the string is a UUID (version 3, 4 or 5).

@@ -121,0 +121,0 @@ **isUppercase(str)** | check if the string is uppercase.

@@ -23,2 +23,2 @@ /*!

*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.validator=t()}(this,function(){"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function g(e){if(!("string"==typeof e||e instanceof String)){var t=void 0;throw t=null===e?"null":"object"===(t=void 0===e?"undefined":a(e))&&e.constructor&&e.constructor.hasOwnProperty("name")?e.constructor.name:"a "+t,new TypeError("Expected string but received "+t+".")}}function o(e){return g(e),e=Date.parse(e),isNaN(e)?null:new Date(e)}function r(e){return g(e),parseFloat(e)}function n(e){return"object"===(void 0===e?"undefined":a(e))&&null!==e?e="function"==typeof e.toString?e.toString():"[object Object]":(null==e||isNaN(e)&&!e.length)&&(e=""),String(e)}function A(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];for(var r in t)void 0===e[r]&&(e[r]=t[r]);return e}function h(e,t){g(e);var r=void 0,i=void 0;i="object"===(void 0===t?"undefined":a(t))?(r=t.min||0,t.max):(r=t,arguments[2]);var o=encodeURI(e).split(/%..|./).length-1;return r<=o&&(void 0===i||o<=i)}var l={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1};function v(e,t){g(e),(t=A(t,l)).allow_trailing_dot&&"."===e[e.length-1]&&(e=e.substring(0,e.length-1));for(var r=e.split("."),i=0;i<r.length;i++)if(63<r[i].length)return!1;if(t.require_tld){var o=r.pop();if(!r.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(o))return!1;if(/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20]/.test(o))return!1}for(var n,a=0;a<r.length;a++){if(n=r[a],t.allow_underscores&&(n=n.replace(/_/g,"")),!/^[a-z\u00a1-\uffff0-9-]+$/i.test(n))return!1;if(/[\uff01-\uff5e]/.test(n))return!1;if("-"===n[0]||"-"===n[n.length-1])return!1}return!0}var s=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,u=/^[0-9A-F]{1,4}$/i;function m(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";if(g(e),!(t=String(t)))return m(e,4)||m(e,6);if("4"===t)return!!s.test(e)&&e.split(".").sort(function(e,t){return e-t})[3]<=255;if("6"!==t)return!1;var r=e.split(":"),i=!1,o=m(r[r.length-1],4),n=o?7:8;if(r.length>n)return!1;if("::"===e)return!0;"::"===e.substr(0,2)?(r.shift(),r.shift(),i=!0):"::"===e.substr(e.length-2)&&(r.pop(),r.pop(),i=!0);for(var a=0;a<r.length;++a)if(""===r[a]&&0<a&&a<r.length-1){if(i)return!1;i=!0}else if(o&&a===r.length-1);else if(!u.test(r[a]))return!1;return i?1<=r.length:r.length===n}var $={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},_=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\,\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,F=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,S=/^[a-z\d]+$/,R=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,E=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,x=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;var c={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1},f=/^\[([^\]]+)\](?::([0-9]+))?$/;function p(e,t){for(var r=0;r<t.length;r++){var i=t[r];if(e===i||(o=i,"[object RegExp]"===Object.prototype.toString.call(o)&&i.test(e)))return!0}var o;return!1}var i=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/,d=/^([0-9a-fA-F]){12}$/;var C=/^\d{1,2}$/;for(var e,M={"en-US":/^[A-Z]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},w={"en-US":/^[0-9A-Z]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},L={"en-US":".",ar:"٫"},t=["AU","GB","HK","IN","NZ","ZA","ZM"],N=0;N<t.length;N++)M[e="en-"+t[N]]=M["en-US"],w[e]=w["en-US"],L[e]=L["en-US"];for(var I,Z=["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"],T=0;T<Z.length;T++)M[I="ar-"+Z[T]]=M.ar,w[I]=w.ar,L[I]=L.ar;for(var B=[],y=["bg-BG","cs-CZ","da-DK","de-DE","el-GR","es-ES","fr-FR","it-IT","ku-IQ","hu-HU","nb-NO","nn-NO","nl-NL","pl-PL","pt-PT","ru-RU","sl-SI","sr-RS@latin","sr-RS","sv-SE","tr-TR","uk-UA"],O=0;O<B.length;O++)L[B[O]]=L["en-US"];for(var b=0;b<y.length;b++)L[y[b]]=",";M["pt-BR"]=M["pt-PT"],w["pt-BR"]=w["pt-PT"],L["pt-BR"]=L["pt-PT"],M["pl-Pl"]=M["pl-PL"],w["pl-Pl"]=w["pl-PL"],L["pl-Pl"]=L["pl-PL"];var D=Object.keys(M);var G=Object.keys(w),P=/^[+-]?([0-9]*[.])?[0-9]+$/,U=/^[0-9]+$/;var k=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,K=/^[-+]?[0-9]+$/;function H(e,t){g(e);var r=(t=t||{}).hasOwnProperty("allow_leading_zeroes")&&!t.allow_leading_zeroes?k:K,i=!t.hasOwnProperty("min")||e>=t.min,o=!t.hasOwnProperty("max")||e<=t.max,n=!t.hasOwnProperty("lt")||e<t.lt,a=!t.hasOwnProperty("gt")||e>t.gt;return r.test(e)&&i&&o&&n&&a}var z=/^[\x00-\x7F]+$/;var W=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;var V=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;var Y=/[^\x00-\x7F]/;var j=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;var J=Object.keys(L),q=function(e,t){return e.some(function(e){return t===e})};var Q={force_decimal:!1,decimal_digits:"1,",locale:"en-US"},X=["","-","+"];var ee=/^[0-9A-F]+$/i;function te(e){return g(e),ee.test(e)}var re=/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i;var ie=/^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;var oe=/^[a-f0-9]{32}$/;var ne={md5:32,md4:32,sha1:40,sha256:64,sha384:96,sha512:128,ripemd128:32,ripemd160:40,tiger128:32,tiger160:40,tiger192:48,crc32:8,crc32b:8};var ae=/^[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+$/;var le={ignore_whitespace:!1};var se={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};var ue=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14})$/;var de={ES:function(e){g(e);var t={X:0,Y:1,Z:2},r=e.trim().toUpperCase();if(!/^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/.test(r))return!1;var i=r.slice(0,-1).replace(/[X,Y,Z]/g,function(e){return t[e]});return r.endsWith(["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"][i%23])}};var ce=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;var fe=/^(?:[0-9]{9}X|[0-9]{10})$/,pe=/^(?:[0-9]{13})$/,ge=[1,3];var Ae={"ar-AE":/^((\+?971)|0)?5[024568]\d{7}$/,"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-EG":/^((\+?20)|0)?1[012]\d{8}$/,"ar-IQ":/^(\+?964|0)?7[0-9]\d{8}$/,"ar-JO":/^(\+?962|0)?7[789]\d{7}$/,"ar-KW":/^(\+?965)[569]\d{7}$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-TN":/^(\+?216)?[2459]\d{7}$/,"be-BY":/^(\+?375)?(24|25|29|33|44)\d{7}$/,"bg-BG":/^(\+?359|0)?8[789]\d{7}$/,"bn-BD":/\+?(88)?0?1[156789][0-9]{8}\b/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"da-DK":/^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,"de-DE":/^(\+?49[ \.\-]?)?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,"el-GR":/^(\+?30|0)?(69\d{8})$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-GB":/^(\+?44|0)7\d{9}$/,"en-HK":/^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/,"en-IN":/^(\+?91|0)?[6789]\d{9}$/,"en-KE":/^(\+?254|0)?[7]\d{8}$/,"en-NG":/^(\+?234|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)[28]\d{7,9}$/,"en-PK":/^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/,"en-RW":/^(\+?250|0)?[7]\d{8}$/,"en-SG":/^(\+65)?[89]\d{7}$/,"en-TZ":/^(\+?255|0)?[67]\d{8}$/,"en-UG":/^(\+?256|0)?[7]\d{8}$/,"en-US":/^(\+?1?( |-)?)?(\([2-9][0-9]{2}\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?09[567]\d{7}$/,"es-ES":/^(\+?34)?(6\d{1}|7[1234])\d{7}$/,"es-MX":/^(\+?52)?(1|01)?\d{10,11}$/,"et-EE":/^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,"fa-IR":/^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,"fi-FI":/^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,"fo-FO":/^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"he-IL":/^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,"hu-HU":/^(\+?36)(20|30|70)\d{7}$/,"id-ID":/^(\+?62|0)(0?8?\d\d\s?\d?)([\s?|\d]{7,12})$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"ja-JP":/^(\+?81|0)[789]0[ \-]?[1-9]\d{2}[ \-]?\d{5}$/,"kk-KZ":/^(\+?7|8)?7\d{9}$/,"kl-GL":/^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"ko-KR":/^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,"lt-LT":/^(\+370|8)\d{8}$/,"ms-MY":/^(\+?6?01){1}(([145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/,"nb-NO":/^(\+?47)?[49]\d{7}$/,"nl-BE":/^(\+?32|0)4?\d{8}$/,"nn-NO":/^(\+?47)?[49]\d{7}$/,"pl-PL":/^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,"pt-BR":/(?=^(\+?5{2}\-?|0)[1-9]{2}\-?\d{4}\-?\d{4}$)(^(\+?5{2}\-?|0)[1-9]{2}\-?[6-9]{1}\d{3}\-?\d{4}$)|(^(\+?5{2}\-?|0)[1-9]{2}\-?9[6-9]{1}\d{3}\-?\d{4}$)/,"pt-PT":/^(\+?351)?9[1236]\d{7}$/,"ro-RO":/^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/,"sl-SI":/^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,"sk-SK":/^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"sr-RS":/^(\+3816|06)[- \d]{5,9}$/,"sv-SE":/^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,"th-TH":/^(\+66|66|0)\d{9}$/,"tr-TR":/^(\+?90|0)?5\d{9}$/,"uk-UA":/^(\+?38|8)?0\d{9}$/,"vi-VN":/^(\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$/,"zh-CN":/^((\+|00)86)?1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/,"zh-TW":/^(\+?886\-?|0)?9\d{8}$/};Ae["en-CA"]=Ae["en-US"],Ae["fr-BE"]=Ae["nl-BE"],Ae["zh-HK"]=Ae["en-HK"];var he=Object.keys(Ae);var ve={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_decimal:!0,require_decimal:!1,digits_after_decimal:[2],allow_space_after_digits:!1};var me=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var $e=/([01][0-9]|2[0-3])/,_e=/[0-5][0-9]/,Fe=new RegExp("[-+]"+$e.source+":"+_e.source),Se=new RegExp("([zZ]|"+Fe.source+")"),Re=new RegExp($e.source+":"+_e.source+":"+/([0-5][0-9]|60)/.source+/(\.[0-9]+)?/.source),Ee=new RegExp(/[0-9]{4}/.source+"-"+/(0[1-9]|1[0-2])/.source+"-"+/([12]\d|0[1-9]|3[01])/.source),xe=new RegExp(""+Re.source+Se.source),Ce=new RegExp(Ee.source+"[ tT]"+xe.source);var Me=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"];var we=["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","KHM","CMR","CAN","CPV","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KOR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","ZMB","ZWE"];var Le=/[^A-Z0-9+\/=]/i;var Ne=/^[a-z]+\/[a-z0-9\-\+]+$/i,Ie=/^[a-z\-]+=[a-z0-9\-]+$/i,Ze=/^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;var Te=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}&dn=.+&tr=.+$/i;var Be=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i,ye=/^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i,Oe=/^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i;var be=/^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/,De=/^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/,Ge=/^\d{4}$/,Pe=/^\d{5}$/,Ue=/^\d{6}$/,ke={AD:/^AD\d{3}$/,AT:Ge,AU:Ge,BE:Ge,BG:Ge,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:Ge,CZ:/^\d{3}\s?\d{2}$/,DE:Pe,DK:Ge,DZ:Pe,EE:Pe,ES:Pe,FI:Pe,FR:/^\d{2}\s?\d{3}$/,GB:/^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,GR:/^\d{3}\s?\d{2}$/,HR:/^([1-5]\d{4}$)/,HU:Ge,IL:Pe,IN:Ue,IS:/^\d{3}$/,IT:Pe,JP:/^\d{3}\-\d{4}$/,KE:Pe,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT\-\d{5}$/,LU:Ge,LV:/^LV\-\d{4}$/,MX:Pe,NL:/^\d{4}\s?[a-z]{2}$/i,NO:Ge,PL:/^\d{2}\-\d{3}$/,PT:/^\d{4}\-\d{3}?$/,RO:Ue,RU:Ue,SA:Pe,SE:/^\d{3}\s?\d{2}$/,SI:Ge,SK:/^\d{3}\s?\d{2}$/,TN:Ge,TW:/^\d{3}(\d{2})?$/,US:/^\d{5}(-\d{4})?$/,ZA:Ge,ZM:Pe},Ke=Object.keys(ke);function He(e,t){g(e);var r=t?new RegExp("^["+t+"]+","g"):/^\s+/g;return e.replace(r,"")}function ze(e,t){g(e);for(var r=t?new RegExp("["+t+"]"):/\s/,i=e.length-1;0<=i&&r.test(e[i]);i--);return i<e.length?e.substr(0,i+1):e}function We(e,t){return g(e),e.replace(new RegExp("["+t+"]+","g"),"")}var Ve={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0,yahoo_lowercase:!0,yahoo_remove_subaddress:!0,yandex_lowercase:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},Ye=["icloud.com","me.com"],je=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],Je=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"],qe=["yandex.ru","yandex.ua","yandex.kz","yandex.com","yandex.by","ya.ru"];function Qe(e){return 1<e.length?e:""}return{version:"10.8.0",toDate:o,toFloat:r,toInt:function(e,t){return g(e),parseInt(e,t||10)},toBoolean:function(e,t){return g(e),t?"1"===e||"true"===e:"0"!==e&&"false"!==e&&""!==e},equals:function(e,t){return g(e),e===t},contains:function(e,t){return g(e),0<=e.indexOf(n(t))},matches:function(e,t,r){return g(e),"[object RegExp]"!==Object.prototype.toString.call(t)&&(t=new RegExp(t,r)),t.test(e)},isEmail:function(e,t){if(g(e),(t=A(t,$)).require_display_name||t.allow_display_name){var r=e.match(_);if(r)e=r[1];else if(t.require_display_name)return!1}var i=e.split("@"),o=i.pop(),n=i.join("@"),a=o.toLowerCase();if(t.domain_specific_validation&&("gmail.com"===a||"googlemail.com"===a)){var l=(n=n.toLowerCase()).split("+")[0];if(!h(l.replace(".",""),{min:6,max:30}))return!1;for(var s=l.split("."),u=0;u<s.length;u++)if(!S.test(s[u]))return!1}if(!h(n,{max:64})||!h(o,{max:254}))return!1;if(!v(o,{require_tld:t.require_tld})){if(!t.allow_ip_domain)return!1;if(!m(o)){if(!o.startsWith("[")||!o.endsWith("]"))return!1;var d=o.substr(1,o.length-2);if(0===d.length||!m(d))return!1}}if('"'===n[0])return n=n.slice(1,n.length-1),t.allow_utf8_local_part?x.test(n):R.test(n);for(var c=t.allow_utf8_local_part?E:F,f=n.split("."),p=0;p<f.length;p++)if(!c.test(f[p]))return!1;return!0},isURL:function(e,t){if(g(e),!e||2083<=e.length||/[\s<>]/.test(e))return!1;if(0===e.indexOf("mailto:"))return!1;t=A(t,c);var r=void 0,i=void 0,o=void 0,n=void 0,a=void 0,l=void 0,s=void 0,u=void 0;if(1<(s=(e=(s=(e=(s=e.split("#")).shift()).split("?")).shift()).split("://")).length){if(r=s.shift().toLowerCase(),t.require_valid_protocol&&-1===t.protocols.indexOf(r))return!1}else{if(t.require_protocol)return!1;if("//"===e.substr(0,2)){if(!t.allow_protocol_relative_urls)return!1;s[0]=e.substr(2)}}if(""===(e=s.join("://")))return!1;if(""===(e=(s=e.split("/")).shift())&&!t.require_host)return!0;if(1<(s=e.split("@")).length&&0<=(i=s.shift()).indexOf(":")&&2<i.split(":").length)return!1;u=l=null;var d=(n=s.join("@")).match(f);return d?(o="",u=d[1],l=d[2]||null):(o=(s=n.split(":")).shift(),s.length&&(l=s.join(":"))),!(null!==l&&(a=parseInt(l,10),!/^[0-9]+$/.test(l)||a<=0||65535<a)||!(m(o)||v(o,t)||u&&m(u,6))||(o=o||u,t.host_whitelist&&!p(o,t.host_whitelist)||t.host_blacklist&&p(o,t.host_blacklist)))},isMACAddress:function(e,t){return g(e),t&&t.no_colons?d.test(e):i.test(e)},isIP:m,isIPRange:function(e){g(e);var t=e.split("/");return 2===t.length&&!!C.test(t[1])&&!(1<t[1].length&&t[1].startsWith("0"))&&m(t[0],4)&&t[1]<=32&&0<=t[1]},isFQDN:v,isBoolean:function(e){return g(e),0<=["true","false","1","0"].indexOf(e)},isAlpha:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"en-US";if(g(e),t in M)return M[t].test(e);throw new Error("Invalid locale '"+t+"'")},isAlphaLocales:D,isAlphanumeric:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"en-US";if(g(e),t in w)return w[t].test(e);throw new Error("Invalid locale '"+t+"'")},isAlphanumericLocales:G,isNumeric:function(e,t){return g(e),t&&t.no_symbols?U.test(e):P.test(e)},isPort:function(e){return H(e,{min:0,max:65535})},isLowercase:function(e){return g(e),e===e.toLowerCase()},isUppercase:function(e){return g(e),e===e.toUpperCase()},isAscii:function(e){return g(e),z.test(e)},isFullWidth:function(e){return g(e),W.test(e)},isHalfWidth:function(e){return g(e),V.test(e)},isVariableWidth:function(e){return g(e),W.test(e)&&V.test(e)},isMultibyte:function(e){return g(e),Y.test(e)},isSurrogatePair:function(e){return g(e),j.test(e)},isInt:H,isFloat:function(e,t){g(e),t=t||{};var r=new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\"+(t.locale?L[t.locale]:".")+"[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$");if(""===e||"."===e||"-"===e||"+"===e)return!1;var i=parseFloat(e.replace(",","."));return r.test(e)&&(!t.hasOwnProperty("min")||i>=t.min)&&(!t.hasOwnProperty("max")||i<=t.max)&&(!t.hasOwnProperty("lt")||i<t.lt)&&(!t.hasOwnProperty("gt")||i>t.gt)},isFloatLocales:J,isDecimal:function(e,t){if(g(e),(t=A(t,Q)).locale in L)return!q(X,e.replace(/ /g,""))&&(r=t,new RegExp("^[-+]?([0-9]+)?(\\"+L[r.locale]+"[0-9]{"+r.decimal_digits+"})"+(r.force_decimal?"":"?")+"$")).test(e);var r;throw new Error("Invalid locale '"+t.locale+"'")},isHexadecimal:te,isDivisibleBy:function(e,t){return g(e),r(e)%parseInt(t,10)==0},isHexColor:function(e){return g(e),re.test(e)},isISRC:function(e){return g(e),ie.test(e)},isMD5:function(e){return g(e),oe.test(e)},isHash:function(e,t){return g(e),new RegExp("^[a-f0-9]{"+ne[t]+"}$").test(e)},isJWT:function(e){return g(e),ae.test(e)},isJSON:function(e){g(e);try{var t=JSON.parse(e);return!!t&&"object"===(void 0===t?"undefined":a(t))}catch(e){}return!1},isEmpty:function(e,t){return g(e),0===((t=A(t,le)).ignore_whitespace?e.trim().length:e.length)},isLength:function(e,t){g(e);var r=void 0,i=void 0;i="object"===(void 0===t?"undefined":a(t))?(r=t.min||0,t.max):(r=t,arguments[2]);var o=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],n=e.length-o.length;return r<=n&&(void 0===i||n<=i)},isByteLength:h,isUUID:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"all";g(e);var r=se[t];return r&&r.test(e)},isMongoId:function(e){return g(e),te(e)&&24===e.length},isAfter:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:String(new Date);g(e);var r=o(t),i=o(e);return!!(i&&r&&r<i)},isBefore:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:String(new Date);g(e);var r=o(t),i=o(e);return!!(i&&r&&i<r)},isIn:function(e,t){g(e);var r=void 0;if("[object Array]"!==Object.prototype.toString.call(t))return"object"===(void 0===t?"undefined":a(t))?t.hasOwnProperty(e):!(!t||"function"!=typeof t.indexOf)&&0<=t.indexOf(e);var i=[];for(r in t)({}).hasOwnProperty.call(t,r)&&(i[r]=n(t[r]));return 0<=i.indexOf(e)},isCreditCard:function(e){g(e);var t=e.replace(/[- ]+/g,"");if(!ue.test(t))return!1;for(var r=0,i=void 0,o=void 0,n=void 0,a=t.length-1;0<=a;a--)i=t.substring(a,a+1),o=parseInt(i,10),r+=n&&10<=(o*=2)?o%10+1:o,n=!n;return!(r%10!=0||!t)},isIdentityCard:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"any";if(g(e),t in de)return de[t](e);if("any"!==t)throw new Error("Invalid locale '"+t+"'");for(var r in de)if(de.hasOwnProperty(r)&&(0,de[r])(e))return!0;return!1},isISIN:function(e){if(g(e),!ce.test(e))return!1;for(var t=e.replace(/[A-Z]/g,function(e){return parseInt(e,36)}),r=0,i=void 0,o=void 0,n=!0,a=t.length-2;0<=a;a--)i=t.substring(a,a+1),o=parseInt(i,10),r+=n&&10<=(o*=2)?o+1:o,n=!n;return parseInt(e.substr(e.length-1),10)===(1e4-r)%10},isISBN:function e(t){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";if(g(t),!(r=String(r)))return e(t,10)||e(t,13);var i=t.replace(/[\s-]+/g,""),o=0,n=void 0;if("10"===r){if(!fe.test(i))return!1;for(n=0;n<9;n++)o+=(n+1)*i.charAt(n);if("X"===i.charAt(9)?o+=100:o+=10*i.charAt(9),o%11==0)return!!i}else if("13"===r){if(!pe.test(i))return!1;for(n=0;n<12;n++)o+=ge[n%2]*i.charAt(n);if(i.charAt(12)-(10-o%10)%10==0)return!!i}return!1},isISSN:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};g(e);var r="^\\d{4}-?\\d{3}[\\dX]$";if(r=t.require_hyphen?r.replace("?",""):r,!(r=t.case_sensitive?new RegExp(r):new RegExp(r,"i")).test(e))return!1;for(var i=e.replace("-","").toUpperCase(),o=0,n=0;n<i.length;n++){var a=i[n];o+=("X"===a?10:+a)*(8-n)}return o%11==0},isMobilePhone:function(t,e,r){if(g(t),r&&r.strictMode&&!t.startsWith("+"))return!1;if(Array.isArray(e))return e.some(function(e){return!(!Ae.hasOwnProperty(e)||!Ae[e].test(t))});if(e in Ae)return Ae[e].test(t);if(e&&"any"!==e)throw new Error("Invalid locale '"+e+"'");for(var i in Ae)if(Ae.hasOwnProperty(i)&&Ae[i].test(t))return!0;return!1},isMobilePhoneLocales:he,isPostalCode:function(e,t){if(g(e),t in ke)return ke[t].test(e);if("any"!==t)throw new Error("Invalid locale '"+t+"'");for(var r in ke)if(ke.hasOwnProperty(r)&&ke[r].test(e))return!0;return!1},isPostalCodeLocales:Ke,isCurrency:function(e,t){return g(e),function(e){var r="\\d{"+e.digits_after_decimal[0]+"}";e.digits_after_decimal.forEach(function(e,t){0!==t&&(r=r+"|\\d{"+e+"}")});var t="(\\"+e.symbol.replace(/\./g,"\\.")+")"+(e.require_symbol?"":"?"),i="("+["0","[1-9]\\d*","[1-9]\\d{0,2}(\\"+e.thousands_separator+"\\d{3})*"].join("|")+")?",o="(\\"+e.decimal_separator+"("+r+"))"+(e.require_decimal?"":"?"),n=i+(e.allow_decimal||e.require_decimal?o:"");return e.allow_negatives&&!e.parens_for_negatives&&(e.negative_sign_after_digits?n+="-?":e.negative_sign_before_digits&&(n="-?"+n)),e.allow_negative_sign_placeholder?n="( (?!\\-))?"+n:e.allow_space_after_symbol?n=" ?"+n:e.allow_space_after_digits&&(n+="( (?!$))?"),e.symbol_after_digits?n+=t:n=t+n,e.allow_negatives&&(e.parens_for_negatives?n="(\\("+n+"\\)|"+n+")":e.negative_sign_before_digits||e.negative_sign_after_digits||(n="-?"+n)),new RegExp("^(?!-? )(?=.*\\d)"+n+"$")}(t=A(t,ve)).test(e)},isISO8601:function(e){return g(e),me.test(e)},isRFC3339:function(e){return g(e),Ce.test(e)},isISO31661Alpha2:function(e){return g(e),q(Me,e.toUpperCase())},isISO31661Alpha3:function(e){return g(e),q(we,e.toUpperCase())},isBase64:function(e){g(e);var t=e.length;if(!t||t%4!=0||Le.test(e))return!1;var r=e.indexOf("=");return-1===r||r===t-1||r===t-2&&"="===e[t-1]},isDataURI:function(e){g(e);var t=e.split(",");if(t.length<2)return!1;var r=t.shift().trim().split(";"),i=r.shift();if("data:"!==i.substr(0,5))return!1;var o=i.substr(5);if(""!==o&&!Ne.test(o))return!1;for(var n=0;n<r.length;n++)if(n===r.length-1&&"base64"===r[n].toLowerCase());else if(!Ie.test(r[n]))return!1;for(var a=0;a<t.length;a++)if(!Ze.test(t[a]))return!1;return!0},isMagnetURI:function(e){return g(e),Te.test(e.trim())},isMimeType:function(e){return g(e),Be.test(e)||ye.test(e)||Oe.test(e)},isLatLong:function(e){if(g(e),!e.includes(","))return!1;var t=e.split(",");return be.test(t[0])&&De.test(t[1])},ltrim:He,rtrim:ze,trim:function(e,t){return ze(He(e,t),t)},escape:function(e){return g(e),e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;").replace(/\\/g,"&#x5C;").replace(/`/g,"&#96;")},unescape:function(e){return g(e),e.replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&#x2F;/g,"/").replace(/&#x5C;/g,"\\").replace(/&#96;/g,"`")},stripLow:function(e,t){return g(e),We(e,t?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F")},whitelist:function(e,t){return g(e),e.replace(new RegExp("[^"+t+"]+","g"),"")},blacklist:We,isWhitelisted:function(e,t){g(e);for(var r=e.length-1;0<=r;r--)if(-1===t.indexOf(e[r]))return!1;return!0},normalizeEmail:function(e,t){t=A(t,Ve);var r=e.split("@"),i=r.pop(),o=[r.join("@"),i];if(o[1]=o[1].toLowerCase(),"gmail.com"===o[1]||"googlemail.com"===o[1]){if(t.gmail_remove_subaddress&&(o[0]=o[0].split("+")[0]),t.gmail_remove_dots&&(o[0]=o[0].replace(/\.+/g,Qe)),!o[0].length)return!1;(t.all_lowercase||t.gmail_lowercase)&&(o[0]=o[0].toLowerCase()),o[1]=t.gmail_convert_googlemaildotcom?"gmail.com":o[1]}else if(0<=Ye.indexOf(o[1])){if(t.icloud_remove_subaddress&&(o[0]=o[0].split("+")[0]),!o[0].length)return!1;(t.all_lowercase||t.icloud_lowercase)&&(o[0]=o[0].toLowerCase())}else if(0<=je.indexOf(o[1])){if(t.outlookdotcom_remove_subaddress&&(o[0]=o[0].split("+")[0]),!o[0].length)return!1;(t.all_lowercase||t.outlookdotcom_lowercase)&&(o[0]=o[0].toLowerCase())}else if(0<=Je.indexOf(o[1])){if(t.yahoo_remove_subaddress){var n=o[0].split("-");o[0]=1<n.length?n.slice(0,-1).join("-"):n[0]}if(!o[0].length)return!1;(t.all_lowercase||t.yahoo_lowercase)&&(o[0]=o[0].toLowerCase())}else 0<=qe.indexOf(o[1])?((t.all_lowercase||t.yandex_lowercase)&&(o[0]=o[0].toLowerCase()),o[1]="yandex.ru"):t.all_lowercase&&(o[0]=o[0].toLowerCase());return o.join("@")},toString:n}});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.validator=e()}(this,function(){"use strict";function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function g(t){var e;if(!("string"==typeof t||t instanceof String))throw e=null===t?"null":"object"===(e=a(t))&&t.constructor&&t.constructor.hasOwnProperty("name")?t.constructor.name:"a ".concat(e),new TypeError("Expected string but received ".concat(e,"."))}function n(t){return g(t),t=Date.parse(t),isNaN(t)?null:new Date(t)}function r(t){return g(t),parseFloat(t)}function i(t){return"object"===a(t)&&null!==t?t="function"==typeof t.toString?t.toString():"[object Object]":(null==t||isNaN(t)&&!t.length)&&(t=""),String(t)}function h(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=1<arguments.length?arguments[1]:void 0;for(var r in e)void 0===t[r]&&(t[r]=e[r]);return t}function A(t,e){var r,o;g(t),o="object"===a(e)?(r=e.min||0,e.max):(r=e,arguments[2]);var n=encodeURI(t).split(/%..|./).length-1;return r<=n&&(void 0===o||n<=o)}var l={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1};function m(t,e){g(t),(e=h(e,l)).allow_trailing_dot&&"."===t[t.length-1]&&(t=t.substring(0,t.length-1));for(var r=t.split("."),o=0;o<r.length;o++)if(63<r[o].length)return!1;if(e.require_tld){var n=r.pop();if(!r.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(n))return!1;if(/[\s\u2002-\u200B\u202F\u205F\u3000\uFEFF\uDB40\uDC20]/.test(n))return!1}for(var i,a=0;a<r.length;a++){if(i=r[a],e.allow_underscores&&(i=i.replace(/_/g,"")),!/^[a-z\u00a1-\uffff0-9-]+$/i.test(i))return!1;if(/[\uff01-\uff5e]/.test(i))return!1;if("-"===i[0]||"-"===i[i.length-1])return!1}return!0}var s=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,u=/^[0-9A-F]{1,4}$/i;function $(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";if(g(t),!(e=String(e)))return $(t,4)||$(t,6);if("4"===e)return!!s.test(t)&&t.split(".").sort(function(t,e){return t-e})[3]<=255;if("6"!==e)return!1;var r=t.split(":"),o=!1,n=$(r[r.length-1],4),i=n?7:8;if(r.length>i)return!1;if("::"===t)return!0;"::"===t.substr(0,2)?(r.shift(),r.shift(),o=!0):"::"===t.substr(t.length-2)&&(r.pop(),r.pop(),o=!0);for(var a=0;a<r.length;++a)if(""===r[a]&&0<a&&a<r.length-1){if(o)return!1;o=!0}else if(n&&a===r.length-1);else if(!u.test(r[a]))return!1;return o?1<=r.length:r.length===i}var v={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0},_=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\,\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,F=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,S=/^[a-z\d]+$/,R=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,E=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,x=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;var d={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1},f=/^\[([^\]]+)\](?::([0-9]+))?$/;function p(t,e){for(var r=0;r<e.length;r++){var o=e[r];if(t===o||(n=o,"[object RegExp]"===Object.prototype.toString.call(n)&&o.test(t)))return!0}var n;return!1}var o=/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/,c=/^([0-9a-fA-F]){12}$/;var M=/^\d{1,2}$/;for(var t,N={"en-US":/^[A-Z]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},w={"en-US":/^[0-9A-Z]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},C={"en-US":".",ar:"٫"},e=["AU","GB","HK","IN","NZ","ZA","ZM"],L=0;L<e.length;L++)t="en-".concat(e[L]),N[t]=N["en-US"],w[t]=w["en-US"],C[t]=C["en-US"];for(var I,Z=["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"],T=0;T<Z.length;T++)I="ar-".concat(Z[T]),N[I]=N.ar,w[I]=w.ar,C[I]=C.ar;for(var B=[],y=["bg-BG","cs-CZ","da-DK","de-DE","el-GR","es-ES","fr-FR","it-IT","ku-IQ","hu-HU","nb-NO","nn-NO","nl-NL","pl-PL","pt-PT","ru-RU","sl-SI","sr-RS@latin","sr-RS","sv-SE","tr-TR","uk-UA"],b=0;b<B.length;b++)C[B[b]]=C["en-US"];for(var D=0;D<y.length;D++)C[y[D]]=",";N["pt-BR"]=N["pt-PT"],w["pt-BR"]=w["pt-PT"],C["pt-BR"]=C["pt-PT"],N["pl-Pl"]=N["pl-PL"],w["pl-Pl"]=w["pl-PL"],C["pl-Pl"]=C["pl-PL"];var O=Object.keys(N);var G=Object.keys(w),P=/^[+-]?([0-9]*[.])?[0-9]+$/,U=/^[0-9]+$/;var k=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,K=/^[-+]?[0-9]+$/;function H(t,e){g(t);var r=(e=e||{}).hasOwnProperty("allow_leading_zeroes")&&!e.allow_leading_zeroes?k:K,o=!e.hasOwnProperty("min")||t>=e.min,n=!e.hasOwnProperty("max")||t<=e.max,i=!e.hasOwnProperty("lt")||t<e.lt,a=!e.hasOwnProperty("gt")||t>e.gt;return r.test(t)&&o&&n&&i&&a}var z=/^[\x00-\x7F]+$/;var W=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;var Y=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;var V=/[^\x00-\x7F]/;var j=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;var J=Object.keys(C),q=function(t,e){return t.some(function(t){return e===t})};var Q={force_decimal:!1,decimal_digits:"1,",locale:"en-US"},X=["","-","+"];var tt=/^[0-9A-F]+$/i;function et(t){return g(t),tt.test(t)}var rt=/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i;var ot=/^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;var nt=/^[a-f0-9]{32}$/;var it={md5:32,md4:32,sha1:40,sha256:64,sha384:96,sha512:128,ripemd128:32,ripemd160:40,tiger128:32,tiger160:40,tiger192:48,crc32:8,crc32b:8};var at=/^([A-Za-z0-9\-_~+\/]+[=]{0,2})\.([A-Za-z0-9\-_~+\/]+[=]{0,2})(?:\.([A-Za-z0-9\-_~+\/]+[=]{0,2}))?$/;var lt={ignore_whitespace:!1};var st={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};var ut=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14})$/;var ct={ES:function(t){g(t);var e={X:0,Y:1,Z:2},r=t.trim().toUpperCase();if(!/^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/.test(r))return!1;var o=r.slice(0,-1).replace(/[X,Y,Z]/g,function(t){return e[t]});return r.endsWith(["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"][o%23])}};var dt=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;var ft=/^(?:[0-9]{9}X|[0-9]{10})$/,pt=/^(?:[0-9]{13})$/,gt=[1,3];var ht={"ar-AE":/^((\+?971)|0)?5[024568]\d{7}$/,"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-EG":/^((\+?20)|0)?1[012]\d{8}$/,"ar-IQ":/^(\+?964|0)?7[0-9]\d{8}$/,"ar-JO":/^(\+?962|0)?7[789]\d{7}$/,"ar-KW":/^(\+?965)[569]\d{7}$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-TN":/^(\+?216)?[2459]\d{7}$/,"be-BY":/^(\+?375)?(24|25|29|33|44)\d{7}$/,"bg-BG":/^(\+?359|0)?8[789]\d{7}$/,"bn-BD":/\+?(88)?0?1[356789][0-9]{8}\b/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"da-DK":/^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,"de-DE":/^(\+?49[ \.\-]?)?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,"el-GR":/^(\+?30|0)?(69\d{8})$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-GB":/^(\+?44|0)7\d{9}$/,"en-GH":/^(\+233|0)(20|50|24|54|27|57|26|56|23|28)\d{7}$/,"en-HK":/^(\+?852\-?)?[456789]\d{3}\-?\d{4}$/,"en-IN":/^(\+?91|0)?[6789]\d{9}$/,"en-KE":/^(\+?254|0)?[7]\d{8}$/,"en-MU":/^(\+?230|0)?\d{8}$/,"en-NG":/^(\+?234|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)[28]\d{7,9}$/,"en-PK":/^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/,"en-RW":/^(\+?250|0)?[7]\d{8}$/,"en-SG":/^(\+65)?[89]\d{7}$/,"en-TZ":/^(\+?255|0)?[67]\d{8}$/,"en-UG":/^(\+?256|0)?[7]\d{8}$/,"en-US":/^(\+?1?( |-)?)?(\([2-9][0-9]{2}\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?09[567]\d{7}$/,"es-ES":/^(\+?34)?(6\d{1}|7[1234])\d{7}$/,"es-MX":/^(\+?52)?(1|01)?\d{10,11}$/,"es-UY":/^(\+598|0)9[1-9][\d]{6}$/,"et-EE":/^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,"fa-IR":/^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,"fi-FI":/^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,"fo-FO":/^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"he-IL":/^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,"hu-HU":/^(\+?36)(20|30|70)\d{7}$/,"id-ID":/^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"ja-JP":/^(\+?81|0)[789]0[ \-]?[1-9]\d{2}[ \-]?\d{5}$/,"kk-KZ":/^(\+?7|8)?7\d{9}$/,"kl-GL":/^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"ko-KR":/^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,"lt-LT":/^(\+370|8)\d{8}$/,"ms-MY":/^(\+?6?01){1}(([145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/,"nb-NO":/^(\+?47)?[49]\d{7}$/,"nl-BE":/^(\+?32|0)4?\d{8}$/,"nn-NO":/^(\+?47)?[49]\d{7}$/,"pl-PL":/^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,"pt-BR":/(?=^(\+?5{2}\-?|0)[1-9]{2}\-?\d{4}\-?\d{4}$)(^(\+?5{2}\-?|0)[1-9]{2}\-?[6-9]{1}\d{3}\-?\d{4}$)|(^(\+?5{2}\-?|0)[1-9]{2}\-?9[6-9]{1}\d{3}\-?\d{4}$)/,"pt-PT":/^(\+?351)?9[1236]\d{7}$/,"ro-RO":/^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/,"sl-SI":/^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,"sk-SK":/^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"sr-RS":/^(\+3816|06)[- \d]{5,9}$/,"sv-SE":/^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,"th-TH":/^(\+66|66|0)\d{9}$/,"tr-TR":/^(\+?90|0)?5\d{9}$/,"uk-UA":/^(\+?38|8)?0\d{9}$/,"vi-VN":/^(\+?84|0)((3([2-9]))|(5([689]))|(7([0|6-9]))|(8([1-5]))|(9([0-9])))([0-9]{7})$/,"zh-CN":/^((\+|00)86)?1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/,"zh-TW":/^(\+?886\-?|0)?9\d{8}$/};ht["en-CA"]=ht["en-US"],ht["fr-BE"]=ht["nl-BE"],ht["zh-HK"]=ht["en-HK"];var At=Object.keys(ht);var mt={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_decimal:!0,require_decimal:!1,digits_after_decimal:[2],allow_space_after_digits:!1};var $t=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var vt=/([01][0-9]|2[0-3])/,_t=/[0-5][0-9]/,Ft=new RegExp("[-+]".concat(vt.source,":").concat(_t.source)),St=new RegExp("([zZ]|".concat(Ft.source,")")),Rt=new RegExp("".concat(vt.source,":").concat(_t.source,":").concat(/([0-5][0-9]|60)/.source).concat(/(\.[0-9]+)?/.source)),Et=new RegExp("".concat(/[0-9]{4}/.source,"-").concat(/(0[1-9]|1[0-2])/.source,"-").concat(/([12]\d|0[1-9]|3[01])/.source)),xt=new RegExp("".concat(Rt.source).concat(St.source)),Mt=new RegExp("".concat(Et.source,"[ tT]").concat(xt.source));var Nt=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"];var wt=["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","KHM","CMR","CAN","CPV","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KOR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","ZMB","ZWE"];var Ct=/[^A-Z0-9+\/=]/i;var Lt=/^[a-z]+\/[a-z0-9\-\+]+$/i,It=/^[a-z\-]+=[a-z0-9\-]+$/i,Zt=/^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;var Tt=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}&dn=.+&tr=.+$/i;var Bt=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i,yt=/^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i,bt=/^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i;var Dt=/^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/,Ot=/^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/,Gt=/^\d{4}$/,Pt=/^\d{5}$/,Ut=/^\d{6}$/,kt={AD:/^AD\d{3}$/,AT:Gt,AU:Gt,BE:Gt,BG:Gt,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:Gt,CZ:/^\d{3}\s?\d{2}$/,DE:Pt,DK:Gt,DZ:Pt,EE:Pt,ES:Pt,FI:Pt,FR:/^\d{2}\s?\d{3}$/,GB:/^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,GR:/^\d{3}\s?\d{2}$/,HR:/^([1-5]\d{4}$)/,HU:Gt,IL:Pt,IN:Ut,IS:/^\d{3}$/,IT:Pt,JP:/^\d{3}\-\d{4}$/,KE:Pt,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT\-\d{5}$/,LU:Gt,LV:/^LV\-\d{4}$/,MX:Pt,NL:/^\d{4}\s?[a-z]{2}$/i,NO:Gt,PL:/^\d{2}\-\d{3}$/,PT:/^\d{4}\-\d{3}?$/,RO:Ut,RU:Ut,SA:Pt,SE:/^\d{3}\s?\d{2}$/,SI:Gt,SK:/^\d{3}\s?\d{2}$/,TN:Gt,TW:/^\d{3}(\d{2})?$/,US:/^\d{5}(-\d{4})?$/,ZA:Gt,ZM:Pt},Kt=Object.keys(kt);function Ht(t,e){g(t);var r=e?new RegExp("^[".concat(e,"]+"),"g"):/^\s+/g;return t.replace(r,"")}function zt(t,e){g(t);for(var r=e?new RegExp("[".concat(e,"]")):/\s/,o=t.length-1;0<=o&&r.test(t[o]);o--);return o<t.length?t.substr(0,o+1):t}function Wt(t,e){return g(t),t.replace(new RegExp("[".concat(e,"]+"),"g"),"")}var Yt={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0,yahoo_lowercase:!0,yahoo_remove_subaddress:!0,yandex_lowercase:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},Vt=["icloud.com","me.com"],jt=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],Jt=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"],qt=["yandex.ru","yandex.ua","yandex.kz","yandex.com","yandex.by","ya.ru"];function Qt(t){return 1<t.length?t:""}return{version:"10.9.0",toDate:n,toFloat:r,toInt:function(t,e){return g(t),parseInt(t,e||10)},toBoolean:function(t,e){return g(t),e?"1"===t||"true"===t:"0"!==t&&"false"!==t&&""!==t},equals:function(t,e){return g(t),t===e},contains:function(t,e){return g(t),0<=t.indexOf(i(e))},matches:function(t,e,r){return g(t),"[object RegExp]"!==Object.prototype.toString.call(e)&&(e=new RegExp(e,r)),e.test(t)},isEmail:function(t,e){if(g(t),(e=h(e,v)).require_display_name||e.allow_display_name){var r=t.match(_);if(r)t=r[1];else if(e.require_display_name)return!1}var o=t.split("@"),n=o.pop(),i=o.join("@"),a=n.toLowerCase();if(e.domain_specific_validation&&("gmail.com"===a||"googlemail.com"===a)){var l=(i=i.toLowerCase()).split("+")[0];if(!A(l.replace(".",""),{min:6,max:30}))return!1;for(var s=l.split("."),u=0;u<s.length;u++)if(!S.test(s[u]))return!1}if(!A(i,{max:64})||!A(n,{max:254}))return!1;if(!m(n,{require_tld:e.require_tld})){if(!e.allow_ip_domain)return!1;if(!$(n)){if(!n.startsWith("[")||!n.endsWith("]"))return!1;var c=n.substr(1,n.length-2);if(0===c.length||!$(c))return!1}}if('"'===i[0])return i=i.slice(1,i.length-1),e.allow_utf8_local_part?x.test(i):R.test(i);for(var d=e.allow_utf8_local_part?E:F,f=i.split("."),p=0;p<f.length;p++)if(!d.test(f[p]))return!1;return!0},isURL:function(t,e){if(g(t),!t||2083<=t.length||/[\s<>]/.test(t))return!1;if(0===t.indexOf("mailto:"))return!1;var r,o,n,i,a,l,s,u;if(e=h(e,d),1<(s=(t=(s=(t=(s=t.split("#")).shift()).split("?")).shift()).split("://")).length){if(r=s.shift().toLowerCase(),e.require_valid_protocol&&-1===e.protocols.indexOf(r))return!1}else{if(e.require_protocol)return!1;if("//"===t.substr(0,2)){if(!e.allow_protocol_relative_urls)return!1;s[0]=t.substr(2)}}if(""===(t=s.join("://")))return!1;if(""===(t=(s=t.split("/")).shift())&&!e.require_host)return!0;if(1<(s=t.split("@")).length){if(e.disallow_auth)return!1;if(0<=(o=s.shift()).indexOf(":")&&2<o.split(":").length)return!1}u=l=null;var c=(i=s.join("@")).match(f);return c?(n="",u=c[1],l=c[2]||null):(n=(s=i.split(":")).shift(),s.length&&(l=s.join(":"))),!(null!==l&&(a=parseInt(l,10),!/^[0-9]+$/.test(l)||a<=0||65535<a)||!($(n)||m(n,e)||u&&$(u,6))||(n=n||u,e.host_whitelist&&!p(n,e.host_whitelist)||e.host_blacklist&&p(n,e.host_blacklist)))},isMACAddress:function(t,e){return g(t),e&&e.no_colons?c.test(t):o.test(t)},isIP:$,isIPRange:function(t){g(t);var e=t.split("/");return 2===e.length&&!!M.test(e[1])&&!(1<e[1].length&&e[1].startsWith("0"))&&$(e[0],4)&&e[1]<=32&&0<=e[1]},isFQDN:m,isBoolean:function(t){return g(t),0<=["true","false","1","0"].indexOf(t)},isAlpha:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"en-US";if(g(t),e in N)return N[e].test(t);throw new Error("Invalid locale '".concat(e,"'"))},isAlphaLocales:O,isAlphanumeric:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"en-US";if(g(t),e in w)return w[e].test(t);throw new Error("Invalid locale '".concat(e,"'"))},isAlphanumericLocales:G,isNumeric:function(t,e){return g(t),e&&e.no_symbols?U.test(t):P.test(t)},isPort:function(t){return H(t,{min:0,max:65535})},isLowercase:function(t){return g(t),t===t.toLowerCase()},isUppercase:function(t){return g(t),t===t.toUpperCase()},isAscii:function(t){return g(t),z.test(t)},isFullWidth:function(t){return g(t),W.test(t)},isHalfWidth:function(t){return g(t),Y.test(t)},isVariableWidth:function(t){return g(t),W.test(t)&&Y.test(t)},isMultibyte:function(t){return g(t),V.test(t)},isSurrogatePair:function(t){return g(t),j.test(t)},isInt:H,isFloat:function(t,e){g(t),e=e||{};var r=new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(e.locale?C[e.locale]:".","[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));if(""===t||"."===t||"-"===t||"+"===t)return!1;var o=parseFloat(t.replace(",","."));return r.test(t)&&(!e.hasOwnProperty("min")||o>=e.min)&&(!e.hasOwnProperty("max")||o<=e.max)&&(!e.hasOwnProperty("lt")||o<e.lt)&&(!e.hasOwnProperty("gt")||o>e.gt)},isFloatLocales:J,isDecimal:function(t,e){if(g(t),(e=h(e,Q)).locale in C)return!q(X,t.replace(/ /g,""))&&(r=e,new RegExp("^[-+]?([0-9]+)?(\\".concat(C[r.locale],"[0-9]{").concat(r.decimal_digits,"})").concat(r.force_decimal?"":"?","$"))).test(t);var r;throw new Error("Invalid locale '".concat(e.locale,"'"))},isHexadecimal:et,isDivisibleBy:function(t,e){return g(t),r(t)%parseInt(e,10)==0},isHexColor:function(t){return g(t),rt.test(t)},isISRC:function(t){return g(t),ot.test(t)},isMD5:function(t){return g(t),nt.test(t)},isHash:function(t,e){return g(t),new RegExp("^[a-f0-9]{".concat(it[e],"}$")).test(t)},isJWT:function(t){return g(t),at.test(t)},isJSON:function(t){g(t);try{var e=JSON.parse(t);return!!e&&"object"===a(e)}catch(t){}return!1},isEmpty:function(t,e){return g(t),0===((e=h(e,lt)).ignore_whitespace?t.trim().length:t.length)},isLength:function(t,e){var r,o;g(t),o="object"===a(e)?(r=e.min||0,e.max):(r=e,arguments[2]);var n=t.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],i=t.length-n.length;return r<=i&&(void 0===o||i<=o)},isByteLength:A,isUUID:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"all";g(t);var r=st[e];return r&&r.test(t)},isMongoId:function(t){return g(t),et(t)&&24===t.length},isAfter:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:String(new Date);g(t);var r=n(e),o=n(t);return!!(o&&r&&r<o)},isBefore:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:String(new Date);g(t);var r=n(e),o=n(t);return!!(o&&r&&o<r)},isIn:function(t,e){var r;if(g(t),"[object Array]"!==Object.prototype.toString.call(e))return"object"===a(e)?e.hasOwnProperty(t):!(!e||"function"!=typeof e.indexOf)&&0<=e.indexOf(t);var o=[];for(r in e)({}).hasOwnProperty.call(e,r)&&(o[r]=i(e[r]));return 0<=o.indexOf(t)},isCreditCard:function(t){g(t);var e=t.replace(/[- ]+/g,"");if(!ut.test(e))return!1;for(var r,o,n,i=0,a=e.length-1;0<=a;a--)r=e.substring(a,a+1),o=parseInt(r,10),i+=n&&10<=(o*=2)?o%10+1:o,n=!n;return!(i%10!=0||!e)},isIdentityCard:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"any";if(g(t),e in ct)return ct[e](t);if("any"!==e)throw new Error("Invalid locale '".concat(e,"'"));for(var r in ct)if(ct.hasOwnProperty(r)&&(0,ct[r])(t))return!0;return!1},isISIN:function(t){if(g(t),!dt.test(t))return!1;for(var e,r,o=t.replace(/[A-Z]/g,function(t){return parseInt(t,36)}),n=0,i=!0,a=o.length-2;0<=a;a--)e=o.substring(a,a+1),r=parseInt(e,10),n+=i&&10<=(r*=2)?r+1:r,i=!i;return parseInt(t.substr(t.length-1),10)===(1e4-n)%10},isISBN:function t(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";if(g(e),!(r=String(r)))return t(e,10)||t(e,13);var o,n=e.replace(/[\s-]+/g,""),i=0;if("10"===r){if(!ft.test(n))return!1;for(o=0;o<9;o++)i+=(o+1)*n.charAt(o);if("X"===n.charAt(9)?i+=100:i+=10*n.charAt(9),i%11==0)return!!n}else if("13"===r){if(!pt.test(n))return!1;for(o=0;o<12;o++)i+=gt[o%2]*n.charAt(o);if(n.charAt(12)-(10-i%10)%10==0)return!!n}return!1},isISSN:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};g(t);var r="^\\d{4}-?\\d{3}[\\dX]$";if(r=e.require_hyphen?r.replace("?",""):r,!(r=e.case_sensitive?new RegExp(r):new RegExp(r,"i")).test(t))return!1;for(var o=t.replace("-","").toUpperCase(),n=0,i=0;i<o.length;i++){var a=o[i];n+=("X"===a?10:+a)*(8-i)}return n%11==0},isMobilePhone:function(e,t,r){if(g(e),r&&r.strictMode&&!e.startsWith("+"))return!1;if(Array.isArray(t))return t.some(function(t){return!(!ht.hasOwnProperty(t)||!ht[t].test(e))});if(t in ht)return ht[t].test(e);if(t&&"any"!==t)throw new Error("Invalid locale '".concat(t,"'"));for(var o in ht)if(ht.hasOwnProperty(o)&&ht[o].test(e))return!0;return!1},isMobilePhoneLocales:At,isPostalCode:function(t,e){if(g(t),e in kt)return kt[e].test(t);if("any"!==e)throw new Error("Invalid locale '".concat(e,"'"));for(var r in kt)if(kt.hasOwnProperty(r)&&kt[r].test(t))return!0;return!1},isPostalCodeLocales:Kt,isCurrency:function(t,e){return g(t),function(t){var r="\\d{".concat(t.digits_after_decimal[0],"}");t.digits_after_decimal.forEach(function(t,e){0!==e&&(r="".concat(r,"|\\d{").concat(t,"}"))});var e="(\\".concat(t.symbol.replace(/\./g,"\\."),")").concat(t.require_symbol?"":"?"),o="[1-9]\\d{0,2}(\\".concat(t.thousands_separator,"\\d{3})*"),n="(".concat(["0","[1-9]\\d*",o].join("|"),")?"),i="(\\".concat(t.decimal_separator,"(").concat(r,"))").concat(t.require_decimal?"":"?"),a=n+(t.allow_decimal||t.require_decimal?i:"");return t.allow_negatives&&!t.parens_for_negatives&&(t.negative_sign_after_digits?a+="-?":t.negative_sign_before_digits&&(a="-?"+a)),t.allow_negative_sign_placeholder?a="( (?!\\-))?".concat(a):t.allow_space_after_symbol?a=" ?".concat(a):t.allow_space_after_digits&&(a+="( (?!$))?"),t.symbol_after_digits?a+=e:a=e+a,t.allow_negatives&&(t.parens_for_negatives?a="(\\(".concat(a,"\\)|").concat(a,")"):t.negative_sign_before_digits||t.negative_sign_after_digits||(a="-?"+a)),new RegExp("^(?!-? )(?=.*\\d)".concat(a,"$"))}(e=h(e,mt)).test(t)},isISO8601:function(t,e){g(t);var r=$t.test(t);return e&&r&&e.strict?function(t){var e=t.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);if(e){var r=Number(e[1]),o=Number(e[2]);return r%4==0&&r%100!=0?o<=366:o<=365}var n=t.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number),i=n[1],a=n[2],l=n[3],s=new Date("".concat(i,"-").concat(a||1,"-").concat(l||1));return!isNaN(s.getFullYear())&&(!a||!l||s.getFullYear()===i&&s.getMonth()+1===a&&s.getDate()===l)}(t):r},isRFC3339:function(t){return g(t),Mt.test(t)},isISO31661Alpha2:function(t){return g(t),q(Nt,t.toUpperCase())},isISO31661Alpha3:function(t){return g(t),q(wt,t.toUpperCase())},isBase64:function(t){g(t);var e=t.length;if(!e||e%4!=0||Ct.test(t))return!1;var r=t.indexOf("=");return-1===r||r===e-1||r===e-2&&"="===t[e-1]},isDataURI:function(t){g(t);var e=t.split(",");if(e.length<2)return!1;var r=e.shift().trim().split(";"),o=r.shift();if("data:"!==o.substr(0,5))return!1;var n=o.substr(5);if(""!==n&&!Lt.test(n))return!1;for(var i=0;i<r.length;i++)if(i===r.length-1&&"base64"===r[i].toLowerCase());else if(!It.test(r[i]))return!1;for(var a=0;a<e.length;a++)if(!Zt.test(e[a]))return!1;return!0},isMagnetURI:function(t){return g(t),Tt.test(t.trim())},isMimeType:function(t){return g(t),Bt.test(t)||yt.test(t)||bt.test(t)},isLatLong:function(t){if(g(t),!t.includes(","))return!1;var e=t.split(",");return Dt.test(e[0])&&Ot.test(e[1])},ltrim:Ht,rtrim:zt,trim:function(t,e){return zt(Ht(t,e),e)},escape:function(t){return g(t),t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;").replace(/\\/g,"&#x5C;").replace(/`/g,"&#96;")},unescape:function(t){return g(t),t.replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&#x2F;/g,"/").replace(/&#x5C;/g,"\\").replace(/&#96;/g,"`")},stripLow:function(t,e){return g(t),Wt(t,e?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F")},whitelist:function(t,e){return g(t),t.replace(new RegExp("[^".concat(e,"]+"),"g"),"")},blacklist:Wt,isWhitelisted:function(t,e){g(t);for(var r=t.length-1;0<=r;r--)if(-1===e.indexOf(t[r]))return!1;return!0},normalizeEmail:function(t,e){e=h(e,Yt);var r=t.split("@"),o=r.pop(),n=[r.join("@"),o];if(n[1]=n[1].toLowerCase(),"gmail.com"===n[1]||"googlemail.com"===n[1]){if(e.gmail_remove_subaddress&&(n[0]=n[0].split("+")[0]),e.gmail_remove_dots&&(n[0]=n[0].replace(/\.+/g,Qt)),!n[0].length)return!1;(e.all_lowercase||e.gmail_lowercase)&&(n[0]=n[0].toLowerCase()),n[1]=e.gmail_convert_googlemaildotcom?"gmail.com":n[1]}else if(0<=Vt.indexOf(n[1])){if(e.icloud_remove_subaddress&&(n[0]=n[0].split("+")[0]),!n[0].length)return!1;(e.all_lowercase||e.icloud_lowercase)&&(n[0]=n[0].toLowerCase())}else if(0<=jt.indexOf(n[1])){if(e.outlookdotcom_remove_subaddress&&(n[0]=n[0].split("+")[0]),!n[0].length)return!1;(e.all_lowercase||e.outlookdotcom_lowercase)&&(n[0]=n[0].toLowerCase())}else if(0<=Jt.indexOf(n[1])){if(e.yahoo_remove_subaddress){var i=n[0].split("-");n[0]=1<i.length?i.slice(0,-1).join("-"):i[0]}if(!n[0].length)return!1;(e.all_lowercase||e.yahoo_lowercase)&&(n[0]=n[0].toLowerCase())}else 0<=qt.indexOf(n[1])?((e.all_lowercase||e.yandex_lowercase)&&(n[0]=n[0].toLowerCase()),n[1]="yandex.ru"):e.all_lowercase&&(n[0]=n[0].toLowerCase());return n.join("@")},toString:i}});

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc