validation-br 1.5.2 → 1.6.0

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 (119) hide show
  1. package/dist/test/cnh.test.js +116 -0
  2. package/dist/test/cnh.test.js.map +1 -0
  3. package/dist/test/cnpj.test.js +181 -0
  4. package/dist/test/cnpj.test.js.map +1 -0
  5. package/dist/test/cpf.test.js +136 -0
  6. package/dist/test/cpf.test.js.map +1 -0
  7. package/dist/test/index.test.js +83 -0
  8. package/dist/test/index.test.js.map +1 -0
  9. package/dist/test/judicialProcess.test.js +124 -0
  10. package/dist/test/judicialProcess.test.js.map +1 -0
  11. package/dist/test/nup17.test.js +133 -0
  12. package/dist/test/nup17.test.js.map +1 -0
  13. package/dist/test/pisPasep.test.js +135 -0
  14. package/dist/test/pisPasep.test.js.map +1 -0
  15. package/dist/test/postalCode.test.js +123 -0
  16. package/dist/test/postalCode.test.js.map +1 -0
  17. package/dist/test/renavam.test.js +91 -0
  18. package/dist/test/renavam.test.js.map +1 -0
  19. package/dist/test/tituloEleitor.test.js +118 -0
  20. package/dist/test/tituloEleitor.test.js.map +1 -0
  21. package/dist/test/utils-applyMask.test.js +15 -0
  22. package/dist/test/utils-applyMask.test.js.map +1 -0
  23. package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
  24. package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
  25. package/dist/test/utils-clearValue.test.js +59 -0
  26. package/dist/test/utils-clearValue.test.js.map +1 -0
  27. package/dist/test/utils-fakeNumber.test.js +24 -0
  28. package/dist/test/utils-fakeNumber.test.js.map +1 -0
  29. package/dist/test/utils-insertAtPosition.test.js +16 -0
  30. package/dist/test/utils-insertAtPosition.test.js.map +1 -0
  31. package/dist/test/utils-randomLetter.test.js +11 -0
  32. package/dist/test/utils-randomLetter.test.js.map +1 -0
  33. package/dist/test/utils-removeFromPosition.test.js +12 -0
  34. package/dist/test/utils-removeFromPosition.test.js.map +1 -0
  35. package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
  36. package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
  37. package/dist/test/utils-sumToDV.test.d.ts +1 -0
  38. package/dist/test/utils-sumToDV.test.js +14 -0
  39. package/dist/test/utils-sumToDV.test.js.map +1 -0
  40. package/jest.config.js +1 -1
  41. package/package.json +2 -2
  42. package/readme.md +216 -184
  43. package/test/cnh.test.ts +113 -0
  44. package/test/cnpj.test.ts +179 -0
  45. package/test/cpf.test.ts +124 -0
  46. package/test/index.test.ts +85 -0
  47. package/test/judicialProcess.test.ts +120 -0
  48. package/test/nup17.test.ts +127 -0
  49. package/test/pisPasep.test.ts +126 -0
  50. package/test/postalCode.test.ts +114 -0
  51. package/test/renavam.test.ts +77 -0
  52. package/test/tituloEleitor.test.ts +110 -0
  53. package/test/utils-applyMask.test.ts +13 -0
  54. package/test/utils-checkRepeatedSequence.test.ts +17 -0
  55. package/test/utils-clearValue.test.ts +69 -0
  56. package/test/utils-fakeNumber.test.ts +28 -0
  57. package/test/utils-insertAtPosition.test.ts +15 -0
  58. package/test/utils-randomLetter.test.ts +9 -0
  59. package/test/utils-removeFromPosition.test.ts +10 -0
  60. package/test/utils-sumElementsByMultipliers.test.ts +24 -0
  61. package/test/utils-sumToDV.test.ts +12 -0
  62. package/tsconfig.json +3 -3
  63. package/.github/workflows/test.yml +0 -39
  64. package/dist/cnh.d.ts +0 -91
  65. package/dist/cnh.js +0 -139
  66. package/dist/cnh.js.map +0 -1
  67. package/dist/cnpj.d.ts +0 -114
  68. package/dist/cnpj.js +0 -180
  69. package/dist/cnpj.js.map +0 -1
  70. package/dist/cpf.d.ts +0 -99
  71. package/dist/cpf.js +0 -147
  72. package/dist/cpf.js.map +0 -1
  73. package/dist/data/ValidationBRError.d.ts +0 -6
  74. package/dist/data/ValidationBRError.js +0 -10
  75. package/dist/data/ValidationBRError.js.map +0 -1
  76. package/dist/index.d.ts +0 -21
  77. package/dist/index.js +0 -42
  78. package/dist/index.js.map +0 -1
  79. package/dist/judicialProcess.d.ts +0 -126
  80. package/dist/judicialProcess.js +0 -190
  81. package/dist/judicialProcess.js.map +0 -1
  82. package/dist/nup17.d.ts +0 -102
  83. package/dist/nup17.js +0 -155
  84. package/dist/nup17.js.map +0 -1
  85. package/dist/pisPasep.d.ts +0 -81
  86. package/dist/pisPasep.js +0 -126
  87. package/dist/pisPasep.js.map +0 -1
  88. package/dist/postalCode.d.ts +0 -83
  89. package/dist/postalCode.js +0 -136
  90. package/dist/postalCode.js.map +0 -1
  91. package/dist/renavam.d.ts +0 -75
  92. package/dist/renavam.js +0 -122
  93. package/dist/renavam.js.map +0 -1
  94. package/dist/tituloEleitor.d.ts +0 -93
  95. package/dist/tituloEleitor.js +0 -143
  96. package/dist/tituloEleitor.js.map +0 -1
  97. package/dist/utils-invalidListGenerator.test.d.ts +0 -1
  98. package/dist/utils-randomLetter.test.d.ts +0 -1
  99. package/dist/utils.d.ts +0 -131
  100. package/dist/utils.js +0 -190
  101. package/dist/utils.js.map +0 -1
  102. /package/dist/{cnh.test.d.ts → test/cnh.test.d.ts} +0 -0
  103. /package/dist/{cnpj.test.d.ts → test/cnpj.test.d.ts} +0 -0
  104. /package/dist/{cpf.test.d.ts → test/cpf.test.d.ts} +0 -0
  105. /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
  106. /package/dist/{judicialProcess.test.d.ts → test/judicialProcess.test.d.ts} +0 -0
  107. /package/dist/{nup17.test.d.ts → test/nup17.test.d.ts} +0 -0
  108. /package/dist/{pisPasep.test.d.ts → test/pisPasep.test.d.ts} +0 -0
  109. /package/dist/{postalCode.test.d.ts → test/postalCode.test.d.ts} +0 -0
  110. /package/dist/{renavam.test.d.ts → test/renavam.test.d.ts} +0 -0
  111. /package/dist/{tituloEleitor.test.d.ts → test/tituloEleitor.test.d.ts} +0 -0
  112. /package/dist/{utils-applyMask.test.d.ts → test/utils-applyMask.test.d.ts} +0 -0
  113. /package/dist/{utils-checkRepeatedSequence.test.d.ts → test/utils-checkRepeatedSequence.test.d.ts} +0 -0
  114. /package/dist/{utils-clearValue.test.d.ts → test/utils-clearValue.test.d.ts} +0 -0
  115. /package/dist/{utils-fakeNumber.test.d.ts → test/utils-fakeNumber.test.d.ts} +0 -0
  116. /package/dist/{utils-insertAtPosition.test.d.ts → test/utils-insertAtPosition.test.d.ts} +0 -0
  117. /package/dist/{utils-removeFromPosition.test.d.ts → test/utils-randomLetter.test.d.ts} +0 -0
  118. /package/dist/{utils-sumElementsByMultipliers.test.d.ts → test/utils-removeFromPosition.test.d.ts} +0 -0
  119. /package/dist/{utils-sumToDV.test.d.ts → test/utils-sumElementsByMultipliers.test.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"postalCode.js","sourceRoot":"","sources":["../src/postalCode.ts"],"names":[],"mappings":"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"}
