validation-br 0.8.3 → 1.0.0-b
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/.eslintignore +2 -0
- package/.eslintrc.js +76 -11
- package/.github/workflows/test.yml +39 -0
- package/.prettierignore +1 -0
- package/.prettierrc.js +7 -0
- package/dist/cnh.js +123 -0
- package/dist/cnh.js.map +1 -0
- package/dist/cnh.test.js +117 -0
- package/dist/cnh.test.js.map +1 -0
- package/dist/cnpj.js +112 -0
- package/dist/cnpj.js.map +1 -0
- package/dist/cnpj.test.js +141 -0
- package/dist/cnpj.test.js.map +1 -0
- package/dist/cpf.js +134 -0
- package/dist/cpf.js.map +1 -0
- package/dist/cpf.test.js +130 -0
- package/dist/cpf.test.js.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/index.test.js +33 -0
- package/dist/index.test.js.map +1 -0
- package/dist/judicialProcess.js +153 -0
- package/dist/judicialProcess.js.map +1 -0
- package/dist/judicialProcess.test.js +123 -0
- package/dist/judicialProcess.test.js.map +1 -0
- package/dist/pisPasep.js +113 -0
- package/dist/pisPasep.js.map +1 -0
- package/dist/pisPasep.test.js +129 -0
- package/dist/pisPasep.test.js.map +1 -0
- package/dist/postalCode.js +150 -0
- package/dist/postalCode.js.map +1 -0
- package/dist/postalCode.test.js +135 -0
- package/dist/postalCode.test.js.map +1 -0
- package/dist/renavam.js +108 -0
- package/dist/renavam.js.map +1 -0
- package/dist/renavam.test.js +113 -0
- package/dist/renavam.test.js.map +1 -0
- package/dist/tituloEleitor.js +130 -0
- package/dist/tituloEleitor.js.map +1 -0
- package/dist/tituloEleitor.test.js +132 -0
- package/dist/tituloEleitor.test.js.map +1 -0
- package/dist/utils-applyMask.test.js +17 -0
- package/dist/utils-applyMask.test.js.map +1 -0
- package/dist/utils-clearValue.test.js +50 -0
- package/dist/utils-clearValue.test.js.map +1 -0
- package/dist/utils-fakeNumber.test.js +17 -0
- package/dist/utils-fakeNumber.test.js.map +1 -0
- package/dist/utils-insertAtPosition.test.js +16 -0
- package/dist/utils-insertAtPosition.test.js.map +1 -0
- package/dist/utils-invalidListGenerator.test.js +23 -0
- package/dist/utils-invalidListGenerator.test.js.map +1 -0
- package/dist/utils-removeFromPosition.test.js +16 -0
- package/dist/utils-removeFromPosition.test.js.map +1 -0
- package/dist/utils-sumElementsByMultipliers.test.js +32 -0
- package/dist/utils-sumElementsByMultipliers.test.js.map +1 -0
- package/dist/utils-sumToDV.test.js +16 -0
- package/dist/utils-sumToDV.test.js.map +1 -0
- package/dist/utils.js +167 -0
- package/dist/utils.js.map +1 -0
- package/jest.config.js +14 -0
- package/package.json +40 -48
- package/readme.md +243 -88
- package/src/cnh.test.ts +114 -0
- package/src/cnh.ts +140 -0
- package/src/cnpj.test.ts +136 -0
- package/{dist/documents/cnpj.js → src/cnpj.ts} +74 -21
- package/src/cpf.test.ts +125 -0
- package/src/cpf.ts +150 -0
- package/src/index.test.ts +35 -0
- package/src/index.ts +19 -0
- package/src/judicialProcess.test.ts +118 -0
- package/src/judicialProcess.ts +167 -0
- package/src/pisPasep.test.ts +124 -0
- package/src/pisPasep.ts +128 -0
- package/src/postalCode.test.ts +132 -0
- package/src/postalCode.ts +164 -0
- package/src/renavam.test.ts +110 -0
- package/src/renavam.ts +122 -0
- package/src/tituloEleitor.test.ts +129 -0
- package/src/tituloEleitor.ts +146 -0
- package/src/utils-applyMask.test.ts +17 -0
- package/src/utils-clearValue.test.ts +55 -0
- package/src/utils-fakeNumber.test.ts +19 -0
- package/src/utils-insertAtPosition.test.ts +15 -0
- package/src/utils-invalidListGenerator.test.ts +27 -0
- package/src/utils-removeFromPosition.test.ts +15 -0
- package/src/utils-sumElementsByMultipliers.test.ts +34 -0
- package/src/utils-sumToDV.test.ts +16 -0
- package/src/utils.ts +172 -0
- package/tsconfig.json +23 -0
- package/.babelrc +0 -15
- package/.prettierrc +0 -9
- package/dist/documents/cnh.js +0 -77
- package/dist/documents/cnh.js.map +0 -1
- package/dist/documents/cnpj.js.map +0 -1
- package/dist/documents/cpf.js +0 -83
- package/dist/documents/cpf.js.map +0 -1
- package/dist/documents/index.js +0 -23
- package/dist/documents/index.js.map +0 -1
- package/dist/documents/pis-pasep.js +0 -71
- package/dist/documents/pis-pasep.js.map +0 -1
- package/dist/documents/postal-code.js +0 -72
- package/dist/documents/postal-code.js.map +0 -1
- package/dist/documents/titulo-eleitor.js +0 -74
- package/dist/documents/titulo-eleitor.js.map +0 -1
- package/dist/lib/utils.js +0 -60
- package/dist/lib/utils.js.map +0 -1
- package/docs.md +0 -0
- package/index.js +0 -3
package/dist/cpf.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* isCPF()
|
|
4
|
+
* Calcula se um CPF é válido
|
|
5
|
+
*
|
|
6
|
+
* @doc
|
|
7
|
+
* CPF deve possuir 11 dígitos.
|
|
8
|
+
*
|
|
9
|
+
* - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
|
|
10
|
+
*
|
|
11
|
+
* - O caractere 9 refere-se à região fiscal emissora do documento
|
|
12
|
+
* 1 – DF, GO, MS, MT e TO
|
|
13
|
+
* 2 – AC, AM, AP, PA, RO e RR
|
|
14
|
+
* 3 – CE, MA e PI
|
|
15
|
+
* 4 – AL, PB, PE, RN
|
|
16
|
+
* 5 – BA e SE
|
|
17
|
+
* 6 – MG
|
|
18
|
+
* 7 – ES e RJ
|
|
19
|
+
* 8 – SP
|
|
20
|
+
* 9 – PR e SC
|
|
21
|
+
* 0 – RS
|
|
22
|
+
*
|
|
23
|
+
* - Os caracteres 10 e 11 são dígitos verificadores.
|
|
24
|
+
*
|
|
25
|
+
* 1) Partes do número
|
|
26
|
+
* ------------------------------------------------
|
|
27
|
+
* | Número | R | DV |
|
|
28
|
+
* 2 8 0 . 0 1 2 . 3 8 9 - 3 8
|
|
29
|
+
*
|
|
30
|
+
* 2) Cálculo do primeiro DV.
|
|
31
|
+
*
|
|
32
|
+
* - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
33
|
+
*
|
|
34
|
+
* 2 8 0 0 1 2 3 8 9
|
|
35
|
+
* x x x x x x x x x
|
|
36
|
+
* 10 9 8 7 6 5 4 3 2
|
|
37
|
+
* = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
|
|
38
|
+
*
|
|
39
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
40
|
+
* 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
|
|
41
|
+
* Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
|
|
42
|
+
*
|
|
43
|
+
* 3) Cálculo do segundo DV.
|
|
44
|
+
*
|
|
45
|
+
* - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
|
|
46
|
+
*
|
|
47
|
+
* 2 8 0 0 1 2 3 8 9 3
|
|
48
|
+
* x x x x x x x x x x
|
|
49
|
+
* 11 10 9 8 7 6 5 4 3 2
|
|
50
|
+
* = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
|
|
51
|
+
*
|
|
52
|
+
* - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
|
|
53
|
+
* 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
|
|
54
|
+
* Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
|
|
55
|
+
*
|
|
56
|
+
* Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
|
|
57
|
+
*
|
|
58
|
+
* @param {String} value Título eleitoral
|
|
59
|
+
* @returns {Boolean}
|
|
60
|
+
*/
|
|
61
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
+
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
63
|
+
const utils_1 = require("./utils");
|
|
64
|
+
/**
|
|
65
|
+
* dv()
|
|
66
|
+
* Calcula o dígito verificador de um CPF
|
|
67
|
+
*
|
|
68
|
+
* @param {Number|String} value
|
|
69
|
+
* @returns {String}
|
|
70
|
+
*/
|
|
71
|
+
exports.dv = (value) => {
|
|
72
|
+
if (!value)
|
|
73
|
+
throw new Error('CPF não informado');
|
|
74
|
+
const cpf = utils_1.clearValue(value, 9);
|
|
75
|
+
const invalidList = utils_1.invalidListGenerator(9);
|
|
76
|
+
if (invalidList.includes(cpf)) {
|
|
77
|
+
throw new Error('CPF não pode ser uma sequência de números iguais');
|
|
78
|
+
}
|
|
79
|
+
const sum1 = utils_1.sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
80
|
+
const dv1 = utils_1.sumToDV(sum1);
|
|
81
|
+
const sum2 = utils_1.sumElementsByMultipliers(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);
|
|
82
|
+
const dv2 = utils_1.sumToDV(sum2);
|
|
83
|
+
return `${dv1}${dv2}`;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Aplica uma máscara ao número informado
|
|
87
|
+
*
|
|
88
|
+
* @param {String} value Número de Processo
|
|
89
|
+
* @returns {String} Valor com a máscara
|
|
90
|
+
*/
|
|
91
|
+
exports.mask = (value) => utils_1.applyMask(value, '000.000.000-00');
|
|
92
|
+
/**
|
|
93
|
+
* fake()
|
|
94
|
+
* Gera um número válido
|
|
95
|
+
*
|
|
96
|
+
* @returns {String}
|
|
97
|
+
*/
|
|
98
|
+
exports.fake = (withMask = false) => {
|
|
99
|
+
const num = utils_1.fakeNumber(9, true);
|
|
100
|
+
const cpf = `${num}${exports.dv(num)}`;
|
|
101
|
+
if (withMask)
|
|
102
|
+
return exports.mask(cpf);
|
|
103
|
+
return cpf;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* validateOrFail()
|
|
107
|
+
* Valida se um número de processo está correto e
|
|
108
|
+
* retorna uma exceção se não estiver
|
|
109
|
+
*
|
|
110
|
+
* @returns {Boolean}
|
|
111
|
+
*/
|
|
112
|
+
exports.validateOrFail = (value) => {
|
|
113
|
+
const cpf = utils_1.clearValue(value, 11);
|
|
114
|
+
if (exports.dv(cpf) !== cpf.substring(9, 11)) {
|
|
115
|
+
throw new Error('Dígito verificador inválido');
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* validate()
|
|
121
|
+
* Valida se um número de processo está correto
|
|
122
|
+
*
|
|
123
|
+
* @returns {Boolean}
|
|
124
|
+
*/
|
|
125
|
+
exports.validate = (value) => {
|
|
126
|
+
try {
|
|
127
|
+
return exports.validateOrFail(value);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
exports.default = exports.validate;
|
|
134
|
+
//# sourceMappingURL=cpf.js.map
|
package/dist/cpf.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpf.js","sourceRoot":"","sources":["../src/cpf.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;;;AAEH,mCAOgB;AAEhB;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEhC,MAAM,WAAW,GAAG,4BAAoB,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClF,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAE1F;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAE9B,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEjC,IAAI,UAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI;QACF,OAAO,sBAAc,CAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAED,kBAAe,gBAAQ,CAAA"}
|
package/dist/cpf.test.js
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const cpf_1 = __importStar(require("./cpf"));
|
|
23
|
+
describe('CPF', () => {
|
|
24
|
+
test('isCPF() - Números válidos', () => {
|
|
25
|
+
const list = [
|
|
26
|
+
// masked
|
|
27
|
+
'133.782.710-00',
|
|
28
|
+
'400.448.260-79',
|
|
29
|
+
// integer
|
|
30
|
+
8796742020,
|
|
31
|
+
74172316085,
|
|
32
|
+
// string
|
|
33
|
+
'15886489070',
|
|
34
|
+
'90889477086',
|
|
35
|
+
];
|
|
36
|
+
list.forEach((cpf) => {
|
|
37
|
+
expect(cpf_1.default(cpf)).toBeTruthy();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
test('validate() - Números válidos', () => {
|
|
41
|
+
const list = [
|
|
42
|
+
// masked
|
|
43
|
+
'133.782.710-00',
|
|
44
|
+
'400.448.260-79',
|
|
45
|
+
// integer
|
|
46
|
+
8796742020,
|
|
47
|
+
74172316085,
|
|
48
|
+
// string
|
|
49
|
+
'15886489070',
|
|
50
|
+
'90889477086',
|
|
51
|
+
];
|
|
52
|
+
list.forEach((cpf) => {
|
|
53
|
+
expect(cpf_1.validate(cpf)).toBeTruthy();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
test('validate() - Números inválidos', () => {
|
|
57
|
+
const list = [
|
|
58
|
+
'287.967.420-20',
|
|
59
|
+
'333.782.710-00',
|
|
60
|
+
'200.448.260-79',
|
|
61
|
+
'24172316085',
|
|
62
|
+
'25886489070',
|
|
63
|
+
'20889477086',
|
|
64
|
+
'11111111111',
|
|
65
|
+
];
|
|
66
|
+
list.forEach((cpf) => {
|
|
67
|
+
expect(cpf_1.validate(cpf)).toBeFalsy();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
test('validateOrFail() - Números inválidos', () => {
|
|
71
|
+
const list = [
|
|
72
|
+
'287.967.420-20',
|
|
73
|
+
'333.782.710-00',
|
|
74
|
+
'200.448.260-79',
|
|
75
|
+
'24172316085',
|
|
76
|
+
'25886489070',
|
|
77
|
+
'20889477086',
|
|
78
|
+
'11111111111',
|
|
79
|
+
];
|
|
80
|
+
list.forEach((cpf) => {
|
|
81
|
+
expect(() => cpf_1.validateOrFail(cpf)).toThrow();
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
test('Parâmetro não informado', () => {
|
|
85
|
+
expect(cpf_1.default('')).toBeFalsy();
|
|
86
|
+
expect(cpf_1.validate('')).toBeFalsy();
|
|
87
|
+
expect(() => cpf_1.validateOrFail('')).toThrow();
|
|
88
|
+
expect(() => cpf_1.dv('')).toThrow();
|
|
89
|
+
});
|
|
90
|
+
test('fake() - Gera fakes sem máscara', () => {
|
|
91
|
+
for (let i = 0; i < 5; i += 1) {
|
|
92
|
+
const cpf = cpf_1.fake();
|
|
93
|
+
expect(cpf_1.validate(cpf)).toBeTruthy();
|
|
94
|
+
expect(cpf).toHaveLength(11);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
test('fake() - Gera fakes com máscara', () => {
|
|
98
|
+
for (let i = 0; i < 5; i += 1) {
|
|
99
|
+
const cpf = cpf_1.fake(true);
|
|
100
|
+
expect(cpf_1.validate(cpf)).toBeTruthy();
|
|
101
|
+
expect(cpf).toHaveLength(14);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
test('dv() - Verificando se o DV gerado está correto', () => {
|
|
105
|
+
const list = [
|
|
106
|
+
{ num: '741723160', expected: '85' },
|
|
107
|
+
{ num: 158864890, expected: '70' },
|
|
108
|
+
{ num: '908894770', expected: '86' },
|
|
109
|
+
];
|
|
110
|
+
list.forEach((item) => {
|
|
111
|
+
const calcDv = cpf_1.dv(item.num);
|
|
112
|
+
expect(calcDv).toBe(item.expected);
|
|
113
|
+
expect(typeof calcDv).toBe('string');
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
test('mask() - Testando se a máscara foi gerada corretamente', () => {
|
|
117
|
+
const list = [
|
|
118
|
+
{ num: '74172316085', expected: '741.723.160-85' },
|
|
119
|
+
{ num: 15886489070, expected: '158.864.890-70' },
|
|
120
|
+
{ num: '90889477086', expected: '908.894.770-86' },
|
|
121
|
+
{ num: 889477086, expected: '008.894.770-86' },
|
|
122
|
+
];
|
|
123
|
+
list.forEach((item) => {
|
|
124
|
+
const masked = cpf_1.mask(item.num);
|
|
125
|
+
expect(masked).toBe(item.expected);
|
|
126
|
+
expect(masked).toHaveLength(14);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=cpf.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpf.test.js","sourceRoot":"","sources":["../src/cpf.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const cnh_1 = __importDefault(require("./cnh"));
|
|
7
|
+
const cnpj_1 = __importDefault(require("./cnpj"));
|
|
8
|
+
const cpf_1 = __importDefault(require("./cpf"));
|
|
9
|
+
const judicialProcess_1 = __importDefault(require("./judicialProcess"));
|
|
10
|
+
const pisPasep_1 = __importDefault(require("./pisPasep"));
|
|
11
|
+
const postalCode_1 = __importDefault(require("./postalCode"));
|
|
12
|
+
const renavam_1 = __importDefault(require("./renavam"));
|
|
13
|
+
const tituloEleitor_1 = __importDefault(require("./tituloEleitor"));
|
|
14
|
+
exports.default = {
|
|
15
|
+
isCNH: cnh_1.default,
|
|
16
|
+
isCNPJ: cnpj_1.default,
|
|
17
|
+
isCPF: cpf_1.default,
|
|
18
|
+
isJudicialProcess: judicialProcess_1.default,
|
|
19
|
+
isPIS: pisPasep_1.default,
|
|
20
|
+
isPostalCode: postalCode_1.default,
|
|
21
|
+
isRenavam: renavam_1.default,
|
|
22
|
+
isTituloEleitor: tituloEleitor_1.default,
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,kDAA2B;AAC3B,gDAAyB;AACzB,wEAAiD;AACjD,0DAA8B;AAC9B,8DAAuC;AACvC,wDAAiC;AACjC,oEAA6C;AAE7C,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,iBAAiB,EAAjB,yBAAiB;IACjB,KAAK,EAAL,kBAAK;IACL,YAAY,EAAZ,oBAAY;IACZ,SAAS,EAAT,iBAAS;IACT,eAAe,EAAf,uBAAe;CAChB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_1 = __importDefault(require("./index"));
|
|
7
|
+
describe('ValidateBR', () => {
|
|
8
|
+
test('Deve importar isCNH', () => {
|
|
9
|
+
expect(index_1.default.isCNH).toBeDefined();
|
|
10
|
+
});
|
|
11
|
+
test('Deve importar isCNPJ', () => {
|
|
12
|
+
expect(index_1.default.isCNPJ).toBeDefined();
|
|
13
|
+
});
|
|
14
|
+
test('Deve importar isCPF', () => {
|
|
15
|
+
expect(index_1.default.isCPF).toBeDefined();
|
|
16
|
+
});
|
|
17
|
+
test('Deve importar isJudicialProcess', () => {
|
|
18
|
+
expect(index_1.default.isJudicialProcess).toBeDefined();
|
|
19
|
+
});
|
|
20
|
+
test('Deve importar isPIS', () => {
|
|
21
|
+
expect(index_1.default.isPIS).toBeDefined();
|
|
22
|
+
});
|
|
23
|
+
test('Deve importar isPostalCode', () => {
|
|
24
|
+
expect(index_1.default.isPostalCode).toBeDefined();
|
|
25
|
+
});
|
|
26
|
+
test('Deve importar isRenavam', () => {
|
|
27
|
+
expect(index_1.default.isRenavam).toBeDefined();
|
|
28
|
+
});
|
|
29
|
+
test('Deve importar isTituloEleitor', () => {
|
|
30
|
+
expect(index_1.default.isTituloEleitor).toBeDefined();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAAgC;AAEhC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,eAAU,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,eAAU,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,eAAU,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,eAAU,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,eAAU,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,eAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,eAAU,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,eAAU,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82
|
+
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
83
|
+
const utils_1 = require("./utils");
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
exports.dv = (value) => {
|
|
89
|
+
if (!value)
|
|
90
|
+
throw new Error('Número do processo é obrigatório');
|
|
91
|
+
// if (typeof value !== 'string') throw new Error('Número do processo precisa ser string')
|
|
92
|
+
const judicialProcess = utils_1.clearValue(value, 18);
|
|
93
|
+
const num = judicialProcess.substring(0, 7);
|
|
94
|
+
const yearAndCourt = judicialProcess.substring(7, 14);
|
|
95
|
+
const origin = judicialProcess.substring(14, 18);
|
|
96
|
+
return String(98 - (Number(`${Number(`${Number(num) % 97}${yearAndCourt}`) % 97}${origin}00`) % 97)).padStart(2, '0');
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Aplica uma máscara ao número informado
|
|
100
|
+
*
|
|
101
|
+
* @param {String} value Número de Processo
|
|
102
|
+
* @returns {String} Valor com a máscara
|
|
103
|
+
*/
|
|
104
|
+
exports.mask = (value) => utils_1.applyMask(value, '0000000-00.0000.0.00.0000');
|
|
105
|
+
/**
|
|
106
|
+
*
|
|
107
|
+
*
|
|
108
|
+
*/
|
|
109
|
+
exports.fake = (withMask = false) => {
|
|
110
|
+
const num = utils_1.fakeNumber(7, true);
|
|
111
|
+
const year = new Date().getFullYear() - +utils_1.fakeNumber(1);
|
|
112
|
+
const courte1 = utils_1.fakeNumber(1, true); // Não pode ser '0'
|
|
113
|
+
const courte2 = utils_1.fakeNumber(2, true);
|
|
114
|
+
const courte = `${courte1 === '0' || courte1 === '10' ? '1' : courte1}${courte2}`;
|
|
115
|
+
const origin = utils_1.fakeNumber(4, true);
|
|
116
|
+
const judicialProcess = `${num}${year}${courte}${origin}`;
|
|
117
|
+
const digits = exports.dv(judicialProcess);
|
|
118
|
+
const finalNumber = utils_1.insertAtPosition(judicialProcess, digits, 7);
|
|
119
|
+
if (withMask)
|
|
120
|
+
return exports.mask(finalNumber);
|
|
121
|
+
return finalNumber;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* validate()
|
|
125
|
+
* Valida se um número de processo está correto
|
|
126
|
+
*
|
|
127
|
+
*/
|
|
128
|
+
exports.validateOrFail = (value) => {
|
|
129
|
+
const judicialProcess = utils_1.clearValue(value, 20);
|
|
130
|
+
const processWithoutDV = utils_1.removeFromPosition(judicialProcess, 7, 9);
|
|
131
|
+
if (processWithoutDV.substring(11, 12) === '0') {
|
|
132
|
+
throw new Error('Código do Órgão Judiciário não pode ser "0"');
|
|
133
|
+
}
|
|
134
|
+
if (exports.dv(processWithoutDV) !== judicialProcess.substring(7, 9)) {
|
|
135
|
+
throw new Error('Dígito verificador inválido');
|
|
136
|
+
}
|
|
137
|
+
return true;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* validate()
|
|
141
|
+
* Valida se um número de processo está correto
|
|
142
|
+
*
|
|
143
|
+
*/
|
|
144
|
+
exports.validate = (value) => {
|
|
145
|
+
try {
|
|
146
|
+
return exports.validateOrFail(value);
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
exports.default = exports.validate;
|
|
153
|
+
//# sourceMappingURL=judicialProcess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judicialProcess.js","sourceRoot":"","sources":["../src/judicialProcess.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const judicialProcess_1 = __importStar(require("./judicialProcess"));
|
|
23
|
+
describe('JudicialProcess', () => {
|
|
24
|
+
test('isJudicialProcess() - Números válidos', () => {
|
|
25
|
+
const list = [
|
|
26
|
+
'20802520125150049',
|
|
27
|
+
'61052838320098130024',
|
|
28
|
+
'00110060720168200100',
|
|
29
|
+
'08002785520134058400',
|
|
30
|
+
'08002732820164058400',
|
|
31
|
+
];
|
|
32
|
+
list.forEach((judicialProcess) => {
|
|
33
|
+
expect(judicialProcess_1.default(judicialProcess)).toBeTruthy();
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
test('validate() - Números válidos', () => {
|
|
37
|
+
const list = [
|
|
38
|
+
'20802520125150049',
|
|
39
|
+
'61052838320098130024',
|
|
40
|
+
'00110060720168200100',
|
|
41
|
+
'08002785520134058400',
|
|
42
|
+
'08002732820164058400',
|
|
43
|
+
];
|
|
44
|
+
list.forEach((judicialProcess) => {
|
|
45
|
+
expect(judicialProcess_1.validate(judicialProcess)).toBeTruthy();
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
test('validate() - Números inválidos', () => {
|
|
49
|
+
const list = [
|
|
50
|
+
'20802520125150044',
|
|
51
|
+
'61052838320098130023',
|
|
52
|
+
'00110060720168200102',
|
|
53
|
+
'08002785520134058401',
|
|
54
|
+
'08002732820164058406',
|
|
55
|
+
'08002732820160058400',
|
|
56
|
+
];
|
|
57
|
+
list.forEach((judicialProcess) => {
|
|
58
|
+
expect(judicialProcess_1.validate(judicialProcess)).toBeFalsy();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
test('validateOrFail() - Números inválidos', () => {
|
|
62
|
+
const list = [
|
|
63
|
+
'20802520125150044',
|
|
64
|
+
'61052838320098130023',
|
|
65
|
+
'00110060720168200102',
|
|
66
|
+
'08002785520134058401',
|
|
67
|
+
'08002732820164058406',
|
|
68
|
+
'08002732820160058400',
|
|
69
|
+
];
|
|
70
|
+
list.forEach((judicialProcess) => {
|
|
71
|
+
expect(() => judicialProcess_1.validateOrFail(judicialProcess)).toThrow();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
test('Parâmetro não informado', () => {
|
|
75
|
+
expect(judicialProcess_1.default('')).toBeFalsy();
|
|
76
|
+
expect(judicialProcess_1.validate('')).toBeFalsy();
|
|
77
|
+
expect(() => judicialProcess_1.validateOrFail('')).toThrow();
|
|
78
|
+
expect(() => judicialProcess_1.dv('')).toThrow();
|
|
79
|
+
});
|
|
80
|
+
test('fake() - Gera fakes sem máscara', () => {
|
|
81
|
+
for (let i = 0; i < 5; i += 1) {
|
|
82
|
+
const judicialProcess = judicialProcess_1.fake();
|
|
83
|
+
expect(judicialProcess_1.validate(judicialProcess)).toBeTruthy();
|
|
84
|
+
expect(judicialProcess).toHaveLength(20);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
test('fake() - Gera fakes com máscara', () => {
|
|
88
|
+
for (let i = 0; i < 5; i += 1) {
|
|
89
|
+
const judicialProcess = judicialProcess_1.fake(true);
|
|
90
|
+
expect(judicialProcess_1.validate(judicialProcess)).toBeTruthy();
|
|
91
|
+
expect(judicialProcess).toHaveLength(25);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
test('dv() - Verificando se o DV gerado está correto', () => {
|
|
95
|
+
const list = [
|
|
96
|
+
{ num: '000208020125150049', expected: '25' },
|
|
97
|
+
{ num: '610528320098130024', expected: '83' },
|
|
98
|
+
{ num: '001100620168200100', expected: '07' },
|
|
99
|
+
{ num: '080027820134058400', expected: '55' },
|
|
100
|
+
{ num: '080027320164058400', expected: '28' },
|
|
101
|
+
];
|
|
102
|
+
list.forEach((item) => {
|
|
103
|
+
const calcDv = judicialProcess_1.dv(item.num);
|
|
104
|
+
expect(calcDv).toBe(item.expected);
|
|
105
|
+
expect(typeof calcDv).toBe('string');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
test('mask() - Testando se a máscara foi gerada corretamente', () => {
|
|
109
|
+
const list = [
|
|
110
|
+
{ num: '20802520125150049', expected: '0002080-25.2012.5.15.0049' },
|
|
111
|
+
{ num: '61052838320098130024', expected: '6105283-83.2009.8.13.0024' },
|
|
112
|
+
{ num: '00110060720168200100', expected: '0011006-07.2016.8.20.0100' },
|
|
113
|
+
{ num: '08002785520134058400', expected: '0800278-55.2013.4.05.8400' },
|
|
114
|
+
{ num: '08002732820164058400', expected: '0800273-28.2016.4.05.8400' },
|
|
115
|
+
];
|
|
116
|
+
list.forEach((item) => {
|
|
117
|
+
const masked = judicialProcess_1.mask(item.num);
|
|
118
|
+
expect(masked).toBe(item.expected);
|
|
119
|
+
expect(masked).toHaveLength(25);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=judicialProcess.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judicialProcess.test.js","sourceRoot":"","sources":["../src/judicialProcess.test.ts"],"names":[],"mappings":"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"}
|