UNPKG

gerador-br

Version:
45 lines (40 loc) 1.05 kB
'use strict'; /** * Calcula o módulo de verificação do RENAVAM. * * @param {number} renavamBase - A renavamBase ponderada dos dígitos do RENAVAM. * @returns {number} O módulo de verificação do RENAVAM. */ function renavamDV(renavamBase) { let mod = (renavamBase * 10) % 11; if (mod === 10) { mod = 0; } return mod; } /** * Gera um número de RENAVAM aleatório. * * @returns {string} O número de RENAVAM gerado. * @example * // RENAVAM gerado * console.log(renavam()); // "12345678901" */ function renavam() { let n = () => Math.floor((Math.random() * 9) + 0); let n0 = n(); let n1 = n(); let n2 = n(); let n3 = n(); let n4 = n(); let n5 = n(); let n6 = n(); let n7 = n(); let n8 = n(); let n9 = n(); let renavamBase = (n() * 3) + (n() * 2) + (n() * 9) + (n() * 8) + (n4 * 7) + (n5 * 6) + (n6 * 5) + (n7 * 4) + (n8 * 3) + (n9 * 2); let dv = renavamDV(renavamBase); return `${n0}${n1}${n2}${n3}${n4}${n5}${n6}${n7}${n8}${n9}${dv}`; } exports.renavam = renavam; exports.renavamDV = renavamDV;