'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.locales = undefined; 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 = require('./util/assertString'); var _assertString2 = _interopRequireDefault(_assertString); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // common patterns var 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, BE: fourDigit, BG: fourDigit, CA: /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i, CH: fourDigit, CZ: /^\d{3}\s?\d{2}$/, DE: fiveDigit, DK: fourDigit, DZ: fiveDigit, EE: fiveDigit, ES: fiveDigit, 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}$)/, HU: fourDigit, IL: fiveDigit, IN: sixDigit, IS: threeDigit, IT: fiveDigit, JP: /^\d{3}\-\d{4}$/, KE: fiveDigit, LI: /^(948[5-9]|949[0-7])$/, LT: /^LT\-\d{5}$/, LU: fourDigit, LV: /^LV\-\d{4}$/, MX: fiveDigit, NL: /^\d{4}\s?[a-z]{2}$/i, NO: fourDigit, PL: /^\d{2}\-\d{3}$/, PT: /^\d{4}\-\d{3}?$/, RO: sixDigit, RU: sixDigit, SA: fiveDigit, SE: /^\d{3}\s?\d{2}$/, SI: fourDigit, SK: /^\d{3}\s?\d{2}$/, TN: fourDigit, TW: /^\d{3}(\d{2})?$/, US: /^\d{5}(-\d{4})?$/, ZA: fourDigit, ZM: fiveDigit }; var locales = exports.locales = Object.keys(patterns);