| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | "use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports.default = isPostalCode;exports.locales = void 0;var _assertString = _interopRequireDefault(require("./util/assertString"));function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// common patternsvar threeDigit = /^\d{3}$/;var fourDigit = /^\d{4}$/;var fiveDigit = /^\d{5}$/;var sixDigit = /^\d{6}$/;var patterns = {  AD: /^AD\d{3}$/,  AT: fourDigit,  AU: fourDigit,  AZ: /^AZ\d{4}$/,  BA: /^([7-8]\d{4}$)/,  BE: fourDigit,  BG: fourDigit,  BR: /^\d{5}-\d{3}$/,  BY: /^2[1-4]\d{4}$/,  CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,  CH: fourDigit,  CN: /^(0[1-7]|1[012356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[1-5]|8[1345]|9[09])\d{4}$/,  CZ: /^\d{3}\s?\d{2}$/,  DE: fiveDigit,  DK: fourDigit,  DO: fiveDigit,  DZ: fiveDigit,  EE: fiveDigit,  ES: /^(5[0-2]{1}|[0-4]{1}\d{1})\d{3}$/,  FI: fiveDigit,  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}$)/,  HT: /^HT\d{4}$/,  HU: fourDigit,  ID: fiveDigit,  IE: /^(?!.*(?:o))[A-Za-z]\d[\dw]\s\w{4}$/i,  IL: /^(\d{5}|\d{7})$/,  IN: /^((?!10|29|35|54|55|65|66|86|87|88|89)[1-9][0-9]{5})$/,  IR: /^(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}$/,  IS: threeDigit,  IT: fiveDigit,  JP: /^\d{3}\-\d{4}$/,  KE: fiveDigit,  KR: /^(\d{5}|\d{6})$/,  LI: /^(948[5-9]|949[0-7])$/,  LT: /^LT\-\d{5}$/,  LU: fourDigit,  LV: /^LV\-\d{4}$/,  LK: fiveDigit,  MG: threeDigit,  MX: fiveDigit,  MT: /^[A-Za-z]{3}\s{0,1}\d{4}$/,  MY: fiveDigit,  NL: /^[1-9]\d{3}\s?(?!sa|sd|ss)[a-z]{2}$/i,  NO: fourDigit,  NP: /^(10|21|22|32|33|34|44|45|56|57)\d{3}$|^(977)$/i,  NZ: fourDigit,  PL: /^\d{2}\-\d{3}$/,  PR: /^00[679]\d{2}([ -]\d{4})?$/,  PT: /^\d{4}\-\d{3}?$/,  RO: sixDigit,  RU: sixDigit,  SA: fiveDigit,  SE: /^[1-9]\d{2}\s?\d{2}$/,  SG: sixDigit,  SI: fourDigit,  SK: /^\d{3}\s?\d{2}$/,  TH: fiveDigit,  TN: fourDigit,  TW: /^\d{3}(\d{2})?$/,  UA: fiveDigit,  US: /^\d{5}(-\d{4})?$/,  ZA: fourDigit,  ZM: fiveDigit};var locales = exports.locales = Object.keys(patterns);function isPostalCode(str, locale) {  (0, _assertString.default)(str);  if (locale in patterns) {    return patterns[locale].test(str);  } else if (locale === 'any') {    for (var key in patterns) {      // https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes      // istanbul ignore else      if (patterns.hasOwnProperty(key)) {        var pattern = patterns[key];        if (pattern.test(str)) {          return true;        }      }    }    return false;  }  throw new Error("Invalid locale '".concat(locale, "'"));}
 |