validation-br 1.6.3-a → 1.6.3-c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "validation-br",
3
3
  "description": "Brazilian personal documents validation - cpf, cnpj, titulo, pis/pasep, cnh, renavam, processos judiciais, protocolo federal, código de rastreamento dos correios",
4
- "version": "1.6.3-a",
4
+ "version": "1.6.3-c",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
 
8
- "publishConfig": {
9
- "directory": ".publish"
10
- },
8
+ "files": [
9
+ "./.publish/*"
10
+ ],
11
11
 
12
12
  "author": "Cláudio Medeiros <klawdyo@gmail.com>",
13
13
  "license": "MIT",
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "validation-br",
3
3
  "description": "Brazilian personal documents validation - cpf, cnpj, titulo, pis/pasep, cnh, renavam, processos judiciais, protocolo federal, código de rastreamento dos correios",
4
- "version": "1.6.3-a",
4
+ "version": "1.6.3-c",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
 
8
- "publishConfig": {
9
- "directory": ".publish"
10
- },
8
+ "files": [
9
+ "./.publish/*"
10
+ ],
11
11
 
12
12
  "author": "Cláudio Medeiros <klawdyo@gmail.com>",
13
13
  "license": "MIT",
package/.prettierignore DELETED
@@ -1 +0,0 @@
1
- dist/
package/.prettierrc.js DELETED
@@ -1,7 +0,0 @@
1
- module.exports = {
2
- semi: true,
3
- trailingComma: 'all',
4
- singleQuote: true,
5
- printWidth: 100,
6
- tabWidth: 2,
7
- }
@@ -1,7 +0,0 @@
1
- export default class ValidationBRError extends Error {
2
- static INVALID_DV: ValidationBRError;
3
- static INVALID_FORMAT: ValidationBRError;
4
- static EMPTY_VALUE: ValidationBRError;
5
- static MAX_LEN_EXCEDEED: ValidationBRError;
6
- static REPEATED_SEQUENCE: ValidationBRError;
7
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class ValidationBRError extends Error {
4
- }
5
- ValidationBRError.INVALID_DV = new ValidationBRError('Dígito verificador inválido');
6
- ValidationBRError.INVALID_FORMAT = new ValidationBRError('Formato inválido');
7
- ValidationBRError.EMPTY_VALUE = new ValidationBRError('Valor não preenchido');
8
- ValidationBRError.MAX_LEN_EXCEDEED = new ValidationBRError('Número de caracteres excedido');
9
- ValidationBRError.REPEATED_SEQUENCE = new ValidationBRError('Sequência de números repetidos não permitida');
10
- exports.default = ValidationBRError;
11
- //# sourceMappingURL=ValidationBRError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValidationBRError.js","sourceRoot":"","sources":["../../../src/_exceptions/ValidationBRError.ts"],"names":[],"mappings":";;AAAA,MAAqB,iBAAkB,SAAQ,KAAK;;AAC3C,4BAAU,GAAG,IAAI,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;AACjE,gCAAc,GAAG,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;AAC1D,6BAAW,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;AAC3D,kCAAgB,GAAG,IAAI,iBAAiB,CAAC,+BAA+B,CAAC,CAAA;AACzE,mCAAiB,GAAG,IAAI,iBAAiB,CAAC,8CAA8C,CAAC,CAAA;kBAL7E,iBAAiB"}
package/dist/cnh.d.ts DELETED
@@ -1,98 +0,0 @@
1
- /**
2
- * isCNH()
3
- * Calcula se uma CNH é válida
4
- *
5
- * @doc
6
- * CNH deve possuir 11 caracteres
7
- *
8
- * - Os caracteres 1 a 9 são números sequenciais.
9
- *
10
- *
11
- * - Os caracteres 10 e 11 são dígitos verificadores.
12
- *
13
- * 1) Partes do número
14
- * ____________________________ ______
15
- * | Número | D V |
16
- * | 5 8 3 1 6 7 9 4 5 3 4 |
17
- * |____________________________|_____|
18
- *
19
- * 2) Cálculo do primeiro DV.
20
- *
21
- * - Soma-se o produto das algarismos 1 a 9 pelos números 2, 3, 4, 5, 6, 7, 8, 9, 10.
22
- *
23
- * 5 8 3 1 6 7 9 4 5
24
- * x x x x x x x x x
25
- * 2 3 4 5 6 7 8 9 10
26
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 = 294
27
- *
28
- * - O somatório encontrado é dividido por 11. O DV1 é 11 subtraído do resto da divisão. Se o
29
- * resto for 10, o DV1 é 0.
30
- *
31
- * 2.1) 294 / 11 tem resto igual a 8. 11-7 = 3
32
- * DV1 = 3
33
- *
34
- * 3) Cálculo do segundo DV
35
- *
36
- * - Soma-se o produto das algarismos 1 a 9 juntamente com o 10 caractere
37
- * que é o DV1, pelos números 3, 4, 5, 6, 7, 8, 9, 10, 11, 2. O DV1 será
38
- * multiplicado por 2 e ficará no final.
39
- *
40
- * 5 8 3 1 6 7 9 4 5 3
41
- * x x x x x x x x x x
42
- * 3 4 5 6 7 8 9 10 11 2
43
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 +6 = 348
44
- *
45
- * 3.1) 348 / 11 tem resto igual a 7. 11 - 7 = 4.
46
- * DV2 = 4
47
- *
48
- * - O somatório encontrado é dividido por 11. O DV2 é 11 subtraído do resto da divisão. Se o
49
- * resto for 10, o DV2 é 0.
50
- *
51
- * Fonte: https://www.devmedia.com.br/forum/validacao-de-cnh/372972
52
- *
53
- * @param {String} value Título eleitoral
54
- * @returns {Boolean}
55
- */
56
- /**
57
- * Calcula o Dígito Verificador de um RENAVAM informado
58
- *
59
- * @returns String Número fake de um cnh válido
60
- */
61
- export declare const dv: (value: string | number) => string;
62
- /**
63
- * validateOrFail()
64
- * Valida se um número é válido e
65
- * retorna uma exceção se não estiver
66
- *
67
- * @param {String|Number} value Número a ser validado
68
- * @returns {Boolean}
69
- */
70
- export declare const validateOrFail: (value: string | number) => boolean;
71
- /**
72
- * validate()
73
- * Valida se um número é válido
74
- *
75
- * @param {String|Number} value Número a ser validado
76
- * @returns {Boolean}
77
- */
78
- export declare const validate: (value: string | number) => boolean;
79
- /**
80
- * Aplica uma máscara a uma string
81
- *
82
- * @returns String string com a máscara aplicada
83
- */
84
- export declare const mask: (value: string | number) => string;
85
- /**
86
- * Cria um número fake
87
- *
88
- * @returns String Número fake porém válido
89
- */
90
- export declare const fake: (withMask?: boolean) => string;
91
- /**
92
- * Retorna String sem máscara
93
- *
94
- * @param {String|Number} value Valor a remover máscara
95
- * @returns {String}
96
- */
97
- export declare const normalize: (value: string | number) => string;
98
- export default validate;
package/dist/cnh.js DELETED
@@ -1,149 +0,0 @@
1
- "use strict";
2
- /**
3
- * isCNH()
4
- * Calcula se uma CNH é válida
5
- *
6
- * @doc
7
- * CNH deve possuir 11 caracteres
8
- *
9
- * - Os caracteres 1 a 9 são números sequenciais.
10
- *
11
- *
12
- * - Os caracteres 10 e 11 são dígitos verificadores.
13
- *
14
- * 1) Partes do número
15
- * ____________________________ ______
16
- * | Número | D V |
17
- * | 5 8 3 1 6 7 9 4 5 3 4 |
18
- * |____________________________|_____|
19
- *
20
- * 2) Cálculo do primeiro DV.
21
- *
22
- * - Soma-se o produto das algarismos 1 a 9 pelos números 2, 3, 4, 5, 6, 7, 8, 9, 10.
23
- *
24
- * 5 8 3 1 6 7 9 4 5
25
- * x x x x x x x x x
26
- * 2 3 4 5 6 7 8 9 10
27
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 = 294
28
- *
29
- * - O somatório encontrado é dividido por 11. O DV1 é 11 subtraído do resto da divisão. Se o
30
- * resto for 10, o DV1 é 0.
31
- *
32
- * 2.1) 294 / 11 tem resto igual a 8. 11-7 = 3
33
- * DV1 = 3
34
- *
35
- * 3) Cálculo do segundo DV
36
- *
37
- * - Soma-se o produto das algarismos 1 a 9 juntamente com o 10 caractere
38
- * que é o DV1, pelos números 3, 4, 5, 6, 7, 8, 9, 10, 11, 2. O DV1 será
39
- * multiplicado por 2 e ficará no final.
40
- *
41
- * 5 8 3 1 6 7 9 4 5 3
42
- * x x x x x x x x x x
43
- * 3 4 5 6 7 8 9 10 11 2
44
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 +6 = 348
45
- *
46
- * 3.1) 348 / 11 tem resto igual a 7. 11 - 7 = 4.
47
- * DV2 = 4
48
- *
49
- * - O somatório encontrado é dividido por 11. O DV2 é 11 subtraído do resto da divisão. Se o
50
- * resto for 10, o DV2 é 0.
51
- *
52
- * Fonte: https://www.devmedia.com.br/forum/validacao-de-cnh/372972
53
- *
54
- * @param {String} value Título eleitoral
55
- * @returns {Boolean}
56
- */
57
- var __importDefault = (this && this.__importDefault) || function (mod) {
58
- return (mod && mod.__esModule) ? mod : { "default": mod };
59
- };
60
- Object.defineProperty(exports, "__esModule", { value: true });
61
- exports.normalize = exports.fake = exports.mask = exports.validate = exports.validateOrFail = exports.dv = void 0;
62
- const ValidationBRError_1 = __importDefault(require("./_exceptions/ValidationBRError"));
63
- const utils_1 = require("./utils");
64
- /**
65
- * Calcula o Dígito Verificador de um RENAVAM informado
66
- *
67
- * @returns String Número fake de um cnh válido
68
- */
69
- const dv = (value) => {
70
- const cnh = (0, utils_1.clearValue)(value, 9, {
71
- trimAtRight: true,
72
- rejectEmpty: true,
73
- });
74
- const sum1 = (0, utils_1.sumElementsByMultipliers)(cnh.substring(0, 9), [2, 3, 4, 5, 6, 7, 8, 9, 10]);
75
- const dv1 = (0, utils_1.sumToDV)(sum1);
76
- const sum2 = (0, utils_1.sumElementsByMultipliers)(cnh.substring(0, 9) + dv1, [3, 4, 5, 6, 7, 8, 9, 10, 11, 2]);
77
- const dv2 = (0, utils_1.sumToDV)(sum2);
78
- return `${dv1}${dv2}`;
79
- };
80
- exports.dv = dv;
81
- /**
82
- * validateOrFail()
83
- * Valida se um número é válido e
84
- * retorna uma exceção se não estiver
85
- *
86
- * @param {String|Number} value Número a ser validado
87
- * @returns {Boolean}
88
- */
89
- const validateOrFail = (value) => {
90
- const cnh = (0, exports.normalize)(value);
91
- if ((0, exports.dv)(cnh) !== cnh.substring(9, 11)) {
92
- throw ValidationBRError_1.default.INVALID_DV;
93
- }
94
- return true;
95
- };
96
- exports.validateOrFail = validateOrFail;
97
- /**
98
- * validate()
99
- * Valida se um número é válido
100
- *
101
- * @param {String|Number} value Número a ser validado
102
- * @returns {Boolean}
103
- */
104
- const validate = (value) => {
105
- try {
106
- return (0, exports.validateOrFail)(value);
107
- }
108
- catch (error) {
109
- return false;
110
- }
111
- };
112
- exports.validate = validate;
113
- /**
114
- * Aplica uma máscara a uma string
115
- *
116
- * @returns String string com a máscara aplicada
117
- */
118
- const mask = (value) => (0, utils_1.applyMask)(value, '000000000-00');
119
- exports.mask = mask;
120
- /**
121
- * Cria um número fake
122
- *
123
- * @returns String Número fake porém válido
124
- */
125
- const fake = (withMask = false) => {
126
- const value = (0, utils_1.fakeNumber)(9, true);
127
- const cnh = `${value}${(0, exports.dv)(value)}`;
128
- if (withMask)
129
- return (0, exports.mask)(cnh);
130
- return cnh;
131
- };
132
- exports.fake = fake;
133
- /**
134
- * Retorna String sem máscara
135
- *
136
- * @param {String|Number} value Valor a remover máscara
137
- * @returns {String}
138
- */
139
- const normalize = (value) => {
140
- return (0, utils_1.clearValue)(value, 11, {
141
- fillZerosAtLeft: true,
142
- rejectEmpty: true,
143
- rejectHigherLength: true,
144
- rejectEqualSequence: true,
145
- });
146
- };
147
- exports.normalize = normalize;
148
- exports.default = exports.validate;
149
- //# sourceMappingURL=cnh.js.map
package/dist/cnh.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cnh.js","sourceRoot":"","sources":["../../src/cnh.ts"],"names":[],"mappings":"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"}
package/dist/cnpj.d.ts DELETED
@@ -1,121 +0,0 @@
1
- /**
2
- * isCNPJ()
3
- * Calcula se um CNPJ é válido
4
- *
5
- * A partir da Nota Técnica conjunta COCAD/SUARA/RFB nº 49 de 14 de maio de 2024, CNPJ passa
6
- * a poder ser criado com letras e números, ao invés de apenas números. Esta alteração entra
7
- * em vigor em 2026.
8
- *
9
- *
10
- * @doc
11
- * - CNPJ deve possuir 14 dígitos no formato AA.AAA.AAA/AAAA-NN, onde A representa letras
12
- * ou números e N representa números (Nota Técnica conjunta COCAD/SUARA/RFB nº 49 de 14 de maio de 2024)
13
- *
14
- * - Os caracteres 1 a 8 são a identificação da empresa definida pela Receita Federal. Podem ser letras ou números
15
- *
16
- * - Os caracteres 9 a 12 são a identificação das filiais da empresa. Podendo ser letras ou números
17
- *
18
- * - Os caracteres 13 e 14 são os dígitos verificadores
19
- *
20
- * 1) Partes do número
21
- * _______________________________ _______________ _______
22
- * | Número | Filiais | DV |
23
- * | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |
24
- * |_______________________________|_______________|_______|
25
- *
26
- *
27
- * 2.1) Conversão dos números para tabela ASCII
28
- * Converte os caracteres do CNPJ em valores numéricos, mesmo que alguns deles
29
- * sejam numéricos. A conversão será baseada na tabela ASCII
30
- *
31
- * Tabela ASCII
32
- * 0 = 48 1 = 49 2 = 50 3 = 51 4 = 52
33
- * 5 = 53 6 = 54 7 = 55 8 = 56 9 = 57
34
- * A = 65 B = 66 C = 67 D = 68 E = 69
35
- * F = 70 G = 71 H = 72 I = 73 J = 74
36
- * K = 75 L = 76 M = 77 N = 78 O = 79
37
- * P = 80 Q = 81 R = 82 S = 83 T = 84
38
- * U = 85 V = 86 W = 87 X = 88 Y = 89
39
- * Z = 90
40
- *
41
- * Ao converter cada dígito do CNPJ para o seu equivalente na tabela ASCII, subtraia de 48
42
- * para obter o número que será multiplicado.
43
- * Como o "0" é 48 e deve-se subtrair de 48, não há mudanças nos números.
44
- *
45
- *
46
- *
47
- * 2) Cálculo do primeiro DV.
48
- *
49
- * - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
50
- *
51
- * 1 1 2 2 2 3 3 3 0 0 0 1
52
- * x x x x x x x x x x x x
53
- * 5 4 3 2 9 8 7 6 5 4 3 2
54
- * = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102
55
- *
56
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
57
- * 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.
58
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
59
- *
60
- * 3) Cálculo do segundo DV.
61
- *
62
- * - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos
63
- * números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
64
- *
65
- * 1 1 2 2 2 3 3 3 0 0 0 1 8
66
- * x x x x x x x x x x x x x
67
- * 6 5 4 3 2 9 8 7 6 5 4 3 2
68
- * = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120
69
- *
70
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
71
- * 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.
72
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
73
- *
74
- * Fonte: http://www.macoratti.net/alg_cnpj.htm
75
- *
76
- * @param {String} value Título eleitoral
77
- * @returns {Boolean}
78
- */
79
- type FakeInput = {
80
- withMask?: boolean;
81
- alphanumeric?: boolean;
82
- };
83
- export declare function dv(value: string | number): string;
84
- /**
85
- * Aplica uma máscara ao número informado
86
- *
87
- * @param {String} value Número de Processo
88
- * @returns {String} Valor com a máscara
89
- */
90
- export declare function mask(value: string | number): string;
91
- /**
92
- *
93
- *
94
- */
95
- export declare function fake(options?: FakeInput): string;
96
- export declare function fake(withMask?: boolean): string;
97
- /**
98
- * validateOrFail()
99
- * Valida se um número é válido e
100
- * retorna uma exceção se não estiver
101
- *
102
- * @param {String|Number} value Número a ser validado
103
- * @returns {Boolean}
104
- */
105
- export declare function validateOrFail(value: string | number): boolean;
106
- /**
107
- * validate()
108
- * Valida se um número é válido
109
- *
110
- * @param {String|Number} value Número a ser validado
111
- * @returns {Boolean}
112
- */
113
- export declare function validate(value: string | number): boolean;
114
- /**
115
- * Retorna String sem máscara
116
- *
117
- * @param {String|Number} value Valor a remover máscara
118
- * @returns {String}
119
- */
120
- export declare const normalize: (value: string | number) => string;
121
- export default validate;
package/dist/cnpj.js DELETED
@@ -1,193 +0,0 @@
1
- "use strict";
2
- /**
3
- * isCNPJ()
4
- * Calcula se um CNPJ é válido
5
- *
6
- * A partir da Nota Técnica conjunta COCAD/SUARA/RFB nº 49 de 14 de maio de 2024, CNPJ passa
7
- * a poder ser criado com letras e números, ao invés de apenas números. Esta alteração entra
8
- * em vigor em 2026.
9
- *
10
- *
11
- * @doc
12
- * - CNPJ deve possuir 14 dígitos no formato AA.AAA.AAA/AAAA-NN, onde A representa letras
13
- * ou números e N representa números (Nota Técnica conjunta COCAD/SUARA/RFB nº 49 de 14 de maio de 2024)
14
- *
15
- * - Os caracteres 1 a 8 são a identificação da empresa definida pela Receita Federal. Podem ser letras ou números
16
- *
17
- * - Os caracteres 9 a 12 são a identificação das filiais da empresa. Podendo ser letras ou números
18
- *
19
- * - Os caracteres 13 e 14 são os dígitos verificadores
20
- *
21
- * 1) Partes do número
22
- * _______________________________ _______________ _______
23
- * | Número | Filiais | DV |
24
- * | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |
25
- * |_______________________________|_______________|_______|
26
- *
27
- *
28
- * 2.1) Conversão dos números para tabela ASCII
29
- * Converte os caracteres do CNPJ em valores numéricos, mesmo que alguns deles
30
- * sejam numéricos. A conversão será baseada na tabela ASCII
31
- *
32
- * Tabela ASCII
33
- * 0 = 48 1 = 49 2 = 50 3 = 51 4 = 52
34
- * 5 = 53 6 = 54 7 = 55 8 = 56 9 = 57
35
- * A = 65 B = 66 C = 67 D = 68 E = 69
36
- * F = 70 G = 71 H = 72 I = 73 J = 74
37
- * K = 75 L = 76 M = 77 N = 78 O = 79
38
- * P = 80 Q = 81 R = 82 S = 83 T = 84
39
- * U = 85 V = 86 W = 87 X = 88 Y = 89
40
- * Z = 90
41
- *
42
- * Ao converter cada dígito do CNPJ para o seu equivalente na tabela ASCII, subtraia de 48
43
- * para obter o número que será multiplicado.
44
- * Como o "0" é 48 e deve-se subtrair de 48, não há mudanças nos números.
45
- *
46
- *
47
- *
48
- * 2) Cálculo do primeiro DV.
49
- *
50
- * - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
51
- *
52
- * 1 1 2 2 2 3 3 3 0 0 0 1
53
- * x x x x x x x x x x x x
54
- * 5 4 3 2 9 8 7 6 5 4 3 2
55
- * = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102
56
- *
57
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
58
- * 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.
59
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
60
- *
61
- * 3) Cálculo do segundo DV.
62
- *
63
- * - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos
64
- * números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
65
- *
66
- * 1 1 2 2 2 3 3 3 0 0 0 1 8
67
- * x x x x x x x x x x x x x
68
- * 6 5 4 3 2 9 8 7 6 5 4 3 2
69
- * = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120
70
- *
71
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
72
- * 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.
73
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
74
- *
75
- * Fonte: http://www.macoratti.net/alg_cnpj.htm
76
- *
77
- * @param {String} value Título eleitoral
78
- * @returns {Boolean}
79
- */
80
- var __importDefault = (this && this.__importDefault) || function (mod) {
81
- return (mod && mod.__esModule) ? mod : { "default": mod };
82
- };
83
- Object.defineProperty(exports, "__esModule", { value: true });
84
- exports.normalize = void 0;
85
- exports.dv = dv;
86
- exports.mask = mask;
87
- exports.fake = fake;
88
- exports.validateOrFail = validateOrFail;
89
- exports.validate = validate;
90
- const ValidationBRError_1 = __importDefault(require("./_exceptions/ValidationBRError"));
91
- const utils_1 = require("./utils");
92
- function dv(value) {
93
- const cnpj = (0, utils_1.clearValue)(value, 12, {
94
- trimAtRight: true,
95
- rejectEmpty: true,
96
- });
97
- const dv1Factors = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
98
- const dv1 = sumToDvWithAlpha(cnpj.substring(0, 12), dv1Factors);
99
- const dv2Factors = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
100
- const dv2 = sumToDvWithAlpha(cnpj.substring(0, 12) + dv1, dv2Factors);
101
- return `${dv1}${dv2}`;
102
- }
103
- /**
104
- * Aplica uma máscara ao número informado
105
- *
106
- * @param {String} value Número de Processo
107
- * @returns {String} Valor com a máscara
108
- */
109
- function mask(value) {
110
- return (0, utils_1.applyMask)(value, '00.000.000/0000-00');
111
- }
112
- function fake(input = false) {
113
- const options = typeof input === 'boolean'
114
- ? { withMask: input, alphanumeric: true }
115
- : { withMask: false, alphanumeric: true, ...input };
116
- const first = (0, utils_1.fakeNumber)(8, true, options.alphanumeric);
117
- const branch = '0001';
118
- const num = first + branch;
119
- const cnpj = `${num}${dv(num)}`;
120
- if (options.withMask)
121
- return mask(cnpj);
122
- return cnpj;
123
- }
124
- /**
125
- * validateOrFail()
126
- * Valida se um número é válido e
127
- * retorna uma exceção se não estiver
128
- *
129
- * @param {String|Number} value Número a ser validado
130
- * @returns {Boolean}
131
- */
132
- function validateOrFail(value) {
133
- const cnpj = (0, exports.normalize)(value);
134
- if (dv(cnpj) !== cnpj.substring(12, 14)) {
135
- throw ValidationBRError_1.default.INVALID_DV;
136
- }
137
- return true;
138
- }
139
- /**
140
- * validate()
141
- * Valida se um número é válido
142
- *
143
- * @param {String|Number} value Número a ser validado
144
- * @returns {Boolean}
145
- */
146
- function validate(value) {
147
- try {
148
- return validateOrFail(value);
149
- }
150
- catch (error) {
151
- return false;
152
- }
153
- }
154
- /**
155
- * Retorna String sem máscara
156
- *
157
- * @param {String|Number} value Valor a remover máscara
158
- * @returns {String}
159
- */
160
- const normalize = (value) => {
161
- return (0, utils_1.clearValue)(value, 14, {
162
- fillZerosAtLeft: false,
163
- rejectEmpty: true,
164
- rejectHigherLength: true,
165
- rejectEqualSequence: true,
166
- });
167
- };
168
- exports.normalize = normalize;
169
- exports.default = validate;
170
- /**
171
- *
172
- * Converte o número para
173
- *
174
- *
175
- */
176
- function asciiTableConverter(character) {
177
- if (/^\d$/.test(character))
178
- return +character;
179
- const ascii = character.toLocaleUpperCase().charCodeAt(0) - 48;
180
- return ascii;
181
- }
182
- /**
183
- *
184
- *
185
- *
186
- */
187
- function sumToDvWithAlpha(value, multiplier) {
188
- const sum = [...value]
189
- .map(character => asciiTableConverter(character))
190
- .reduce((sum, asciiChar, index) => sum + asciiChar * multiplier[index], 0);
191
- return (0, utils_1.sumToDV)(sum);
192
- }
193
- //# sourceMappingURL=cnpj.js.map
package/dist/cnpj.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cnpj.js","sourceRoot":"","sources":["../../src/cnpj.ts"],"names":[],"mappings":"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"}