UNPKG

@satheshsat/angular-cnpj

Version:

CNPJ generator and validator

122 lines (115 loc) 4.6 kB
import * as i0 from '@angular/core'; import { Injectable, Component, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; class CnpjService { constructor() { } validate(cnpj) { if (!cnpj) return false; cnpj = cnpj.toString().replace(/\D+/g, ''); // Valida tamanho if (+cnpj.length !== 14) return false; // Valida primeiro dígito verificador for (var i = 0, j = 5, soma = 0; i < 12; i++) { soma += cnpj[i] * j; j = (+j === 2) ? 9 : j - 1; } var resto = soma % 11; if (+cnpj[12] !== +(resto < 2 ? 0 : 11 - resto)) return false; // Valida segundo dígito verificador for (i = 0, j = 6, soma = 0; i < 13; i++) { soma += cnpj[i] * j; j = (+j === 2) ? 9 : j - 1; } resto = soma % 11; return +cnpj[13] === +(resto < 2 ? 0 : 11 - resto); } generate() { var cnpj = '' + Math.floor(10000000 + Math.random() * 90000000) + '0001'; var reverseCnpj = cnpj.toString().split('').reverse(); var d1 = 0, d2 = 0; for (var i = 0; i < reverseCnpj.length; i++) { if ((i + 2) < 10) d1 += reverseCnpj[i] * (2 + i); else d1 += reverseCnpj[i] * (2 + i - 8); if ((i + 3) < 10) d2 += reverseCnpj[i] * (3 + i); else d2 += reverseCnpj[i] * (3 + i - 8); } d1 = 11 - (this.mod(d1, 11)); if (d1 >= 10) d1 = 0; d2 += d1 * 2; d2 = 11 - (this.mod(d2, 11)); if (d2 >= 10) d2 = 0; return '' + cnpj + d1 + d2; } mod(dividendo, divisor) { return Math.round(dividendo - (Math.floor(dividendo / divisor) * divisor)); } } CnpjService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); CnpjService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return []; } }); class CnpjComponent { constructor() { } ngOnInit() { } } CnpjComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); CnpjComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CnpjComponent, selector: "lib-cnpj", ngImport: i0, template: ` <p> cnpj works! </p> `, isInline: true }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjComponent, decorators: [{ type: Component, args: [{ selector: 'lib-cnpj', template: ` <p> cnpj works! </p> `, styles: [] }] }], ctorParameters: function () { return []; } }); class CnpjModule { } CnpjModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); CnpjModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjModule, declarations: [CnpjComponent], imports: [BrowserModule], exports: [CnpjComponent] }); CnpjModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjModule, imports: [[ BrowserModule ]] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CnpjModule, decorators: [{ type: NgModule, args: [{ declarations: [ CnpjComponent ], imports: [ BrowserModule ], exports: [ CnpjComponent ] }] }] }); /* * Public API Surface of cnpj */ /** * Generated bundle index. Do not edit. */ export { CnpjComponent, CnpjModule, CnpjService }; //# sourceMappingURL=satheshsat-angular-cnpj.mjs.map