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.
Files changed (63) hide show
  1. package/.github/workflows/test.yml +6 -6
  2. package/.prettierrc.js +1 -1
  3. package/dist/cnh.d.ts +91 -91
  4. package/dist/cnh.js +138 -138
  5. package/dist/cnh.js.map +1 -1
  6. package/dist/cnh.test.d.ts +1 -1
  7. package/dist/cnpj.d.ts +114 -82
  8. package/dist/cnpj.js +179 -129
  9. package/dist/cnpj.js.map +1 -1
  10. package/dist/cnpj.test.d.ts +1 -1
  11. package/dist/cpf.d.ts +99 -99
  12. package/dist/cpf.js +146 -146
  13. package/dist/cpf.js.map +1 -1
  14. package/dist/cpf.test.d.ts +1 -1
  15. package/dist/data/ValidationBRError.d.ts +6 -6
  16. package/dist/data/ValidationBRError.js +9 -9
  17. package/dist/data/ValidationBRError.js.map +1 -1
  18. package/dist/index.d.ts +21 -21
  19. package/dist/index.js +41 -41
  20. package/dist/index.test.d.ts +1 -1
  21. package/dist/judicialProcess.d.ts +126 -126
  22. package/dist/judicialProcess.js +189 -189
  23. package/dist/judicialProcess.js.map +1 -1
  24. package/dist/judicialProcess.test.d.ts +1 -1
  25. package/dist/nup17.d.ts +102 -102
  26. package/dist/nup17.js +154 -154
  27. package/dist/nup17.js.map +1 -1
  28. package/dist/nup17.test.d.ts +1 -1
  29. package/dist/pisPasep.d.ts +81 -81
  30. package/dist/pisPasep.js +125 -125
  31. package/dist/pisPasep.js.map +1 -1
  32. package/dist/pisPasep.test.d.ts +1 -1
  33. package/dist/postalCode.d.ts +83 -83
  34. package/dist/postalCode.js +135 -135
  35. package/dist/postalCode.js.map +1 -1
  36. package/dist/postalCode.test.d.ts +1 -1
  37. package/dist/renavam.d.ts +75 -75
  38. package/dist/renavam.js +121 -121
  39. package/dist/renavam.js.map +1 -1
  40. package/dist/renavam.test.d.ts +1 -1
  41. package/dist/tituloEleitor.d.ts +93 -93
  42. package/dist/tituloEleitor.js +142 -142
  43. package/dist/tituloEleitor.js.map +1 -1
  44. package/dist/tituloEleitor.test.d.ts +1 -1
  45. package/dist/utils-applyMask.test.d.ts +1 -1
  46. package/dist/utils-checkRepeatedSequence.test.d.ts +1 -0
  47. package/dist/utils-clearValue.test.d.ts +1 -1
  48. package/dist/utils-fakeNumber.test.d.ts +1 -1
  49. package/dist/utils-insertAtPosition.test.d.ts +1 -1
  50. package/dist/utils-invalidListGenerator.test.d.ts +1 -1
  51. package/dist/utils-randomLetter.test.d.ts +1 -1
  52. package/dist/utils-removeFromPosition.test.d.ts +1 -1
  53. package/dist/utils-sumElementsByMultipliers.test.d.ts +1 -1
  54. package/dist/utils-sumToDV.test.d.ts +1 -1
  55. package/dist/utils.d.ts +131 -133
  56. package/dist/utils.js +189 -190
  57. package/dist/utils.js.map +1 -1
  58. package/{.eslintrc.js → eslint.config.js} +39 -39
  59. package/jest.config.js +1 -6
  60. package/package.json +5 -25
  61. package/readme.md +11 -2
  62. package/.eslintcache +0 -1
  63. package/.eslintignore +0 -2
