validation-br 0.21.2 → 1.1.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/.eslintcache +1 -0
- package/.eslintignore +2 -0
- package/.eslintrc.js +76 -11
- package/.github/workflows/test.yml +39 -0
- package/.prettierignore +1 -0
- package/.prettierrc.js +7 -0
- package/dist/{documents/cnh.js → cnh.js} +122 -153
- package/dist/cnh.js.map +1 -0
- package/dist/{documents/cnpj.js → cnpj.js} +111 -138
- package/dist/cnpj.js.map +1 -0
- package/dist/{documents/cpf.js → cpf.js} +133 -160
- package/dist/cpf.js.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/judicialProcess.js +153 -0
- package/dist/judicialProcess.js.map +1 -0
- package/dist/{documents/pis-pasep.js → pisPasep.js} +113 -140
- package/dist/pisPasep.js.map +1 -0
- package/dist/postalCode.js +150 -0
- package/dist/postalCode.js.map +1 -0
- package/dist/renavam.js +108 -0
- package/dist/renavam.js.map +1 -0
- package/dist/{documents/titulo-eleitor.js → tituloEleitor.js} +130 -155
- package/dist/tituloEleitor.js.map +1 -0
- package/dist/{lib/utils.js → utils.js} +166 -175
- package/dist/utils.js.map +1 -0
- package/jest.config.js +14 -0
- package/package.json +60 -31
- package/readme.md +170 -111
- package/tsconfig.json +23 -0
- package/.babelrc +0 -15
- package/.prettierrc +0 -9
- package/LICENSE +0 -21
- package/dist/documents/cnh.js.map +0 -1
- package/dist/documents/cnpj.js.map +0 -1
- package/dist/documents/cpf.js.map +0 -1
- package/dist/documents/index.js +0 -29
- package/dist/documents/index.js.map +0 -1
- package/dist/documents/judicial-process.js +0 -177
- package/dist/documents/judicial-process.js.map +0 -1
- package/dist/documents/pis-pasep.js.map +0 -1
- package/dist/documents/postal-code.js +0 -151
- package/dist/documents/postal-code.js.map +0 -1
- package/dist/documents/renavam.js +0 -97
- package/dist/documents/renavam.js.map +0 -1
- package/dist/documents/titulo-eleitor.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/docs.md +0 -0
- package/index.js +0 -3
|
@@ -1,139 +1,112 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* |
|
|
19
|
-
* |
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* @
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
*
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
throw new Error('Dígito verificador inválido');
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return true;
|
|
116
|
-
};
|
|
117
|
-
/**
|
|
118
|
-
* validate()
|
|
119
|
-
* Valida se um número de processo está correto
|
|
120
|
-
*
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
var validate = function validate(value) {
|
|
125
|
-
try {
|
|
126
|
-
return validateOrFail(value);
|
|
127
|
-
} catch (error) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
module.exports = {
|
|
133
|
-
dv: dv,
|
|
134
|
-
fake: fake,
|
|
135
|
-
mask: mask,
|
|
136
|
-
validate: validate,
|
|
137
|
-
validateOrFail: validateOrFail
|
|
138
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* isCNPJ()
|
|
4
|
+
* Calcula se um CNPJ é válido
|
|
5
|
+
*
|
|
6
|
+
* @doc
|
|
7
|
+
* - CNPJ deve possuir 14 dígitos no formato 00.000.000/0000-00
|
|
8
|
+
*
|
|
9
|
+
* - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
|
|
10
|
+
*
|
|
11
|
+
* - Os caracteres 9 a 12 são a identificação das filiais da empresa.
|
|
12
|
+
*
|
|
13
|
+
* - Os caracteres 13 e 14 são os dígitos verificadores
|
|
14
|
+
*
|
|
15
|
+
* 1) Partes do número
|
|
16
|
+
* _______________________________ _______________ _______
|
|
17
|
+
* | Número | Filiais | DV |
|
|
18
|
+
* | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |
|
|
19
|
+
* |_______________________________|_______________|_______|
|
|
20
|
+
*
|
|
21
|
+
* 2) Cálculo do primeiro DV.
|
|
22
|
+
*
|
|
23
|
+
* - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
|
|
24
|
+
*
|
|
25
|
+
* 1 1 2 2 2 3 3 3 0 0 0 1
|
|
26
|
+
* x x x x x x x x x x x x
|
|
27
|
+
* 5 4 3 2 9 8 7 6 5 4 3 2
|
|
28
|
+
* = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102
|
|
29
|
+
*
|
|
30
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
31
|
+
* 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.
|
|
32
|
+
* Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
|
|
33
|
+
*
|
|
34
|
+
* 3) Cálculo do segundo DV.
|
|
35
|
+
*
|
|
36
|
+
* - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos
|
|
37
|
+
* números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
|
|
38
|
+
*
|
|
39
|
+
* 1 1 2 2 2 3 3 3 0 0 0 1 8
|
|
40
|
+
* x x x x x x x x x x x x x
|
|
41
|
+
* 6 5 4 3 2 9 8 7 6 5 4 3 2
|
|
42
|
+
* = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120
|
|
43
|
+
*
|
|
44
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
45
|
+
* 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.
|
|
46
|
+
* Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
|
|
47
|
+
*
|
|
48
|
+
* Fonte: http://www.macoratti.net/alg_cnpj.htm
|
|
49
|
+
*
|
|
50
|
+
* @param {String} value Título eleitoral
|
|
51
|
+
* @returns {Boolean}
|
|
52
|
+
*/
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
55
|
+
const utils_1 = require("./utils");
|
|
56
|
+
exports.dv = (value) => {
|
|
57
|
+
const cnpj = utils_1.clearValue(value, 12);
|
|
58
|
+
const blackList = utils_1.invalidListGenerator(12);
|
|
59
|
+
if (blackList.includes(cnpj)) {
|
|
60
|
+
throw new Error('CNPJ é obrigatório');
|
|
61
|
+
}
|
|
62
|
+
const sum1 = utils_1.sumElementsByMultipliers(cnpj.substring(0, 12), '543298765432');
|
|
63
|
+
const dv1 = utils_1.sumToDV(sum1);
|
|
64
|
+
const sum2 = utils_1.sumElementsByMultipliers(cnpj.substring(0, 12) + dv1, '6543298765432');
|
|
65
|
+
const dv2 = utils_1.sumToDV(sum2);
|
|
66
|
+
return `${dv1}${dv2}`;
|
|
67
|
+
};
|
|
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
|
+
exports.mask = (value) => utils_1.applyMask(value, '00.000.000/0000-00');
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
*
|
|
78
|
+
*/
|
|
79
|
+
exports.fake = (withMask = false) => {
|
|
80
|
+
const num = utils_1.fakeNumber(12, true);
|
|
81
|
+
const cnpj = `${num}${exports.dv(num)}`;
|
|
82
|
+
if (withMask)
|
|
83
|
+
return exports.mask(cnpj);
|
|
84
|
+
return cnpj;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* validate()
|
|
88
|
+
* Valida se um número de processo está correto
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
exports.validateOrFail = (value) => {
|
|
92
|
+
const cnpj = utils_1.clearValue(value, 14);
|
|
93
|
+
if (exports.dv(cnpj) !== cnpj.substring(12, 14)) {
|
|
94
|
+
throw new Error('Dígito verificador inválido');
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* validate()
|
|
100
|
+
* Valida se um número de processo está correto
|
|
101
|
+
*
|
|
102
|
+
*/
|
|
103
|
+
exports.validate = (value) => {
|
|
104
|
+
try {
|
|
105
|
+
return exports.validateOrFail(value);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
exports.default = exports.validate;
|
|
139
112
|
//# sourceMappingURL=cnpj.js.map
|
package/dist/cnpj.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cnpj.js","sourceRoot":"","sources":["../src/cnpj.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;;;AAEH,mCAOgB;AAEH,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,IAAI,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAElC,MAAM,SAAS,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;KACtC;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAA;IAC5E,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,CAAA;IACnF,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;AAE9F;;;GAGG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAEhC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAE/B,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;GAIG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,IAAI,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,UAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;GAIG;AACU,QAAA,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI;QACF,OAAO,sBAAc,CAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAED,kBAAe,gBAAQ,CAAA"}
|
|
@@ -1,161 +1,134 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* @
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return true;
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* validate()
|
|
140
|
-
* Valida se um número de processo está correto
|
|
141
|
-
*
|
|
142
|
-
* @returns {Boolean}
|
|
143
|
-
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
var validate = function validate(value) {
|
|
147
|
-
try {
|
|
148
|
-
return validateOrFail(value);
|
|
149
|
-
} catch (error) {
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
module.exports = {
|
|
155
|
-
dv: dv,
|
|
156
|
-
fake: fake,
|
|
157
|
-
mask: mask,
|
|
158
|
-
validate: validate,
|
|
159
|
-
validateOrFail: validateOrFail
|
|
160
|
-
};
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
+
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
63
|
+
const utils_1 = require("./utils");
|
|
64
|
+
/**
|
|
65
|
+
* dv()
|
|
66
|
+
* Calcula o dígito verificador de um CPF
|
|
67
|
+
*
|
|
68
|
+
* @param {Number|String} value
|
|
69
|
+
* @returns {String}
|
|
70
|
+
*/
|
|
71
|
+
exports.dv = (value) => {
|
|
72
|
+
if (!value)
|
|
73
|
+
throw new Error('CPF não informado');
|
|
74
|
+
const cpf = utils_1.clearValue(value, 9);
|
|
75
|
+
const invalidList = utils_1.invalidListGenerator(9);
|
|
76
|
+
if (invalidList.includes(cpf)) {
|
|
77
|
+
throw new Error('CPF não pode ser uma sequência de números iguais');
|
|
78
|
+
}
|
|
79
|
+
const sum1 = utils_1.sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
80
|
+
const dv1 = utils_1.sumToDV(sum1);
|
|
81
|
+
const sum2 = utils_1.sumElementsByMultipliers(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
82
|
+
const dv2 = utils_1.sumToDV(sum2);
|
|
83
|
+
return `${dv1}${dv2}`;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Aplica uma máscara ao número informado
|
|
87
|
+
*
|
|
88
|
+
* @param {String} value Número de Processo
|
|
89
|
+
* @returns {String} Valor com a máscara
|
|
90
|
+
*/
|
|
91
|
+
exports.mask = (value) => utils_1.applyMask(value, '000.000.000-00');
|
|
92
|
+
/**
|
|
93
|
+
* fake()
|
|
94
|
+
* Gera um número válido
|
|
95
|
+
*
|
|
96
|
+
* @returns {String}
|
|
97
|
+
*/
|
|
98
|
+
exports.fake = (withMask = false) => {
|
|
99
|
+
const num = utils_1.fakeNumber(9, true);
|
|
100
|
+
const cpf = `${num}${exports.dv(num)}`;
|
|
101
|
+
if (withMask)
|
|
102
|
+
return exports.mask(cpf);
|
|
103
|
+
return cpf;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* validateOrFail()
|
|
107
|
+
* Valida se um número de processo está correto e
|
|
108
|
+
* retorna uma exceção se não estiver
|
|
109
|
+
*
|
|
110
|
+
* @returns {Boolean}
|
|
111
|
+
*/
|
|
112
|
+
exports.validateOrFail = (value) => {
|
|
113
|
+
const cpf = utils_1.clearValue(value, 11);
|
|
114
|
+
if (exports.dv(cpf) !== cpf.substring(9, 11)) {
|
|
115
|
+
throw new Error('Dígito verificador inválido');
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* validate()
|
|
121
|
+
* Valida se um número de processo está correto
|
|
122
|
+
*
|
|
123
|
+
* @returns {Boolean}
|
|
124
|
+
*/
|
|
125
|
+
exports.validate = (value) => {
|
|
126
|
+
try {
|
|
127
|
+
return exports.validateOrFail(value);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
exports.default = exports.validate;
|
|
161
134
|
//# sourceMappingURL=cpf.js.map
|
package/dist/cpf.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpf.js","sourceRoot":"","sources":["../src/cpf.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;;;AAEH,mCAOgB;AAEhB;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEhC,MAAM,WAAW,GAAG,4BAAoB,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,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,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,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,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAE1F;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAE9B,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEjC,IAAI,UAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI;QACF,OAAO,sBAAc,CAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAED,kBAAe,gBAAQ,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const cnh_1 = __importDefault(require("./cnh"));
|
|
7
|
+
const cnpj_1 = __importDefault(require("./cnpj"));
|
|
8
|
+
const cpf_1 = __importDefault(require("./cpf"));
|
|
9
|
+
const judicialProcess_1 = __importDefault(require("./judicialProcess"));
|
|
10
|
+
const pisPasep_1 = __importDefault(require("./pisPasep"));
|
|
11
|
+
const postalCode_1 = __importDefault(require("./postalCode"));
|
|
12
|
+
const renavam_1 = __importDefault(require("./renavam"));
|
|
13
|
+
const tituloEleitor_1 = __importDefault(require("./tituloEleitor"));
|
|
14
|
+
exports.default = {
|
|
15
|
+
isCNH: cnh_1.default,
|
|
16
|
+
isCNPJ: cnpj_1.default,
|
|
17
|
+
isCPF: cpf_1.default,
|
|
18
|
+
isJudicialProcess: judicialProcess_1.default,
|
|
19
|
+
isPIS: pisPasep_1.default,
|
|
20
|
+
isPostalCode: postalCode_1.default,
|
|
21
|
+
isRenavam: renavam_1.default,
|
|
22
|
+
isTituloEleitor: tituloEleitor_1.default,
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,kDAA2B;AAC3B,gDAAyB;AACzB,wEAAiD;AACjD,0DAA8B;AAC9B,8DAAuC;AACvC,wDAAiC;AACjC,oEAA6C;AAE7C,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,iBAAiB,EAAjB,yBAAiB;IACjB,KAAK,EAAL,kBAAK;IACL,YAAY,EAAZ,oBAAY;IACZ,SAAS,EAAT,iBAAS;IACT,eAAe,EAAf,uBAAe;CAChB,CAAA"}
|