@cosmotech/core 1.11.4 → 1.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -2,26 +2,26 @@
2
2
 
3
3
  var require$$0 = require('stream');
4
4
 
5
- function ownKeys(object, enumerableOnly) {
6
- var keys = Object.keys(object);
5
+ function ownKeys(e, r) {
6
+ var t = Object.keys(e);
7
7
  if (Object.getOwnPropertySymbols) {
8
- var symbols = Object.getOwnPropertySymbols(object);
9
- enumerableOnly && (symbols = symbols.filter(function (sym) {
10
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
11
- })), keys.push.apply(keys, symbols);
8
+ var o = Object.getOwnPropertySymbols(e);
9
+ r && (o = o.filter(function (r) {
10
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
11
+ })), t.push.apply(t, o);
12
12
  }
13
- return keys;
14
- }
15
- function _objectSpread2(target) {
16
- for (var i = 1; i < arguments.length; i++) {
17
- var source = null != arguments[i] ? arguments[i] : {};
18
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
19
- _defineProperty$1(target, key, source[key]);
20
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
21
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
13
+ return t;
14
+ }
15
+ function _objectSpread2(e) {
16
+ for (var r = 1; r < arguments.length; r++) {
17
+ var t = null != arguments[r] ? arguments[r] : {};
18
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
19
+ _defineProperty$1(e, r, t[r]);
20
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
21
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
22
22
  });
23
23
  }
24
- return target;
24
+ return e;
25
25
  }
26
26
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
27
27
  try {
@@ -26809,14 +26809,14 @@ var utils/*:any*/ = {
26809
26809
  }
26810
26810
  };
26811
26811
 
26812
- function _typeof$1(obj) {
26812
+ function _typeof$1(o) {
26813
26813
  "@babel/helpers - typeof";
26814
26814
 
26815
- return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
26816
- return typeof obj;
26817
- } : function (obj) {
26818
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
26819
- }, _typeof$1(obj);
26815
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
26816
+ return typeof o;
26817
+ } : function (o) {
26818
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
26819
+ }, _typeof$1(o);
26820
26820
  }
26821
26821
 
