cpf_and_cnpj-generator
Version:
Este repositório contém um código JavaScript que gera um CPF (Cadastro de Pessoas Físicas) e CNPJ (Cadastro Nacional da Pessoa Jurídica) brasileiro válido. CPF é um número de identificação exclusivo atribuído a indivíduos no Brasil. O código garante que o
41 lines (40 loc) • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const randomDigit_1 = require("./randomDigit");
const constants_1 = require("./constants");
function generateValidCNPJ() {
for (let index = 0; index < 12; index++) {
constants_1.uintArray12[index] = (0, randomDigit_1.default)();
}
const firstSum = constants_1.uintArray12[0] * 5 +
constants_1.uintArray12[1] * 4 +
constants_1.uintArray12[2] * 3 +
constants_1.uintArray12[3] * 2 +
constants_1.uintArray12[4] * 9 +
constants_1.uintArray12[5] * 8 +
constants_1.uintArray12[6] * 7 +
constants_1.uintArray12[7] * 6 +
constants_1.uintArray12[8] * 5 +
constants_1.uintArray12[9] * 4 +
constants_1.uintArray12[10] * 3 +
constants_1.uintArray12[11] * 2;
const firstRemainder = firstSum % 11;
const firstVerifier = firstRemainder < 2 ? 0 : 11 - firstRemainder;
const secondSum = constants_1.uintArray12[0] * 6 +
constants_1.uintArray12[1] * 5 +
constants_1.uintArray12[2] * 4 +
constants_1.uintArray12[3] * 3 +
constants_1.uintArray12[4] * 2 +
constants_1.uintArray12[5] * 9 +
constants_1.uintArray12[6] * 8 +
constants_1.uintArray12[7] * 7 +
constants_1.uintArray12[8] * 6 +
constants_1.uintArray12[9] * 5 +
constants_1.uintArray12[10] * 4 +
constants_1.uintArray12[11] * 3 +
firstVerifier * 2;
const secondRemainder = secondSum % 11;
const secondVerifier = secondRemainder < 2 ? 0 : 11 - secondRemainder;
return String.fromCodePoint(constants_1.uintArray12[0] + constants_1.ZeroCharCode, constants_1.uintArray12[1] + constants_1.ZeroCharCode, constants_1.uintArray12[2] + constants_1.ZeroCharCode, constants_1.uintArray12[3] + constants_1.ZeroCharCode, constants_1.uintArray12[4] + constants_1.ZeroCharCode, constants_1.uintArray12[5] + constants_1.ZeroCharCode, constants_1.uintArray12[6] + constants_1.ZeroCharCode, constants_1.uintArray12[7] + constants_1.ZeroCharCode, constants_1.uintArray12[8] + constants_1.ZeroCharCode, constants_1.uintArray12[9] + constants_1.ZeroCharCode, constants_1.uintArray12[10] + constants_1.ZeroCharCode, constants_1.uintArray12[11] + constants_1.ZeroCharCode, firstVerifier + constants_1.ZeroCharCode, secondVerifier + constants_1.ZeroCharCode);
}
exports.default = generateValidCNPJ;