french-ssn
Version:
🇫🇷 A parser / validator for French Social Security Number
24 lines • 841 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const pad_1 = __importDefault(require("./pad"));
const normalize_1 = __importDefault(require("./normalize"));
const makeInt = (string) => {
let penalties = 0;
string = string.replace(/a/gi, () => {
penalties += 1000000;
return "0";
});
string = string.replace(/b/gi, () => {
penalties += 2000000;
return "0";
});
return parseInt(string) - penalties;
};
exports.default = (partialSsn) => {
const number = makeInt((0, normalize_1.default)(partialSsn, { length: 13 }));
return (0, pad_1.default)(97 - (number % 97), 2);
};
//# sourceMappingURL=getControlKey.js.map