29 lines
797 B
JavaScript
29 lines
797 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = isVAT;
|
|
exports.vatMatchers = void 0;
|
|
|
|
var _assertString = _interopRequireDefault(require("./util/assertString"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var vatMatchers = {
|
|
GB: /^GB((\d{3} \d{4} ([0-8][0-9]|9[0-6]))|(\d{9} \d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/,
|
|
IT: /^(IT)?[0-9]{11}$/,
|
|
NL: /^(NL)?[0-9]{9}B[0-9]{2}$/
|
|
};
|
|
exports.vatMatchers = vatMatchers;
|
|
|
|
function isVAT(str, countryCode) {
|
|
(0, _assertString.default)(str);
|
|
(0, _assertString.default)(countryCode);
|
|
|
|
if (countryCode in vatMatchers) {
|
|
return vatMatchers[countryCode].test(str);
|
|
}
|
|
|
|
throw new Error("Invalid country code: '".concat(countryCode, "'"));
|
|
} |