validation-br 1.4.4 → 1.5.1

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 (65) 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 -133
  5. package/dist/cnh.js.map +1 -1
  6. package/dist/cnh.test.d.ts +1 -1
  7. package/dist/cnpj.d.ts +87 -82
  8. package/dist/cnpj.js +150 -124
  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 -141
  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 -32
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.test.d.ts +1 -1
  22. package/dist/judicialProcess.d.ts +126 -126
  23. package/dist/judicialProcess.js +189 -184
  24. package/dist/judicialProcess.js.map +1 -1
  25. package/dist/judicialProcess.test.d.ts +1 -1
  26. package/dist/nup17.d.ts +102 -102
  27. package/dist/nup17.js +154 -149
  28. package/dist/nup17.js.map +1 -1
  29. package/dist/nup17.test.d.ts +1 -1
  30. package/dist/pisPasep.d.ts +81 -81
  31. package/dist/pisPasep.js +125 -120
  32. package/dist/pisPasep.js.map +1 -1
  33. package/dist/pisPasep.test.d.ts +1 -1
  34. package/dist/postalCode.d.ts +83 -83
  35. package/dist/postalCode.js +135 -130
  36. package/dist/postalCode.js.map +1 -1
  37. package/dist/postalCode.test.d.ts +1 -1
  38. package/dist/renavam.d.ts +75 -75
  39. package/dist/renavam.js +121 -116
  40. package/dist/renavam.js.map +1 -1
  41. package/dist/renavam.test.d.ts +1 -1
  42. package/dist/tituloEleitor.d.ts +93 -93
  43. package/dist/tituloEleitor.js +142 -137
  44. package/dist/tituloEleitor.js.map +1 -1
  45. package/dist/tituloEleitor.test.d.ts +1 -1
  46. package/dist/utils-applyMask.test.d.ts +1 -1
  47. package/dist/utils-checkRepeatedSequence.test.d.ts +1 -0
  48. package/dist/utils-clearValue.test.d.ts +1 -1
  49. package/dist/utils-fakeNumber.test.d.ts +1 -1
  50. package/dist/utils-insertAtPosition.test.d.ts +1 -1
  51. package/dist/utils-invalidListGenerator.test.d.ts +1 -1
  52. package/dist/utils-randomLetter.test.d.ts +1 -1
  53. package/dist/utils-removeFromPosition.test.d.ts +1 -1
  54. package/dist/utils-sumElementsByMultipliers.test.d.ts +1 -1
  55. package/dist/utils-sumToDV.test.d.ts +1 -1
  56. package/dist/utils.d.ts +131 -133
  57. package/dist/utils.js +188 -190
  58. package/dist/utils.js.map +1 -1
  59. package/docs/Nota.COCAD.SUARA.2024.05.49.CNPJ.Alfanumerico-1.pdf +0 -0
  60. package/{.eslintrc.js → eslint.config.js} +39 -39
  61. package/jest.config.js +1 -6
  62. package/package.json +6 -27
  63. package/readme.md +42 -27
  64. package/.eslintcache +0 -1
  65. package/.eslintignore +0 -2
package/dist/renavam.js CHANGED
@@ -1,117 +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
- exports.dv = (value) => {
52
- const renavam = utils_1.clearValue(value, 10, {
53
- fillZerosAtLeft: true,
54
- trimAtRight: true,
55
- rejectEmpty: true,
56
- });
57
- const sum1 = 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
- /**
62
- * Aplica uma máscara ao número informado
63
- *
64
- * @param {String} value Número de Processo
65
- * @returns {String} Valor com a máscara
66
- */
67
- exports.mask = (value) => utils_1.applyMask(value, '0000000000-0');
68
- /**
69
- * fake()
70
- * Gera um número válido
71
- *
72
- * @returns {String}
73
- */
74
- exports.fake = (withMask = false) => {
75
- const value = utils_1.fakeNumber(10, true);
76
- const renavam = `${value}${exports.dv(value)}`;
77
- if (withMask)
78
- return exports.mask(renavam);
79
- return renavam;
80
- };
81
- /**
82
- * validateOrFail()
83
- * Valida se um número é válido e
84
- * retorna uma exceção se não estiver
85
- *
86
- * @param {String|Number} value Número a ser validado
87
- * @returns {Boolean}
88
- */
89
- exports.validateOrFail = (value) => {
90
- const renavam = utils_1.clearValue(value, 11, {
91
- fillZerosAtLeft: true,
92
- rejectEmpty: true,
93
- rejectHigherLength: true,
94
- rejectEqualSequence: true,
95
- });
96
- if (exports.dv(renavam) !== renavam.substring(10, 11)) {
97
- throw ValidationBRError_1.default.INVALID_DV;
98
- }
99
- return true;
100
- };
101
- /**
102
- * validate()
103
- * Valida se um número é válido
104
- *
105
- * @param {String|Number} value Número a ser validado
106
- * @returns {Boolean}
107
- */
108
- exports.validate = (value) => {
109
- try {
110
- return exports.validateOrFail(value);
111
- }
112
- catch (error) {
113
- return false;
114
- }
115
- };
116
- 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;
117
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;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,OAAO,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,gCAAwB,CAAC,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;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAExF;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,kBAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,UAAE,CAAC,KAAK,CAAC,EAAE,CAAA;IAEtC,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,kBAAU,CAAC,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,UAAE,CAAC,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;AAED;;;;;;GAMG;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
+ {"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;