package/dist/renavam.js CHANGED
@@ -1,122 +1,122 @@
1
- "use strict";
2
- /**
3
- * RENAVAM
4
- * Funções auxiliares para cálculo de máscaras, validação, dígito verificador e criaçãode
5
- * números fake.
6
- *
7
- * @doc
8
- * - O número de RENAVAM deve possuir 11 caracteres
9
- *
10
- * - Os caracteres de 1 a 10 são a numeração documento
11
- *
12
- * - O caractere 11 é o dígito verificador.
13
- *
14
- * 1) Partes do número
15
- * _______________________________________________
16
- * | Número | D V |
17
- * | 2 6 8 2 7 6 4 9 9 6 - 0 |
18
- * |_________________________________________|_____|
19
- *
20
- * 2) Cálculo do DV.
21
- *
22
- * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
23
- *
24
- * 2 6 8 2 7 6 4 9 9 6
25
- * x x x x x x x x x x
26
- * 3 2 9 8 7 6 5 4 3 2
27
- * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234
28
- *
29
- * - O somatório encontrado é multiplicado por 10 e ao resultado
30
- * é aplicado o cálculo do MOD 11.
31
- *
32
- * ( 234 * 10 ) / 11 tem resto 8. DV = 8. Caso o resto seja maior ou igual a
33
- * 10, DV será 0.
34
- *
35
- *
36
- */
37
- var __importDefault = (this && this.__importDefault) || function (mod) {
38
- return (mod && mod.__esModule) ? mod : { "default": mod };
39
- };
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
42
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
43
- const utils_1 = require("./utils");
44
- /**
45
- * dv()
46
- * Calcula o dígito verificador
47
- *
48
- * @param {Number|String} value
49
- * @returns {String}
50
- */
51
- const dv = (value) => {
52
- const renavam = (0, utils_1.clearValue)(value, 10, {
53
- fillZerosAtLeft: true,
54
- trimAtRight: true,
55
- rejectEmpty: true,
56
- });
57
- const sum1 = (0, utils_1.sumElementsByMultipliers)(renavam, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]) * 10;
58
- const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
59
- return `${dv1}`;
60
- };
61
- exports.dv = dv;
62
- /**
63
- * Aplica uma máscara ao número informado
64
- *
65
- * @param {String} value Número de Processo
66
- * @returns {String} Valor com a máscara
67
- */
68
- const mask = (value) => (0, utils_1.applyMask)(value, '0000000000-0');
69
- exports.mask = mask;
70
- /**
71
- * fake()
72
- * Gera um número válido
73
- *
74
- * @returns {String}
75
- */
76
- const fake = (withMask = false) => {
77
- const value = (0, utils_1.fakeNumber)(10, true);
78
- const renavam = `${value}${(0, exports.dv)(value)}`;
79
- if (withMask)
80
- return (0, exports.mask)(renavam);
81
- return renavam;
82
- };
83
- exports.fake = fake;
84
- /**
85
- * validateOrFail()
86
- * Valida se um número é válido e
87
- * retorna uma exceção se não estiver
88
- *
89
- * @param {String|Number} value Número a ser validado
90
- * @returns {Boolean}
91
- */
92
- const validateOrFail = (value) => {
93
- const renavam = (0, utils_1.clearValue)(value, 11, {
94
- fillZerosAtLeft: true,
95
- rejectEmpty: true,
96
- rejectHigherLength: true,
97
- rejectEqualSequence: true,
98
- });
99
- if ((0, exports.dv)(renavam) !== renavam.substring(10, 11)) {
100
- throw ValidationBRError_1.default.INVALID_DV;
101
- }
102
- return true;
103
- };
104
- exports.validateOrFail = validateOrFail;
105
- /**
106
- * validate()
107
- * Valida se um número é válido
108
- *
109
- * @param {String|Number} value Número a ser validado
110
- * @returns {Boolean}
111
- */
112
- const validate = (value) => {
113
- try {
114
- return (0, exports.validateOrFail)(value);
115
- }
116
- catch (error) {
117
- return false;
118
- }
119
- };
120
- exports.validate = validate;
121
- exports.default = exports.validate;
1
+ "use strict";
2
+ /**
3
+ * RENAVAM
4
+ * Funções auxiliares para cálculo de máscaras, validação, dígito verificador e criaçãode
5
+ * números fake.
6
+ *
7
+ * @doc
8
+ * - O número de RENAVAM deve possuir 11 caracteres
9
+ *
10
+ * - Os caracteres de 1 a 10 são a numeração documento
11
+ *
12
+ * - O caractere 11 é o dígito verificador.
13
+ *
14
+ * 1) Partes do número
15
+ * _______________________________________________
16
+ * | Número | D V |
17
+ * | 2 6 8 2 7 6 4 9 9 6 - 0 |
18
+ * |_________________________________________|_____|
19
+ *
20
+ * 2) Cálculo do DV.
21
+ *
22
+ * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
23
+ *
24
+ * 2 6 8 2 7 6 4 9 9 6
25
+ * x x x x x x x x x x
26
+ * 3 2 9 8 7 6 5 4 3 2
27
+ * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234
28
+ *
29
+ * - O somatório encontrado é multiplicado por 10 e ao resultado
30
+ * é aplicado o cálculo do MOD 11.
31
+ *
32
+ * ( 234 * 10 ) / 11 tem resto 8. DV = 8. Caso o resto seja maior ou igual a
33
+ * 10, DV será 0.
34
+ *
35
+ *
36
+ */
37
+ var __importDefault = (this && this.__importDefault) || function (mod) {
38
+ return (mod && mod.__esModule) ? mod : { "default": mod };
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
42
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
43
+ const utils_1 = require("./utils");
44
+ /**
45
+ * dv()
46
+ * Calcula o dígito verificador
47
+ *
48
+ * @param {Number|String} value
49
+ * @returns {String}
50
+ */
51
+ const dv = (value) => {
52
+ const renavam = (0, utils_1.clearValue)(value, 10, {
53
+ fillZerosAtLeft: true,
54
+ trimAtRight: true,
55
+ rejectEmpty: true,
56
+ });
57
+ const sum1 = (0, utils_1.sumElementsByMultipliers)(renavam, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]) * 10;
58
+ const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
59
+ return `${dv1}`;
60
+ };
61
+ exports.dv = dv;
62
+ /**
63
+ * Aplica uma máscara ao número informado
64
+ *
65
+ * @param {String} value Número de Processo
66
+ * @returns {String} Valor com a máscara
67
+ */
68
+ const mask = (value) => (0, utils_1.applyMask)(value, '0000000000-0');
69
+ exports.mask = mask;
70
+ /**
71
+ * fake()
72
+ * Gera um número válido
73
+ *
74
+ * @returns {String}
75
+ */
76
+ const fake = (withMask = false) => {
77
+ const value = (0, utils_1.fakeNumber)(10, true);
78
+ const renavam = `${value}${(0, exports.dv)(value)}`;
79
+ if (withMask)
80
+ return (0, exports.mask)(renavam);
81
+ return renavam;
82
+ };
83
+ exports.fake = fake;
84
+ /**
85
+ * validateOrFail()
86
+ * Valida se um número é válido e
87
+ * retorna uma exceção se não estiver
88
+ *
89
+ * @param {String|Number} value Número a ser validado
90
+ * @returns {Boolean}
91
+ */
92
+ const validateOrFail = (value) => {
93
+ const renavam = (0, utils_1.clearValue)(value, 11, {
94
+ fillZerosAtLeft: true,
95
+ rejectEmpty: true,
96
+ rejectHigherLength: true,
97
+ rejectEqualSequence: true,
98
+ });
99
+ if ((0, exports.dv)(renavam) !== renavam.substring(10, 11)) {
100
+ throw ValidationBRError_1.default.INVALID_DV;
101
+ }
102
+ return true;
103
+ };
104
+ exports.validateOrFail = validateOrFail;
105
+ /**
106
+ * validate()
107
+ * Valida se um número é válido
108
+ *
109
+ * @param {String|Number} value Número a ser validado
110
+ * @returns {Boolean}
111
+ */
112
+ const validate = (value) => {
113
+ try {
114
+ return (0, exports.validateOrFail)(value);
115
+ }
116
+ catch (error) {
117
+ return false;
118
+ }
119
+ };
120
+ exports.validate = validate;
121
+ exports.default = exports.validate;
122
122
  //# sourceMappingURL=renavam.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renavam.js","sourceRoot":"","sources":["../src/renavam.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;;;;AAEH,iFAAwD;AACxD,mCAAqF;AAErF;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACnF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,OAAO,GAAG,GAAG,EAAE,CAAA;AACjB,CAAC,CAAA;AAXY,QAAA,EAAE,MAWd;AAED;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAA3E,QAAA,IAAI,QAAuE;AAExF;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,EAAE,CAAA;IAEtC,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,OAAO,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AARY,QAAA,IAAI,QAQhB;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI;QACF,OAAO,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AANY,QAAA,QAAQ,YAMpB;AAED,kBAAe,gBAAQ,CAAA"}
