stdnum
Version:
Standard Number Validation
35 lines • 2.98 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.compact = exports.format = exports.validate = exports.abbreviation = exports.localName = exports.name = void 0;
const util_1 = require("../util");
const nn_1 = require("./nn");
const bis_1 = require("./bis");
function clean(input) {
return util_1.strings.cleanUnicode(input, ' -.');
}
const impl = {
name: 'Belgian Social Security Identification Number',
localName: 'Identificatienummer van de Sociale Zekerheid',
abbreviation: 'INSZ, NISS',
compact(input) {
const [value, err] = clean(input);
if (err) {
throw err;
}
return value;
},
format(input) {
const [value] = clean(input);
return value;
},
validate(input) {
const results = [(0, nn_1.validate)(input), (0, bis_1.validate)(input)];
const validResult = results.find(r => r.isValid);
if (validResult)
return validResult;
const checksumErrorResult = results.find(r => r.error && r.error.name === 'InvalidChecksum');
return checksumErrorResult || results[0];
},
};
exports.name = impl.name, exports.localName = impl.localName, exports.abbreviation = impl.abbreviation, exports.validate = impl.validate, exports.format = impl.format, exports.compact = impl.compact;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zei5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZS9pbnN6LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLGtDQUFrQztBQUNsQyw2QkFBOEM7QUFDOUMsK0JBQWdEO0FBR2hELFNBQVMsS0FBSyxDQUFDLEtBQWE7SUFDMUIsT0FBTyxjQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxJQUFJLEdBQWM7SUFDdEIsSUFBSSxFQUFFLCtDQUErQztJQUNyRCxTQUFTLEVBQUUsOENBQThDO0lBQ3pELFlBQVksRUFBRSxZQUFZO0lBQzFCLE9BQU8sQ0FBQyxLQUFhO1FBQ25CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBYTtRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBQSxhQUFVLEVBQUMsS0FBSyxDQUFDLEVBQUUsSUFBQSxjQUFXLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELElBQUksV0FBVztZQUFFLE9BQU8sV0FBVyxDQUFDO1FBTXBDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FDdEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUNuRCxDQUFDO1FBQ0YsT0FBTyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGLENBQUM7QUFFYSxZQUFJLEdBQ2pCLElBQUksT0FEZSxpQkFBUyxHQUM1QixJQUFJLFlBRDBCLG9CQUFZLEdBQzFDLElBQUksZUFEd0MsZ0JBQVEsR0FDcEQsSUFBSSxXQURrRCxjQUFNLEdBQzVELElBQUksU0FEMEQsZUFBTyxHQUNyRSxJQUFJLFNBQUMifQ==
;