validation-br 1.4.5 → 1.5.2
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.
- package/.github/workflows/test.yml +6 -6
- package/.prettierrc.js +1 -1
- package/dist/cnh.d.ts +91 -91
- package/dist/cnh.js +138 -138
- package/dist/cnh.js.map +1 -1
- package/dist/cnh.test.d.ts +1 -1
- package/dist/cnpj.d.ts +114 -82
- package/dist/cnpj.js +179 -129
- package/dist/cnpj.js.map +1 -1
- package/dist/cnpj.test.d.ts +1 -1
- package/dist/cpf.d.ts +99 -99
- package/dist/cpf.js +146 -146
- package/dist/cpf.js.map +1 -1
- package/dist/cpf.test.d.ts +1 -1
- package/dist/data/ValidationBRError.d.ts +6 -6
- package/dist/data/ValidationBRError.js +9 -9
- package/dist/data/ValidationBRError.js.map +1 -1
- package/dist/index.d.ts +21 -21
- package/dist/index.js +41 -41
- package/dist/index.test.d.ts +1 -1
- package/dist/judicialProcess.d.ts +126 -126
- package/dist/judicialProcess.js +189 -189
- package/dist/judicialProcess.js.map +1 -1
- package/dist/judicialProcess.test.d.ts +1 -1
- package/dist/nup17.d.ts +102 -102
- package/dist/nup17.js +154 -154
- package/dist/nup17.js.map +1 -1
- package/dist/nup17.test.d.ts +1 -1
- package/dist/pisPasep.d.ts +81 -81
- package/dist/pisPasep.js +125 -125
- package/dist/pisPasep.js.map +1 -1
- package/dist/pisPasep.test.d.ts +1 -1
- package/dist/postalCode.d.ts +83 -83
- package/dist/postalCode.js +135 -135
- package/dist/postalCode.js.map +1 -1
- package/dist/postalCode.test.d.ts +1 -1
- package/dist/renavam.d.ts +75 -75
- package/dist/renavam.js +121 -121
- package/dist/renavam.js.map +1 -1
- package/dist/renavam.test.d.ts +1 -1
- package/dist/tituloEleitor.d.ts +93 -93
- package/dist/tituloEleitor.js +142 -142
- package/dist/tituloEleitor.js.map +1 -1
- package/dist/tituloEleitor.test.d.ts +1 -1
- package/dist/utils-applyMask.test.d.ts +1 -1
- package/dist/utils-checkRepeatedSequence.test.d.ts +1 -0
- package/dist/utils-clearValue.test.d.ts +1 -1
- package/dist/utils-fakeNumber.test.d.ts +1 -1
- package/dist/utils-insertAtPosition.test.d.ts +1 -1
- package/dist/utils-invalidListGenerator.test.d.ts +1 -1
- package/dist/utils-randomLetter.test.d.ts +1 -1
- package/dist/utils-removeFromPosition.test.d.ts +1 -1
- package/dist/utils-sumElementsByMultipliers.test.d.ts +1 -1
- package/dist/utils-sumToDV.test.d.ts +1 -1
- package/dist/utils.d.ts +131 -133
- package/dist/utils.js +189 -190
- package/dist/utils.js.map +1 -1
- package/{.eslintrc.js → eslint.config.js} +39 -39
- package/jest.config.js +1 -6
- package/package.json +5 -25
- package/readme.md +11 -2
- package/.eslintcache +0 -1
- package/.eslintignore +0 -2
package/dist/cpf.d.ts
CHANGED
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* isCPF()
|
|
3
|
-
* Calcula se um CPF é válido
|
|
4
|
-
*
|
|
5
|
-
* @doc
|
|
6
|
-
* CPF deve possuir 11 dígitos.
|
|
7
|
-
*
|
|
8
|
-
* - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
|
|
9
|
-
*
|
|
10
|
-
* - O caractere 9 refere-se à região fiscal emissora do documento
|
|
11
|
-
* 1 – DF, GO, MS, MT e TO
|
|
12
|
-
* 2 – AC, AM, AP, PA, RO e RR
|
|
13
|
-
* 3 – CE, MA e PI
|
|
14
|
-
* 4 – AL, PB, PE, RN
|
|
15
|
-
* 5 – BA e SE
|
|
16
|
-
* 6 – MG
|
|
17
|
-
* 7 – ES e RJ
|
|
18
|
-
* 8 – SP
|
|
19
|
-
* 9 – PR e SC
|
|
20
|
-
* 0 – RS
|
|
21
|
-
*
|
|
22
|
-
* - Os caracteres 10 e 11 são dígitos verificadores.
|
|
23
|
-
*
|
|
24
|
-
* 1) Partes do número
|
|
25
|
-
* ------------------------------------------------
|
|
26
|
-
* | Número | R | DV |
|
|
27
|
-
* 2 8 0 . 0 1 2 . 3 8 9 - 3 8
|
|
28
|
-
*
|
|
29
|
-
* 2) Cálculo do primeiro DV.
|
|
30
|
-
*
|
|
31
|
-
* - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
32
|
-
*
|
|
33
|
-
* 2 8 0 0 1 2 3 8 9
|
|
34
|
-
* x x x x x x x x x
|
|
35
|
-
* 10 9 8 7 6 5 4 3 2
|
|
36
|
-
* = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
|
|
37
|
-
*
|
|
38
|
-
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
39
|
-
* 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
|
|
40
|
-
* Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
|
|
41
|
-
*
|
|
42
|
-
* 3) Cálculo do segundo DV.
|
|
43
|
-
*
|
|
44
|
-
* - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
45
|
-
*
|
|
46
|
-
* 2 8 0 0 1 2 3 8 9 3
|
|
47
|
-
* x x x x x x x x x x
|
|
48
|
-
* 11 10 9 8 7 6 5 4 3 2
|
|
49
|
-
* = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
|
|
50
|
-
*
|
|
51
|
-
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
52
|
-
* 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
|
|
53
|
-
* Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
|
|
54
|
-
*
|
|
55
|
-
* Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
|
|
56
|
-
*
|
|
57
|
-
* @param {String} value Título eleitoral
|
|
58
|
-
* @returns {Boolean}
|
|
59
|
-
*/
|
|
60
|
-
/**
|
|
61
|
-
* dv()
|
|
62
|
-
* Calcula o dígito verificador
|
|
63
|
-
*
|
|
64
|
-
* @param {Number|String} value
|
|
65
|
-
* @returns {String}
|
|
66
|
-
*/
|
|
67
|
-
export declare const dv: (value: string | number) => string;
|
|
68
|
-
/**
|
|
69
|
-
* Aplica uma máscara ao número informado
|
|
70
|
-
*
|
|
71
|
-
* @param {String} value Número de Processo
|
|
72
|
-
* @returns {String} Valor com a máscara
|
|
73
|
-
*/
|
|
74
|
-
export declare const mask: (value: string | number) => string;
|
|
75
|
-
/**
|
|
76
|
-
* fake()
|
|
77
|
-
* Gera um número válido
|
|
78
|
-
*
|
|
79
|
-
* @returns {String}
|
|
80
|
-
*/
|
|
81
|
-
export declare const fake: (withMask?: boolean) => string;
|
|
82
|
-
/**
|
|
83
|
-
* validateOrFail()
|
|
84
|
-
* Valida se um número é válido e
|
|
85
|
-
* retorna uma exceção se não estiver
|
|
86
|
-
*
|
|
87
|
-
* @param {String|Number} value Número a ser validado
|
|
88
|
-
* @returns {Boolean}
|
|
89
|
-
*/
|
|
90
|
-
export declare const validateOrFail: (value: string | number) => boolean;
|
|
91
|
-
/**
|
|
92
|
-
* validate()
|
|
93
|
-
* Valida se um número é válido
|
|
94
|
-
*
|
|
95
|
-
* @param {String|Number} value Número a ser validado
|
|
96
|
-
* @returns {Boolean}
|
|
97
|
-
*/
|
|
98
|
-
export declare const validate: (value: string | number) => boolean;
|
|
99
|
-
export default validate;
|
|
1
|
+
/**
|
|
2
|
+
* isCPF()
|
|
3
|
+
* Calcula se um CPF é válido
|
|
4
|
+
*
|
|
5
|
+
* @doc
|
|
6
|
+
* CPF deve possuir 11 dígitos.
|
|
7
|
+
*
|
|
8
|
+
* - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
|
|
9
|
+
*
|
|
10
|
+
* - O caractere 9 refere-se à região fiscal emissora do documento
|
|
11
|
+
* 1 – DF, GO, MS, MT e TO
|
|
12
|
+
* 2 – AC, AM, AP, PA, RO e RR
|
|
13
|
+
* 3 – CE, MA e PI
|
|
14
|
+
* 4 – AL, PB, PE, RN
|
|
15
|
+
* 5 – BA e SE
|
|
16
|
+
* 6 – MG
|
|
17
|
+
* 7 – ES e RJ
|
|
18
|
+
* 8 – SP
|
|
19
|
+
* 9 – PR e SC
|
|
20
|
+
* 0 – RS
|
|
21
|
+
*
|
|
22
|
+
* - Os caracteres 10 e 11 são dígitos verificadores.
|
|
23
|
+
*
|
|
24
|
+
* 1) Partes do número
|
|
25
|
+
* ------------------------------------------------
|
|
26
|
+
* | Número | R | DV |
|
|
27
|
+
* 2 8 0 . 0 1 2 . 3 8 9 - 3 8
|
|
28
|
+
*
|
|
29
|
+
* 2) Cálculo do primeiro DV.
|
|
30
|
+
*
|
|
31
|
+
* - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
32
|
+
*
|
|
33
|
+
* 2 8 0 0 1 2 3 8 9
|
|
34
|
+
* x x x x x x x x x
|
|
35
|
+
* 10 9 8 7 6 5 4 3 2
|
|
36
|
+
* = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
|
|
37
|
+
*
|
|
38
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
39
|
+
* 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
|
|
40
|
+
* Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
|
|
41
|
+
*
|
|
42
|
+
* 3) Cálculo do segundo DV.
|
|
43
|
+
*
|
|
44
|
+
* - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
45
|
+
*
|
|
46
|
+
* 2 8 0 0 1 2 3 8 9 3
|
|
47
|
+
* x x x x x x x x x x
|
|
48
|
+
* 11 10 9 8 7 6 5 4 3 2
|
|
49
|
+
* = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
|
|
50
|
+
*
|
|
51
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
52
|
+
* 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
|
|
53
|
+
* Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
|
|
54
|
+
*
|
|
55
|
+
* Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
|
|
56
|
+
*
|
|
57
|
+
* @param {String} value Título eleitoral
|
|
58
|
+
* @returns {Boolean}
|
|
59
|
+
*/
|
|
60
|
+
/**
|
|
61
|
+
* dv()
|
|
62
|
+
* Calcula o dígito verificador
|
|
63
|
+
*
|
|
64
|
+
* @param {Number|String} value
|
|
65
|
+
* @returns {String}
|
|
66
|
+
*/
|
|
67
|
+
export declare const dv: (value: string | number) => string;
|
|
68
|
+
/**
|
|
69
|
+
* Aplica uma máscara ao número informado
|
|
70
|
+
*
|
|
71
|
+
* @param {String} value Número de Processo
|
|
72
|
+
* @returns {String} Valor com a máscara
|
|
73
|
+
*/
|
|
74
|
+
export declare const mask: (value: string | number) => string;
|
|
75
|
+
/**
|
|
76
|
+
* fake()
|
|
77
|
+
* Gera um número válido
|
|
78
|
+
*
|
|
79
|
+
* @returns {String}
|
|
80
|
+
*/
|
|
81
|
+
export declare const fake: (withMask?: boolean) => string;
|
|
82
|
+
/**
|
|
83
|
+
* validateOrFail()
|
|
84
|
+
* Valida se um número é válido e
|
|
85
|
+
* retorna uma exceção se não estiver
|
|
86
|
+
*
|
|
87
|
+
* @param {String|Number} value Número a ser validado
|
|
88
|
+
* @returns {Boolean}
|
|
89
|
+
*/
|
|
90
|
+
export declare const validateOrFail: (value: string | number) => boolean;
|
|
91
|
+
/**
|
|
92
|
+
* validate()
|
|
93
|
+
* Valida se um número é válido
|
|
94
|
+
*
|
|
95
|
+
* @param {String|Number} value Número a ser validado
|
|
96
|
+
* @returns {Boolean}
|
|
97
|
+
*/
|
|
98
|
+
export declare const validate: (value: string | number) => boolean;
|
|
99
|
+
export default validate;
|
package/dist/cpf.js
CHANGED
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* isCPF()
|
|
4
|
-
* Calcula se um CPF é válido
|
|
5
|
-
*
|
|
6
|
-
* @doc
|
|
7
|
-
* CPF deve possuir 11 dígitos.
|
|
8
|
-
*
|
|
9
|
-
* - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
|
|
10
|
-
*
|
|
11
|
-
* - O caractere 9 refere-se à região fiscal emissora do documento
|
|
12
|
-
* 1 – DF, GO, MS, MT e TO
|
|
13
|
-
* 2 – AC, AM, AP, PA, RO e RR
|
|
14
|
-
* 3 – CE, MA e PI
|
|
15
|
-
* 4 – AL, PB, PE, RN
|
|
16
|
-
* 5 – BA e SE
|
|
17
|
-
* 6 – MG
|
|
18
|
-
* 7 – ES e RJ
|
|
19
|
-
* 8 – SP
|
|
20
|
-
* 9 – PR e SC
|
|
21
|
-
* 0 – RS
|
|
22
|
-
*
|
|
23
|
-
* - Os caracteres 10 e 11 são dígitos verificadores.
|
|
24
|
-
*
|
|
25
|
-
* 1) Partes do número
|
|
26
|
-
* ------------------------------------------------
|
|
27
|
-
* | Número | R | DV |
|
|
28
|
-
* 2 8 0 . 0 1 2 . 3 8 9 - 3 8
|
|
29
|
-
*
|
|
30
|
-
* 2) Cálculo do primeiro DV.
|
|
31
|
-
*
|
|
32
|
-
* - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
33
|
-
*
|
|
34
|
-
* 2 8 0 0 1 2 3 8 9
|
|
35
|
-
* x x x x x x x x x
|
|
36
|
-
* 10 9 8 7 6 5 4 3 2
|
|
37
|
-
* = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
|
|
38
|
-
*
|
|
39
|
-
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
40
|
-
* 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
|
|
41
|
-
* Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
|
|
42
|
-
*
|
|
43
|
-
* 3) Cálculo do segundo DV.
|
|
44
|
-
*
|
|
45
|
-
* - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
46
|
-
*
|
|
47
|
-
* 2 8 0 0 1 2 3 8 9 3
|
|
48
|
-
* x x x x x x x x x x
|
|
49
|
-
* 11 10 9 8 7 6 5 4 3 2
|
|
50
|
-
* = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
|
|
51
|
-
*
|
|
52
|
-
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
53
|
-
* 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
|
|
54
|
-
* Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
|
|
55
|
-
*
|
|
56
|
-
* Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
|
|
57
|
-
*
|
|
58
|
-
* @param {String} value Título eleitoral
|
|
59
|
-
* @returns {Boolean}
|
|
60
|
-
*/
|
|
61
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
|
-
};
|
|
64
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
66
|
-
const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
|
|
67
|
-
const utils_1 = require("./utils");
|
|
68
|
-
/**
|
|
69
|
-
* dv()
|
|
70
|
-
* Calcula o dígito verificador
|
|
71
|
-
*
|
|
72
|
-
* @param {Number|String} value
|
|
73
|
-
* @returns {String}
|
|
74
|
-
*/
|
|
75
|
-
const dv = (value) => {
|
|
76
|
-
const cpf = (0, utils_1.clearValue)(value, 9, {
|
|
77
|
-
trimAtRight: true,
|
|
78
|
-
rejectEmpty: true,
|
|
79
|
-
});
|
|
80
|
-
const sum1 = (0, utils_1.sumElementsByMultipliers)(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
81
|
-
const dv1 = (0, utils_1.sumToDV)(sum1);
|
|
82
|
-
const sum2 = (0, utils_1.sumElementsByMultipliers)(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
83
|
-
const dv2 = (0, utils_1.sumToDV)(sum2);
|
|
84
|
-
return `${dv1}${dv2}`;
|
|
85
|
-
};
|
|
86
|
-
exports.dv = dv;
|
|
87
|
-
/**
|
|
88
|
-
* Aplica uma máscara ao número informado
|
|
89
|
-
*
|
|
90
|
-
* @param {String} value Número de Processo
|
|
91
|
-
* @returns {String} Valor com a máscara
|
|
92
|
-
*/
|
|
93
|
-
const mask = (value) => (0, utils_1.applyMask)(value, '000.000.000-00');
|
|
94
|
-
exports.mask = mask;
|
|
95
|
-
/**
|
|
96
|
-
* fake()
|
|
97
|
-
* Gera um número válido
|
|
98
|
-
*
|
|
99
|
-
* @returns {String}
|
|
100
|
-
*/
|
|
101
|
-
const fake = (withMask = false) => {
|
|
102
|
-
const num = (0, utils_1.fakeNumber)(9, true);
|
|
103
|
-
const cpf = `${num}${(0, exports.dv)(num)}`;
|
|
104
|
-
if (withMask)
|
|
105
|
-
return (0, exports.mask)(cpf);
|
|
106
|
-
return cpf;
|
|
107
|
-
};
|
|
108
|
-
exports.fake = fake;
|
|
109
|
-
/**
|
|
110
|
-
* validateOrFail()
|
|
111
|
-
* Valida se um número é válido e
|
|
112
|
-
* retorna uma exceção se não estiver
|
|
113
|
-
*
|
|
114
|
-
* @param {String|Number} value Número a ser validado
|
|
115
|
-
* @returns {Boolean}
|
|
116
|
-
*/
|
|
117
|
-
const validateOrFail = (value) => {
|
|
118
|
-
const cpf = (0, utils_1.clearValue)(value, 11, {
|
|
119
|
-
fillZerosAtLeft: true,
|
|
120
|
-
rejectEmpty: true,
|
|
121
|
-
rejectHigherLength: true,
|
|
122
|
-
rejectEqualSequence: true,
|
|
123
|
-
});
|
|
124
|
-
if ((0, exports.dv)(cpf) !== cpf.substring(9, 11)) {
|
|
125
|
-
throw ValidationBRError_1.default.INVALID_DV;
|
|
126
|
-
}
|
|
127
|
-
return true;
|
|
128
|
-
};
|
|
129
|
-
exports.validateOrFail = validateOrFail;
|
|
130
|
-
/**
|
|
131
|
-
* validate()
|
|
132
|
-
* Valida se um número é válido
|
|
133
|
-
*
|
|
134
|
-
* @param {String|Number} value Número a ser validado
|
|
135
|
-
* @returns {Boolean}
|
|
136
|
-
*/
|
|
137
|
-
const validate = (value) => {
|
|
138
|
-
try {
|
|
139
|
-
return (0, exports.validateOrFail)(value);
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
exports.validate = validate;
|
|
146
|
-
exports.default = exports.validate;
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* isCPF()
|
|
4
|
+
* Calcula se um CPF é válido
|
|
5
|
+
*
|
|
6
|
+
* @doc
|
|
7
|
+
* CPF deve possuir 11 dígitos.
|
|
8
|
+
*
|
|
9
|
+
* - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
|
|
10
|
+
*
|
|
11
|
+
* - O caractere 9 refere-se à região fiscal emissora do documento
|
|
12
|
+
* 1 – DF, GO, MS, MT e TO
|
|
13
|
+
* 2 – AC, AM, AP, PA, RO e RR
|
|
14
|
+
* 3 – CE, MA e PI
|
|
15
|
+
* 4 – AL, PB, PE, RN
|
|
16
|
+
* 5 – BA e SE
|
|
17
|
+
* 6 – MG
|
|
18
|
+
* 7 – ES e RJ
|
|
19
|
+
* 8 – SP
|
|
20
|
+
* 9 – PR e SC
|
|
21
|
+
* 0 – RS
|
|
22
|
+
*
|
|
23
|
+
* - Os caracteres 10 e 11 são dígitos verificadores.
|
|
24
|
+
*
|
|
25
|
+
* 1) Partes do número
|
|
26
|
+
* ------------------------------------------------
|
|
27
|
+
* | Número | R | DV |
|
|
28
|
+
* 2 8 0 . 0 1 2 . 3 8 9 - 3 8
|
|
29
|
+
*
|
|
30
|
+
* 2) Cálculo do primeiro DV.
|
|
31
|
+
*
|
|
32
|
+
* - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
33
|
+
*
|
|
34
|
+
* 2 8 0 0 1 2 3 8 9
|
|
35
|
+
* x x x x x x x x x
|
|
36
|
+
* 10 9 8 7 6 5 4 3 2
|
|
37
|
+
* = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
|
|
38
|
+
*
|
|
39
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
40
|
+
* 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
|
|
41
|
+
* Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
|
|
42
|
+
*
|
|
43
|
+
* 3) Cálculo do segundo DV.
|
|
44
|
+
*
|
|
45
|
+
* - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
46
|
+
*
|
|
47
|
+
* 2 8 0 0 1 2 3 8 9 3
|
|
48
|
+
* x x x x x x x x x x
|
|
49
|
+
* 11 10 9 8 7 6 5 4 3 2
|
|
50
|
+
* = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
|
|
51
|
+
*
|
|
52
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
53
|
+
* 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
|
|
54
|
+
* Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
|
|
55
|
+
*
|
|
56
|
+
* Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
|
|
57
|
+
*
|
|
58
|
+
* @param {String} value Título eleitoral
|
|
59
|
+
* @returns {Boolean}
|
|
60
|
+
*/
|
|
61
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
|
+
};
|
|
64
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
+
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
66
|
+
const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
|
|
67
|
+
const utils_1 = require("./utils");
|
|
68
|
+
/**
|
|
69
|
+
* dv()
|
|
70
|
+
* Calcula o dígito verificador
|
|
71
|
+
*
|
|
72
|
+
* @param {Number|String} value
|
|
73
|
+
* @returns {String}
|
|
74
|
+
*/
|
|
75
|
+
const dv = (value) => {
|
|
76
|
+
const cpf = (0, utils_1.clearValue)(value, 9, {
|
|
77
|
+
trimAtRight: true,
|
|
78
|
+
rejectEmpty: true,
|
|
79
|
+
});
|
|
80
|
+
const sum1 = (0, utils_1.sumElementsByMultipliers)(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
81
|
+
const dv1 = (0, utils_1.sumToDV)(sum1);
|
|
82
|
+
const sum2 = (0, utils_1.sumElementsByMultipliers)(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
83
|
+
const dv2 = (0, utils_1.sumToDV)(sum2);
|
|
84
|
+
return `${dv1}${dv2}`;
|
|
85
|
+
};
|
|
86
|
+
exports.dv = dv;
|
|
87
|
+
/**
|
|
88
|
+
* Aplica uma máscara ao número informado
|
|
89
|
+
*
|
|
90
|
+
* @param {String} value Número de Processo
|
|
91
|
+
* @returns {String} Valor com a máscara
|
|
92
|
+
*/
|
|
93
|
+
const mask = (value) => (0, utils_1.applyMask)(value, '000.000.000-00');
|
|
94
|
+
exports.mask = mask;
|
|
95
|
+
/**
|
|
96
|
+
* fake()
|
|
97
|
+
* Gera um número válido
|
|
98
|
+
*
|
|
99
|
+
* @returns {String}
|
|
100
|
+
*/
|
|
101
|
+
const fake = (withMask = false) => {
|
|
102
|
+
const num = (0, utils_1.fakeNumber)(9, true);
|
|
103
|
+
const cpf = `${num}${(0, exports.dv)(num)}`;
|
|
104
|
+
if (withMask)
|
|
105
|
+
return (0, exports.mask)(cpf);
|
|
106
|
+
return cpf;
|
|
107
|
+
};
|
|
108
|
+
exports.fake = fake;
|
|
109
|
+
/**
|
|
110
|
+
* validateOrFail()
|
|
111
|
+
* Valida se um número é válido e
|
|
112
|
+
* retorna uma exceção se não estiver
|
|
113
|
+
*
|
|
114
|
+
* @param {String|Number} value Número a ser validado
|
|
115
|
+
* @returns {Boolean}
|
|
116
|
+
*/
|
|
117
|
+
const validateOrFail = (value) => {
|
|
118
|
+
const cpf = (0, utils_1.clearValue)(value, 11, {
|
|
119
|
+
fillZerosAtLeft: true,
|
|
120
|
+
rejectEmpty: true,
|
|
121
|
+
rejectHigherLength: true,
|
|
122
|
+
rejectEqualSequence: true,
|
|
123
|
+
});
|
|
124
|
+
if ((0, exports.dv)(cpf) !== cpf.substring(9, 11)) {
|
|
125
|
+
throw ValidationBRError_1.default.INVALID_DV;
|
|
126
|
+
}
|
|
127
|
+
return true;
|
|
128
|
+
};
|
|
129
|
+
exports.validateOrFail = validateOrFail;
|
|
130
|
+
/**
|
|
131
|
+
* validate()
|
|
132
|
+
* Valida se um número é válido
|
|
133
|
+
*
|
|
134
|
+
* @param {String|Number} value Número a ser validado
|
|
135
|
+
* @returns {Boolean}
|
|
136
|
+
*/
|
|
137
|
+
const validate = (value) => {
|
|
138
|
+
try {
|
|
139
|
+
return (0, exports.validateOrFail)(value);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
exports.validate = validate;
|
|
146
|
+
exports.default = exports.validate;
|
|
147
147
|
//# sourceMappingURL=cpf.js.map
|
package/dist/cpf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cpf.js","sourceRoot":"","sources":["../src/cpf.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,CAAC,EAAE;QAC/B,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClF,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAbY,QAAA,EAAE,MAad;AAED;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAA7E,QAAA,IAAI,QAAyE;AAE1F;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAA,UAAE,EAAC,GAAG,CAAC,EAAE,CAAA;IAE9B,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,IAAI,QAOhB;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"cpf.js","sourceRoot":"","sources":["../src/cpf.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,CAAC,EAAE;QAC/B,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClF,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAbY,QAAA,EAAE,MAad;AAED;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAA7E,QAAA,IAAI,QAAyE;AAE1F;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAA,UAAE,EAAC,GAAG,CAAC,EAAE,CAAA;IAE9B,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,IAAI,QAOhB;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,2BAAiB,CAAC,UAAU,CAAA;IACpC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI,CAAC;QACH,OAAO,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AANY,QAAA,QAAQ,YAMpB;AAED,kBAAe,gBAAQ,CAAA"}
|
package/dist/cpf.test.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export default class ValidationBRError extends Error {
|
|
2
|
-
static INVALID_DV: ValidationBRError;
|
|
3
|
-
static EMPTY_VALUE: ValidationBRError;
|
|
4
|
-
static MAX_LEN_EXCEDEED: ValidationBRError;
|
|
5
|
-
static
|
|
6
|
-
}
|
|
1
|
+
export default class ValidationBRError extends Error {
|
|
2
|
+
static INVALID_DV: ValidationBRError;
|
|
3
|
+
static EMPTY_VALUE: ValidationBRError;
|
|
4
|
+
static MAX_LEN_EXCEDEED: ValidationBRError;
|
|
5
|
+
static REPEATED_SEQUENCE: ValidationBRError;
|
|
6
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class ValidationBRError extends Error {
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
ValidationBRError.
|
|
7
|
-
ValidationBRError.
|
|
8
|
-
ValidationBRError.
|
|
9
|
-
|
|
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.EMPTY_VALUE = new ValidationBRError('Valor não preenchido');
|
|
7
|
+
ValidationBRError.MAX_LEN_EXCEDEED = new ValidationBRError('Número de caracteres excedido');
|
|
8
|
+
ValidationBRError.REPEATED_SEQUENCE = new ValidationBRError('Sequência de números repetidos não permitida');
|
|
9
|
+
exports.default = ValidationBRError;
|
|
10
10
|
//# sourceMappingURL=ValidationBRError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationBRError.js","sourceRoot":"","sources":["../../src/data/ValidationBRError.ts"],"names":[],"mappings":";;AAAA,MAAqB,iBAAkB,SAAQ,KAAK;;
|
|
1
|
+
{"version":3,"file":"ValidationBRError.js","sourceRoot":"","sources":["../../src/data/ValidationBRError.ts"],"names":[],"mappings":";;AAAA,MAAqB,iBAAkB,SAAQ,KAAK;;AAC3C,4BAAU,GAAG,IAAI,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;AACjE,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;kBAJ7E,iBAAiB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export declare const isCNH: (value: string | number) => boolean;
|
|
2
|
-
export declare const isCNPJ: (value: string | number) => boolean;
|
|
3
|
-
export declare const isCPF: (value: string | number) => boolean;
|
|
4
|
-
export declare const isJudicialProcess: (value: string) => boolean;
|
|
5
|
-
export declare const isPIS: (value: string) => boolean;
|
|
6
|
-
export declare const isPostalCode: (value: string) => boolean;
|
|
7
|
-
export declare const isRenavam: (value: string) => boolean;
|
|
8
|
-
export declare const isTituloEleitor: (value: string | number) => boolean;
|
|
9
|
-
export declare const isNUP17: (value: string) => boolean;
|
|
10
|
-
declare const _default: {
|
|
11
|
-
isCNH: (value: string | number) => boolean;
|
|
12
|
-
isCNPJ: (value: string | number) => boolean;
|
|
13
|
-
isCPF: (value: string | number) => boolean;
|
|
14
|
-
isJudicialProcess: (value: string) => boolean;
|
|
15
|
-
isPIS: (value: string) => boolean;
|
|
16
|
-
isPostalCode: (value: string) => boolean;
|
|
17
|
-
isRenavam: (value: string) => boolean;
|
|
18
|
-
isTituloEleitor: (value: string | number) => boolean;
|
|
19
|
-
isNUP17: (value: string) => boolean;
|
|
20
|
-
};
|
|
21
|
-
export default _default;
|
|
1
|
+
export declare const isCNH: (value: string | number) => boolean;
|
|
2
|
+
export declare const isCNPJ: (value: string | number) => boolean;
|
|
3
|
+
export declare const isCPF: (value: string | number) => boolean;
|
|
4
|
+
export declare const isJudicialProcess: (value: string) => boolean;
|
|
5
|
+
export declare const isPIS: (value: string) => boolean;
|
|
6
|
+
export declare const isPostalCode: (value: string) => boolean;
|
|
7
|
+
export declare const isRenavam: (value: string) => boolean;
|
|
8
|
+
export declare const isTituloEleitor: (value: string | number) => boolean;
|
|
9
|
+
export declare const isNUP17: (value: string) => boolean;
|
|
10
|
+
declare const _default: {
|
|
11
|
+
isCNH: (value: string | number) => boolean;
|
|
12
|
+
isCNPJ: (value: string | number) => boolean;
|
|
13
|
+
isCPF: (value: string | number) => boolean;
|
|
14
|
+
isJudicialProcess: (value: string) => boolean;
|
|
15
|
+
isPIS: (value: string) => boolean;
|
|
16
|
+
isPostalCode: (value: string) => boolean;
|
|
17
|
+
isRenavam: (value: string) => boolean;
|
|
18
|
+
isTituloEleitor: (value: string | number) => boolean;
|
|
19
|
+
isNUP17: (value: string) => boolean;
|
|
20
|
+
};
|
|
21
|
+
export default _default;
|