validation-br 1.5.2 → 2.0.0-next-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 (197) hide show
  1. package/.prettierrc +9 -0
  2. package/dist/jest.config.d.ts +8 -0
  3. package/dist/jest.config.d.ts.map +1 -0
  4. package/dist/jest.config.js +154 -0
  5. package/dist/jest.config.js.map +1 -0
  6. package/dist/test/_helpers/array_random.spec.d.ts +2 -0
  7. package/dist/test/_helpers/array_random.spec.d.ts.map +1 -0
  8. package/dist/test/_helpers/array_random.spec.js +13 -0
  9. package/dist/test/_helpers/array_random.spec.js.map +1 -0
  10. package/dist/test/_helpers/crc.spec.d.ts +2 -0
  11. package/dist/test/_helpers/crc.spec.d.ts.map +1 -0
  12. package/dist/test/_helpers/crc.spec.js +11 -0
  13. package/dist/test/_helpers/crc.spec.js.map +1 -0
  14. package/dist/test/carplate.spec.d.ts +2 -0
  15. package/dist/test/carplate.spec.d.ts.map +1 -0
  16. package/dist/test/carplate.spec.js +141 -0
  17. package/dist/test/carplate.spec.js.map +1 -0
  18. package/dist/test/cnh.spec.d.ts +2 -0
  19. package/dist/test/cnh.spec.d.ts.map +1 -0
  20. package/dist/test/cnh.spec.js +60 -0
  21. package/dist/test/cnh.spec.js.map +1 -0
  22. package/dist/test/cnpj.spec.d.ts +2 -0
  23. package/dist/test/cnpj.spec.d.ts.map +1 -0
  24. package/dist/test/cnpj.spec.js +105 -0
  25. package/dist/test/cnpj.spec.js.map +1 -0
  26. package/dist/test/cpf.spec.d.ts +2 -0
  27. package/dist/test/cpf.spec.d.ts.map +1 -0
  28. package/dist/test/cpf.spec.js +66 -0
  29. package/dist/test/cpf.spec.js.map +1 -0
  30. package/dist/test/index.test.d.ts +2 -0
  31. package/dist/test/index.test.d.ts.map +1 -0
  32. package/dist/test/index.test.js +77 -0
  33. package/dist/test/index.test.js.map +1 -0
  34. package/dist/test/judicial-process.spec.d.ts +2 -0
  35. package/dist/test/judicial-process.spec.d.ts.map +1 -0
  36. package/dist/test/judicial-process.spec.js +101 -0
  37. package/dist/test/judicial-process.spec.js.map +1 -0
  38. package/dist/test/nup17.spec.d.ts +2 -0
  39. package/dist/test/nup17.spec.d.ts.map +1 -0
  40. package/dist/test/nup17.spec.js +70 -0
  41. package/dist/test/nup17.spec.js.map +1 -0
  42. package/dist/test/phone.spec.d.ts +2 -0
  43. package/dist/test/phone.spec.d.ts.map +1 -0
  44. package/dist/test/phone.spec.js +67 -0
  45. package/dist/test/phone.spec.js.map +1 -0
  46. package/dist/test/pis-pasep.spec.d.ts +2 -0
  47. package/dist/test/pis-pasep.spec.d.ts.map +1 -0
  48. package/dist/test/pis-pasep.spec.js +65 -0
  49. package/dist/test/pis-pasep.spec.js.map +1 -0
  50. package/dist/test/pix-copy-paste.spec.d.ts +2 -0
  51. package/dist/test/pix-copy-paste.spec.d.ts.map +1 -0
  52. package/dist/test/pix-copy-paste.spec.js +31 -0
  53. package/dist/test/pix-copy-paste.spec.js.map +1 -0
  54. package/dist/test/pix-key.spec.d.ts +2 -0
  55. package/dist/test/pix-key.spec.d.ts.map +1 -0
  56. package/dist/test/pix-key.spec.js +36 -0
  57. package/dist/test/pix-key.spec.js.map +1 -0
  58. package/dist/test/postal-track-code.test.d.ts +2 -0
  59. package/dist/test/postal-track-code.test.d.ts.map +1 -0
  60. package/dist/test/postal-track-code.test.js +75 -0
  61. package/dist/test/postal-track-code.test.js.map +1 -0
  62. package/dist/test/renavam.spec.d.ts +2 -0
  63. package/dist/test/renavam.spec.d.ts.map +1 -0
  64. package/dist/test/renavam.spec.js +63 -0
  65. package/dist/test/renavam.spec.js.map +1 -0
  66. package/dist/test/tituloEleitor.spec.d.ts +2 -0
  67. package/dist/test/tituloEleitor.spec.d.ts.map +1 -0
  68. package/dist/test/tituloEleitor.spec.js +68 -0
  69. package/dist/test/tituloEleitor.spec.js.map +1 -0
  70. package/dist/test/utils-applyMask.test.d.ts +2 -0
  71. package/dist/test/utils-applyMask.test.d.ts.map +1 -0
  72. package/dist/test/utils-applyMask.test.js +18 -0
  73. package/dist/test/utils-applyMask.test.js.map +1 -0
  74. package/dist/test/utils-checkRepeatedSequence.test.d.ts +2 -0
  75. package/dist/test/utils-checkRepeatedSequence.test.d.ts.map +1 -0
  76. package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
  77. package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
  78. package/dist/test/utils-clearValue.test.d.ts +2 -0
  79. package/dist/test/utils-clearValue.test.d.ts.map +1 -0
  80. package/dist/test/utils-clearValue.test.js +74 -0
  81. package/dist/test/utils-clearValue.test.js.map +1 -0
  82. package/dist/test/utils-fakeNumber.test.d.ts +2 -0
  83. package/dist/test/utils-fakeNumber.test.d.ts.map +1 -0
  84. package/dist/test/utils-fakeNumber.test.js +24 -0
  85. package/dist/test/utils-fakeNumber.test.js.map +1 -0
  86. package/dist/test/utils-insertAtPosition.test.d.ts +2 -0
  87. package/dist/test/utils-insertAtPosition.test.d.ts.map +1 -0
  88. package/dist/test/utils-insertAtPosition.test.js +16 -0
  89. package/dist/test/utils-insertAtPosition.test.js.map +1 -0
  90. package/dist/test/utils-randomLetter.test.d.ts +2 -0
  91. package/dist/test/utils-randomLetter.test.d.ts.map +1 -0
  92. package/dist/test/utils-randomLetter.test.js +14 -0
  93. package/dist/test/utils-randomLetter.test.js.map +1 -0
  94. package/dist/test/utils-removeFromPosition.test.d.ts +2 -0
  95. package/dist/test/utils-removeFromPosition.test.d.ts.map +1 -0
  96. package/dist/test/utils-removeFromPosition.test.js +16 -0
  97. package/dist/test/utils-removeFromPosition.test.js.map +1 -0
  98. package/dist/test/utils-sumElementsByMultipliers.test.d.ts +2 -0
  99. package/dist/test/utils-sumElementsByMultipliers.test.d.ts.map +1 -0
  100. package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
  101. package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
  102. package/dist/test/utils-sumToDV.test.d.ts +2 -0
  103. package/dist/test/utils-sumToDV.test.d.ts.map +1 -0
  104. package/dist/test/utils-sumToDV.test.js +17 -0
  105. package/dist/test/utils-sumToDV.test.js.map +1 -0
  106. package/dist/tsconfig.tsbuildinfo +1 -0
  107. package/eslint.config.mjs +11 -0
  108. package/jest.config.ts +210 -0
  109. package/package.json +3 -3
  110. package/readme.md +3 -2
  111. package/test/_helpers/array_random.spec.ts +12 -0
  112. package/test/_helpers/crc.spec.ts +13 -0
  113. package/test/carplate.spec.ts +161 -0
  114. package/test/cnh.spec.ts +71 -0
  115. package/test/cnpj.spec.ts +127 -0
  116. package/test/cpf.spec.ts +76 -0
  117. package/test/index.test.ts +112 -0
  118. package/test/judicial-process.spec.ts +131 -0
  119. package/test/nup17.spec.ts +79 -0
  120. package/test/phone.spec.ts +75 -0
  121. package/test/pis-pasep.spec.ts +73 -0
  122. package/test/pix-copy-paste.spec.ts +37 -0
  123. package/test/pix-key.spec.ts +41 -0
  124. package/test/postal-track-code.test.ts +83 -0
  125. package/test/renavam.spec.ts +71 -0
  126. package/test/tituloEleitor.spec.ts +72 -0
  127. package/test/utils-applyMask.test.ts +17 -0
  128. package/test/utils-checkRepeatedSequence.test.ts +17 -0
  129. package/test/utils-clearValue.test.ts +85 -0
  130. package/test/utils-fakeNumber.test.ts +28 -0
  131. package/test/utils-insertAtPosition.test.ts +15 -0
  132. package/test/utils-randomLetter.test.ts +14 -0
  133. package/test/utils-removeFromPosition.test.ts +15 -0
  134. package/test/utils-sumElementsByMultipliers.test.ts +24 -0
  135. package/test/utils-sumToDV.test.ts +16 -0
  136. package/todo.md +18 -0
  137. package/tsconfig.json +103 -23
  138. package/.github/workflows/test.yml +0 -39
  139. package/.prettierrc.js +0 -7
  140. package/dist/cnh.d.ts +0 -91
  141. package/dist/cnh.js +0 -139
  142. package/dist/cnh.js.map +0 -1
  143. package/dist/cnh.test.d.ts +0 -1
  144. package/dist/cnpj.d.ts +0 -114
  145. package/dist/cnpj.js +0 -180
  146. package/dist/cnpj.js.map +0 -1
  147. package/dist/cnpj.test.d.ts +0 -1
  148. package/dist/cpf.d.ts +0 -99
  149. package/dist/cpf.js +0 -147
  150. package/dist/cpf.js.map +0 -1
  151. package/dist/cpf.test.d.ts +0 -1
  152. package/dist/data/ValidationBRError.d.ts +0 -6
  153. package/dist/data/ValidationBRError.js +0 -10
  154. package/dist/data/ValidationBRError.js.map +0 -1
  155. package/dist/index.d.ts +0 -21
  156. package/dist/index.js +0 -42
  157. package/dist/index.js.map +0 -1
  158. package/dist/index.test.d.ts +0 -1
  159. package/dist/judicialProcess.d.ts +0 -126
  160. package/dist/judicialProcess.js +0 -190
  161. package/dist/judicialProcess.js.map +0 -1
  162. package/dist/judicialProcess.test.d.ts +0 -1
  163. package/dist/nup17.d.ts +0 -102
  164. package/dist/nup17.js +0 -155
  165. package/dist/nup17.js.map +0 -1
  166. package/dist/nup17.test.d.ts +0 -1
  167. package/dist/pisPasep.d.ts +0 -81
  168. package/dist/pisPasep.js +0 -126
  169. package/dist/pisPasep.js.map +0 -1
  170. package/dist/pisPasep.test.d.ts +0 -1
  171. package/dist/postalCode.d.ts +0 -83
  172. package/dist/postalCode.js +0 -136
  173. package/dist/postalCode.js.map +0 -1
  174. package/dist/postalCode.test.d.ts +0 -1
  175. package/dist/renavam.d.ts +0 -75
  176. package/dist/renavam.js +0 -122
  177. package/dist/renavam.js.map +0 -1
  178. package/dist/renavam.test.d.ts +0 -1
  179. package/dist/tituloEleitor.d.ts +0 -93
  180. package/dist/tituloEleitor.js +0 -143
  181. package/dist/tituloEleitor.js.map +0 -1
  182. package/dist/tituloEleitor.test.d.ts +0 -1
  183. package/dist/utils-applyMask.test.d.ts +0 -1
  184. package/dist/utils-checkRepeatedSequence.test.d.ts +0 -1
  185. package/dist/utils-clearValue.test.d.ts +0 -1
  186. package/dist/utils-fakeNumber.test.d.ts +0 -1
  187. package/dist/utils-insertAtPosition.test.d.ts +0 -1
  188. package/dist/utils-invalidListGenerator.test.d.ts +0 -1
  189. package/dist/utils-randomLetter.test.d.ts +0 -1
  190. package/dist/utils-removeFromPosition.test.d.ts +0 -1
  191. package/dist/utils-sumElementsByMultipliers.test.d.ts +0 -1
  192. package/dist/utils-sumToDV.test.d.ts +0 -1
  193. package/dist/utils.d.ts +0 -131
  194. package/dist/utils.js +0 -190
  195. package/dist/utils.js.map +0 -1
  196. package/eslint.config.js +0 -82
  197. package/jest.config.js +0 -11
