UNPKG

@hurbis/comum

Version:

Biblioteca contendo rotinas e utilitários para desenvolvimento em Angular.

144 lines • 10.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ var CPF = /** @class */ (function () { function CPF() { } /** * @param {?} numeros * @return {?} */ CPF.retornarDigito = /** * @param {?} numeros * @return {?} */ function (numeros) { /** @type {?} */ var listaNumero = numeros .split("") .map(function (numero) { return parseInt(numero, 10); }); /** @type {?} */ var modulo = listaNumero.length + 1; /** @type {?} */ var multiplificador = listaNumero.map(function (numero, indice) { return numero * (modulo - indice); }); /** @type {?} */ var resto = multiplificador.reduce(function (buffer, numero) { return buffer + numero; }) % 11; return (resto < 2 ? 0 : 11 - resto); }; /** * @param {?} numero * @return {?} */ CPF.formatar = /** * @param {?} numero * @return {?} */ function (numero) { /** @type {?} */ var regex = new RegExp("^(\\d{3})(\\d{3})(\\d{3})(\\d{2})$"); return this.limpar(numero).replace(regex, "$1.$2.$3-$4"); }; /** * @param {?} numero * @param {?=} strict * @return {?} */ CPF.limpar = /** * @param {?} numero * @param {?=} strict * @return {?} */ function (numero, strict) { /** @type {?} */ var regex = strict ? this.STRICT_STRIP_REGEX : this.LOOSE_STRIP_REGEX; return (numero || "").toString().replace(regex, ""); }; /** * @param {?} numeroSemDV * @return {?} */ CPF.atualizarComDV = /** * @param {?} numeroSemDV * @return {?} */ function (numeroSemDV) { numeroSemDV += this.retornarDigito(numeroSemDV); // 10 numeroSemDV += this.retornarDigito(numeroSemDV); // 11 return numeroSemDV; }; /** * @param {?} numero * @param {?=} strict * @return {?} */ CPF.validar = /** * @param {?} numero * @param {?=} strict * @return {?} */ function (numero, strict) { /** @type {?} */ var numeroLimpo = this.limpar(numero, strict); if (!numeroLimpo) { return false; } if (numeroLimpo.length !== 11) { return false; } if (this.LISTA_IGNORADA.indexOf(numeroLimpo) >= 0) { return false; } /** @type {?} */ var numeroComDV = this.atualizarComDV(numeroLimpo.substr(0, 9)); return numeroComDV.substr(-2) === numeroLimpo.substr(-2); }; /** * @param {?} formatado * @return {?} */ CPF.gerar = /** * @param {?} formatado * @return {?} */ function (formatado) { /** @type {?} */ var numeroSemDV = ""; for (var i = 0; i < 9; i++) { numeroSemDV += Math.floor(Math.random() * 9); } /** @type {?} */ var numeroComDV = this.atualizarComDV(numeroSemDV); return (formatado ? this.formatar(numeroComDV) : numeroComDV); }; CPF.LISTA_IGNORADA = [ "00000000000", "11111111111", "22222222222", "33333333333", "44444444444", "55555555555", "66666666666", "77777777777", "88888888888", "99999999999", "12345678909" ]; CPF.STRICT_STRIP_REGEX = new RegExp("[.-]/g"); CPF.LOOSE_STRIP_REGEX = new RegExp("[^\d]/g"); return CPF; }()); export { CPF }; if (false) { /** @type {?} */ CPF.LISTA_IGNORADA; /** @type {?} */ CPF.STRICT_STRIP_REGEX; /** @type {?} */ CPF.LOOSE_STRIP_REGEX; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh1cmJpcy9jb211bS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL3ZhbGlkYWRvci9jcGYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0lBQUE7SUErRUEsQ0FBQzs7Ozs7SUE3RGdCLGtCQUFjOzs7O0lBQTdCLFVBQThCLE9BQWU7O1lBQ3ZDLFdBQVcsR0FBYSxPQUFPO2FBQ2hDLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsVUFBQyxNQUFjLElBQU8sT0FBTyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUV4RCxNQUFNLEdBQVcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDOztZQUV2QyxlQUFlLEdBQWEsV0FBVyxDQUFDLEdBQUcsQ0FDN0MsVUFBQyxNQUFjLEVBQUUsTUFBYztZQUM3QixPQUFPLE1BQU0sR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUM7O1lBRUEsS0FBSyxHQUFXLGVBQWUsQ0FBQyxNQUFNLENBQ3hDLFVBQUMsTUFBYyxFQUFFLE1BQWM7WUFDN0IsT0FBTyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxHQUFHLEVBQUU7UUFFVCxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7Ozs7SUFFTSxZQUFROzs7O0lBQWYsVUFBZ0IsTUFBYzs7WUFDeEIsS0FBSyxHQUFXLElBQUksTUFBTSxDQUFDLG9DQUFvQyxDQUFDO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7Ozs7OztJQUVNLFVBQU07Ozs7O0lBQWIsVUFBYyxNQUFjLEVBQUUsTUFBZ0I7O1lBQ3hDLEtBQUssR0FBVyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtRQUM3RSxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7SUFFYyxrQkFBYzs7OztJQUE3QixVQUE4QixXQUFtQjtRQUMvQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDdEQsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ3RELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Ozs7OztJQUVNLFdBQU87Ozs7O0lBQWQsVUFBZSxNQUFjLEVBQUUsTUFBZ0I7O1lBQ3pDLFdBQVcsR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFFckQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFFbkMsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFFaEQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFOztZQUVoRSxXQUFXLEdBQVcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV2RSxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7Ozs7SUFFTSxTQUFLOzs7O0lBQVosVUFBYSxTQUFrQjs7WUFDekIsV0FBVyxHQUFXLEVBQUU7UUFFNUIsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUM7O1lBRUcsV0FBVyxHQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBRTFELE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUE3RWMsa0JBQWMsR0FBYTtRQUN4QyxhQUFhO1FBQ2IsYUFBYTtRQUNiLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtLQUNkLENBQUM7SUFFYSxzQkFBa0IsR0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxxQkFBaUIsR0FBVyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQStEbkUsVUFBQztDQUFBLEFBL0VELElBK0VDO1NBL0VZLEdBQUc7OztJQUNkLG1CQVlFOztJQUVGLHVCQUFpRTs7SUFDakUsc0JBQWlFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENQRiB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgTElTVEFfSUdOT1JBREE6IHN0cmluZ1tdID0gW1xyXG4gICAgXCIwMDAwMDAwMDAwMFwiLFxyXG4gICAgXCIxMTExMTExMTExMVwiLFxyXG4gICAgXCIyMjIyMjIyMjIyMlwiLFxyXG4gICAgXCIzMzMzMzMzMzMzM1wiLFxyXG4gICAgXCI0NDQ0NDQ0NDQ0NFwiLFxyXG4gICAgXCI1NTU1NTU1NTU1NVwiLFxyXG4gICAgXCI2NjY2NjY2NjY2NlwiLFxyXG4gICAgXCI3Nzc3Nzc3Nzc3N1wiLFxyXG4gICAgXCI4ODg4ODg4ODg4OFwiLFxyXG4gICAgXCI5OTk5OTk5OTk5OVwiLFxyXG4gICAgXCIxMjM0NTY3ODkwOVwiXHJcbiAgXTtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgU1RSSUNUX1NUUklQX1JFR0VYOiBSZWdFeHAgPSBuZXcgUmVnRXhwKFwiWy4tXS9nXCIpO1xyXG4gIHByaXZhdGUgc3RhdGljIExPT1NFX1NUUklQX1JFR0VYOiBSZWdFeHAgPSBuZXcgUmVnRXhwKFwiW15cXGRdL2dcIik7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHJldG9ybmFyRGlnaXRvKG51bWVyb3M6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBsZXQgbGlzdGFOdW1lcm86IG51bWJlcltdID0gbnVtZXJvc1xyXG4gICAgICAuc3BsaXQoXCJcIilcclxuICAgICAgLm1hcCgobnVtZXJvOiBzdHJpbmcpID0+IHsgcmV0dXJuIHBhcnNlSW50KG51bWVybywgMTApOyB9KTtcclxuXHJcbiAgICB2YXIgbW9kdWxvOiBudW1iZXIgPSBsaXN0YU51bWVyby5sZW5ndGggKyAxO1xyXG5cclxuICAgIHZhciBtdWx0aXBsaWZpY2Fkb3I6IG51bWJlcltdID0gbGlzdGFOdW1lcm8ubWFwKFxyXG4gICAgICAobnVtZXJvOiBudW1iZXIsIGluZGljZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG51bWVybyAqIChtb2R1bG8gLSBpbmRpY2UpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB2YXIgcmVzdG86IG51bWJlciA9IG11bHRpcGxpZmljYWRvci5yZWR1Y2UoXHJcbiAgICAgIChidWZmZXI6IG51bWJlciwgbnVtZXJvOiBudW1iZXIpID0+IHtcclxuICAgICAgICByZXR1cm4gYnVmZmVyICsgbnVtZXJvO1xyXG4gICAgICB9KSAlIDExO1xyXG5cclxuICAgIHJldHVybiAocmVzdG8gPCAyID8gMCA6IDExIC0gcmVzdG8pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZvcm1hdGFyKG51bWVybzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cChcIl4oXFxcXGR7M30pKFxcXFxkezN9KShcXFxcZHszfSkoXFxcXGR7Mn0pJFwiKTtcclxuICAgIHJldHVybiB0aGlzLmxpbXBhcihudW1lcm8pLnJlcGxhY2UocmVnZXgsIFwiJDEuJDIuJDMtJDRcIik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbGltcGFyKG51bWVybzogc3RyaW5nLCBzdHJpY3Q/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGxldCByZWdleDogUmVnRXhwID0gc3RyaWN0ID8gdGhpcy5TVFJJQ1RfU1RSSVBfUkVHRVggOiB0aGlzLkxPT1NFX1NUUklQX1JFR0VYO1xyXG4gICAgcmV0dXJuIChudW1lcm8gfHwgXCJcIikudG9TdHJpbmcoKS5yZXBsYWNlKHJlZ2V4LCBcIlwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGF0dWFsaXphckNvbURWKG51bWVyb1NlbURWOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbnVtZXJvU2VtRFYgKz0gdGhpcy5yZXRvcm5hckRpZ2l0byhudW1lcm9TZW1EVik7IC8vIDEwXHJcbiAgICBudW1lcm9TZW1EViArPSB0aGlzLnJldG9ybmFyRGlnaXRvKG51bWVyb1NlbURWKTsgLy8gMTFcclxuICAgIHJldHVybiBudW1lcm9TZW1EVjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB2YWxpZGFyKG51bWVybzogc3RyaW5nLCBzdHJpY3Q/OiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgbnVtZXJvTGltcG86IHN0cmluZyA9IHRoaXMubGltcGFyKG51bWVybywgc3RyaWN0KTtcclxuXHJcbiAgICBpZiAoIW51bWVyb0xpbXBvKSB7IHJldHVybiBmYWxzZTsgfVxyXG5cclxuICAgIGlmIChudW1lcm9MaW1wby5sZW5ndGggIT09IDExKSB7IHJldHVybiBmYWxzZTsgfVxyXG5cclxuICAgIGlmICh0aGlzLkxJU1RBX0lHTk9SQURBLmluZGV4T2YobnVtZXJvTGltcG8pID49IDApIHsgcmV0dXJuIGZhbHNlOyB9XHJcblxyXG4gICAgbGV0IG51bWVyb0NvbURWOiBzdHJpbmcgPSB0aGlzLmF0dWFsaXphckNvbURWKG51bWVyb0xpbXBvLnN1YnN0cigwLCA5KSk7XHJcblxyXG4gICAgcmV0dXJuIG51bWVyb0NvbURWLnN1YnN0cigtMikgPT09IG51bWVyb0xpbXBvLnN1YnN0cigtMik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2VyYXIoZm9ybWF0YWRvOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGxldCBudW1lcm9TZW1EVjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgOTsgaSsrKSB7XHJcbiAgICAgIG51bWVyb1NlbURWICs9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDkpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBudW1lcm9Db21EVjogc3RyaW5nID0gdGhpcy5hdHVhbGl6YXJDb21EVihudW1lcm9TZW1EVik7XHJcblxyXG4gICAgcmV0dXJuIChmb3JtYXRhZG8gPyB0aGlzLmZvcm1hdGFyKG51bWVyb0NvbURWKSA6IG51bWVyb0NvbURWKTtcclxuICB9XHJcbn1cclxuIl19