package/dist/renavam.d.ts DELETED
@@ -1,75 +0,0 @@
1
- /**
2
- * RENAVAM
3
- * Funções auxiliares para cálculo de máscaras, validação, dígito verificador e criaçãode
4
- * números fake.
5
- *
6
- * @doc
7
- * - O número de RENAVAM deve possuir 11 caracteres
8
- *
9
- * - Os caracteres de 1 a 10 são a numeração documento
10
- *
11
- * - O caractere 11 é o dígito verificador.
12
- *
13
- * 1) Partes do número
14
- * _______________________________________________
15
- * | Número | D V |
16
- * | 2 6 8 2 7 6 4 9 9 6 - 0 |
17
- * |_________________________________________|_____|
18
- *
19
- * 2) Cálculo do DV.
20
- *
21
- * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
22
- *
23
- * 2 6 8 2 7 6 4 9 9 6
24
- * x x x x x x x x x x
25
- * 3 2 9 8 7 6 5 4 3 2
26
- * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234
27
- *
28
- * - O somatório encontrado é multiplicado por 10 e ao resultado
29
- * é aplicado o cálculo do MOD 11.
30
- *
31
- * ( 234 * 10 ) / 11 tem resto 8. DV = 8. Caso o resto seja maior ou igual a
32
- * 10, DV será 0.
33
- *
34
- *
35
- */
36
- /**
37
- * dv()
38
- * Calcula o dígito verificador
39
- *
40
- * @param {Number|String} value
41
- * @returns {String}
42
- */
43
- export declare const dv: (value: string | number) => string;
44
- /**
45
- * Aplica uma máscara ao número informado
46
- *
47
- * @param {String} value Número de Processo
48
- * @returns {String} Valor com a máscara
49
- */
50
- export declare const mask: (value: string | number) => string;
51
- /**
52
- * fake()
53
- * Gera um número válido
54
- *
55
- * @returns {String}
56
- */
57
- export declare const fake: (withMask?: boolean) => string;
58
- /**
59
- * validateOrFail()
60
- * Valida se um número é válido e
61
- * retorna uma exceção se não estiver
62
- *
63
- * @param {String|Number} value Número a ser validado
64
- * @returns {Boolean}
65
- */
66
- export declare const validateOrFail: (value: string | number) => boolean;
67
- /**
68
- * validate()
69
- * Valida se um número é válido
70
- *
71
- * @param {String|Number} value Número a ser validado
72
- * @returns {Boolean}
73
- */
74
- export declare const validate: (value: string | number) => boolean;
75
- export default validate;
package/dist/renavam.js DELETED
@@ -1,122 +0,0 @@
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
- //# sourceMappingURL=renavam.js.map
@@ -1 +0,0 @@
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,93 +0,0 @@
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,143 +0,0 @@
1
- "use strict";
2
- /**
3
- * isTitulo()
4
- * Calcula se um título eleitoral é válido
5
- *
6
- * @doc
7
- * Título de eleitor deve possuir 12 dígitos.
8
- *
9
- * - Os caracteres 1 a 8 são números sequenciais.
10
- *
11
- * - Os caracteres 9 e 10 representam os estados da federação onde o título
12
- * foi emitido (01 = SP, 02 = MG, 03 = RJ, 04 = RS, 05 = BA, 06 = PR, 07 = CE, 08 = PE,
13
- * 09 = SC, 10 = GO, 11 = MA12 = PB, 13 = PA, 14 = ES, 15 = PI, 16 = RN, 17 = AL,
14
- * 18 = MT, 19 = MS, 20 = DF, 21 = SE, 22 = AM, 23 = RO, 24 = AC, 25 = AP, 26 = RR,
15
- * 27 = TO, 28 = Exterior(ZZ).
16
- *
17
- * - Os caracteres 11 e 12 são dígitos verificadores.
18
- *
19
- * 1) Partes do número
20
- * ------------------------------------------------
21
- * | Número Sequencial | UF | DV |
22
- * 1 0 2 3 8 5 0 1 0 6 7 1
23
- *
24
- * 2) Cálculo do primeiro DV.
25
- *
26
- * - Soma-se o produto das algarismos 1 a 8 pelos números 2, 3, 4, 5, 6, 7, 8 e 9.
27
- *
28
- * 1 0 2 3 8 5 0 1
29
- * x x x x x x x x
30
- * 2 3 4 5 6 7 8 9
31
- * = 2 + 0 + 8 +15 +48 +35 + 0 + 9 = 117
32
- *
33
- * - O somatório encontrado é dividido por 11. O DV1 é o resto da divisão. Se o
34
- * resto for 10, o DV1 é 0.
35
- *
36
- * 2.1) 117 / 11 tem resto igual a 7.
37
- *
38
- * 3) Cálculo do segundo DV
39
- *
40
- * - Soma-se o produto dos algarismos 9 a 11 (relativos aos 2 dígitos da UF e o novo
41
- * DV1 que acabou de ser calculado) e os multiplicam pelos números 7, 8 e 9. Se o
42
- * resto for 10, DV2 será 0.
43
- * 0 6 7
44
- * x x x
45
- * 7 8 9
46
- * = 0 +48 +63 = 111
47
- *
48
- * 3.1) 111 / 11 tem resto igual a 1.
49
- *
50
- * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/
51
- *
52
- * @param {String} value Título eleitoral
53
- * @returns {Boolean}
54
- */
55
- var __importDefault = (this && this.__importDefault) || function (mod) {
56
- return (mod && mod.__esModule) ? mod : { "default": mod };
57
- };
58
- Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
60
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
61
- const utils_1 = require("./utils");
62
- /**
63
- * dv()
64
- * Calcula o dígito verificador
65
- *
66
- * @param {Number|String} value
67
- * @returns {String}
68
- */
69
- const dv = (value) => {
70
- const titulo = (0, utils_1.clearValue)(value, 10, {
71
- fillZerosAtLeft: true,
72
- trimAtRight: true,
73
- rejectEmpty: true,
74
- });
75
- const sum1 = (0, utils_1.sumElementsByMultipliers)(titulo.substring(0, 8), [2, 3, 4, 5, 6, 7, 8, 9]);
76
- const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
77
- const sum2 = (0, utils_1.sumElementsByMultipliers)(titulo.substring(8, 10) + dv1, [7, 8, 9]);
78
- const dv2 = sum2 % 11 >= 10 ? 0 : sum2 % 11;
79
- return `${dv1}${dv2}`;
80
- };
81
- exports.dv = dv;
82
- /**
83
- * Aplica uma máscara ao número informado
84
- *
85
- * @param {String} value Número de Processo
86
- * @returns {String} Valor com a máscara
87
- */
88
- const mask = (value) => (0, utils_1.applyMask)(value, '0000.0000.0000');
89
- exports.mask = mask;
90
- /**
91
- * fake()
92
- * Gera um número válido
93
- *
94
- * @returns {String}
95
- */
96
- const fake = (withMask = false) => {
97
- const num = (0, utils_1.fakeNumber)(8, true);
98
- const uf = (Math.random() * 27 + 1).toFixed(0).padStart(2, '0');
99
- const titulo = `${num}${uf}${(0, exports.dv)(num + uf)}`;
100
- if (withMask)
101
- return (0, exports.mask)(titulo);
102
- return titulo;
103
- };
104
- exports.fake = fake;
105
- /**
106
- * validateOrFail()
107
- * Valida se um número é válido e
108
- * retorna uma exceção se não estiver
109
- *
110
- * @param {String|Number} value Número a ser validado
111
- * @returns {Boolean}
112
- */
113
- const validateOrFail = (value) => {
114
- const titulo = (0, utils_1.clearValue)(value, 12, {
115
- fillZerosAtLeft: true,
116
- rejectEmpty: true,
117
- rejectHigherLength: true,
118
- rejectEqualSequence: true,
119
- });
120
- if ((0, exports.dv)(titulo) !== titulo.substring(10, 12)) {
121
- throw ValidationBRError_1.default.INVALID_DV;
122
- }
123
- return true;
124
- };
125
- exports.validateOrFail = validateOrFail;
126
- /**
127
- * validate()
128
- * Valida se um número é válido
129
- *
130
- * @param {String|Number} value Número a ser validado
131
- * @returns {Boolean}
132
- */
133
- const validate = (value) => {
134
- try {
135
- return (0, exports.validateOrFail)(value);
136
- }
137
- catch (error) {
138
- return false;
139
- }
140
- };
141
- exports.validate = validate;
142
- exports.default = exports.validate;
143
- //# sourceMappingURL=tituloEleitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tituloEleitor.js","sourceRoot":"","sources":["../src/tituloEleitor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;;;;AAEH,iFAAwD;AACxD,mCAAqF;AAErF;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACnC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAdY,QAAA,EAAE,MAcd;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,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,IAAA,UAAE,EAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;IAE3C,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,MAAM,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AATY,QAAA,IAAI,QAShB;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACnC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5C,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 +0,0 @@
1
- declare const invalidListGenerator: any;
@@ -1 +0,0 @@
1
- declare const randomLetter: any;
package/dist/utils.d.ts DELETED
@@ -1,131 +0,0 @@
1
- /**
2
- * Calcula o DV verificador a partir das regras do MOD11:
3
- * O valor da soma é dividido por 11. O resultado é o resto da divisão. Caso o resto seja
4
- * menor que 2, ou seja, o valor da divisão seja 10 ou 11, o resultado é 0.
5
- *
6
- * @param {Integer} sum Soma
7
- * @returns {Integer}
8
- */
9
- export declare function sumToDV(sum: number): number;
10
- /**
11
- * Checa se o número repassado possui todos os digitos iguais
12
- *
13
- * @example
14
- * checkRepeatedSequence(12345678)
15
- * // -> false
16
- * checkRepeatedSequence(11111111)
17
- * // -> true
18
- *
19
- */
20
- export declare function checkRepeatedSequence(value: string): boolean;
21
- /**
22
- * Multiplica os elementos de uma string com os elementos de outra, ou de um array
23
- * e soma o resultado ao final
24
- *
25
- * @example
26
- * sumElementsByMultipliers('123', '987') //-> 46
27
- * sumElementsByMultipliers('123', [9, 8, 7]) //-> 46
28
- *
29
- * @param {String} value
30
- * @param {String|Array} multiplier
31
- * @returns {Integer} Somatório
32
- */
33
- export declare function sumElementsByMultipliers(value: string, multiplier: number[]): number;
34
- /**
35
- * fakeNumber()
36
- * Cria um número aleatório com o número de caracteres
37
- *
38
- * @example
39
- * fakeNumber(8, true) // -> 00083159
40
- * fakeNumber(4) // -> 831
41
- *
42
- * @param {Integer} length
43
- * @param {Boolean} forceLength Adiciona zeros à esquerda para ter os números de caractes exatos
44
- * @returns {String}
45
- */
46
- export declare function fakeNumber(length: number, forceLength?: boolean, isAlpha?: boolean): string;
47
- /**
48
- * Limpa um número informado, retirando caracteres diferentes de números,
49
- * preenchendo com zeros à esquerda se for menor que o tamanho exato e
50
- * removendo uma parte do número se for maior que tamanho definido.
51
- *
52
- * 1) Retira caracteres não-numéricos
53
- * 2) Preenche com zeros à esquerda se 'value' for menor que 'length'
54
- * 3) Remove caracteres à direita se 'value' for maior que 'length'
55
- *
56
- * @example
57
- * clearValue(12345-6, 6) // -> 123456
58
- * clearValue(12345678, 3) // -> 123
59
- * clearValue(12345, 10) // -> 0000001234
60
- *
61
- * @param {Number|String} value
62
- * @param {Number} length Tamanho exato. Se for null, só retira os caracteres não-numéricos
63
- * @returns {String} Número com o tamanho exato
64
- */
65
- export declare function clearValue(value: string | number, length?: number | null, options?: ClearValueOptions): string;
66
- /**
67
- * insertAtPosition()
68
- * Insere um conjunto de caracteres em um local específico de uma string
69
- *
70
- * @example
71
- * insertAtPosition('AAABBB', 'C', 3) // -> AAACBBB
72
- * insertAtPosition('000011122223445555', 99, 7) // -> 00001119922223445555
73
- *
74
- * @param {String|Number} value Valor original
75
- * @param {String|Number} insertValue Valor que será inserido
76
- * @param {String|Number} position Posição que receberá o novo valor
77
- * @returns {String}
78
- *
79
- */
80
- export declare function insertAtPosition(value: string, insertValue: string, position: number): string;
81
- /**
82
- * removeFromPosition()
83
- * Retira um conjunto de caracteres de um local específico de uma string
84
- *
85
- * @example
86
- * removeFromPosition('00001119922223445555', 7,9) // -> 000011122223445555
87
- * removeFromPosition('AAACBBB', 3,4) // -> AAABBB
88
- *
89
- * @param {String|Number} value Valor original
90
- * @param {String|Number} startPosition
91
- * @param {String|Number} endPosition
92
- * @returns {String}
93
- *
94
- */
95
- export declare function removeFromPosition(value: string, startPosition: number, endPosition: number): string;
96
- /**
97
- * applyMask()
98
- * Aplica uma máscara a uma string
99
- *
100
- * @example
101
- * applyMask('59650000', '00.000-000') // -> 59.650-000
102
- * applyMask('99877665544', '(00) 0 0000-0000') // -> (99) 8 7766-5544
103
- *
104
- * @param {String|Number} value Valor original
105
- * @param {String} mask
106
- * @returns {String}
107
- *
108
- */
109
- export declare function applyMask(value: string | number, mask: string): string;
110
- /**
111
- * randomLetter()
112
- * Pega uma letra maiúscula aleatoriamente
113
- *
114
- * @example
115
- * randomLetter() // -> A
116
- * randomLetter() // -> S
117
- *
118
- * @returns {String}
119
- */
120
- export declare function randomLetter(): string;
121
- /**
122
- * Opções do clearValue
123
- */
124
- interface ClearValueOptions {
125
- fillZerosAtLeft?: boolean;
126
- trimAtRight?: boolean;
127
- rejectEmpty?: boolean;
128
- rejectHigherLength?: boolean;
129
- rejectEqualSequence?: boolean;
130
- }
131
- export {};