@@ -1,190 +0,0 @@
1
- "use strict";
2
- /**
3
- * judicialProcess
4
- * Valida, mascara e cria números de processos judiciais
5
- *
6
- * @link
7
- * https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
8
- * http://ghiorzi.org/DVnew.htm#f
9
- *
10
- * @doc
11
- * Os números de processos judiciais são usados a partir de 2010 para unificar a
12
- * numeração de processos no Brasil e são usados em todos os tribunais.
13
- *
14
- * O número do processo, sem os caracteres especiais, devem possuir até 20 números
15
- * e deve seguir o padrão abaixo:
16
- *
17
- * 1) Partes do número
18
- * 0002080-25.2012.5.15.0049
19
- * NNNNNNN-DD.AAAA.J.TR.OOOO
20
- * |______|__|____|_|__|____|
21
- * | | | | | |----> Unidade de origem do processo com 4 caracteres
22
- * | | | | |--------> TR=Tribunal do segmento do poder judiciário com 2 caracteres
23
- * | | | |----------> J=Órgão do poder Judiciário com 1 caractere
24
- * | | |-------------> Ano do ajuizamento do processo com 4 caracteres
25
- * | |-----------------> Dígito verificador com 2 caracteres
26
- * |----------------------> Número sequencial do Processo, por unidade de
27
- * origem, reiniciado anualmente com 7 caracteres
28
- *
29
- * Órgãos do Poder Judiciário
30
- * 1 - Supremo Tribunal Federal
31
- * 2 - Conselho Nacional de Justiça
32
- * 3 - Superior Tribunal de Justiça
33
- * 4 - Justiça Federal
34
- * 5 - Justiça do Trabalho
35
- * 6 - Justiça Eleitoral
36
- * 7 - Justiça Militar da União
37
- * 8 - Justiça dos Estados e do Distrito Federal e Territórios
38
- * 9 - Justiça Militar Estadual
39
- *
40
- *
41
- * 2) Dígito Verificador
42
- *
43
- * O algoritmo usado para o cálculo do DV chama-se Módulo 97 de Base 10 (ISO 7064).
44
- *
45
- * Nota: O número do processo possui 20 caracteres e ultrapassa o tamanho máximo
46
- * do inteiro em javascript, impedindo que façamos o cálculo diretamente, desta
47
- * forma, será nacessária uma fatoração para que o resultado seja o correto.
48
- *
49
- * 2.1) Cálculo do DV
50
- * - Caso o DV seja conhecido, ele precisa ser removido do número e colocado
51
- * como "00" ao final. Caso não esteja incluso no número, adicione '00' ao final.
52
- *
53
- * Ex.: O processo "00020802520125150049", cujo dv é "25", será calculado como
54
- * "000208020125150049" e receberá "00" ao final. O número usado para o cálculo
55
- * do DV será "00020802012515004900"
56
- *
57
- * 2.2) Etapas de Cálculo
58
- *
59
- * 00020802012515004900
60
- * ↓↓
61
- * DV ao final como "00"
62
- *
63
- * - Aplicamos o MOD 97 aos caracteres de 0 a 7 para calcular a primeira parte
64
- * part1 = 0002080 % 97 = 43
65
- *
66
- * - Concatenamos part1 ao ano, órgão do poder judiciário e tribunal e aplicamos o MOD 97
67
- * para obtermos o valor da part2
68
- * part2 = ( part1 +''+ 2012 +''+ 5 +''+ 15 ) % 97 = 26
69
- *
70
- * - Concatemos part2 ao código do órgão de origem e ao "00" do final e aplicamos
71
- * o MOD 97 ao resultado
72
- * part3 = ( part2 + '0049' + '00') % 97 = 73
73
- *
74
- * - Subtraímos o resultado de 98
75
- * dv = 98 - 73 = 25
76
- *
77
- * O Dígito verificador é 25 e deve ser aplicado após o 7º caractere do número do processo
78
- *
79
- * Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
80
- */
81
- var __importDefault = (this && this.__importDefault) || function (mod) {
82
- return (mod && mod.__esModule) ? mod : { "default": mod };
83
- };
84
- Object.defineProperty(exports, "__esModule", { value: true });
85
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
86
- exports._getSubCourt = _getSubCourt;
87
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
88
- const utils_1 = require("./utils");
89
- /**
90
- *
91
- *
92
- */
93
- const dv = (value) => {
94
- const judicialProcess = (0, utils_1.clearValue)(value, 18, { trimAtRight: true, rejectEmpty: true });
95
- const num = judicialProcess.substring(0, 7);
96
- const yearAndCourt = judicialProcess.substring(7, 14);
97
- const origin = judicialProcess.substring(14, 18);
98
- return String(98 - (Number(`${Number(`${Number(num) % 97}${yearAndCourt}`) % 97}${origin}00`) % 97)).padStart(2, '0');
99
- };
100
- exports.dv = dv;
101
- /**
102
- * Aplica uma máscara ao número informado
103
- *
104
- * @param {String} value Número de Processo
105
- * @returns {String} Valor com a máscara
106
- */
107
- const mask = (value) => (0, utils_1.applyMask)(value, '0000000-00.0000.0.00.0000');
108
- exports.mask = mask;
109
- /**
110
- *
111
- *
112
- */
113
- const fake = (withMask = false) => {
114
- const num = (0, utils_1.fakeNumber)(7, true);
115
- const year = new Date().getFullYear() - +(0, utils_1.fakeNumber)(1);
116
- let courte1 = (0, utils_1.fakeNumber)(1, true); // Não pode ser '0'
117
- courte1 = courte1 === '0' ? '1' : courte1;
118
- const courte2 = _getSubCourt();
119
- const courte = `${courte1}${courte2}`;
120
- const origin = (0, utils_1.fakeNumber)(4, true);
121
- const judicialProcess = `${num}${year}${courte}${origin}`;
122
- const digits = (0, exports.dv)(judicialProcess);
123
- const finalNumber = (0, utils_1.insertAtPosition)(judicialProcess, digits, 7);
124
- if (withMask)
125
- return (0, exports.mask)(finalNumber);
126
- return finalNumber;
127
- };
128
- exports.fake = fake;
129
- /**
130
- * validateOrFail()
131
- * Valida se um número é válido e
132
- * retorna uma exceção se não estiver
133
- *
134
- * @param {String} value Número a ser validado
135
- * @returns {Boolean}
136
- */
137
- const validateOrFail = (value) => {
138
- const judicialProcess = (0, utils_1.clearValue)(value, 20, {
139
- fillZerosAtLeft: true,
140
- rejectEmpty: true,
141
- rejectHigherLength: true,
142
- });
143
- const processWithoutDV = (0, utils_1.removeFromPosition)(judicialProcess, 7, 9);
144
- if (processWithoutDV.substring(11, 12) === '0') {
145
- throw new Error('Código do Órgão Judiciário não pode ser "0"');
146
- }
147
- if ((0, exports.dv)(processWithoutDV) !== judicialProcess.substring(7, 9)) {
148
- throw ValidationBRError_1.default.INVALID_DV;
149
- }
150
- return true;
151
- };
152
- exports.validateOrFail = validateOrFail;
153
- /**
154
- * validate()
155
- * Valida se um número é válido
156
- *
157
- * @param {String} value Número a ser validado
158
- * @returns {Boolean}
159
- */
160
- const validate = (value) => {
161
- try {
162
- return (0, exports.validateOrFail)(value);
163
- }
164
- catch (error) {
165
- return false;
166
- }
167
- };
168
- exports.validate = validate;
169
- // ////////////////////////////////////////////
170
- //
171
- // Funções auxiliares
172
- //
173
- // ////////////////////////////////////////////
174
- /**
175
- * Gera um número fake da sub corte de acordo com as regras:
176
- * - Precisa ser uma string numérica de 2 dígitos.
177
- * - Não pode ser '0'. CAso seja zero, mude para '01'.
178
- *
179
- * A função aceita um parâmetro para viabilizar os testes. Caso
180
- * não seja definido, será gerado aleatoriamente.
181
- *
182
- * @param
183
- *
184
- */
185
- function _getSubCourt(courte = undefined) {
186
- courte = courte !== null && courte !== void 0 ? courte : (0, utils_1.fakeNumber)(2, true).toString();
187
- return +courte === 0 ? '01' : courte;
188
- }
189
- exports.default = exports.validate;
190
- //# sourceMappingURL=judicialProcess.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"judicialProcess.js","sourceRoot":"","sources":["../src/judicialProcess.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
package/dist/nup17.d.ts DELETED
@@ -1,102 +0,0 @@
1
- /**
2
- * isFederalProtocol()
3
- * Calcula se é um número válido de protocolo do Governo Federal Brasileiro
4
- *
5
- * @doc
6
- * O Número Unificado de Protocolo de processos do Governo Federal, também conhecido
7
- * como NUP17, deve ter 17 caracteres, incluindo o dígito verificador de 2 caracteres.
8
- *
9
- * 1) Partes do número
10
- *
11
- * - Os caracteres 1 a 5 são um código do órgão que gerou o protocolo.
12
- *
13
- * - Os caracteres 6 a 11 são o número sequencial do protocolo, sendo que
14
- * cada órgão emissor tem sua própria sequência e esta é reiniciada a cada ano.
15
- *
16
- * - Os caracteres 12 a 15 são referentes ao ano de protocolo
17
- *
18
- * - Os caracteres 16 a 17 são referentes ao Dígito Verificador
19
- *
20
- * 1.2) Exemplo
21
- * ---------------------------------------------------------------
22
- * | Código do órgão | Número Sequencial | Ano | D V
23
- * 2 3 0 3 7 . 0 0 1 4 6 2 / 2 0 2 1 - 6 5
24
- *
25
- * 2) Cálculo do primeiro DV.
26
- *
27
- * - Soma-se o produto das algarismos 1 a 15 pelos números
28
- * 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
29
- *
30
- * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1
31
- * x x x x x x x x x x x x x x x
32
- * 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
33
- * = 32 +45 +0 +39 +84 +0 +0 +9 +32 +42 +12 +10 +0 +6 +2 = 313
34
- *
35
- * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
36
- * 313 / 11 tem resto 5. 11 - 5 = 6. DV1 é 6.
37
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
38
- * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas
39
- *
40
- * 3) Cálculo do segundo DV.
41
- *
42
- * - Acrescenta o valor do DV1 ao número e faz o somatório dos produtos pelos números
43
- * 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
44
- *
45
- * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1 6
46
- * x x x x x x x x x x x x x x x x
47
- * 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
48
- * = 34 +48 +0 +42 +91 +0 +0 +10 +36 +48 +14 +12 +0 +8 +3 +12 = 358
49
- *
50
- * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
51
- * 358 / 11 tem resto 6. 11 - 6 = 1. DV1 é 5.
52
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
53
- * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas.
54
- *
55
- * = DV = 65
56
- *
57
- * Fonte: https://www.gov.br/compras/pt-br/acesso-a-informacao/legislacao/portarias/portaria-interministerial-no-11-de-25-de-novembro-de-2019
58
- *
59
- * @param {String} value Título eleitoral
60
- * @returns {Boolean}
61
- */
62
- /**
63
- * dv()
64
- * Calcula o dígito verificador
65
- *
66
- * @param {String} value
67
- * @returns {String}
68
- */
69
- export declare const dv: (value: string) => string;
70
- /**
71
- * Aplica uma máscara ao número informado
72
- *
73
- * @param {String} value Número de Processo
74
- * @returns {String} Valor com a máscara
75
- */
76
- export declare const mask: (value: string) => string;
77
- /**
78
- * fake()
79
- * Gera um número válido
80
- *
81
- * @param {Boolean} withMask Define se o número deve ser gerado com ou sem máscara
82
- * @returns {String}
83
- */
84
- export declare const fake: (withMask?: boolean) => string;
85
- /**
86
- * validateOrFail()
87
- * Valida se um número é válido e
88
- * retorna uma exceção se não estiver
89
- *
90
- * @param {String} value Número a ser validado
91
- * @returns {Boolean}
92
- */
93
- export declare const validateOrFail: (value: string) => boolean;
94
- /**
95
- * validate()
96
- * Valida se um número é válido
97
- *
98
- * @param {String} value Número a ser validado
99
- * @returns {Boolean}
100
- */
101
- export declare const validate: (value: string) => boolean;
102
- export default validate;
package/dist/nup17.js DELETED
@@ -1,155 +0,0 @@
1
- "use strict";
2
- /**
3
- * isFederalProtocol()
4
- * Calcula se é um número válido de protocolo do Governo Federal Brasileiro
5
- *
6
- * @doc
7
- * O Número Unificado de Protocolo de processos do Governo Federal, também conhecido
8
- * como NUP17, deve ter 17 caracteres, incluindo o dígito verificador de 2 caracteres.
9
- *
10
- * 1) Partes do número
11
- *
12
- * - Os caracteres 1 a 5 são um código do órgão que gerou o protocolo.
13
- *
14
- * - Os caracteres 6 a 11 são o número sequencial do protocolo, sendo que
15
- * cada órgão emissor tem sua própria sequência e esta é reiniciada a cada ano.
16
- *
17
- * - Os caracteres 12 a 15 são referentes ao ano de protocolo
18
- *
19
- * - Os caracteres 16 a 17 são referentes ao Dígito Verificador
20
- *
21
- * 1.2) Exemplo
22
- * ---------------------------------------------------------------
23
- * | Código do órgão | Número Sequencial | Ano | D V
24
- * 2 3 0 3 7 . 0 0 1 4 6 2 / 2 0 2 1 - 6 5
25
- *
26
- * 2) Cálculo do primeiro DV.
27
- *
28
- * - Soma-se o produto das algarismos 1 a 15 pelos números
29
- * 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
30
- *
31
- * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1
32
- * x x x x x x x x x x x x x x x
33
- * 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
34
- * = 32 +45 +0 +39 +84 +0 +0 +9 +32 +42 +12 +10 +0 +6 +2 = 313
35
- *
36
- * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
37
- * 313 / 11 tem resto 5. 11 - 5 = 6. DV1 é 6.
38
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
39
- * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas
40
- *
41
- * 3) Cálculo do segundo DV.
42
- *
43
- * - Acrescenta o valor do DV1 ao número e faz o somatório dos produtos pelos números
44
- * 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
45
- *
46
- * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1 6
47
- * x x x x x x x x x x x x x x x x
48
- * 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
49
- * = 34 +48 +0 +42 +91 +0 +0 +10 +36 +48 +14 +12 +0 +8 +3 +12 = 358
50
- *
51
- * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
52
- * 358 / 11 tem resto 6. 11 - 6 = 1. DV1 é 5.
53
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
54
- * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas.
55
- *
56
- * = DV = 65
57
- *
58
- * Fonte: https://www.gov.br/compras/pt-br/acesso-a-informacao/legislacao/portarias/portaria-interministerial-no-11-de-25-de-novembro-de-2019
59
- *
60
- * @param {String} value Título eleitoral
61
- * @returns {Boolean}
62
- */
63
- var __importDefault = (this && this.__importDefault) || function (mod) {
64
- return (mod && mod.__esModule) ? mod : { "default": mod };
65
- };
66
- Object.defineProperty(exports, "__esModule", { value: true });
67
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
68
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
69
- const utils_1 = require("./utils");
70
- /**
71
- * dv()
72
- * Calcula o dígito verificador
73
- *
74
- * @param {String} value
75
- * @returns {String}
76
- */
77
- const dv = (value) => {
78
- const nup = (0, utils_1.clearValue)(value, 15, { rejectEmpty: true, trimAtRight: true });
79
- const nupReverse = nup.split('').reverse().join('');
80
- const sum1 = (0, utils_1.sumElementsByMultipliers)(nupReverse, [...Array(15)].map((_, i) => i + 2));
81
- const dv1 = _specificSumToDV(sum1);
82
- const sum2 = (0, utils_1.sumElementsByMultipliers)(dv1 + nupReverse, [...Array(16)].map((_, i) => i + 2));
83
- const dv2 = _specificSumToDV(sum2);
84
- return `${dv1}${dv2}`;
85
- };
86
- exports.dv = dv;
87
- /**
88
- * Aplica uma máscara ao número informado
89
- *
90
- * @param {String} value Número de Processo
91
- * @returns {String} Valor com a máscara
92
- */
93
- const mask = (value) => (0, utils_1.applyMask)(value, '00000.000000/0000-00');
94
- exports.mask = mask;
95
- /**
96
- * fake()
97
- * Gera um número válido
98
- *
99
- * @param {Boolean} withMask Define se o número deve ser gerado com ou sem máscara
100
- * @returns {String}
101
- */
102
- const fake = (withMask = false) => {
103
- const num = (0, utils_1.fakeNumber)(15, true);
104
- const nup = `${num}${(0, exports.dv)(String(num))}`;
105
- if (withMask)
106
- return (0, exports.mask)(nup);
107
- return nup;
108
- };
109
- exports.fake = fake;
110
- /**
111
- * validateOrFail()
112
- * Valida se um número é válido e
113
- * retorna uma exceção se não estiver
114
- *
115
- * @param {String} value Número a ser validado
116
- * @returns {Boolean}
117
- */
118
- const validateOrFail = (value) => {
119
- const nup = (0, utils_1.clearValue)(value, 17, {
120
- rejectEmpty: true,
121
- rejectHigherLength: true,
122
- });
123
- if ((0, exports.dv)(nup) !== nup.substring(15, 17)) {
124
- throw ValidationBRError_1.default.INVALID_DV;
125
- }
126
- return true;
127
- };
128
- exports.validateOrFail = validateOrFail;
129
- /**
130
- * validate()
131
- * Valida se um número é válido
132
- *
133
- * @param {String} value Número a ser validado
134
- * @returns {Boolean}
135
- */
136
- const validate = (value) => {
137
- try {
138
- return (0, exports.validateOrFail)(value);
139
- }
140
- catch (error) {
141
- return false;
142
- }
143
- };
144
- exports.validate = validate;
145
- exports.default = exports.validate;
146
- function _specificSumToDV(sum) {
147
- const rest = 11 - (sum % 11);
148
- const exceptions = [
149
- { rest: 11, dv: 1 },
150
- { rest: 10, dv: 0 },
151
- ];
152
- const inExceptions = exceptions.find((item) => item.rest === rest);
153
- return !inExceptions ? rest : inExceptions.dv;
154
- }
155
- //# sourceMappingURL=nup17.js.map
package/dist/nup17.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"nup17.js","sourceRoot":"","sources":["../src/nup17.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,81 +0,0 @@
1
- /**
2
- * isPIS()
3
- * Calcula se um código de PIS/PASEP/NIS/NIT no formato 268.27649.96-0 é válido. Não
4
- * valida o formato, portanto, 26827649960 é equivalente a 268.27649.96-0 para efeitos
5
- * desta validação.
6
- *
7
- * @doc
8
- * - O número de PIS 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 é dividido por 11 e o resultado é subtraído de 11
30
- * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.
31
- * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.
32
- * Caso retorne 1, o resto será 0
33
- *
34
- *
35
- *
36
- *
37
- * Fonte: http://www.macoratti.net/alg_pis.htm
38
- *
39
- * @param {String} value Objeto postal no formato 268.27649.96-0
40
- * @returns {Boolean}
41
- */
42
- /**
43
- * dv()
44
- * Calcula o dígito verificador
45
- *
46
- * @param {Number|String} value
47
- * @returns {String}
48
- */
49
- export declare const dv: (value: string | number) => string;
50
- /**
51
- * Aplica uma máscara ao número informado
52
- *
53
- * @param {String} value Número de Processo
54
- * @returns {String} Valor com a máscara
55
- */
56
- export declare const mask: (value: string | number) => string;
57
- /**
58
- * fake()
59
- * Gera um número válido
60
- *
61
- * @returns {String}
62
- */
63
- export declare const fake: (withMask?: boolean) => string;
64
- /**
65
- * validateOrFail()
66
- * Valida se um número é válido e
67
- * retorna uma exceção se não estiver
68
- *
69
- * @param {String|Number} value Número a ser validado
70
- * @returns {Boolean}
71
- */
72
- export declare const validateOrFail: (value: string | number) => boolean;
73
- /**
74
- * validate()
75
- * Valida se um número é válido
76
- *
77
- * @param {String|Number} value Número a ser validado
78
- * @returns {Boolean}
79
- */
80
- export declare const validate: (value: string | number) => boolean;
81
- export default validate;
package/dist/pisPasep.js DELETED
@@ -1,126 +0,0 @@
1
- "use strict";
2
- /**
3
- * isPIS()
4
- * Calcula se um código de PIS/PASEP/NIS/NIT no formato 268.27649.96-0 é válido. Não
5
- * valida o formato, portanto, 26827649960 é equivalente a 268.27649.96-0 para efeitos
6
- * desta validação.
7
- *
8
- * @doc
9
- * - O número de PIS deve possuir 11 caracteres
10
- *
11
- * - Os caracteres de 1 a 10 são a numeração documento
12
- *
13
- * - O caractere 11 é o dígito verificador.
14
- *
15
- * 1) Partes do número
16
- * _______________________________________________
17
- * | Número | D V |
18
- * | 2 6 8 . 2 7 6 4 9 . 9 6 - 0 |
19
- * |_________________________________________|_____|
20
- *
21
- * 2) Cálculo do DV.
22
- *
23
- * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
24
- *
25
- * 2 6 8 2 7 6 4 9 9 6
26
- * x x x x x x x x x x
27
- * 3 2 9 8 7 6 5 4 3 2
28
- * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234
29
- *
30
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
31
- * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.
32
- * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.
33
- * Caso retorne 1, o resto será 0
34
- *
35
- *
36
- *
37
- *
38
- * Fonte: http://www.macoratti.net/alg_pis.htm
39
- *
40
- * @param {String} value Objeto postal no formato 268.27649.96-0
41
- * @returns {Boolean}
42
- */
43
- var __importDefault = (this && this.__importDefault) || function (mod) {
44
- return (mod && mod.__esModule) ? mod : { "default": mod };
45
- };
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
48
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
49
- const utils_1 = require("./utils");
50
- /**
51
- * dv()
52
- * Calcula o dígito verificador
53
- *
54
- * @param {Number|String} value
55
- * @returns {String}
56
- */
57
- const dv = (value) => {
58
- const pis = (0, utils_1.clearValue)(value, 10, {
59
- trimAtRight: true,
60
- rejectEmpty: true,
61
- });
62
- const sum = (0, utils_1.sumElementsByMultipliers)(pis, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);
63
- return String((0, utils_1.sumToDV)(sum));
64
- };
65
- exports.dv = dv;
66
- /**
67
- * Aplica uma máscara ao número informado
68
- *
69
- * @param {String} value Número de Processo
70
- * @returns {String} Valor com a máscara
71
- */
72
- const mask = (value) => (0, utils_1.applyMask)(value, '000.00000.00-0');
73
- exports.mask = mask;
74
- /**
75
- * fake()
76
- * Gera um número válido
77
- *
78
- * @returns {String}
79
- */
80
- const fake = (withMask = false) => {
81
- const num = (0, utils_1.fakeNumber)(10, true);
82
- const pis = `${num}${(0, exports.dv)(num)}`;
83
- if (withMask)
84
- return (0, exports.mask)(pis);
85
- return pis;
86
- };
87
- exports.fake = fake;
88
- /**
89
- * validateOrFail()
90
- * Valida se um número é válido e
91
- * retorna uma exceção se não estiver
92
- *
93
- * @param {String|Number} value Número a ser validado
94
- * @returns {Boolean}
95
- */
96
- const validateOrFail = (value) => {
97
- const pis = (0, utils_1.clearValue)(value, 11, {
98
- fillZerosAtLeft: true,
99
- rejectEmpty: true,
100
- rejectHigherLength: true,
101
- rejectEqualSequence: true,
102
- });
103
- if ((0, exports.dv)(pis) !== pis.substring(10, 11)) {
104
- throw ValidationBRError_1.default.INVALID_DV;
105
- }
106
- return true;
107
- };
108
- exports.validateOrFail = validateOrFail;
109
- /**
110
- * validate()
111
- * Valida se um número é válido
112
- *
113
- * @param {String|Number} value Número a ser validado
114
- * @returns {Boolean}
115
- */
116
- const validate = (value) => {
117
- try {
118
- return (0, exports.validateOrFail)(value);
119
- }
120
- catch (error) {
121
- return false;
122
- }
123
- };
124
- exports.validate = validate;
125
- exports.default = exports.validate;
126
- //# sourceMappingURL=pisPasep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pisPasep.js","sourceRoot":"","sources":["../src/pisPasep.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAChC,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,IAAA,gCAAwB,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEzE,OAAO,MAAM,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,CAAA;AAC7B,CAAC,CAAA;AATY,QAAA,EAAE,MASd;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,EAAE,EAAE,IAAI,CAAC,CAAA;IAEhC,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAA,UAAE,EAAC,GAAG,CAAC,EAAE,CAAA;IAE9B,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,IAAI,QAOhB;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,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
- export {};