validation-br 1.4.2 → 1.4.5
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.
- package/.github/workflows/test.yml +1 -1
- package/dist/cnh.js +34 -23
- package/dist/cnh.js.map +1 -1
- package/dist/cnpj.js +34 -21
- package/dist/cnpj.js.map +1 -1
- package/dist/cpf.js +34 -23
- package/dist/cpf.js.map +1 -1
- package/dist/data/ValidationBRError.d.ts +6 -0
- package/dist/data/ValidationBRError.js +10 -0
- package/dist/data/ValidationBRError.js.map +1 -0
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/dist/judicialProcess.js +32 -21
- package/dist/judicialProcess.js.map +1 -1
- package/dist/nup17.js +38 -28
- package/dist/nup17.js.map +1 -1
- package/dist/pisPasep.js +32 -21
- package/dist/pisPasep.js.map +1 -1
- package/dist/postalCode.js +23 -14
- package/dist/postalCode.js.map +1 -1
- package/dist/renavam.js +32 -20
- package/dist/renavam.js.map +1 -1
- package/dist/tituloEleitor.js +33 -22
- package/dist/tituloEleitor.js.map +1 -1
- package/dist/utils.d.ts +12 -1
- package/dist/utils.js +27 -6
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +24 -12
- package/tsconfig.json +1 -0
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.randomLetter = exports.applyMask = exports.removeFromPosition = exports.insertAtPosition = exports.clearValue = exports.fakeNumber = exports.sumElementsByMultipliers = exports.invalidListGenerator = exports.sumToDV = void 0;
|
|
7
|
+
const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
|
|
4
8
|
/**
|
|
5
9
|
* Calcula o DV verificador a partir das regras do MOD11:
|
|
6
10
|
* O valor da soma é dividido por 11. O resultado é o resto da divisão. Caso o resto seja
|
|
@@ -84,11 +88,28 @@ exports.fakeNumber = fakeNumber;
|
|
|
84
88
|
* @param {Number} length Tamanho exato. Se for null, só retira os caracteres não-numéricos
|
|
85
89
|
* @returns {String} Número com o tamanho exato
|
|
86
90
|
*/
|
|
87
|
-
function clearValue(value, length = null) {
|
|
88
|
-
|
|
89
|
-
if (
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
function clearValue(value, length = null, options) {
|
|
92
|
+
let clearedValue = String(value).replace(/([/.-]+)/gi, '');
|
|
93
|
+
if (options) {
|
|
94
|
+
if (options.rejectEmpty === true && clearedValue.length === 0) {
|
|
95
|
+
throw ValidationBRError_1.default.EMPTY_VALUE;
|
|
96
|
+
}
|
|
97
|
+
if (options.rejectHigherLength === true && length && clearedValue.length > length) {
|
|
98
|
+
throw ValidationBRError_1.default.MAX_LEN_EXCEDEED;
|
|
99
|
+
}
|
|
100
|
+
if (options.rejectEqualSequence === true && length) {
|
|
101
|
+
const invalidList = invalidListGenerator(length);
|
|
102
|
+
if (invalidList.includes(clearedValue)) {
|
|
103
|
+
throw ValidationBRError_1.default.SEQUENCE_REPEATED;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// if (!length || clearedValue.length === length) return clearedValue
|
|
107
|
+
if (length && options.fillZerosAtLeft)
|
|
108
|
+
clearedValue = clearedValue.padStart(length, '0');
|
|
109
|
+
if (length && options.trimAtRight)
|
|
110
|
+
clearedValue = clearedValue.substring(0, length);
|
|
111
|
+
}
|
|
112
|
+
return clearedValue;
|
|
92
113
|
}
|
|
93
114
|
exports.clearValue = clearValue;
|
|
94
115
|
/**
|
|
@@ -142,7 +163,7 @@ exports.removeFromPosition = removeFromPosition;
|
|
|
142
163
|
*/
|
|
143
164
|
function applyMask(value, mask) {
|
|
144
165
|
const maskLen = clearValue(mask).length;
|
|
145
|
-
let masked = clearValue(value, maskLen);
|
|
166
|
+
let masked = clearValue(value, maskLen, { fillZerosAtLeft: true, trimAtRight: true });
|
|
146
167
|
const specialChars = ['/', '-', '.', '(', ')', ' '];
|
|
147
168
|
for (let position = 0; position < mask.length; position += 1) {
|
|
148
169
|
const current = mask[position];
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "validation-br",
|
|
3
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.4.
|
|
4
|
+
"version": "1.4.5",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
|
-
"types": "./dist/
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
7
|
"author": "Cláudio Medeiros <klawdyo@gmail.com>",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"scripts": {
|
package/readme.md
CHANGED
|
@@ -88,7 +88,7 @@ Abaixo seguem alguns exemplos. Sinta-se convidado a adicionar a sua biblioteca f
|
|
|
88
88
|
- [Vuelidate](https://github.com/klawdyo/validation-br/wiki/Vuelidate) - Usado para validação de estado no vuejs
|
|
89
89
|
- [Class-Validator](https://github.com/klawdyo/validation-br/wiki/ClassValidator) - Usado em nest, typeorm E mais uma infinidade de frameworks
|
|
90
90
|
- [Indicative](https://github.com/klawdyo/validation-br/wiki/Indicative) - Indicative é a biblioteca padrão de validação usada no Adonis.
|
|
91
|
-
- [Joi](https://github.com/klawdyo/validation-br/wiki/Joi) - Joi é um validador de esquemas usado em aplicações node, react, vue etc.
|
|
91
|
+
- [Joi](https://github.com/klawdyo/validation-br/wiki/Joi) - Joi é um validador de esquemas usado em aplicações node, react, vue etc.
|
|
92
92
|
- [Yup](https://github.com/klawdyo/validation-br/wiki/Yup) - Yup é usado para validar estado em aplicações react.
|
|
93
93
|
|
|
94
94
|
### isCNH( `value` )
|
|
@@ -100,11 +100,10 @@ Valida o documento da carteira nacional de habilitação.
|
|
|
100
100
|
import { isCNH } from 'validation-br'
|
|
101
101
|
// ou
|
|
102
102
|
// Importação do submódulo
|
|
103
|
-
import {validate, mask} from 'validation-br/dist/cnh'
|
|
103
|
+
import { validate, mask } from 'validation-br/dist/cnh'
|
|
104
104
|
// ou
|
|
105
105
|
import * as cnh from 'validation-br/dist/cnh'
|
|
106
106
|
|
|
107
|
-
|
|
108
107
|
// Valida
|
|
109
108
|
isCNH('69044271146') //-> true
|
|
110
109
|
isCNH('62472927637') //-> true
|
|
@@ -132,7 +131,7 @@ Valida um CNPJ
|
|
|
132
131
|
import { isCNPJ } from 'validation-br'
|
|
133
132
|
// ou
|
|
134
133
|
// Importação do submódulo
|
|
135
|
-
import {validate, mask} from 'validation-br/dist/cnpj'
|
|
134
|
+
import { validate, mask } from 'validation-br/dist/cnpj'
|
|
136
135
|
// ou
|
|
137
136
|
import * as cnpj from 'validation-br/dist/cnpj'
|
|
138
137
|
|
|
@@ -163,7 +162,7 @@ Valida um CPF
|
|
|
163
162
|
import { isCPF } from 'validation-br'
|
|
164
163
|
// ou
|
|
165
164
|
// Importação do submódulo
|
|
166
|
-
import {validate, mask} from 'validation-br/dist/cpf'
|
|
165
|
+
import { validate, mask } from 'validation-br/dist/cpf'
|
|
167
166
|
// ou
|
|
168
167
|
import * as cpf from 'validation-br/dist/cpf'
|
|
169
168
|
|
|
@@ -214,7 +213,7 @@ O número é composto por 6 partes:
|
|
|
214
213
|
import { isJudicialProcess } from 'validation-br'
|
|
215
214
|
// ou
|
|
216
215
|
// Importação do submódulo
|
|
217
|
-
import {validate, mask} from 'validation-br/dist/judicialProcess'
|
|
216
|
+
import { validate, mask } from 'validation-br/dist/judicialProcess'
|
|
218
217
|
// ou
|
|
219
218
|
import * as judicialProcess from 'validation-br/dist/judicialProcess'
|
|
220
219
|
|
|
@@ -251,7 +250,7 @@ Válida um Número Unificado de Protocolo de 17 dígitos. Esta numeração é us
|
|
|
251
250
|
import { isNUP17 } from 'validation-br'
|
|
252
251
|
// ou
|
|
253
252
|
// Importação do submódulo
|
|
254
|
-
import {validate, mask} from 'validation-br/dist/nup17'
|
|
253
|
+
import { validate, mask } from 'validation-br/dist/nup17'
|
|
255
254
|
// ou
|
|
256
255
|
import * as nup from 'validation-br/dist/nup17'
|
|
257
256
|
|
|
@@ -282,7 +281,7 @@ Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita númer
|
|
|
282
281
|
import { isPIS } from 'validation-br'
|
|
283
282
|
// ou
|
|
284
283
|
// Importação do submódulo
|
|
285
|
-
import {validate, mask} from 'validation-br/dist/pisPasep'
|
|
284
|
+
import { validate, mask } from 'validation-br/dist/pisPasep'
|
|
286
285
|
// ou
|
|
287
286
|
import * as pis from 'validation-br/dist/pisPasep'
|
|
288
287
|
|
|
@@ -318,7 +317,7 @@ Valida um código de rastreamento de objetos postais no formato XX00000000DYY, o
|
|
|
318
317
|
import { isPostalCode } from 'validation-br'
|
|
319
318
|
// ou
|
|
320
319
|
// Importação do submódulo
|
|
321
|
-
import {validate, mask} from 'validation-br/dist/postalCode'
|
|
320
|
+
import { validate, mask } from 'validation-br/dist/postalCode'
|
|
322
321
|
// ou
|
|
323
322
|
import * as postalCode from 'validation-br/dist/postalCode'
|
|
324
323
|
|
|
@@ -350,7 +349,7 @@ Valida o número de um RENAVAM de 11 dígitos
|
|
|
350
349
|
import { isRenavam } from 'validation-br'
|
|
351
350
|
// ou
|
|
352
351
|
// Importação do submódulo
|
|
353
|
-
import {validate, mask} from 'validation-br/dist/renavam'
|
|
352
|
+
import { validate, mask } from 'validation-br/dist/renavam'
|
|
354
353
|
// ou
|
|
355
354
|
import * as renavam from 'validation-br/dist/renavam'
|
|
356
355
|
|
|
@@ -381,7 +380,7 @@ Valida um título eleitoral
|
|
|
381
380
|
import { isTituloEleitor } from 'validation-br'
|
|
382
381
|
// ou
|
|
383
382
|
// Importação do submódulo
|
|
384
|
-
import {validate, mask} from 'validation-br/dist/tituloEleitor'
|
|
383
|
+
import { validate, mask } from 'validation-br/dist/tituloEleitor'
|
|
385
384
|
// ou
|
|
386
385
|
import * as titulo from 'validation-br/dist/tituloEleitor'
|
|
387
386
|
|
|
@@ -407,10 +406,23 @@ titulo.dv('5250288816') // -> '94'
|
|
|
407
406
|
|
|
408
407
|
Todos os testes passando com 100% de cobertura
|
|
409
408
|
|
|
410
|
-

|
|
410
|
+
|
|
411
|
+
# Github Actions
|
|
412
|
+
|
|
413
|
+
Github actions executados nas versões 12, 14, 16, 18 e 20 do Node.
|
|
414
|
+
|
|
415
|
+

|
|
411
416
|
|
|
412
417
|
# Changelog
|
|
413
418
|
|
|
419
|
+
- **16/12/2023**:
|
|
420
|
+
- 1.4.5
|
|
421
|
+
- Corrige o caminho da definição dos types. (Thanks @ishigami)
|
|
422
|
+
- **30/12/2022**:
|
|
423
|
+
- 1.4.4
|
|
424
|
+
- Correção de bug quando o documento válido tinha caracteres adicionais
|
|
425
|
+
- Refatoração de `clearValue()` para comportar configurações opcionais
|
|
414
426
|
- **01/10/2022**:
|
|
415
427
|
- 1.4.1
|
|
416
428
|
- Correção na importação principal dos módulos
|