1
+ {"version":3,"file":"renavam.js","sourceRoot":"","sources":["../src/renavam.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;;;;AAEH,iFAAwD;AACxD,mCAAqF;AAErF;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACnF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,OAAO,GAAG,GAAG,EAAE,CAAA;AACjB,CAAC,CAAA;AAXY,QAAA,EAAE,MAWd;AAED;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAA3E,QAAA,IAAI,QAAuE;AAExF;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,EAAE,CAAA;IAEtC,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,OAAO,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AARY,QAAA,IAAI,QAQhB;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9C,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"}
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,93 +1,93 @@
1
- /**
2
- * isTitulo()
3
- * Calcula se um título eleitoral é válido
4
- *
5
- * @doc
6
- * Título de eleitor deve possuir 12 dígitos.
7
- *
8
- * - Os caracteres 1 a 8 são números sequenciais.
9
- *
10
- * - Os caracteres 9 e 10 representam os estados da federação onde o título
11
- * foi emitido (01 = SP, 02 = MG, 03 = RJ, 04 = RS, 05 = BA, 06 = PR, 07 = CE, 08 = PE,
12
- * 09 = SC, 10 = GO, 11 = MA12 = PB, 13 = PA, 14 = ES, 15 = PI, 16 = RN, 17 = AL,
13
- * 18 = MT, 19 = MS, 20 = DF, 21 = SE, 22 = AM, 23 = RO, 24 = AC, 25 = AP, 26 = RR,
14
- * 27 = TO, 28 = Exterior(ZZ).
15
- *
16
- * - Os caracteres 11 e 12 são dígitos verificadores.
17
- *
18
- * 1) Partes do número
19
- * ------------------------------------------------
20
- * | Número Sequencial | UF | DV |
21
- * 1 0 2 3 8 5 0 1 0 6 7 1
22
- *
23
- * 2) Cálculo do primeiro DV.
24
- *
25
- * - Soma-se o produto das algarismos 1 a 8 pelos números 2, 3, 4, 5, 6, 7, 8 e 9.
26
- *
27
- * 1 0 2 3 8 5 0 1
28
- * x x x x x x x x
29
- * 2 3 4 5 6 7 8 9
30
- * = 2 + 0 + 8 +15 +48 +35 + 0 + 9 = 117
31
- *
32
- * - O somatório encontrado é dividido por 11. O DV1 é o resto da divisão. Se o
33
- * resto for 10, o DV1 é 0.
34
- *
35
- * 2.1) 117 / 11 tem resto igual a 7.
36
- *
37
- * 3) Cálculo do segundo DV
38
- *
39
- * - Soma-se o produto dos algarismos 9 a 11 (relativos aos 2 dígitos da UF e o novo
40
- * DV1 que acabou de ser calculado) e os multiplicam pelos números 7, 8 e 9. Se o
41
- * resto for 10, DV2 será 0.
42
- * 0 6 7
43
- * x x x
44
- * 7 8 9
45
- * = 0 +48 +63 = 111
46
- *
47
- * 3.1) 111 / 11 tem resto igual a 1.
48
- *
49
- * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/
50
- *
51
- * @param {String} value Título eleitoral
52
- * @returns {Boolean}
53
- */
54
- /**
55
- * dv()
56
- * Calcula o dígito verificador
57
- *
58
- * @param {Number|String} value
59
- * @returns {String}
60
- */
61
- export declare const dv: (value: string | number) => string;
62
- /**
63
- * Aplica uma máscara ao número informado
64
- *
65
- * @param {String} value Número de Processo
66
- * @returns {String} Valor com a máscara
67
- */
68
- export declare const mask: (value: string | number) => string;
69
- /**
70
- * fake()
71
- * Gera um número válido
72
- *
73
- * @returns {String}
74
- */
75
- export declare const fake: (withMask?: boolean) => string;
76
- /**
77
- * validateOrFail()
78
- * Valida se um número é válido e
79
- * retorna uma exceção se não estiver
80
- *
81
- * @param {String|Number} value Número a ser validado
82
- * @returns {Boolean}
83
- */
84
- export declare const validateOrFail: (value: string | number) => boolean;
85
- /**
86
- * validate()
87
- * Valida se um número é válido
88
- *
89
- * @param {String|Number} value Número a ser validado
90
- * @returns {Boolean}
91
- */
92
- export declare const validate: (value: string | number) => boolean;
93
- export default validate;
1
+ /**
2
+ * isTitulo()
3
+ * Calcula se um título eleitoral é válido
4
+ *
5
+ * @doc
6
+ * Título de eleitor deve possuir 12 dígitos.
7
+ *
8
+ * - Os caracteres 1 a 8 são números sequenciais.
9
+ *
10
+ * - Os caracteres 9 e 10 representam os estados da federação onde o título
11
+ * foi emitido (01 = SP, 02 = MG, 03 = RJ, 04 = RS, 05 = BA, 06 = PR, 07 = CE, 08 = PE,
12
+ * 09 = SC, 10 = GO, 11 = MA12 = PB, 13 = PA, 14 = ES, 15 = PI, 16 = RN, 17 = AL,
13
+ * 18 = MT, 19 = MS, 20 = DF, 21 = SE, 22 = AM, 23 = RO, 24 = AC, 25 = AP, 26 = RR,
14
+ * 27 = TO, 28 = Exterior(ZZ).
15
+ *
16
+ * - Os caracteres 11 e 12 são dígitos verificadores.
17
+ *
18
+ * 1) Partes do número
19
+ * ------------------------------------------------
20
+ * | Número Sequencial | UF | DV |
21
+ * 1 0 2 3 8 5 0 1 0 6 7 1
22
+ *
23
+ * 2) Cálculo do primeiro DV.
24
+ *
25
+ * - Soma-se o produto das algarismos 1 a 8 pelos números 2, 3, 4, 5, 6, 7, 8 e 9.
26
+ *
27
+ * 1 0 2 3 8 5 0 1
28
+ * x x x x x x x x
29
+ * 2 3 4 5 6 7 8 9
30
+ * = 2 + 0 + 8 +15 +48 +35 + 0 + 9 = 117
31
+ *
32
+ * - O somatório encontrado é dividido por 11. O DV1 é o resto da divisão. Se o
33
+ * resto for 10, o DV1 é 0.
34
+ *
35
+ * 2.1) 117 / 11 tem resto igual a 7.
36
+ *
37
+ * 3) Cálculo do segundo DV
38
+ *
39
+ * - Soma-se o produto dos algarismos 9 a 11 (relativos aos 2 dígitos da UF e o novo
40
+ * DV1 que acabou de ser calculado) e os multiplicam pelos números 7, 8 e 9. Se o
41
+ * resto for 10, DV2 será 0.
42
+ * 0 6 7
43
+ * x x x
44
+ * 7 8 9
45
+ * = 0 +48 +63 = 111
46
+ *
47
+ * 3.1) 111 / 11 tem resto igual a 1.
48
+ *
49
+ * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/
50
+ *
51
+ * @param {String} value Título eleitoral
52
+ * @returns {Boolean}
53
+ */
54
+ /**
55
+ * dv()
56
+ * Calcula o dígito verificador
57
+ *
58
+ * @param {Number|String} value
59
+ * @returns {String}
60
+ */
61
+ export declare const dv: (value: string | number) => string;
62
+ /**
63
+ * Aplica uma máscara ao número informado
64
+ *
65
+ * @param {String} value Número de Processo
66
+ * @returns {String} Valor com a máscara
67
+ */
68
+ export declare const mask: (value: string | number) => string;
69
+ /**
70
+ * fake()
71
+ * Gera um número válido
72
+ *
73
+ * @returns {String}
74
+ */
75
+ export declare const fake: (withMask?: boolean) => string;
76
+ /**
77
+ * validateOrFail()
78
+ * Valida se um número é válido e
79
+ * retorna uma exceção se não estiver
80
+ *
81
+ * @param {String|Number} value Número a ser validado
82
+ * @returns {Boolean}
83
+ */
84
+ export declare const validateOrFail: (value: string | number) => boolean;
85
+ /**
86
+ * validate()
87
+ * Valida se um número é válido
88
+ *
89
+ * @param {String|Number} value Número a ser validado
90
+ * @returns {Boolean}
91
+ */
92
+ export declare const validate: (value: string | number) => boolean;
93
+ export default validate;