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.
Files changed (49) hide show
  1. package/.eslintcache +1 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.js +76 -11
  4. package/.github/workflows/test.yml +39 -0
  5. package/.prettierignore +1 -0
  6. package/.prettierrc.js +7 -0
  7. package/dist/{documents/cnh.js → cnh.js} +122 -153
  8. package/dist/cnh.js.map +1 -0
  9. package/dist/{documents/cnpj.js → cnpj.js} +111 -138
  10. package/dist/cnpj.js.map +1 -0
  11. package/dist/{documents/cpf.js → cpf.js} +133 -160
  12. package/dist/cpf.js.map +1 -0
  13. package/dist/index.js +24 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/judicialProcess.js +153 -0
  16. package/dist/judicialProcess.js.map +1 -0
  17. package/dist/{documents/pis-pasep.js → pisPasep.js} +113 -140
  18. package/dist/pisPasep.js.map +1 -0
  19. package/dist/postalCode.js +150 -0
  20. package/dist/postalCode.js.map +1 -0
  21. package/dist/renavam.js +108 -0
  22. package/dist/renavam.js.map +1 -0
  23. package/dist/{documents/titulo-eleitor.js → tituloEleitor.js} +130 -155
  24. package/dist/tituloEleitor.js.map +1 -0
  25. package/dist/{lib/utils.js → utils.js} +166 -175
  26. package/dist/utils.js.map +1 -0
  27. package/jest.config.js +14 -0
  28. package/package.json +60 -31
  29. package/readme.md +170 -111
  30. package/tsconfig.json +23 -0
  31. package/.babelrc +0 -15
  32. package/.prettierrc +0 -9
  33. package/LICENSE +0 -21
  34. package/dist/documents/cnh.js.map +0 -1
  35. package/dist/documents/cnpj.js.map +0 -1
  36. package/dist/documents/cpf.js.map +0 -1
  37. package/dist/documents/index.js +0 -29
  38. package/dist/documents/index.js.map +0 -1
  39. package/dist/documents/judicial-process.js +0 -177
  40. package/dist/documents/judicial-process.js.map +0 -1
  41. package/dist/documents/pis-pasep.js.map +0 -1
  42. package/dist/documents/postal-code.js +0 -151
  43. package/dist/documents/postal-code.js.map +0 -1
  44. package/dist/documents/renavam.js +0 -97
  45. package/dist/documents/renavam.js.map +0 -1
  46. package/dist/documents/titulo-eleitor.js.map +0 -1
  47. package/dist/lib/utils.js.map +0 -1
  48. package/docs.md +0 -0
  49. package/index.js +0 -3
