validation-br 1.6.3 → 1.6.4

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 (46) hide show
  1. package/package.json +7 -4
  2. package/.prettierignore +0 -1
  3. package/.prettierrc.js +0 -7
  4. package/.publish/dist/_exceptions/ValidationBRError.d.ts +0 -7
  5. package/.publish/dist/_exceptions/ValidationBRError.js +0 -11
  6. package/.publish/dist/_exceptions/ValidationBRError.js.map +0 -1
  7. package/.publish/dist/cnh.d.ts +0 -98
  8. package/.publish/dist/cnh.js +0 -149
  9. package/.publish/dist/cnh.js.map +0 -1
  10. package/.publish/dist/cnpj.d.ts +0 -121
  11. package/.publish/dist/cnpj.js +0 -193
  12. package/.publish/dist/cnpj.js.map +0 -1
  13. package/.publish/dist/cpf.d.ts +0 -106
  14. package/.publish/dist/cpf.js +0 -157
  15. package/.publish/dist/cpf.js.map +0 -1
  16. package/.publish/dist/index.d.ts +0 -21
  17. package/.publish/dist/index.js +0 -42
  18. package/.publish/dist/index.js.map +0 -1
  19. package/.publish/dist/judicialProcess.d.ts +0 -133
  20. package/.publish/dist/judicialProcess.js +0 -200
  21. package/.publish/dist/judicialProcess.js.map +0 -1
  22. package/.publish/dist/nup17.d.ts +0 -103
  23. package/.publish/dist/nup17.js +0 -159
  24. package/.publish/dist/nup17.js.map +0 -1
  25. package/.publish/dist/pisPasep.d.ts +0 -88
  26. package/.publish/dist/pisPasep.js +0 -136
  27. package/.publish/dist/pisPasep.js.map +0 -1
  28. package/.publish/dist/postalCode.d.ts +0 -92
  29. package/.publish/dist/postalCode.js +0 -144
  30. package/.publish/dist/postalCode.js.map +0 -1
  31. package/.publish/dist/renavam.d.ts +0 -82
  32. package/.publish/dist/renavam.js +0 -132
  33. package/.publish/dist/renavam.js.map +0 -1
  34. package/.publish/dist/tituloEleitor.d.ts +0 -100
  35. package/.publish/dist/tituloEleitor.js +0 -157
  36. package/.publish/dist/tituloEleitor.js.map +0 -1
  37. package/.publish/dist/utils.d.ts +0 -131
  38. package/.publish/dist/utils.js +0 -190
  39. package/.publish/dist/utils.js.map +0 -1
  40. package/.publish/package-lock.json +0 -4372
  41. package/.publish/package.json +0 -112
  42. package/.publish/readme.md +0 -492
  43. package/eslint.config.js +0 -82
  44. package/jest.config.js +0 -11
  45. package/publish.sh +0 -31
  46. package/tsconfig.json +0 -25