26822
26822
  function toInteger(dirtyNumber) {
@@ -32374,6 +32374,7 @@ var alpha = {
32374
32374
  'pl-PL': /^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,
32375
32375
  'pt-PT': /^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,
32376
32376
  'ru-RU': /^[А-ЯЁ]+$/i,
32377
+ 'kk-KZ': /^[А-ЯЁ\u04D8\u04B0\u0406\u04A2\u0492\u04AE\u049A\u04E8\u04BA]+$/i,
32377
32378
  'sl-SI': /^[A-ZČĆĐŠŽ]+$/i,
32378
32379
  'sk-SK': /^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,
32379
32380
  'sr-RS@latin': /^[A-ZČĆŽŠĐ]+$/i,
@@ -32413,6 +32414,7 @@ var alphanumeric = {
32413
32414
  'pl-PL': /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,
32414
32415
  'pt-PT': /^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,
32415
32416
  'ru-RU': /^[0-9А-ЯЁ]+$/i,
32417
+ 'kk-KZ': /^[0-9А-ЯЁ\u04D8\u04B0\u0406\u04A2\u0492\u04AE\u049A\u04E8\u04BA]+$/i,
32416
32418
  'sl-SI': /^[0-9A-ZČĆĐŠŽ]+$/i,
32417
32419
  'sk-SK': /^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,
32418
32420
  'sr-RS@latin': /^[0-9A-ZČĆŽŠĐ]+$/i,
@@ -32480,7 +32482,7 @@ for (var _locale3, _i3 = 0; _i3 < bengaliLocales.length; _i3++) {
32480
32482
 
32481
32483
  var dotDecimal = ['ar-EG', 'ar-LB', 'ar-LY'];
32482
32484
  alpha$1.dotDecimal = dotDecimal;
32483
- var commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-ZM', 'es-ES', 'fr-CA', 'fr-FR', 'id-ID', 'it-IT', 'ku-IQ', 'hi-IN', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'si-LK', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA', 'vi-VN'];
32485
+ var commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-ZM', 'es-ES', 'fr-CA', 'fr-FR', 'id-ID', 'it-IT', 'ku-IQ', 'hi-IN', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'kk-KZ', 'si-LK', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA', 'vi-VN'];
32484
32486
  alpha$1.commaDecimal = commaDecimal;
32485
32487
 
32486
32488
  for (var _i4 = 0; _i4 < dotDecimal.length; _i4++) {
@@ -32509,14 +32511,14 @@ Object.defineProperty(isFloat$1, "__esModule", {
32509
32511
  isFloat$1.default = isFloat;
32510
32512
  isFloat$1.locales = void 0;
32511
32513
 
32512
- var _assertString$a = _interopRequireDefault$a(assertStringExports);
32514
+ var _assertString$b = _interopRequireDefault$b(assertStringExports);
32513
32515
 
32514
32516
  var _alpha$2 = alpha$1;
32515
32517
 
32516
- function _interopRequireDefault$a(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32518
+ function _interopRequireDefault$b(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32517
32519
 
32518
32520
  function isFloat(str, options) {
32519
- (0, _assertString$a.default)(str);
32521
+ (0, _assertString$b.default)(str);
32520
32522
  options = options || {};
32521
32523
  var float = new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(options.locale ? _alpha$2.decimal[options.locale] : '.', "[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));
32522
32524
 
@@ -32978,18 +32980,19 @@ var isIPExports = isIP.exports;
32978
32980
 
32979
32981
  var _assertString = _interopRequireDefault(assertStringExports);
32980
32982
 
32981
- var _merge = _interopRequireDefault(mergeExports);
32982
-
32983
32983
  var _isByteLength = _interopRequireDefault(isByteLengthExports);
32984
32984
 
32985
32985
  var _isFQDN = _interopRequireDefault(isFQDNExports);
32986
32986
 
32987
32987
  var _isIP = _interopRequireDefault(isIPExports);
32988
32988
 
32989
+ var _merge = _interopRequireDefault(mergeExports);
32990
+
32989
32991
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32990
32992
 
32991
32993
  var default_email_options = {
32992
32994
  allow_display_name: false,
32995
+ allow_underscores: false,
32993
32996
  require_display_name: false,
32994
32997
  allow_utf8_local_part: true,
32995
32998
  require_tld: true,
@@ -33006,7 +33009,7 @@ var isIPExports = isIP.exports;
33006
33009
  var emailUserPart = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i;
33007
33010
  var gmailUserPart = /^[a-z\d]+$/;
33008
33011
  var quotedEmailUser = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i;
33009
- var emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
33012
+ var emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
33010
33013
  var quotedEmailUserUtf8 = /^([\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;
33011
33014
  var defaultMaxEmailLength = 254;
33012
33015
  /* eslint-enable max-len */
@@ -33130,7 +33133,8 @@ var isIPExports = isIP.exports;
33130
33133
 
33131
33134
  if (!(0, _isFQDN.default)(domain, {
33132
33135
  require_tld: options.require_tld,
33133
- ignore_max_length: options.ignore_max_length
33136
+ ignore_max_length: options.ignore_max_length,
33137
+ allow_underscores: options.allow_underscores
33134
33138
  })) {
33135
33139
  if (!options.allow_ip_domain) {
33136
33140
  return false;
@@ -33615,7 +33619,25 @@ var isDate$1 = {exports: {}};
33615
33619
  _iterator.f();
33616
33620
  }
33617
33621
 
33618
- return new Date("".concat(dateObj.m, "/").concat(dateObj.d, "/").concat(dateObj.y)).getDate() === +dateObj.d;
33622
+ var fullYear = dateObj.y;
33623
+
33624
+ if (dateObj.y.length === 2) {
33625
+ var parsedYear = parseInt(dateObj.y, 10);
33626
+
33627
+ if (isNaN(parsedYear)) {
33628
+ return false;
33629
+ }
33630
+
33631
+ var currentYearLastTwoDigits = new Date().getFullYear() % 100;
33632
+
33633
+ if (parsedYear < currentYearLastTwoDigits) {
33634
+ fullYear = "20".concat(dateObj.y);
33635
+ } else {
33636
+ fullYear = "19".concat(dateObj.y);
33637
+ }
33638
+ }
33639
+
33640
+ return new Date("".concat(fullYear, "-").concat(dateObj.m, "-").concat(dateObj.d)).getDate() === +dateObj.d;
33619
33641
  }
33620
33642
 
33621
33643
  if (!options.strictMode) {
@@ -33720,16 +33742,107 @@ var isLocale = {exports: {}};
33720
33742
 
33721
33743
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33722
33744
 
33723
- var localeReg = /^[A-Za-z]{2,4}([_-]([A-Za-z]{4}|[\d]{3}))?([_-]([A-Za-z]{2}|[\d]{3}))?$/;
33745
+ /*
33746
+ = 3ALPHA ; selected ISO 639 codes
33747
+ *2("-" 3ALPHA) ; permanently reserved
33748
+ */
33749
+ var extlang = '([A-Za-z]{3}(-[A-Za-z]{3}){0,2})';
33750
+ /*
33751
+ = 2*3ALPHA ; shortest ISO 639 code
33752
+ ["-" extlang] ; sometimes followed by
33753
+ ; extended language subtags
33754
+ / 4ALPHA ; or reserved for future use
33755
+ / 5*8ALPHA ; or registered language subtag
33756
+ */
33724
33757
 
33725
- function isLocale(str) {
33726
- (0, _assertString.default)(str);
33758
+ var language = "(([a-zA-Z]{2,3}(-".concat(extlang, ")?)|([a-zA-Z]{5,8}))");
33759
+ /*
33760
+ = 4ALPHA ; ISO 15924 code
33761
+ */
33727
33762
 
33728
- if (str === 'en_US_POSIX' || str === 'ca_ES_VALENCIA') {
33729
- return true;
33730
- }
33763
+ var script = '([A-Za-z]{4})';
33764
+ /*
33765
+ = 2ALPHA ; ISO 3166-1 code
33766
+ / 3DIGIT ; UN M.49 code
33767
+ */
33768
+
33769
+ var region = '([A-Za-z]{2}|\\d{3})';
33770
+ /*
33771
+ = 5*8alphanum ; registered variants
33772
+ / (DIGIT 3alphanum)
33773
+ */
33774
+
33775
+ var variant = '([A-Za-z0-9]{5,8}|(\\d[A-Z-a-z0-9]{3}))';
33776
+ /*
33777
+ = DIGIT ; 0 - 9
33778
+ / %x41-57 ; A - W
33779
+ / %x59-5A ; Y - Z
33780
+ / %x61-77 ; a - w
33781
+ / %x79-7A ; y - z
33782
+ */
33783
+
33784
+ var singleton = '(\\d|[A-W]|[Y-Z]|[a-w]|[y-z])';
33785
+ /*
33786
+ = singleton 1*("-" (2*8alphanum))
33787
+ ; Single alphanumerics
33788
+ ; "x" reserved for private use
33789
+ */
33790
+
33791
+ var extension = "(".concat(singleton, "(-[A-Za-z0-9]{2,8})+)");
33792
+ /*
33793
+ = "x" 1*("-" (1*8alphanum))
33794
+ */
33795
+
33796
+ var privateuse = '(x(-[A-Za-z0-9]{1,8})+)'; // irregular tags do not match the 'langtag' production and would not
33797
+ // otherwise be considered 'well-formed'. These tags are all valid, but
33798
+ // most are deprecated in favor of more modern subtags or subtag combination
33799
+
33800
+ var irregular = '((en-GB-oed)|(i-ami)|(i-bnn)|(i-default)|(i-enochian)|' + '(i-hak)|(i-klingon)|(i-lux)|(i-mingo)|(i-navajo)|(i-pwn)|(i-tao)|' + '(i-tay)|(i-tsu)|(sgn-BE-FR)|(sgn-BE-NL)|(sgn-CH-DE))'; // regular tags match the 'langtag' production, but their subtags are not
33801
+ // extended language or variant subtags: their meaning is defined by
33802
+ // their registration and all of these are deprecated in favor of a more
33803
+ // modern subtag or sequence of subtags
33804
+
33805
+ var regular = '((art-lojban)|(cel-gaulish)|(no-bok)|(no-nyn)|(zh-guoyu)|' + '(zh-hakka)|(zh-min)|(zh-min-nan)|(zh-xiang))';
33806
+ /*
33807
+ = irregular ; non-redundant tags registered
33808
+ / regular ; during the RFC 3066 era
33809
+
33810
+ */
33811
+
33812
+ var grandfathered = "(".concat(irregular, "|").concat(regular, ")");
33813
+ /*
33814
+ RFC 5646 defines delimitation of subtags via a hyphen:
33815
+
33816
+ "Subtag" refers to a specific section of a tag, delimited by a
33817
+ hyphen, such as the subtags 'zh', 'Hant', and 'CN' in the tag "zh-
33818
+ Hant-CN". Examples of subtags in this document are enclosed in
33819
+ single quotes ('Hant')
33820
+
33821
+ However, we need to add "_" to maintain the existing behaviour.
33822
+ */
33823
+
33824
+ var delimiter = '(-|_)';
33825
+ /*
33826
+ = language
33827
+ ["-" script]
33828
+ ["-" region]
33829
+ *("-" variant)
33830
+ *("-" extension)
33831
+ ["-" privateuse]
33832
+ */
33833
+
33834
+ var langtag = "".concat(language, "(").concat(delimiter).concat(script, ")?(").concat(delimiter).concat(region, ")?(").concat(delimiter).concat(variant, ")*(").concat(delimiter).concat(extension, ")*(").concat(delimiter).concat(privateuse, ")?");
33835
+ /*
33836
+ Regex implementation based on BCP RFC 5646
33837
+ Tags for Identifying Languages
33838
+ https://www.rfc-editor.org/rfc/rfc5646.html
33839
+ */
33731
33840
 
33732
- return localeReg.test(str);
33841
+ var languageTagRegex = new RegExp("(^".concat(privateuse, "$)|(^").concat(grandfathered, "$)|(^").concat(langtag, "$)"));
33842
+
33843
+ function isLocale(str) {
33844
+ (0, _assertString.default)(str);
33845
+ return languageTagRegex.test(str);
33733
33846
  }
33734
33847
 
33735
33848
  module.exports = exports.default;
@@ -33746,16 +33859,16 @@ Object.defineProperty(isAlpha$1, "__esModule", {
33746
33859
  isAlpha$1.default = isAlpha;
33747
33860
  isAlpha$1.locales = void 0;
33748
33861
 
33749
- var _assertString$9 = _interopRequireDefault$9(assertStringExports);
33862
+ var _assertString$a = _interopRequireDefault$a(assertStringExports);
33750
33863
 
33751
33864
  var _alpha$1 = alpha$1;
33752
33865
 
33753
- function _interopRequireDefault$9(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33866
+ function _interopRequireDefault$a(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33754
33867
 
33755
33868
  function isAlpha(_str) {
33756
33869
  var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';
33757
33870
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
33758
- (0, _assertString$9.default)(_str);
33871
+ (0, _assertString$a.default)(_str);
33759
33872
  var str = _str;
33760
33873
  var ignore = options.ignore;
33761
33874
 
@@ -33787,16 +33900,16 @@ Object.defineProperty(isAlphanumeric$1, "__esModule", {
33787
33900
  isAlphanumeric$1.default = isAlphanumeric;
33788
33901
  isAlphanumeric$1.locales = void 0;
33789
33902
 
33790
- var _assertString$8 = _interopRequireDefault$8(assertStringExports);
33903
+ var _assertString$9 = _interopRequireDefault$9(assertStringExports);
33791
33904
 
33792
33905
  var _alpha = alpha$1;
33793
33906
 
33794
- function _interopRequireDefault$8(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33907
+ function _interopRequireDefault$9(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33795
33908
 
33796
33909
  function isAlphanumeric(_str) {
33797
33910
  var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';
33798
33911
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
33799
- (0, _assertString$8.default)(_str);
33912
+ (0, _assertString$9.default)(_str);
33800
33913
  var str = _str;
33801
33914
  var ignore = options.ignore;
33802
33915
 
@@ -34228,15 +34341,15 @@ Object.defineProperty(isFullWidth$1, "__esModule", {
34228
34341
  isFullWidth$1.default = isFullWidth;
34229
34342
  isFullWidth$1.fullWidth = void 0;
34230
34343
 
34231
- var _assertString$7 = _interopRequireDefault$7(assertStringExports);
34344
+ var _assertString$8 = _interopRequireDefault$8(assertStringExports);
34232
34345
 
34233
- function _interopRequireDefault$7(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34346
+ function _interopRequireDefault$8(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34234
34347
 
34235
34348
  var fullWidth = /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;
34236
34349
  isFullWidth$1.fullWidth = fullWidth;
34237
34350
 
34238
34351
  function isFullWidth(str) {
34239
- (0, _assertString$7.default)(str);
34352
+ (0, _assertString$8.default)(str);
34240
34353
  return fullWidth.test(str);
34241
34354
  }
34242
34355
 
@@ -34248,15 +34361,15 @@ Object.defineProperty(isHalfWidth$1, "__esModule", {
34248
34361
  isHalfWidth$1.default = isHalfWidth;
34249
34362
  isHalfWidth$1.halfWidth = void 0;
34250
34363
 
34251
- var _assertString$6 = _interopRequireDefault$6(assertStringExports);
34364
+ var _assertString$7 = _interopRequireDefault$7(assertStringExports);
34252
34365
 
34253
- function _interopRequireDefault$6(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34366
+ function _interopRequireDefault$7(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34254
34367
 
34255
34368
  var halfWidth = /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;
34256
34369
  isHalfWidth$1.halfWidth = halfWidth;
34257
34370
 
34258
34371
  function isHalfWidth(str) {
34259
- (0, _assertString$6.default)(str);
34372
+ (0, _assertString$7.default)(str);
34260
34373
  return halfWidth.test(str);
34261
34374
  }
34262
34375
 
@@ -34683,9 +34796,9 @@ Object.defineProperty(isIBAN$1, "__esModule", {
34683
34796
  isIBAN$1.default = isIBAN;
34684
34797
  isIBAN$1.locales = void 0;
34685
34798
 
34686
- var _assertString$5 = _interopRequireDefault$5(assertStringExports);
34799
+ var _assertString$6 = _interopRequireDefault$6(assertStringExports);
34687
34800
 
34688
- function _interopRequireDefault$5(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34801
+ function _interopRequireDefault$6(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34689
34802
 
34690
34803
  /**
34691
34804
  * List of country codes with
@@ -34740,6 +34853,7 @@ var ibanRegexThroughCountryCode = {
34740
34853
  LT: /^(LT[0-9]{2})\d{16}$/,
34741
34854
  LU: /^(LU[0-9]{2})\d{3}[A-Z0-9]{13}$/,
34742
34855
  LV: /^(LV[0-9]{2})[A-Z]{4}[A-Z0-9]{13}$/,
34856
+ MA: /^(MA[0-9]{26})$/,
34743
34857
  MC: /^(MC[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,
34744
34858
  MD: /^(MD[0-9]{2})[A-Z0-9]{20}$/,
34745
34859
  ME: /^(ME[0-9]{2})\d{18}$/,
@@ -34772,6 +34886,25 @@ var ibanRegexThroughCountryCode = {
34772
34886
  VG: /^(VG[0-9]{2})[A-Z0-9]{4}\d{16}$/,
34773
34887
  XK: /^(XK[0-9]{2})\d{16}$/
34774
34888
  };
34889
+ /**
34890
+ * Check if the country codes passed are valid using the
34891
+ * ibanRegexThroughCountryCode as a reference
34892
+ *
34893
+ * @param {array} countryCodeArray
34894
+ * @return {boolean}
34895
+ */
34896
+
34897
+ function hasOnlyValidCountryCodes(countryCodeArray) {
34898
+ var countryCodeArrayFilteredWithObjectIbanCode = countryCodeArray.filter(function (countryCode) {
34899
+ return !(countryCode in ibanRegexThroughCountryCode);
34900
+ });
34901
+
34902
+ if (countryCodeArrayFilteredWithObjectIbanCode.length > 0) {
34903
+ return false;
34904
+ }
34905
+
34906
+ return true;
34907
+ }
34775
34908
  /**
34776
34909
  * Check whether string has correct universal IBAN format
34777
34910
  * The IBAN consists of up to 34 alphanumeric characters, as follows:
@@ -34781,14 +34914,38 @@ var ibanRegexThroughCountryCode = {
34781
34914
  * NOTE: Permitted IBAN characters are: digits [0-9] and the 26 latin alphabetic [A-Z]
34782
34915
  *
34783
34916
  * @param {string} str - string under validation
34917
+ * @param {object} options - object to pass the countries to be either whitelisted or blacklisted
34784
34918
  * @return {boolean}
34785
34919
  */
34786
34920
 
34787
- function hasValidIbanFormat(str) {
34921
+
34922
+ function hasValidIbanFormat(str, options) {
34788
34923
  // Strip white spaces and hyphens
34789
34924
  var strippedStr = str.replace(/[\s\-]+/gi, '').toUpperCase();
34790
34925
  var isoCountryCode = strippedStr.slice(0, 2).toUpperCase();
34791
- return isoCountryCode in ibanRegexThroughCountryCode && ibanRegexThroughCountryCode[isoCountryCode].test(strippedStr);
34926
+ var isoCountryCodeInIbanRegexCodeObject = (isoCountryCode in ibanRegexThroughCountryCode);
34927
+
34928
+ if (options.whitelist) {
34929
+ if (!hasOnlyValidCountryCodes(options.whitelist)) {
34930
+ return false;
34931
+ }
34932
+
34933
+ var isoCountryCodeInWhiteList = options.whitelist.includes(isoCountryCode);
34934
+
34935
+ if (!isoCountryCodeInWhiteList) {
34936
+ return false;
34937
+ }
34938
+ }
34939
+
34940
+ if (options.blacklist) {
34941
+ var isoCountryCodeInBlackList = options.blacklist.includes(isoCountryCode);
34942
+
34943
+ if (isoCountryCodeInBlackList) {
34944
+ return false;
34945
+ }
34946
+ }
34947
+
34948
+ return isoCountryCodeInIbanRegexCodeObject && ibanRegexThroughCountryCode[isoCountryCode].test(strippedStr);
34792
34949
  }
34793
34950
  /**
34794
34951
  * Check whether string has valid IBAN Checksum
@@ -34819,8 +34976,9 @@ function hasValidIbanChecksum(str) {
34819
34976
  }
34820
34977
 
34821
34978
  function isIBAN(str) {
34822
- (0, _assertString$5.default)(str);
34823
- return hasValidIbanFormat(str) && hasValidIbanChecksum(str);
34979
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
34980
+ (0, _assertString$6.default)(str);
34981
+ return hasValidIbanFormat(str, options) && hasValidIbanChecksum(str);
34824
34982
  }
34825
34983
 
34826
34984
  var locales$2 = Object.keys(ibanRegexThroughCountryCode);
@@ -34836,15 +34994,15 @@ Object.defineProperty(isISO31661Alpha2$1, "__esModule", {
34836
34994
  isISO31661Alpha2$1.default = isISO31661Alpha2;
34837
34995
  isISO31661Alpha2$1.CountryCodes = void 0;
34838
34996
 
34839
- var _assertString$4 = _interopRequireDefault$4(assertStringExports);
34997
+ var _assertString$5 = _interopRequireDefault$5(assertStringExports);
34840
34998
 
34841
- function _interopRequireDefault$4(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34999
+ function _interopRequireDefault$5(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34842
35000
 
34843
35001
  // from https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
34844
35002
  var validISO31661Alpha2CountriesCodes = new Set(['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']);
34845
35003
 
34846
35004
  function isISO31661Alpha2(str) {
34847
- (0, _assertString$4.default)(str);
35005
+ (0, _assertString$5.default)(str);
34848
35006
  return validISO31661Alpha2CountriesCodes.has(str.toUpperCase());
34849
35007
  }
34850
35008
 
@@ -35017,7 +35175,7 @@ var isBase64Exports = isBase64.exports;
35017
35175
  var dotSplit = str.split('.');
35018
35176
  var len = dotSplit.length;
35019
35177
 
35020
- if (len > 3 || len < 2) {
35178
+ if (len !== 3) {
35021
35179
  return false;
35022
35180
  }
35023
35181
 
@@ -35393,10 +35551,19 @@ var isCreditCard = {exports: {}};
35393
35551
  unionpay: /^(6[27][0-9]{14}|^(81[0-9]{14,17}))$/,
35394
35552
  visa: /^(?:4[0-9]{12})(?:[0-9]{3,6})?$/
35395
35553
  };
35396
- /* eslint-disable max-len */
35397
35554
 
35398
- var allCards = /^(?:4[0-9]{12}(?:[0-9]{3,6})?|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,15}|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}|^(81[0-9]{14,17}))$/;
35399
- /* eslint-enable max-len */
35555
+ var allCards = function () {
35556
+ var tmpCardsArray = [];
35557
+
35558
+ for (var cardProvider in cards) {
35559
+ // istanbul ignore else
35560
+ if (cards.hasOwnProperty(cardProvider)) {
35561
+ tmpCardsArray.push(cards[cardProvider]);
35562
+ }
35563
+ }
35564
+
35565
+ return tmpCardsArray;
35566
+ }();
35400
35567
 
35401
35568
  function isCreditCard(card) {
35402
35569
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -35412,7 +35579,9 @@ var isCreditCard = {exports: {}};
35412
35579
  } else if (provider && !(provider.toLowerCase() in cards)) {
35413
35580
  /* specific provider not in the list */
35414
35581
  throw new Error("".concat(provider, " is not a valid credit card provider."));
35415
- } else if (!allCards.test(sanitized)) {
35582
+ } else if (!allCards.some(function (cardProvider) {
35583
+ return cardProvider.test(sanitized);
35584
+ })) {
35416
35585
  // no specific provider
35417
35586
  return false;
35418
35587
  }
@@ -37805,9 +37974,9 @@ Object.defineProperty(isMobilePhone$1, "__esModule", {
37805
37974
  isMobilePhone$1.default = isMobilePhone;
37806
37975
  isMobilePhone$1.locales = void 0;
37807
37976
 
37808
- var _assertString$3 = _interopRequireDefault$3(assertStringExports);
37977
+ var _assertString$4 = _interopRequireDefault$4(assertStringExports);
37809
37978
 
37810
- function _interopRequireDefault$3(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37979
+ function _interopRequireDefault$4(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37811
37980
 
37812
37981
  /* eslint-disable max-len */
37813
37982
  var phones = {
@@ -37825,6 +37994,7 @@ var phones = {
37825
37994
  'ar-OM': /^((\+|00)968)?(9[1-9])\d{6}$/,
37826
37995
  'ar-PS': /^(\+?970|0)5[6|9](\d{7})$/,
37827
37996
  'ar-SA': /^(!?(\+?966)|0)?5\d{8}$/,
37997
+ 'ar-SD': /^((\+?249)|0)?(9[012369]|1[012])\d{7}$/,
37828
37998
  'ar-SY': /^(!?(\+?963)|0)?9\d{8}$/,
37829
37999
  'ar-TN': /^(\+?216)?[2459]\d{7}$/,
37830
38000
  'az-AZ': /^(\+994|0)(10|5[015]|7[07]|99)\d{7}$/,
@@ -37857,6 +38027,7 @@ var phones = {
37857
38027
  'en-IN': /^(\+?91|0)?[6789]\d{9}$/,
37858
38028
  'en-JM': /^(\+?876)?\d{7}$/,
37859
38029
  'en-KE': /^(\+?254|0)(7|1)\d{8}$/,
38030
+ 'fr-CF': /^(\+?236| ?)(70|75|77|72|21|22)\d{6}$/,
37860
38031
  'en-SS': /^(\+?211|0)(9[1257])\d{7}$/,
37861
38032
  'en-KI': /^((\+686|686)?)?( )?((6|7)(2|3|8)[0-9]{6})$/,
37862
38033
  'en-KN': /^(?:\+1|1)869(?:46\d|48[89]|55[6-8]|66\d|76[02-7])\d{4}$/,
@@ -37884,7 +38055,7 @@ var phones = {
37884
38055
  'es-CO': /^(\+?57)?3(0(0|1|2|4|5)|1\d|2[0-4]|5(0|1))\d{7}$/,
37885
38056
  'es-CL': /^(\+?56|0)[2-9]\d{1}\d{7}$/,
37886
38057
  'es-CR': /^(\+506)?[2-8]\d{7}$/,
37887
- 'es-CU': /^(\+53|0053)?5\d{7}/,
38058
+ 'es-CU': /^(\+53|0053)?5\d{7}$/,
37888
38059
  'es-DO': /^(\+?1)?8[024]9\d{7}$/,
37889
38060
  'es-HN': /^(\+?504)?[9|8|3|2]\d{7}$/,
37890
38061
  'es-EC': /^(\+?593|0)([2-7]|9[2-9])\d{7}$/,
@@ -37912,6 +38083,7 @@ var phones = {
37912
38083
  'fr-MQ': /^(\+?596|0|00596)[67]\d{8}$/,
37913
38084
  'fr-PF': /^(\+?689)?8[789]\d{6}$/,
37914
38085
  'fr-RE': /^(\+?262|0|00262)[67]\d{8}$/,
38086
+ 'fr-WF': /^(\+681)?\d{6}$/,
37915
38087
  'he-IL': /^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,
37916
38088
  'hu-HU': /^(\+?36|06)(20|30|31|50|70)\d{7}$/,
37917
38089
  'id-ID': /^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,
@@ -37937,7 +38109,7 @@ var phones = {
37937
38109
  'nl-NL': /^(((\+|00)?31\(0\))|((\+|00)?31)|0)6{1}\d{8}$/,
37938
38110
  'nl-AW': /^(\+)?297(56|59|64|73|74|99)\d{5}$/,
37939
38111
  'nn-NO': /^(\+?47)?[49]\d{7}$/,
37940
- 'pl-PL': /^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,
38112
+ 'pl-PL': /^(\+?48)? ?([5-8]\d|45) ?\d{3} ?\d{2} ?\d{2}$/,
37941
38113
  'pt-BR': /^((\+?55\ ?[1-9]{2}\ ?)|(\+?55\ ?\([1-9]{2}\)\ ?)|(0[1-9]{2}\ ?)|(\([1-9]{2}\)\ ?)|([1-9]{2}\ ?))((\d{4}\-?\d{4})|(9[1-9]{1}\d{3}\-?\d{4}))$/,
37942
38114
  'pt-PT': /^(\+?351)?9[1236]\d{7}$/,
37943
38115
  'pt-AO': /^(\+244)\d{9}$/,
@@ -37947,6 +38119,7 @@ var phones = {
37947
38119
  'si-LK': /^(?:0|94|\+94)?(7(0|1|2|4|5|6|7|8)( |-)?)\d{7}$/,
37948
38120
  'sl-SI': /^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,
37949
38121
  'sk-SK': /^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
38122
+ 'so-SO': /^(\+?252|0)((6[0-9])\d{7}|(7[1-9])\d{7})$/,
37950
38123
  'sq-AL': /^(\+355|0)6[789]\d{6}$/,
37951
38124
  'sr-RS': /^(\+3816|06)[- \d]{5,9}$/,
37952
38125
  'sv-SE': /^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,
@@ -37977,7 +38150,7 @@ phones['fr-CH'] = phones['de-CH'];
37977
38150
  phones['it-CH'] = phones['fr-CH'];
37978
38151
 
37979
38152
  function isMobilePhone(str, locale, options) {
37980
- (0, _assertString$3.default)(str);
38153
+ (0, _assertString$4.default)(str);
37981
38154
 
37982
38155
  if (options && options.strictMode && !str.startsWith('+')) {
37983
38156
  return false;
@@ -38170,6 +38343,51 @@ var isBtcAddress = {exports: {}};
38170
38343
 
38171
38344
  var isBtcAddressExports = isBtcAddress.exports;
38172
38345
 
38346
+ var isISO6346$1 = {};
38347
+
38348
+ Object.defineProperty(isISO6346$1, "__esModule", {
38349
+ value: true
38350
+ });
38351
+ isISO6346$1.isISO6346 = isISO6346;
38352
+ isISO6346$1.isFreightContainerID = void 0;
38353
+
38354
+ var _assertString$3 = _interopRequireDefault$3(assertStringExports);
38355
+
38356
+ function _interopRequireDefault$3(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38357
+
38358
+ // https://en.wikipedia.org/wiki/ISO_6346
38359
+ // according to ISO6346 standard, checksum digit is mandatory for freight container but recommended
38360
+ // for other container types (J and Z)
38361
+ var isISO6346Str = /^[A-Z]{3}(U[0-9]{7})|([J,Z][0-9]{6,7})$/;
38362
+ var isDigit = /^[0-9]$/;
38363
+
38364
+ function isISO6346(str) {
38365
+ (0, _assertString$3.default)(str);
38366
+ str = str.toUpperCase();
38367
+ if (!isISO6346Str.test(str)) return false;
38368
+
38369
+ if (str.length === 11) {
38370
+ var sum = 0;
38371
+
38372
+ for (var i = 0; i < str.length - 1; i++) {
38373
+ if (!isDigit.test(str[i])) {
38374
+ var convertedCode = void 0;
38375
+ var letterCode = str.charCodeAt(i) - 55;
38376
+ if (letterCode < 11) convertedCode = letterCode;else if (letterCode >= 11 && letterCode <= 20) convertedCode = 12 + letterCode % 11;else if (letterCode >= 21 && letterCode <= 30) convertedCode = 23 + letterCode % 21;else convertedCode = 34 + letterCode % 31;
38377
+ sum += convertedCode * Math.pow(2, i);
38378
+ } else sum += str[i] * Math.pow(2, i);
38379
+ }
38380
+
38381
+ var checkSumDigit = sum % 11;
38382
+ return Number(str[str.length - 1]) === checkSumDigit;
38383
+ }
38384
+
38385
+ return true;
38386
+ }
38387
+
38388
+ var isFreightContainerID = isISO6346;
38389
+ isISO6346$1.isFreightContainerID = isFreightContainerID;
38390
+
38173
38391
  var isISO6391 = {exports: {}};
38174
38392
 
38175
38393
  (function (module, exports) {
@@ -38516,6 +38734,215 @@ var isMagnetURI = {exports: {}};
38516
38734
 
38517
38735
  var isMagnetURIExports = isMagnetURI.exports;
38518
38736
 
38737
+ var isMailtoURI = {exports: {}};
38738
+
38739
+ var trim = {exports: {}};
38740
+
38741
+ var rtrim = {exports: {}};
38742
+
38743
+ (function (module, exports) {
38744
+
38745
+ Object.defineProperty(exports, "__esModule", {
38746
+ value: true
38747
+ });
38748
+ exports.default = rtrim;
38749
+
38750
+ var _assertString = _interopRequireDefault(assertStringExports);
38751
+
38752
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38753
+
38754
+ function rtrim(str, chars) {
38755
+ (0, _assertString.default)(str);
38756
+
38757
+ if (chars) {
38758
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
38759
+ var pattern = new RegExp("[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+$"), 'g');
38760
+ return str.replace(pattern, '');
38761
+ } // Use a faster and more safe than regex trim method https://blog.stevenlevithan.com/archives/faster-trim-javascript
38762
+
38763
+
38764
+ var strIndex = str.length - 1;
38765
+
38766
+ while (/\s/.test(str.charAt(strIndex))) {
38767
+ strIndex -= 1;
38768
+ }
38769
+
38770
+ return str.slice(0, strIndex + 1);
38771
+ }
38772
+
38773
+ module.exports = exports.default;
38774
+ module.exports.default = exports.default;
38775
+ } (rtrim, rtrim.exports));
38776
+
38777
+ var rtrimExports = rtrim.exports;
38778
+
38779
+ var ltrim = {exports: {}};
38780
+
38781
+ (function (module, exports) {
38782
+
38783
+ Object.defineProperty(exports, "__esModule", {
38784
+ value: true
38785
+ });
38786
+ exports.default = ltrim;
38787
+
38788
+ var _assertString = _interopRequireDefault(assertStringExports);
38789
+
38790
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38791
+
38792
+ function ltrim(str, chars) {
38793
+ (0, _assertString.default)(str); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
38794
+
38795
+ var pattern = chars ? new RegExp("^[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+"), 'g') : /^\s+/g;
38796
+ return str.replace(pattern, '');
38797
+ }
38798
+
38799
+ module.exports = exports.default;
38800
+ module.exports.default = exports.default;
38801
+ } (ltrim, ltrim.exports));
38802
+
38803
+ var ltrimExports = ltrim.exports;
38804
+
38805
+ (function (module, exports) {
38806
+
38807
+ Object.defineProperty(exports, "__esModule", {
38808
+ value: true
38809
+ });
38810
+ exports.default = trim;
38811
+
38812
+ var _rtrim = _interopRequireDefault(rtrimExports);
38813
+
38814
+ var _ltrim = _interopRequireDefault(ltrimExports);
38815
+
38816
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38817
+
38818
+ function trim(str, chars) {
38819
+ return (0, _rtrim.default)((0, _ltrim.default)(str, chars), chars);
38820
+ }
38821
+
38822
+ module.exports = exports.default;
38823
+ module.exports.default = exports.default;
38824
+ } (trim, trim.exports));
38825
+
38826
+ var trimExports = trim.exports;
38827
+
38828
+ (function (module, exports) {
38829
+
38830
+ Object.defineProperty(exports, "__esModule", {
38831
+ value: true
38832
+ });
38833
+ exports.default = isMailtoURI;
38834
+
38835
+ var _trim = _interopRequireDefault(trimExports);
38836
+
38837
+ var _isEmail = _interopRequireDefault(isEmailExports);
38838
+
38839
+ var _assertString = _interopRequireDefault(assertStringExports);
38840
+
38841
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38842
+
38843
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
38844
+
38845
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
38846
+
38847
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
38848
+
38849
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
38850
+
38851
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
38852
+
38853
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
38854
+
38855
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
38856
+
38857
+ function parseMailtoQueryString(queryString) {
38858
+ var allowedParams = new Set(['subject', 'body', 'cc', 'bcc']),
38859
+ query = {
38860
+ cc: '',
38861
+ bcc: ''
38862
+ };
38863
+ var isParseFailed = false;
38864
+ var queryParams = queryString.split('&');
38865
+
38866
+ if (queryParams.length > 4) {
38867
+ return false;
38868
+ }
38869
+
38870
+ var _iterator = _createForOfIteratorHelper(queryParams),
38871
+ _step;
38872
+
38873
+ try {
38874
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
38875
+ var q = _step.value;
38876
+
38877
+ var _q$split = q.split('='),
38878
+ _q$split2 = _slicedToArray(_q$split, 2),
38879
+ key = _q$split2[0],
38880
+ value = _q$split2[1]; // checked for invalid and duplicated query params
38881
+
38882
+
38883
+ if (key && !allowedParams.has(key)) {
38884
+ isParseFailed = true;
38885
+ break;
38886
+ }
38887
+
38888
+ if (value && (key === 'cc' || key === 'bcc')) {
38889
+ query[key] = value;
38890
+ }
38891
+
38892
+ if (key) {
38893
+ allowedParams.delete(key);
38894
+ }
38895
+ }
38896
+ } catch (err) {
38897
+ _iterator.e(err);
38898
+ } finally {
38899
+ _iterator.f();
38900
+ }
38901
+
38902
+ return isParseFailed ? false : query;
38903
+ }
38904
+
38905
+ function isMailtoURI(url, options) {
38906
+ (0, _assertString.default)(url);
38907
+
38908
+ if (url.indexOf('mailto:') !== 0) {
38909
+ return false;
38910
+ }
38911
+
38912
+ var _url$replace$split = url.replace('mailto:', '').split('?'),
38913
+ _url$replace$split2 = _slicedToArray(_url$replace$split, 2),
38914
+ _url$replace$split2$ = _url$replace$split2[0],
38915
+ to = _url$replace$split2$ === void 0 ? '' : _url$replace$split2$,
38916
+ _url$replace$split2$2 = _url$replace$split2[1],
38917
+ queryString = _url$replace$split2$2 === void 0 ? '' : _url$replace$split2$2;
38918
+
38919
+ if (!to && !queryString) {
38920
+ return true;
38921
+ }
38922
+
38923
+ var query = parseMailtoQueryString(queryString);
38924
+
38925
+ if (!query) {
38926
+ return false;
38927
+ }
38928
+
38929
+ return "".concat(to, ",").concat(query.cc, ",").concat(query.bcc).split(',').every(function (email) {
38930
+ email = (0, _trim.default)(email, ' ');
38931
+
38932
+ if (email) {
38933
+ return (0, _isEmail.default)(email, options);
38934
+ }
38935
+
38936
+ return true;
38937
+ });
38938
+ }
38939
+
38940
+ module.exports = exports.default;
38941
+ module.exports.default = exports.default;
38942
+ } (isMailtoURI, isMailtoURI.exports));
38943
+
38944
+ var isMailtoURIExports = isMailtoURI.exports;
38945
+
38519
38946
  var isMimeType = {exports: {}};
38520
38947
 
38521
38948
  (function (module, exports) {
@@ -38728,95 +39155,6 @@ function isPostalCode(str, locale) {
38728
39155
  throw new Error("Invalid locale '".concat(locale, "'"));
38729
39156
  }
38730
39157
 
38731
- var ltrim = {exports: {}};
38732
-
38733
- (function (module, exports) {
38734
-
38735
- Object.defineProperty(exports, "__esModule", {
38736
- value: true
38737
- });
38738
- exports.default = ltrim;
38739
-
38740
- var _assertString = _interopRequireDefault(assertStringExports);
38741
-
38742
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38743
-
38744
- function ltrim(str, chars) {
38745
- (0, _assertString.default)(str); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
38746
-
38747
- var pattern = chars ? new RegExp("^[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+"), 'g') : /^\s+/g;
38748
- return str.replace(pattern, '');
38749
- }
38750
-
38751
- module.exports = exports.default;
38752
- module.exports.default = exports.default;
38753
- } (ltrim, ltrim.exports));
38754
-
38755
- var ltrimExports = ltrim.exports;
38756
-
38757
- var rtrim = {exports: {}};
38758
-
38759
- (function (module, exports) {
38760
-
38761
- Object.defineProperty(exports, "__esModule", {
38762
- value: true
38763
- });
38764
- exports.default = rtrim;
38765
-
38766
- var _assertString = _interopRequireDefault(assertStringExports);
38767
-
38768
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38769
-
38770
- function rtrim(str, chars) {
38771
- (0, _assertString.default)(str);
38772
-
38773
- if (chars) {
38774
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
38775
- var pattern = new RegExp("[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+$"), 'g');
38776
- return str.replace(pattern, '');
38777
- } // Use a faster and more safe than regex trim method https://blog.stevenlevithan.com/archives/faster-trim-javascript
38778
-
38779
-
38780
- var strIndex = str.length - 1;
38781
-
38782
- while (/\s/.test(str.charAt(strIndex))) {
38783
- strIndex -= 1;
38784
- }
38785
-
38786
- return str.slice(0, strIndex + 1);
38787
- }
38788
-
38789
- module.exports = exports.default;
38790
- module.exports.default = exports.default;
38791
- } (rtrim, rtrim.exports));
38792
-
38793
- var rtrimExports = rtrim.exports;
38794
-
38795
- var trim = {exports: {}};
38796
-
38797
- (function (module, exports) {
38798
-
38799
- Object.defineProperty(exports, "__esModule", {
38800
- value: true
38801
- });
38802
- exports.default = trim;
38803
-
38804
- var _rtrim = _interopRequireDefault(rtrimExports);
38805
-
38806
- var _ltrim = _interopRequireDefault(ltrimExports);
38807
-
38808
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38809
-
38810
- function trim(str, chars) {
38811
- return (0, _rtrim.default)((0, _ltrim.default)(str, chars), chars);
38812
- }
38813
-
38814
- module.exports = exports.default;
38815
- module.exports.default = exports.default;
38816
- } (trim, trim.exports));
38817
-
38818
- var trimExports = trim.exports;
38819
-
38820
39158
  var _escape = {exports: {}};
38821
39159
 
38822
39160
  (function (module, exports) {
@@ -39373,6 +39711,24 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
39373
39711
 
39374
39712
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39375
39713
 
39714
+ var CH = function CH(str) {
39715
+ // @see {@link https://www.ech.ch/de/ech/ech-0097/5.2.0}
39716
+ var hasValidCheckNumber = function hasValidCheckNumber(digits) {
39717
+ var lastDigit = digits.pop(); // used as check number
39718
+
39719
+ var weights = [5, 4, 3, 2, 7, 6, 5, 4];
39720
+ var calculatedCheckNumber = (11 - digits.reduce(function (acc, el, idx) {
39721
+ return acc + el * weights[idx];
39722
+ }, 0) % 11) % 11;
39723
+ return lastDigit === calculatedCheckNumber;
39724
+ }; // @see {@link https://www.estv.admin.ch/estv/de/home/mehrwertsteuer/uid/mwst-uid-nummer.html}
39725
+
39726
+
39727
+ return /^(CHE[- ]?)?(\d{9}|(\d{3}\.\d{3}\.\d{3})|(\d{3} \d{3} \d{3})) ?(TVA|MWST|IVA)?$/.test(str) && hasValidCheckNumber(str.match(/\d/g).map(function (el) {
39728
+ return +el;
39729
+ }));
39730
+ };
39731
+
39376
39732
  var PT = function PT(str) {
39377
39733
  var match = str.match(/^(PT)?(\d{9})$/);
39378
39734
 
@@ -39533,9 +39889,7 @@ var vatMatchers = {
39533
39889
  RS: function RS(str) {
39534
39890
  return /^(RS)?\d{9}$/.test(str);
39535
39891
  },
39536
- CH: function CH(str) {
39537
- return /^(CH)?(\d{6}|\d{9}|(\d{3}.\d{3})|(\d{3}.\d{3}.\d{3}))(TVA|MWST|IVA)$/.test(str);
39538
- },
39892
+ CH: CH,
39539
39893
  TR: function TR(str) {
39540
39894
  return /^(TR)?\d{10}$/.test(str);
39541
39895
  },
@@ -39765,9 +40119,11 @@ function isVAT(str, countryCode) {
39765
40119
 
39766
40120
  var _isBtcAddress = _interopRequireDefault(isBtcAddressExports);
39767
40121
 
39768
- var _isISO = _interopRequireDefault(isISO6391Exports);
40122
+ var _isISO = isISO6346$1;
40123
+
40124
+ var _isISO2 = _interopRequireDefault(isISO6391Exports);
39769
40125
 
39770
- var _isISO2 = _interopRequireDefault(isISO8601Exports);
40126
+ var _isISO3 = _interopRequireDefault(isISO8601Exports);
39771
40127
 
39772
40128
  var _isRFC = _interopRequireDefault(isRFC3339Exports);
39773
40129
 
@@ -39775,7 +40131,7 @@ function isVAT(str, countryCode) {
39775
40131
 
39776
40132
  var _isISO31661Alpha2 = _interopRequireDefault(isISO31661Alpha3Exports);
39777
40133
 
39778
- var _isISO3 = _interopRequireDefault(isISO4217$1);
40134
+ var _isISO4 = _interopRequireDefault(isISO4217$1);
39779
40135
 
39780
40136
  var _isBase = _interopRequireDefault(isBase32Exports);
39781
40137
 
@@ -39787,6 +40143,8 @@ function isVAT(str, countryCode) {
39787
40143
 
39788
40144
  var _isMagnetURI = _interopRequireDefault(isMagnetURIExports);
39789
40145
 
40146
+ var _isMailtoURI = _interopRequireDefault(isMailtoURIExports);
40147
+
39790
40148
  var _isMimeType = _interopRequireDefault(isMimeTypeExports);
39791
40149
 
39792
40150
  var _isLatLong = _interopRequireDefault(isLatLongExports);
@@ -39827,7 +40185,7 @@ function isVAT(str, countryCode) {
39827
40185
 
39828
40186
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39829
40187
 
39830
- var version = '13.9.0';
40188
+ var version = '13.11.0';
39831
40189
  var validator = {
39832
40190
  version: version,
39833
40191
  toDate: _toDate.default,
@@ -39901,17 +40259,20 @@ function isVAT(str, countryCode) {
39901
40259
  isEthereumAddress: _isEthereumAddress.default,
39902
40260
  isCurrency: _isCurrency.default,
39903
40261
  isBtcAddress: _isBtcAddress.default,
39904
- isISO6391: _isISO.default,
39905
- isISO8601: _isISO2.default,
40262
+ isISO6346: _isISO.isISO6346,
40263
+ isFreightContainerID: _isISO.isFreightContainerID,
40264
+ isISO6391: _isISO2.default,
40265
+ isISO8601: _isISO3.default,
39906
40266
  isRFC3339: _isRFC.default,
39907
40267
  isISO31661Alpha2: _isISO31661Alpha.default,
39908
40268
  isISO31661Alpha3: _isISO31661Alpha2.default,
39909
- isISO4217: _isISO3.default,
40269
+ isISO4217: _isISO4.default,
39910
40270
  isBase32: _isBase.default,
39911
40271
  isBase58: _isBase2.default,
39912
40272
  isBase64: _isBase3.default,
39913
40273
  isDataURI: _isDataURI.default,
39914
40274
  isMagnetURI: _isMagnetURI.default,
40275
+ isMailtoURI: _isMailtoURI.default,
39915
40276
  isMimeType: _isMimeType.default,
39916
40277
  isLatLong: _isLatLong.default,
39917
40278
  ltrim: _ltrim.default,
@@ -40097,9 +40458,9 @@ var _validateFormat = (rows, hasHeader, cols, options) => {
40097
40458
  if (colIndex < knownColsCount) {
40098
40459
  var colType = colsData[colIndex].type;
40099
40460
  if (colType && rowCell !== undefined) {
40100
- var _colsData$colIndex$en, _colsData$colIndex, _colsData$colIndex2, _colsData$colIndex2$c, _ref, _colsData$colIndex$ac, _colsData$colIndex$ce;
40461
+ var _colsData$colIndex$en, _colsData$colIndex, _colsData$colIndex2, _ref, _colsData$colIndex$ac, _colsData$colIndex$ce;
40101
40462
  // use of cellEditorParams is deprecated
40102
- var enumValues = (_colsData$colIndex$en = (_colsData$colIndex = colsData[colIndex]) === null || _colsData$colIndex === void 0 ? void 0 : _colsData$colIndex.enumValues) !== null && _colsData$colIndex$en !== void 0 ? _colsData$colIndex$en : (_colsData$colIndex2 = colsData[colIndex]) === null || _colsData$colIndex2 === void 0 ? void 0 : (_colsData$colIndex2$c = _colsData$colIndex2.cellEditorParams) === null || _colsData$colIndex2$c === void 0 ? void 0 : _colsData$colIndex2$c.enumValues;
40463
+ var enumValues = (_colsData$colIndex$en = (_colsData$colIndex = colsData[colIndex]) === null || _colsData$colIndex === void 0 ? void 0 : _colsData$colIndex.enumValues) !== null && _colsData$colIndex$en !== void 0 ? _colsData$colIndex$en : (_colsData$colIndex2 = colsData[colIndex]) === null || _colsData$colIndex2 === void 0 || (_colsData$colIndex2 = _colsData$colIndex2.cellEditorParams) === null || _colsData$colIndex2 === void 0 ? void 0 : _colsData$colIndex2.enumValues;
40103
40464
  var colOptions = _objectSpread2(_objectSpread2({}, options), {}, {
40104
40465
  enumValues
40105
40466
  });