@@ -1,139 +1,112 @@
1
- "use strict";
2
-
3
- /**
4
- * isCNPJ()
5
- * Calcula se um CNPJ é válido
6
- *
7
- * @doc
8
- * - CNPJ deve possuir 14 dígitos no formato 00.000.000/0000-00
9
- *
10
- * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
11
- *
12
- * - Os caracteres 9 a 12 são a identificação das filiais da empresa.
13
- *
14
- * - Os caracteres 13 e 14 são os dígitos verificadores
15
- *
16
- * 1) Partes do número
17
- * _______________________________ _______________ _______
18
- * | Número | Filiais | DV |
19
- * | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |
20
- * |_______________________________|_______________|_______|
21
- *
22
- * 2) Cálculo do primeiro DV.
23
- *
24
- * - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
25
- *
26
- * 1 1 2 2 2 3 3 3 0 0 0 1
27
- * x x x x x x x x x x x x
28
- * 5 4 3 2 9 8 7 6 5 4 3 2
29
- * = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102
30
- *
31
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
32
- * 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.
33
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
34
- *
35
- * 3) Cálculo do segundo DV.
36
- *
37
- * - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos
38
- * números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
39
- *
40
- * 1 1 2 2 2 3 3 3 0 0 0 1 8
41
- * x x x x x x x x x x x x x
42
- * 6 5 4 3 2 9 8 7 6 5 4 3 2
43
- * = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120
44
- *
45
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
46
- * 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.
47
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
48
- *
49
- * Fonte: http://www.macoratti.net/alg_cnpj.htm
50
- *
51
- * @param {String} value Título eleitoral
52
- * @returns {Boolean}
53
- */
54
- var _require = require('../lib/utils'),
55
- invalidListGenerator = _require.invalidListGenerator,
56
- sumElementsByMultipliers = _require.sumElementsByMultipliers,
57
- sumToDV = _require.sumToDV,
58
- clearValue = _require.clearValue,
59
- fakeNumber = _require.fakeNumber,
60
- applyMask = _require.applyMask;
61
-
62
- var dv = function dv() {
63
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
64
- var cnpj = clearValue(value, 12);
65
- var blackList = invalidListGenerator(12);
66
-
67
- if (blackList.includes(cnpj)) {
68
- throw new Error('CNPJ é obrigatório');
69
- }
70
-
71
- var sum1 = sumElementsByMultipliers(cnpj.substring(0, 12), '543298765432');
72
- var dv1 = sumToDV(sum1);
73
- var sum2 = sumElementsByMultipliers(cnpj.substring(0, 12) + dv1, '6543298765432');
74
- var dv2 = sumToDV(sum2);
75
- return "".concat(dv1).concat(dv2);
76
- };
77
- /**
78
- * Aplica uma máscara ao número informado
79
- *
80
- * @param {String} value Número de Processo
81
- * @returns {String} Valor com a máscara
82
- */
83
-
84
-
85
- var mask = function mask(value) {
86
- return applyMask(value, '00.000.000/0000-00');
87
- };
88
- /**
89
- *
90
- *
91
- */
92
-
93
-
94
- var fake = function fake() {
95
- var withMask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
96
- var num = fakeNumber(12, true);
97
- var cnpj = "".concat(num).concat(dv(num));
98
- if (withMask) return mask(cnpj);
99
- return cnpj;
100
- };
101
- /**
102
- * validate()
103
- * Valida se um número de processo está correto
104
- *
105
- */
106
-
107
-
108
- var validateOrFail = function validateOrFail(value) {
109
- var cnpj = clearValue(value, 14);
110
-
111
- if (dv(cnpj) !== cnpj.substring(12, 14)) {
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
@@ -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
- * isCPF()
5
- * Calcula se um CPF é válido
6
- *
7
- * @doc
8
- * CPF deve possuir 11 dígitos.
9
- *
10
- * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
11
- *
12
- * - O caractere 9 refere-se à região fiscal emissora do documento
13
- * 1DF, GO, MS, MT e TO
14
- * 2AC, AM, AP, PA, RO e RR
15
- * 3CE, MA e PI
16
- * 4AL, PB, PE, RN
17
- * 5BA e SE
18
- * 6MG
19
- * 7ES e RJ
20
- * 8SP
21
- * 9PR e SC
22
- * 0 – RS
23
- *
24
- * - Os caracteres 10 e 11 são dígitos verificadores.
25
- *
26
- * 1) Partes do número
27
- * ------------------------------------------------
28
- * | Número | R | DV |
29
- * 2 8 0 . 0 1 2 . 3 8 9 - 3 8
30
- *
31
- * 2) Cálculo do primeiro DV.
32
- *
33
- * - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
34
- *
35
- * 2 8 0 0 1 2 3 8 9
36
- * x x x x x x x x x
37
- * 10 9 8 7 6 5 4 3 2
38
- * = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
39
- *
40
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
41
- * 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
42
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
43
- *
44
- * 3) Cálculo do segundo DV.
45
- *
46
- * - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
47
- *
48
- * 2 8 0 0 1 2 3 8 9 3
49
- * x x x x x x x x x x
50
- * 11 10 9 8 7 6 5 4 3 2
51
- * = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
52
- *
53
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
54
- * 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
55
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
56
- *
57
- * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
58
- *
59
- * @param {String} value Título eleitoral
60
- * @returns {Boolean}
61
- */
62
- var _require = require('../lib/utils'),
63
- invalidListGenerator = _require.invalidListGenerator,
64
- sumElementsByMultipliers = _require.sumElementsByMultipliers,
65
- sumToDV = _require.sumToDV,
66
- clearValue = _require.clearValue,
67
- fakeNumber = _require.fakeNumber,
68
- applyMask = _require.applyMask;
69
- /**
70
- * dv()
71
- * Calcula o dígito verificador de um CPF
72
- *
73
- * @param {Number|String} value
74
- * @returns {String}
75
- */
76
-
77
-
78
- var dv = function dv() {
79
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
80
- if (!value) throw new Error('CPF não informado');
81
- var cpf = clearValue(value, 9);
82
- var invalidList = invalidListGenerator(9);
83
-
84
- if (invalidList.includes(cpf)) {
85
- throw new Error('CPF não pode ser uma sequência de números iguais');
86
- }
87
-
88
- var sum1 = sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
89
- var dv1 = sumToDV(sum1);
90
- var sum2 = sumElementsByMultipliers(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);
91
- var dv2 = sumToDV(sum2);
92
- return "".concat(dv1).concat(dv2);
93
- };
94
- /**
95
- * Aplica uma máscara ao número informado
96
- *
97
- * @param {String} value Número de Processo
98
- * @returns {String} Valor com a máscara
99
- */
100
-
101
-
102
- var mask = function mask(value) {
103
- return applyMask(value, '000.000.000-00');
104
- };
105
- /**
106
- * fake()
107
- * Gera um número válido
108
- *
109
- * @returns {String}
110
- */
111
-
112
-
113
- var fake = function fake() {
114
- var withMask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
115
- var num = fakeNumber(9, true);
116
- var cpf = "".concat(num).concat(dv(num));
117
- if (withMask) return mask(cpf);
118
- return cpf;
119
- };
120
- /**
121
- * validateOrFail()
122
- * Valida se um número de processo está correto e
123
- * retorna uma exceção se não estiver
124
- *
125
- * @returns {Boolean}
126
- */
127
-
128
-
129
- var validateOrFail = function validateOrFail(value) {
130
- var cpf = clearValue(value, 11);
131
-
132
- if (dv(cpf) !== cpf.substring(9, 11)) {
133
- throw new Error('Dígito verificador inválido');
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
+ * 2AC, AM, AP, PA, RO e RR
14
+ * 3CE, MA e PI
15
+ * 4AL, PB, PE, RN
16
+ * 5BA e SE
17
+ * 6MG
18
+ * 7ES e RJ
19
+ * 8SP
20
+ * 9PR e SC
21
+ * 0RS
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
@@ -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"}