@@ -1,112 +0,0 @@
1
- {
2
- "name": "validation-br",
3
- "description": "Brazilian personal documents validation - cpf, cnpj, titulo, pis/pasep, cnh, renavam, processos judiciais, protocolo federal, código de rastreamento dos correios",
4
- "version": "1.6.3",
5
- "main": "dist/index.js",
6
- "types": "./dist/index.d.ts",
7
-
8
- "publishConfig": {
9
- "directory": ".publish"
10
- },
11
-
12
- "author": "Cláudio Medeiros <klawdyo@gmail.com>",
13
- "license": "MIT",
14
- "scripts": {
15
- "build": "tsc",
16
- "prepublishOnly": "./publish.sh",
17
- "test": "jest",
18
- "test:watch": "jest --watch",
19
- "test:coverage": "jest --collectCoverageFrom=src/**/*.ts --coverage",
20
- "format": "prettier --write \"./**/*.{js,ts,json}\""
21
- },
22
- "lint-staged": {
23
- "*.{js,ts}": [
24
- "prettier --write",
25
- "eslint --cache --fix"
26
- ]
27
- },
28
- "devDependencies": {
29
- "@types/jest": "^27.4.0",
30
- "@types/node": "^14.14.2",
31
- "jest": "^29.7.0",
32
- "ts-jest": "^29.2.5",
33
- "ts-node": "^9.0.0",
34
- "typescript": "^5.6.2"
35
- },
36
- "repository": {
37
- "url": "git+https://github.com/klawdyo/validation-br.git"
38
- },
39
- "bugs": {
40
- "url": "https://github.com/klawdyo/validation-br/issues"
41
- },
42
- "homepage": "https://github.com/klawdyo/validation-br#readme",
43
- "keywords": [
44
- "validation-br",
45
- "validation",
46
- "personal documents",
47
- "document",
48
- "brazil",
49
- "brasil",
50
- "brazilian",
51
- "brasileiro",
52
- "cpf",
53
- "cnpj",
54
- "pis",
55
- "pasep",
56
- "cnh",
57
- "titulo eleitor",
58
- "eleitoral",
59
- "titulo",
60
- "renavam",
61
- "processos",
62
- "judiciais",
63
- "judicial",
64
- "justiça",
65
- "protocolo",
66
- "federal",
67
- "fake",
68
- "falso",
69
- "mock",
70
- "faker",
71
- "mockup",
72
- "mask",
73
- "mascara",
74
- "fake cpf",
75
- "fake cnpj",
76
- "fake cnh",
77
- "fake pis",
78
- "fake pasep",
79
- "fake cadunico",
80
- "fake renavam",
81
- "fake titulo",
82
- "fake titulo eleitor",
83
- "fake titulo eleitoral",
84
- "fake número processo",
85
- "processo justiça",
86
- "processo judicial",
87
- "valida",
88
- "validar",
89
- "validação",
90
- "valide",
91
- "validate",
92
- "format",
93
- "formatar",
94
- "formatador",
95
- "formatter",
96
- "nest",
97
- "nestjs",
98
- "yup",
99
- "next",
100
- "nextjs",
101
- "typeorm",
102
- "class-validator",
103
- "vuelidate",
104
- "vue",
105
- "vue3",
106
- "indicative",
107
- "adonis",
108
- "adonisjs",
109
- "adonis4",
110
- "adonisjs4"
111
- ]
112
- }
@@ -1,492 +0,0 @@
1
- # validation-br
2
-
3
- > **A primeira biblioteca a inserir o suporte ao CNPJ alfanumérico**
4
-
5
- Biblioteca de validação de documentos pessoais do Brasil com suporte a CPF, CNPJ (numérico e **alfanumérico**), Título Eleitoral, PIS/PASEP, CNH.
6
-
7
- `Validation-BR` também valida numerações de outros tipos de registros como RENAVAM, Processos Judiciais, Número de Protocolo do Governo Federal e Objetos registrados de Rastreamento dos Correios, além de permitir a criação de números fake para facilitar o desenvolvimento e testes, aplicar máscaras e calcular somente os dígitos verificadores.
8
-
9
- # Instalação
10
-
11
- ```sh
12
- # Usando yarn
13
- yarn add validation-br
14
-
15
- # Usando npm
16
- npm install validation-br
17
-
18
- ```
19
-
20
- # Importação
21
-
22
- ## Importação direta
23
-
24
- ```js
25
- // Modules
26
- const { isCPF, isCNPJ } = require('validation-br');
27
-
28
- // ES6 - Importação a partir do objeto principal
29
- import { isCPF, isCNPJ } from 'validation-br';
30
- ```
31
-
32
- ## Importação de submódulos
33
-
34
- Importando os submódulos, é possível criar máscaras, números fake para testes de desenvolvimento e calcular dígitos verificadores.
35
-
36
- > As funções dos exemplos abaixo se aplicam a todos os tipos de documentos.
37
-
38
- ```js
39
- // Importação direta
40
- import { isCPF } from 'validation-br';
41
- isCPF('01234567890'); // -> true
42
- isCPF('01234567891'); // -> false
43
-
44
- // Importe de submódulos
45
- import { dv, fake, mask, validate } from 'validation-br/dist/cpf';
46
-
47
- // Calculo do dígito verificador de um CPF. Os métodos aceitam inteiros e strings, inclusive com máscaras.
48
- dv(906259666); // -> '51'
49
- dv('906259666'); // -> '51'
50
- dv('906.259.666'); // -> '51'
51
-
52
- // Cria um número fake de CPF para fins de testes.
53
- fake(); // -> 90625966651
54
- // Passe um parâmetro true para gerar o número com máscara
55
- fake(true); // -> 906.259.666-51
56
-
57
- // Aplique uma máscara a um cpf
58
- mask(90625966651); // -> 906.259.666-51
59
-
60
- // Normalize o número do documento
61
- normalize('906.259.666-51'); // -> 90625966651
62
-
63
- // Valida um número e retorna exceção se a validação falhar
64
- validateOrFail('01234567890'); // -> true
65
- ```
66
-
67
- ## Tabela de Conteúdo
68
-
69
- ### Funções de Validação
70
-
71
- - [CNH](#cnh) - Validação do CNH
72
- - [CPF](#cpf) - Validação do CPF
73
- - [CNPJ](#cnpj) - Validação do CNPJ
74
- - [NUP-17](#nup-17) - Validação de Número Unificado de Protocolo do Governo Federal
75
- - [Processo Judicial](#processos-judiciais) - Validação de Números de Processos Judiciais
76
- - [PIS](#pis) - Validação de PIS, PASEP, NIS e NIT
77
- - [Código de Rastreamento Postal](#código-de-rastreamento-postal-dos-correios) - Validação de Objetos Registrados dos Correios
78
- - [Renavam](#renavam) - Validação de RENAVAM
79
- - [Titulo de Eleitor](#título-de-eleitor) - Validação do Título de Eleitor
80
-
81
- ## Usando em outras bibliotecas de validação
82
-
83
- `Validation-BR` pode ser utilizado em conjunto com quaisquer bibliotecas de validação que permita estender seus métodos.
84
- Abaixo seguem alguns exemplos. Sinta-se convidado a adicionar a sua biblioteca favorita em nosso wiki.
85
-
86
- - [Vuelidate](https://github.com/klawdyo/validation-br/wiki/Vuelidate) - Usado para validação de estado no vuejs
87
- - [Class-Validator](https://github.com/klawdyo/validation-br/wiki/ClassValidator) - Usado em nest, typeorm E mais uma infinidade de frameworks
88
- - [Indicative](https://github.com/klawdyo/validation-br/wiki/Indicative) - Indicative é a biblioteca padrão de validação usada no Adonis.
89
- - [Joi](https://github.com/klawdyo/validation-br/wiki/Joi) - Joi é um validador de esquemas usado em aplicações node, react, vue etc.
90
- - [Yup](https://github.com/klawdyo/validation-br/wiki/Yup) - Yup é usado para validar estado em aplicações react.
91
-
92
- ## CNH
93
-
94
- Valida o documento da carteira nacional de habilitação.
95
-
96
- ```js
97
- // Importação direta
98
- import { isCNH } from 'validation-br';
99
- isCNH('69044271146'); //-> true
100
- isCNH('62472927637'); //-> true
101
- isCNH('46190476839'); //-> false
102
-
103
- // Importação do submódulo
104
- import { validate, mask, normalize, fake, dv } from 'validation-br/dist/cnh';
105
-
106
- // Valida
107
- validate('624729276-37'); //-> true
108
- validateOrFail('62472927637'); //-> true
109
-
110
- // Número fake com e sem máscara
111
- fake(); // -> 62472927637
112
- fake(true); // -> 624729276-37
113
-
114
- // Aplica uma máscara
115
- mask('62472927637'); // -> 624729276-37
116
-
117
- // Normalize o número do documento
118
- normalize('624729276-37'); // -> 62472927637
119
-
120
- // Calcula o DV
121
- dv('624729276'); // -> '37'
122
- ```
123
-
124
- ## CNPJ
125
-
126
- Valida um CNPJ **numérico** e **alfanumérico**.
127
-
128
- > **Primeira biblioteca a inserir o suporte ao CNPJ alfanumérico.**
129
- >
130
- > A partir da [Nota Técnica conjunta COCAD/SUARA/RFB nº 49 de 14 de maio de 2024](https://github.com/user-attachments/files/15851229/Nota.COCAD.SUARA.2024.05.49.CNPJ.Alfanumerico-1.pdf), os números de CNPJ poderão ser alfanuméricos. A alteração entra em uso em 2026.
131
-
132
- ```js
133
- // Importação direta
134
- import { isCNPJ } from 'validation-br';
135
- isCNPJ('73.797.980/0001-79'); //-> true
136
- isCNPJ('55585709000198'); //-> true
137
- isCNPJ('99362238000180'); //-> false
138
-
139
- // ou
140
- // Importação do submódulo
141
- import { validate, mask, dv, normalize, fake, validateOrFail } from 'validation-br/dist/cnpj';
142
-
143
- // Valida
144
-
145
- validate('99362238000180'); //-> true
146
- validateOrFail('99362238000180'); //-> true
147
-
148
- // Número fake com e sem máscara
149
- fake(); // -> 55585709000198
150
- fake(true); // -> 55.585.709/0001-98
151
- fake({ withMask: true }); // -> 55.585.709/0001-98
152
- fake({ withMask: true, alphanumeric: true }); // -> A1.222.333/0001-50
153
- fake({ withMask: false, alphanumeric: true }); // -> A1222333/0001-50
154
-
155
- // Aplica uma máscara
156
- mask('99362238000180'); // -> 99.362.238/0001-80
157
-
158
- // Normalize o número do documento
159
- normalize('99.362.238/0001-80'); // -> 99362238000180
160
-
161
- // Calcula o DV
162
- dv('993622380001'); // -> '80'
163
- ```
164
-
165
- ## CPF
166
-
167
- Valida um CPF
168
-
169
- ```js
170
- // Importação direta
171
- import { isCPF } from 'validation-br';
172
- isCPF('01234567890'); //-> true
173
- isCPF('012.345.678-90'); //-> true
174
- isCPF('01234567891'); //-> false
175
-
176
- // ou
177
- // Importação do submódulo
178
- import { validate, mask, dv, normalize, fake, validateOrFail } from 'validation-br/dist/cpf';
179
-
180
- // Valida
181
- validate('01234567890'); //-> true
182
- validateOrFail('01234567890'); //-> true
183
-
184
- // Número fake com e sem máscara
185
- fake(); // -> 01234567891
186
- fake(true); // -> 012.345.678-91
187
-
188
- // Aplica uma máscara
189
- mask('01234567890'); // -> 012.345.678-90
190
-
191
- // Normalize o número do documento
192
- normalize('012.345.678-90'); // -> 01234567890
193
-
194
- // Calcula o DV
195
- dv('012345678'); // -> '90'
196
- ```
197
-
198
- ## Processos Judiciais
199
-
200
- Valida números de processo da esfera judicial. Esta padronização foi adotada em 2010 e de lá para cá todos os processos judiciais abertos no país seguem o mesmo padrão, seja eleitoral, cível, militar etc.
201
-
202
- O número é composto por 6 partes:
203
-
204
- 1. Número sequencial dado pelo órgão de registro, reiniciado a cada ano, com até 7 caracteres
205
- 2. Dígito verificador com 2 caracteres
206
- 3. Ano de registro com 4 caracteres
207
- 4. Órgão do poder judiciário com 1 caractere, sendo eles:
208
-
209
- - 1 - Supremo Tribunal Federal
210
- - 2 - Conselho Nacional de Justiça
211
- - 3 - Superior Tribunal de Justiça
212
- - 4 - Justiça Federal
213
- - 5 - Justiça do Trabalho
214
- - 6 - Justiça Eleitoral
215
- - 7 - Justiça Militar da União
216
- - 8 - Justiça dos Estados e do Distrito Federal e Territórios
217
- - 9 - Justiça Militar Estadual
218
-
219
- 5. Tribunal do segmento do poder judiciário com 2 caracteres
220
- 6. Código da unidade de origem do processo com 4 caracteres
221
-
222
- ```js
223
- // Importação direta
224
- import { isJudicialProcess } from 'validation-br';
225
- isJudicialProcess('20802520125150049'); //-> true
226
- isJudicialProcess('0011006-07.2016.8.20.0100'); //-> true
227
- isJudicialProcess('00110060720168200101'); //-> false
228
-
229
- // Importação do submódulo
230
- import {
231
- validate,
232
- mask,
233
- dv,
234
- normalize,
235
- fake,
236
- validateOrFail,
237
- } from 'validation-br/dist/judicialProcess';
238
-
239
- validate('00110060720168200100'); //-> true
240
- validateOrFail('00110060720168200100'); //-> true
241
-
242
- // Número fake com e sem máscara
243
- fake(); // -> 00110060720168200100
244
- fake(true); // -> 0011006-07.2016.8.20.0100
245
-
246
- // Aplica uma máscara
247
- mask('00110060720168200100'); // -> 0011006-07.2016.8.20.0100
248
-
249
- // Normalize o número do documento
250
- normalize('0011006-07.2016.8.20.0100'); // -> 00110060720168200100
251
-
252
- // Calcula o DV.
253
- // Obs.: Antes do cálculo, é necessário que o número do processo não possua o dígito verificador para que o resultado seja correto. Isso é necessário pois o DV fica no meio da numeração, na posição 8 e 9.
254
- dv('001100620168200100'); // -> '07'
255
- ```
256
-
257
- ## NUP-17
258
-
259
- Válida um Número Unificado de Protocolo de 17 dígitos. Esta numeração é usada pelo Governo Federal como forma única de numerar processos em todas os órgãos do executivo.
260
-
261
- 1. Os primeiros 5 dígitos correspondem código do órgão
262
- 2. Os dígitos de 6 a 11 são um número sequencial dado pelo órgão em questão e é reiniciado a cada ano
263
- 3. Os dígitos 12 a 15 representam o ano de registro do protocolo
264
- 4. Os caracteres 16 a 17 são o dígito verificador
265
-
266
- ```js
267
- // Importação direta
268
- import { isNUP17 } from 'validation-br';
269
- isNUP17('23037001462202165'); //-> true
270
- isNUP17('23037.001462/2021-65'); //-> true
271
- isNUP17('23037.001462/2021-66'); //-> false
272
-
273
- // ou
274
- // Importação do submódulo
275
- import { validate, mask, dv, normalize, fake, validateOrFail } from 'validation-br/dist/nup17';
276
-
277
- // Valida
278
- validate('23037.001462/2021-65'); //-> true
279
- validateOrFail('23037.001462/2021-65'); //-> true
280
-
281
- // Número fake com e sem máscara
282
- fake(); // -> 23037001462202165
283
- fake(true); // -> 23037.001462/2021-65
284
-
285
- // Aplica uma máscara
286
- mask('23037001462202165'); // -> 23037.001462/2021-65
287
-
288
- // Normalize o número do documento
289
- normalize('23037.001462/2021-65'); // -> 23037001462202165
290
-
291
- // Calcula o DV
292
- dv('230370014622021'); // -> '65'
293
- ```
294
-
295
- ## PIS
296
-
297
- Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita números com e sem pontos e traços.
298
-
299
- ```js
300
- // Importação direta
301
- import { isPIS } from 'validation-br';
302
- isPIS('71282677380'); //-> true
303
- isPIS('237.95126.95-5'); //-> true
304
- isPIS('500.12973.80-1'); //-> false
305
-
306
- // ou
307
- // Importação do submódulo
308
- import { validate, mask, dv, normalize, fake, validateOrFail } from 'validation-br/dist/pisPasep';
309
-
310
- // Valida
311
- validate('71282677380'); //-> true
312
- validateOrFail('71282677380'); //-> true
313
-
314
- // Número fake com e sem máscara
315
- fake(); // -> 71282677380
316
- fake(true); // -> 712.82677.38-0
317
-
318
- // Normalize o número do documento
319
- normalize('712.82677.38-0'); // -> 71282677380
320
-
321
- // Aplica uma máscara
322
- mask('71282677380'); // -> 712.82677.38-0
323
-
324
- // Calcula o DV
325
- dv('7128267738'); // -> '0'
326
- ```
327
-
328
- ## Código de Rastreamento Postal dos Correios
329
-
330
- Valida um código de rastreamento de objetos postais no formato XX00000000DYY, onde:
331
-
332
- - XX: O código do objeto postal com 2 dígitos;
333
- - 00000000: Número sequencial do objeto com 8 dígitos;
334
- - D: Dígito Verificador
335
- - YY: País de origem do objeto com 2 dígitos.
336
-
337
- ```js
338
- // Importação direta
339
- import { isPostalCode } from 'validation-br';
340
- isPostalCode('PN718252423BR'); //-> true
341
- isPostalCode('RY728187035CN'); //-> true
342
- isPostalCode('JT194624698BR'); //-> false
343
-
344
- // ou
345
- // Importação do submódulo
346
- import { validate, mask, dv, normalize, fake, validateOrFail } from 'validation-br/dist/postalCode';
347
-
348
- // Valida
349
- validate('PN718252423BR'); //-> true
350
- validateOrFail('PN718252423BR'); //-> true
351
-
352
- // Número fake com e sem máscara.
353
- fake(); // -> PN718252423BR
354
- fake(true); // -> PN718252423BR
355
-
356
- // Aplica uma máscara
357
- // No caso de PostalCode, a máscara apenas coloca as letras em maiúsculas, servindo como normalização
358
- mask('pn718252423br'); // -> PN718252423BR
359
-
360
- // Normalize o número do documento
361
- normalize('pn718252423br'); // -> PN718252423BR
362
-
363
- // Calcula o DV
364
- dv('PN718252423BR'); // -> '3'
365
- ```
366
-
367
- ## RENAVAM
368
-
369
- Valida o número de um RENAVAM de 11 dígitos
370
-
371
- ```js
372
- // Importação direta
373
- import { isRenavam } from 'validation-br';
374
- isRenavam('14283256656'); //-> true
375
- isRenavam('95059845976'); //-> true
376
- isRenavam('67747331626'); //-> false
377
-
378
- // ou
379
- // Importação do submódulo
380
- import { validate, mask, dv, normalize, fake, validateOrFail } from 'validation-br/dist/renavam';
381
-
382
- // Valida
383
- validate('95059845976'); //-> true
384
- validateOrFail('95059845976'); //-> true
385
-
386
- // Número fake com e sem máscara
387
- fake(); // -> 95059845976
388
- fake(true); // -> 9505984597-6
389
-
390
- // Normaliza o número do documento
391
- normalize('9505984597-6'); // -> 95059845976
392
-
393
- // Aplica uma máscara
394
- mask('95059845976'); // -> 9505984597-6
395
-
396
- // Calcula o DV
397
- dv('950598459'); // -> '76'
398
- ```
399
-
400
- ## Título de Eleitor
401
-
402
- Valida um título eleitoral
403
-
404
- ```js
405
- // Importação direta
406
- import { isTituloEleitor } from 'validation-br';
407
- isTituloEleitor('743650641660'); //-> true
408
- isTituloEleitor('525028881694'); //-> true
409
- isTituloEleitor('153016161686'); //-> false
410
-
411
- // Importação do submódulo
412
- import {
413
- validate,
414
- mask,
415
- dv,
416
- normalize,
417
- fake,
418
- validateOrFail,
419
- } from 'validation-br/dist/tituloEleitor';
420
-
421
- // Valida
422
- validate('01234567890'); //-> true
423
- validateOrFail('01234567890'); //-> true
424
-
425
- // Número fake com e sem máscara
426
- fake(); // -> 153016161686
427
- fake(true); // -> 1530.1616.1686
428
-
429
- // Normalize o número do documento
430
- normalize('1530.1616.1686'); // -> 153016161686
431
-
432
- // Aplica uma máscara
433
- mask('525028881694'); // -> 5250.2888.1694
434
-
435
- // Calcula o DV
436
- dv('5250288816'); // -> '94'
437
- ```
438
-
439
- # Testes
440
-
441
- Todos os testes passando com 100% de cobertura
442
-
443
- ![Testes passando com 100% de cobertura](https://github.com/user-attachments/assets/195a6acb-3a8a-4370-b503-184b8240fe66)
444
-
445
- # Github Actions
446
-
447
- Github actions executados nas versões 18, 20 e 22 do Node.
448
-
449
- ![Github actions executados nas versões 18, 20 e 22 do Node](https://github.com/user-attachments/assets/72799ba2-757c-497a-b958-b2de948fd666)
450
-
451
- # Changelog
452
-
453
- - **25/12/2025**:
454
- - 1.6.0
455
- - Incluída a função normalize() que retorna o valor normalizado, somente números (ou letras maiúsculas quando couber).
456
- - **16/12/2023**:
457
- - 1.5.0
458
- - CNPJ alfanumérico
459
- - Removidos github actions dos node 12, 14 e 16 e acrescentado o 22
460
- - **16/12/2023**:
461
- - 1.4.5
462
- - Corrige o caminho da definição dos types. (Thanks @ishigami)
463
- - **30/12/2022**:
464
- - 1.4.4
465
- - Correção de bug quando o documento válido tinha caracteres adicionais
466
- - Refatoração de `clearValue()` para comportar configurações opcionais
467
- - **01/10/2022**:
468
- - 1.4.1
469
- - Correção na importação principal dos módulos
470
- - Refatoração do isJudicialProcess para permitir 100% de cobertura dos testes
471
- - Inclusão de mais testes unitários para atingir 100% de cobertura
472
- - **10/01/2022**:
473
- - 1.1.0 - Adicionado NUP17 - Número Unificado de Protocolo de 17 dígitos do Governo Federal
474
- - **09/01/2022**:
475
- - 1.0.0 - Biblioteca convertida para Typescript e testes convertidos para Jest
476
- - **08/01/2022**:
477
- - 0.21.1 - Adicionadas as funções isRenavam e isJudicialProcess
478
- - **16/09/2021**:
479
- - 0.5.0 - Adicionadas as funções isCPF, isCNPJ e isTituloEleitor
480
- - 0.7.0 - Adicionadas as funções isPostalCode e isCNH
481
- - 0.8.0 - Adicionada a função isPIS
482
-
483
- # Referências
484
-
485
- - [Cálculo do DV do CPF](http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/)
486
- - [Cálculo do DV do CNPJ](http://www.macoratti.net/alg_cnpj.htm)
487
- - [Cálculo do DV do Título Eleitoral](http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/)
488
- - [Cálculo do PIS](http://www.macoratti.net/alg_pis.htm)
489
- - [Diferença entre PIS, PASEP, NIS e NIT](https://www.jornalcontabil.com.br/entenda-de-uma-vez-a-diferenca-entre-pis-pasep-nit-e-nis/#:~:text=NIS%20%E2%80%93%20N%C3%BAmero%20de%20Identifica%C3%A7%C3%A3o%20Social,do%20Patrim%C3%B4nio%20do%20Servidor%20P%C3%BAblico)
490
- - [Documentação Oficial de Numeração de Processos Judiciais](https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2)
491
- - [Cálculos de DV](http://ghiorzi.org/DVnew.htm)
492
- - [Cálculo do NUP17](https://www.gov.br/compras/pt-br/acesso-a-informacao/legislacao/portarias/portaria-interministerial-no-11-de-25-de-novembro-de-2019)
package/eslint.config.js DELETED
@@ -1,82 +0,0 @@
1
- module.exports = {
2
- // root: true,
3
- // extends: ['airbnb-base', 'prettier'],
4
- // parserOptions: {
5
- // ecmaVersion: 2018,
6
- // sourceType: 'module',
7
- // },
8
- // env: {
9
- // node: true,
10
- // jest: true,
11
- // },
12
- settings: {
13
- 'import/resolver': {
14
- node: {
15
- extensions: ['.js', '.ts'],
16
- },
17
- },
18
- },
19
- rules: {
20
- // '@typescript-eslint/no-unused-vars': ['error', { varsIgnorePattern: '^_', args: 'none' }],
21
- 'array-callback-return': 'off',
22
- 'arrow-body-style': 'off',
23
- curly: ['error', 'multi-line', 'consistent'],
24
- 'class-methods-use-this': 'off',
25
- 'consistent-return': 'warn',
26
- 'default-case': 'off',
27
- // 'import/extensions': ['error', 'never'],
28
- // 'import/first': 'warn',
29
- // 'import/no-named-as-default': 'warn',
30
- // 'import/no-named-as-default-member': 'warn',
31
- // 'import/no-unresolved': 'warn',
32
- // 'import/prefer-default-export': 'off',
33
- 'lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }],
34
- 'max-classes-per-file': 'off',
35
- 'max-len': ['error', 120, 2, { ignoreUrls: true, ignoreTemplateLiterals: true }],
36
- 'newline-per-chained-call': 'warn',
37
- 'no-await-in-loop': 'off',
38
- 'no-confusing-arrow': 'off',
39
- 'no-console': 'off',
40
- 'no-continue': 'off',
41
- 'no-else-return': ['error', { allowElseIf: true }],
42
- 'no-loop-func': 'off',
43
- 'no-mixed-operators': 'off',
44
- 'no-nested-ternary': 'off',
45
- // 'no-only-tests/no-only-tests': 'error',
46
- 'no-param-reassign': 'off',
47
- 'no-plusplus': 'off',
48
- 'no-prototype-builtins': 'off',
49
- 'no-restricted-syntax': 'off',
50
- 'no-return-assign': 'warn',
51
- 'no-sequences': 'warn',
52
- 'no-shadow': 'off',
53
- 'no-underscore-dangle': 'off',
54
- 'no-unexpected-multiline': 'off',
55
- 'no-unused-vars': 'off',
56
- 'no-use-before-define': ['warn', { functions: false, classes: false }],
57
- 'prefer-destructuring': 'off',
58
- semi: ['error', 'always'],
59
- 'sort-imports': 'off',
60
- 'no-unused-expressions': 'off',
61
- quotes: ['error', 'single', { avoidEscape: true }],
62
- // '@typescript-eslint/ban-types': 'error',
63
- },
64
- // overrides: [
65
- // {
66
- // files: ['*.ts'],
67
- // rules: {
68
- // 'no-dupe-class-members': 'off',
69
- // 'no-undef': 'off',
70
- // '@typescript-eslint/explicit-function-return-type': 'error',
71
- // },
72
- // },
73
- // {
74
- // files: ['*.d.ts'],
75
- // rules: {
76
- // 'no-useless-constructor': 'off', // crashes on constructor declaration in .d.ts files
77
- // },
78
- // },
79
- // ],
80
- // plugins: ['no-only-tests', '@typescript-eslint'],
81
- ignores: ['dist/*', '/node_modules/**'],
82
- };
package/jest.config.js DELETED
@@ -1,11 +0,0 @@
1
- module.exports = {
2
- moduleFileExtensions: ['ts', 'js'],
3
- transform: {
4
- '^.+\\.(ts|tsx)$': ['ts-jest', { /* ts-jest config goes here in Jest */ }],
5
- },
6
- testRegex: '(/test/.*\\.(test|spec))\\.(jsx?|tsx?)$',
7
- testEnvironment: 'node',
8
- coverageDirectory: './coverage/',
9
- collectCoverage: true,
10
- coverageProvider: 'v8',
11
- }