validation-br 1.4.0 → 1.4.2
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/.eslintcache +1 -1
- package/.github/workflows/test.yml +2 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +5 -6
- package/dist/index.js.map +1 -1
- package/dist/judicialProcess.d.ts +12 -0
- package/dist/judicialProcess.js +23 -4
- package/dist/judicialProcess.js.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/jest.config.js +2 -0
- package/package.json +4 -3
- package/readme.md +47 -224
- package/tsconfig.json +2 -2
package/.eslintcache
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"D:\\Desenvolvimento\\Javascript\\Validation-BR\\boilerplate-jest-eslint-ts\\.eslintrc.js":"1","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnh.ts":"2","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnpj.ts":"3","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cpf.ts":"4","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\judicialProcess.ts":"5","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\pisPasep.ts":"6","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\postalCode.ts":"7","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\renavam.ts":"8","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\tituloEleitor.ts":"9","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\index.ts":"10","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\nup17.test.ts":"11","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\nup17.ts":"12","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\utils.ts":"13","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\judicialProcess.test.ts":"14","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\utils-randomLetter.test.ts":"15"},{"size":2512,"mtime":1641739367275,"results":"
|
|
1
|
+
[{"D:\\Desenvolvimento\\Javascript\\Validation-BR\\boilerplate-jest-eslint-ts\\.eslintrc.js":"1","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnh.ts":"2","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnpj.ts":"3","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cpf.ts":"4","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\judicialProcess.ts":"5","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\pisPasep.ts":"6","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\postalCode.ts":"7","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\renavam.ts":"8","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\tituloEleitor.ts":"9","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\index.ts":"10","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\nup17.test.ts":"11","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\nup17.ts":"12","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\utils.ts":"13","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\judicialProcess.test.ts":"14","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\utils-randomLetter.test.ts":"15","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\jest.config.js":"16","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\index.test.ts":"17","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnh.test.ts":"18","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnpj.test.ts":"19","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cpf.test.ts":"20","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\pisPasep.test.ts":"21","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\postalCode.test.ts":"22","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\renavam.test.ts":"23","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\tituloEleitor.test.ts":"24"},{"size":2512,"mtime":1641739367275,"results":"25","hashOfConfig":"26"},{"size":3670,"mtime":1641857909477,"results":"27","hashOfConfig":"28"},{"size":3665,"mtime":1641857909477,"results":"29","hashOfConfig":"28"},{"size":3860,"mtime":1641857909479,"results":"30","hashOfConfig":"28"},{"size":6137,"mtime":1664635131177,"results":"31","hashOfConfig":"32"},{"size":3185,"mtime":1641857909611,"results":"33","hashOfConfig":"28"},{"size":3625,"mtime":1642529307638,"results":"34","hashOfConfig":"28"},{"size":3038,"mtime":1641857909470,"results":"35","hashOfConfig":"28"},{"size":3933,"mtime":1641857909467,"results":"36","hashOfConfig":"28"},{"size":1233,"mtime":1664635827132,"results":"37","hashOfConfig":"32"},{"size":3363,"mtime":1664976574179,"results":"38","hashOfConfig":"32"},{"size":4949,"mtime":1641857909475,"results":"39","hashOfConfig":"28"},{"size":5373,"mtime":1642529564093,"results":"40","hashOfConfig":"28"},{"size":4302,"mtime":1664976550653,"results":"41","hashOfConfig":"32"},{"size":316,"mtime":1642529055968,"results":"42","hashOfConfig":"28"},{"size":357,"mtime":1664633645786,"results":"43","hashOfConfig":"32"},{"size":2418,"mtime":1664976269830,"results":"44","hashOfConfig":"32"},{"size":2813,"mtime":1664976462991,"results":"45","hashOfConfig":"32"},{"size":3400,"mtime":1664976508421,"results":"46","hashOfConfig":"32"},{"size":2995,"mtime":1664976550645,"results":"47","hashOfConfig":"32"},{"size":2947,"mtime":1664976598888,"results":"48","hashOfConfig":"32"},{"size":3297,"mtime":1664976676149,"results":"49","hashOfConfig":"32"},{"size":2907,"mtime":1664976689887,"results":"50","hashOfConfig":"32"},{"size":3305,"mtime":1664976705717,"results":"51","hashOfConfig":"32"},{"filePath":"52","messages":"53","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mhu42l",{"filePath":"54","messages":"55","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1oacsom",{"filePath":"56","messages":"57","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"60","messages":"61","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mffhgm",{"filePath":"62","messages":"63","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"64","messages":"65","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"66","messages":"67","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"68","messages":"69","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"70","messages":"71","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"72","messages":"73","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"74","messages":"75","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"76","messages":"77","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"78","messages":"79","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"82","messages":"83","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"84","messages":"85","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"86","messages":"87","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"88","messages":"89","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"90","messages":"91","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"92","messages":"93","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"94","messages":"95","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"96","messages":"97","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"98","messages":"99","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\Desenvolvimento\\Javascript\\Validation-BR\\boilerplate-jest-eslint-ts\\.eslintrc.js",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnh.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnpj.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cpf.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\judicialProcess.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\pisPasep.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\postalCode.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\renavam.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\tituloEleitor.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\index.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\nup17.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\nup17.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\utils.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\judicialProcess.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\utils-randomLetter.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\jest.config.js",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\index.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnh.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cnpj.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\cpf.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\pisPasep.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\postalCode.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\renavam.test.ts",[],"D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\tituloEleitor.test.ts",[]]
|
package/dist/index.d.ts
CHANGED
|
@@ -3,19 +3,19 @@ export declare const isCNPJ: (value: string | number) => boolean;
|
|
|
3
3
|
export declare const isCPF: (value: string | number) => boolean;
|
|
4
4
|
export declare const isJudicialProcess: (value: string) => boolean;
|
|
5
5
|
export declare const isPIS: (value: string) => boolean;
|
|
6
|
-
export declare const isPostalCode: (value: string
|
|
6
|
+
export declare const isPostalCode: (value: string) => boolean;
|
|
7
7
|
export declare const isRenavam: (value: string) => boolean;
|
|
8
8
|
export declare const isTituloEleitor: (value: string | number) => boolean;
|
|
9
|
-
export declare const isNUP17: (value: string
|
|
9
|
+
export declare const isNUP17: (value: string) => boolean;
|
|
10
10
|
declare const _default: {
|
|
11
11
|
isCNH: (value: string | number) => boolean;
|
|
12
12
|
isCNPJ: (value: string | number) => boolean;
|
|
13
13
|
isCPF: (value: string | number) => boolean;
|
|
14
14
|
isJudicialProcess: (value: string) => boolean;
|
|
15
15
|
isPIS: (value: string) => boolean;
|
|
16
|
-
isPostalCode: (value: string
|
|
16
|
+
isPostalCode: (value: string) => boolean;
|
|
17
17
|
isRenavam: (value: string) => boolean;
|
|
18
18
|
isTituloEleitor: (value: string | number) => boolean;
|
|
19
|
-
isNUP17: (value: string
|
|
19
|
+
isNUP17: (value: string) => boolean;
|
|
20
20
|
};
|
|
21
21
|
export default _default;
|
package/dist/index.js
CHANGED
|
@@ -10,16 +10,15 @@ const pisPasep_1 = require("./pisPasep");
|
|
|
10
10
|
const postalCode_1 = require("./postalCode");
|
|
11
11
|
const renavam_1 = require("./renavam");
|
|
12
12
|
const tituloEleitor_1 = require("./tituloEleitor");
|
|
13
|
-
// export const isCNH = import('./cnh')
|
|
14
13
|
exports.isCNH = (value) => cnh_1.validate(value);
|
|
15
14
|
exports.isCNPJ = (value) => cnpj_1.validate(value);
|
|
16
15
|
exports.isCPF = (value) => cpf_1.validate(value);
|
|
17
16
|
exports.isJudicialProcess = (value) => judicialProcess_1.validate(value);
|
|
18
|
-
exports.isPIS = (value) =>
|
|
19
|
-
exports.isPostalCode = (value) =>
|
|
20
|
-
exports.isRenavam = (value) =>
|
|
21
|
-
exports.isTituloEleitor = (value) =>
|
|
22
|
-
exports.isNUP17 = (value) =>
|
|
17
|
+
exports.isPIS = (value) => pisPasep_1.validate(value);
|
|
18
|
+
exports.isPostalCode = (value) => postalCode_1.validate(value);
|
|
19
|
+
exports.isRenavam = (value) => renavam_1.validate(value);
|
|
20
|
+
exports.isTituloEleitor = (value) => tituloEleitor_1.validate(value);
|
|
21
|
+
exports.isNUP17 = (value) => nup17_1.validate(value);
|
|
23
22
|
exports.default = {
|
|
24
23
|
isCNH: exports.isCNH,
|
|
25
24
|
isCNPJ: exports.isCNPJ,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAAuC;AACvC,iCAAyC;AACzC,+BAAuC;AACvC,uDAA+D;AAC/D,mCAA2C;AAC3C,yCAAiD;AACjD,6CAAqD;AACrD,uCAA+C;AAC/C,mDAA2D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAAuC;AACvC,iCAAyC;AACzC,+BAAuC;AACvC,uDAA+D;AAC/D,mCAA2C;AAC3C,yCAAiD;AACjD,6CAAqD;AACrD,uCAA+C;AAC/C,mDAA2D;AAE9C,QAAA,KAAK,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,cAAG,CAAC,KAAK,CAAC,CAAA;AACvD,QAAA,MAAM,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,eAAI,CAAC,KAAK,CAAC,CAAA;AACzD,QAAA,KAAK,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,cAAG,CAAC,KAAK,CAAC,CAAA;AACvD,QAAA,iBAAiB,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,0BAAe,CAAC,KAAK,CAAC,CAAA;AACtE,QAAA,KAAK,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,mBAAQ,CAAC,KAAK,CAAC,CAAA;AACnD,QAAA,YAAY,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,qBAAU,CAAC,KAAK,CAAC,CAAA;AAC5D,QAAA,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,kBAAO,CAAC,KAAK,CAAC,CAAA;AACtD,QAAA,eAAe,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,wBAAa,CAAC,KAAK,CAAC,CAAA;AAC3E,QAAA,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,gBAAK,CAAC,KAAK,CAAC,CAAA;AAE/D,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,iBAAiB,EAAjB,yBAAiB;IACjB,KAAK,EAAL,aAAK;IACL,YAAY,EAAZ,oBAAY;IACZ,SAAS,EAAT,iBAAS;IACT,eAAe,EAAf,uBAAe;IACf,OAAO,EAAP,eAAO;CACR,CAAA"}
|
|
@@ -111,4 +111,16 @@ export declare const validateOrFail: (value: string) => boolean;
|
|
|
111
111
|
* @returns {Boolean}
|
|
112
112
|
*/
|
|
113
113
|
export declare const validate: (value: string) => boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Gera um número fake da sub corte de acordo com as regras:
|
|
116
|
+
* - Precisa ser uma string numérica de 2 dígitos.
|
|
117
|
+
* - Não pode ser '0'. CAso seja zero, mude para '01'.
|
|
118
|
+
*
|
|
119
|
+
* A função aceita um parâmetro para viabilizar os testes. Caso
|
|
120
|
+
* não seja definido, será gerado aleatoriamente.
|
|
121
|
+
*
|
|
122
|
+
* @param
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
export declare function _getSubCourt(courte?: string | undefined): string;
|
|
114
126
|
export default validate;
|
package/dist/judicialProcess.js
CHANGED
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
* Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
|
|
80
80
|
*/
|
|
81
81
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82
|
-
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
82
|
+
exports._getSubCourt = exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
83
83
|
const utils_1 = require("./utils");
|
|
84
84
|
/**
|
|
85
85
|
*
|
|
@@ -88,7 +88,6 @@ const utils_1 = require("./utils");
|
|
|
88
88
|
exports.dv = (value) => {
|
|
89
89
|
if (!value)
|
|
90
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
91
|
const judicialProcess = utils_1.clearValue(value, 18);
|
|
93
92
|
const num = judicialProcess.substring(0, 7);
|
|
94
93
|
const yearAndCourt = judicialProcess.substring(7, 14);
|
|
@@ -111,8 +110,7 @@ exports.fake = (withMask = false) => {
|
|
|
111
110
|
const year = new Date().getFullYear() - +utils_1.fakeNumber(1);
|
|
112
111
|
let courte1 = utils_1.fakeNumber(1, true); // Não pode ser '0'
|
|
113
112
|
courte1 = courte1 === '0' ? '1' : courte1;
|
|
114
|
-
|
|
115
|
-
courte2 = courte2 === '0' ? '01' : courte2;
|
|
113
|
+
const courte2 = _getSubCourt();
|
|
116
114
|
const courte = `${courte1}${courte2}`;
|
|
117
115
|
const origin = utils_1.fakeNumber(4, true);
|
|
118
116
|
const judicialProcess = `${num}${year}${courte}${origin}`;
|
|
@@ -156,5 +154,26 @@ exports.validate = (value) => {
|
|
|
156
154
|
return false;
|
|
157
155
|
}
|
|
158
156
|
};
|
|
157
|
+
// ////////////////////////////////////////////
|
|
158
|
+
//
|
|
159
|
+
// Funções auxiliares
|
|
160
|
+
//
|
|
161
|
+
// ////////////////////////////////////////////
|
|
162
|
+
/**
|
|
163
|
+
* Gera um número fake da sub corte de acordo com as regras:
|
|
164
|
+
* - Precisa ser uma string numérica de 2 dígitos.
|
|
165
|
+
* - Não pode ser '0'. CAso seja zero, mude para '01'.
|
|
166
|
+
*
|
|
167
|
+
* A função aceita um parâmetro para viabilizar os testes. Caso
|
|
168
|
+
* não seja definido, será gerado aleatoriamente.
|
|
169
|
+
*
|
|
170
|
+
* @param
|
|
171
|
+
*
|
|
172
|
+
*/
|
|
173
|
+
function _getSubCourt(courte = undefined) {
|
|
174
|
+
courte = courte !== null && courte !== void 0 ? courte : utils_1.fakeNumber(2, true).toString();
|
|
175
|
+
return +courte === 0 ? '01' : courte;
|
|
176
|
+
}
|
|
177
|
+
exports._getSubCourt = _getSubCourt;
|
|
159
178
|
exports.default = exports.validate;
|
|
160
179
|
//# sourceMappingURL=judicialProcess.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judicialProcess.js","sourceRoot":"","sources":["../src/judicialProcess.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;;;AAEH,mCAAiG;AAEjG;;;GAGG;AACU,QAAA,EAAE,GAAG,CAAC,KAAa,EAAU,EAAE;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"judicialProcess.js","sourceRoot":"","sources":["../src/judicialProcess.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -60,7 +60,7 @@ exports.sumElementsByMultipliers = sumElementsByMultipliers;
|
|
|
60
60
|
* @returns {String}
|
|
61
61
|
*/
|
|
62
62
|
function fakeNumber(length, forceLength = false) {
|
|
63
|
-
const value = Math.floor(Math.random() *
|
|
63
|
+
const value = Math.floor(Math.random() * 10 ** length);
|
|
64
64
|
if (forceLength)
|
|
65
65
|
return String(value).padStart(length, '0');
|
|
66
66
|
return +value;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;AAC3C,CAAC;AAFD,0BAEC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;AACjE,CAAC;AAFD,oDAEC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,wBAAwB,CAAC,KAAa,EAAE,UAA6B;IACnF,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3F,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,IAAY,EAAE,IAAS,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7E,CAAC,CACF,CAAA;AACH,CAAC;AAPD,4DAOC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,UAAU,CAAC,MAAc,EAAE,cAAuB,KAAK;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/jest.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "./dist/types.d.ts",
|
|
7
7
|
"author": "Cláudio Medeiros <klawdyo@gmail.com>",
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"test:coverage": "jest --collectCoverageFrom=src/**/*.ts --coverage",
|
|
14
14
|
"lint:list": "eslint */**/*.js --fix",
|
|
15
15
|
"format": "prettier --write \"./**/*.{js,ts,json}\"",
|
|
16
|
-
"prepublish": "yarn build"
|
|
16
|
+
"prepublish": "yarn build",
|
|
17
|
+
"prepare": "husky install"
|
|
17
18
|
},
|
|
18
19
|
"husky": {
|
|
19
20
|
"hooks": {
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"eslint-plugin-import": "^2.22.1",
|
|
40
41
|
"eslint-plugin-no-only-tests": "^2.4.0",
|
|
41
42
|
"eslint-plugin-prettier": "^3.1.4",
|
|
42
|
-
"husky": "^
|
|
43
|
+
"husky": "^7.0.4",
|
|
43
44
|
"jest": "^27.4.7",
|
|
44
45
|
"lint-staged": "^10.4.2",
|
|
45
46
|
"prettier": "^2.1.2",
|
package/readme.md
CHANGED
|
@@ -39,8 +39,10 @@ Importando os submódulos, é possível criar máscaras, números fake para test
|
|
|
39
39
|
```js
|
|
40
40
|
// ES6
|
|
41
41
|
import { dv, fake, mask, validate } from 'validation-br/dist/cpf'
|
|
42
|
+
// ou
|
|
43
|
+
import * as cpf from 'validation-br/dist/cpf'
|
|
42
44
|
|
|
43
|
-
//
|
|
45
|
+
// CommonJS
|
|
44
46
|
const cpf = require('validation-br/dist/cpf')
|
|
45
47
|
const { dv, fake, mask, validate } = require('validation-br/dist/cpf')
|
|
46
48
|
|
|
@@ -72,7 +74,6 @@ cpf.validateOrFail('01234567890') // -> true
|
|
|
72
74
|
- [isCPF](#isCPF-value-) - Validação do CPF
|
|
73
75
|
- [isCNPJ](#isCNPJ-value-) - Validação do CNPJ
|
|
74
76
|
- [isNUP17](#isNUP17-value-) - Validação de Número Unificado de Protocolo do Governo Federal
|
|
75
|
-
- [isPostalCode](#isPostalCode-value-) - Validação de Objetos Registrados dos Correios
|
|
76
77
|
- [isJudicialProcess](#isJudicialProcess-value-) - Validação de Números de Processos Judiciais
|
|
77
78
|
- [isPIS](#isPIS-value-) - Validação de PIS, PASEP, NIS e NIT
|
|
78
79
|
- [isPostalCode](#isPostalCode-value-) - Validação de Objetos Registrados dos Correios
|
|
@@ -81,10 +82,14 @@ cpf.validateOrFail('01234567890') // -> true
|
|
|
81
82
|
|
|
82
83
|
### Usando em outras bibliotecas de validação
|
|
83
84
|
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
- [
|
|
85
|
+
Validation-BR pode ser utilizado em conjunto com quaisquer bibliotecas de validação que permita estender seus métodos.
|
|
86
|
+
Abaixo seguem alguns exemplos. Sinta-se convidado a adicionar a sua biblioteca favorita em nosso wiki.
|
|
87
|
+
|
|
88
|
+
- [Vuelidate](https://github.com/klawdyo/validation-br/wiki/Vuelidate) - Usado para validação de estado no vuejs
|
|
89
|
+
- [Class-Validator](https://github.com/klawdyo/validation-br/wiki/ClassValidator) - Usado em nest, typeorm E mais uma infinidade de frameworks
|
|
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.
|
|
92
|
+
- [Yup](https://github.com/klawdyo/validation-br/wiki/Yup) - Yup é usado para validar estado em aplicações react.
|
|
88
93
|
|
|
89
94
|
### isCNH( `value` )
|
|
90
95
|
|
|
@@ -95,7 +100,10 @@ Valida o documento da carteira nacional de habilitação.
|
|
|
95
100
|
import { isCNH } from 'validation-br'
|
|
96
101
|
// ou
|
|
97
102
|
// Importação do submódulo
|
|
98
|
-
import
|
|
103
|
+
import {validate, mask} from 'validation-br/dist/cnh'
|
|
104
|
+
// ou
|
|
105
|
+
import * as cnh from 'validation-br/dist/cnh'
|
|
106
|
+
|
|
99
107
|
|
|
100
108
|
// Valida
|
|
101
109
|
isCNH('69044271146') //-> true
|
|
@@ -124,7 +132,9 @@ Valida um CNPJ
|
|
|
124
132
|
import { isCNPJ } from 'validation-br'
|
|
125
133
|
// ou
|
|
126
134
|
// Importação do submódulo
|
|
127
|
-
import
|
|
135
|
+
import {validate, mask} from 'validation-br/dist/cnpj'
|
|
136
|
+
// ou
|
|
137
|
+
import * as cnpj from 'validation-br/dist/cnpj'
|
|
128
138
|
|
|
129
139
|
// Valida
|
|
130
140
|
isCNPJ('73.797.980/0001-79') //-> true
|
|
@@ -153,7 +163,9 @@ Valida um CPF
|
|
|
153
163
|
import { isCPF } from 'validation-br'
|
|
154
164
|
// ou
|
|
155
165
|
// Importação do submódulo
|
|
156
|
-
import
|
|
166
|
+
import {validate, mask} from 'validation-br/dist/cpf'
|
|
167
|
+
// ou
|
|
168
|
+
import * as cpf from 'validation-br/dist/cpf'
|
|
157
169
|
|
|
158
170
|
// Valida
|
|
159
171
|
isCPF('01234567890') //-> true
|
|
@@ -202,7 +214,9 @@ O número é composto por 6 partes:
|
|
|
202
214
|
import { isJudicialProcess } from 'validation-br'
|
|
203
215
|
// ou
|
|
204
216
|
// Importação do submódulo
|
|
205
|
-
import
|
|
217
|
+
import {validate, mask} from 'validation-br/dist/judicialProcess'
|
|
218
|
+
// ou
|
|
219
|
+
import * as judicialProcess from 'validation-br/dist/judicialProcess'
|
|
206
220
|
|
|
207
221
|
// Valida
|
|
208
222
|
isJudicialProcess('20802520125150049') //-> true
|
|
@@ -237,7 +251,9 @@ Válida um Número Unificado de Protocolo de 17 dígitos. Esta numeração é us
|
|
|
237
251
|
import { isNUP17 } from 'validation-br'
|
|
238
252
|
// ou
|
|
239
253
|
// Importação do submódulo
|
|
240
|
-
import
|
|
254
|
+
import {validate, mask} from 'validation-br/dist/nup17'
|
|
255
|
+
// ou
|
|
256
|
+
import * as nup from 'validation-br/dist/nup17'
|
|
241
257
|
|
|
242
258
|
// Valida
|
|
243
259
|
isNUP17('23037001462202165') //-> true
|
|
@@ -266,7 +282,9 @@ Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita númer
|
|
|
266
282
|
import { isPIS } from 'validation-br'
|
|
267
283
|
// ou
|
|
268
284
|
// Importação do submódulo
|
|
269
|
-
import
|
|
285
|
+
import {validate, mask} from 'validation-br/dist/pisPasep'
|
|
286
|
+
// ou
|
|
287
|
+
import * as pis from 'validation-br/dist/pisPasep'
|
|
270
288
|
|
|
271
289
|
// Valida
|
|
272
290
|
isPIS('71282677380') //-> true
|
|
@@ -300,7 +318,9 @@ Valida um código de rastreamento de objetos postais no formato XX00000000DYY, o
|
|
|
300
318
|
import { isPostalCode } from 'validation-br'
|
|
301
319
|
// ou
|
|
302
320
|
// Importação do submódulo
|
|
303
|
-
import
|
|
321
|
+
import {validate, mask} from 'validation-br/dist/postalCode'
|
|
322
|
+
// ou
|
|
323
|
+
import * as postalCode from 'validation-br/dist/postalCode'
|
|
304
324
|
|
|
305
325
|
// Valida
|
|
306
326
|
isPostalCode('PN718252423BR') //-> true
|
|
@@ -330,7 +350,9 @@ Valida o número de um RENAVAM de 11 dígitos
|
|
|
330
350
|
import { isRenavam } from 'validation-br'
|
|
331
351
|
// ou
|
|
332
352
|
// Importação do submódulo
|
|
333
|
-
import
|
|
353
|
+
import {validate, mask} from 'validation-br/dist/renavam'
|
|
354
|
+
// ou
|
|
355
|
+
import * as renavam from 'validation-br/dist/renavam'
|
|
334
356
|
|
|
335
357
|
// Valida
|
|
336
358
|
isRenavam('14283256656') //-> true
|
|
@@ -359,7 +381,9 @@ Valida um título eleitoral
|
|
|
359
381
|
import { isTituloEleitor } from 'validation-br'
|
|
360
382
|
// ou
|
|
361
383
|
// Importação do submódulo
|
|
362
|
-
import
|
|
384
|
+
import {validate, mask} from 'validation-br/dist/tituloEleitor'
|
|
385
|
+
// ou
|
|
386
|
+
import * as titulo from 'validation-br/dist/tituloEleitor'
|
|
363
387
|
|
|
364
388
|
// Valida
|
|
365
389
|
isTituloEleitor('743650641660') //-> true
|
|
@@ -379,220 +403,19 @@ titulo.mask('525028881694') // -> 5250.2888.1694
|
|
|
379
403
|
titulo.dv('5250288816') // -> '94'
|
|
380
404
|
```
|
|
381
405
|
|
|
382
|
-
# Usando com outras bibliotecas de validação
|
|
383
|
-
|
|
384
|
-
## Vuelidate
|
|
385
|
-
|
|
386
|
-
<details>
|
|
387
|
-
<summary>Mostrar exemplos do vuelidate</summary>
|
|
388
|
-
|
|
389
|
-
```js
|
|
390
|
-
// Importação
|
|
391
|
-
import { validation as isCPF } from 'validation-br/dist/cpf'
|
|
392
|
-
|
|
393
|
-
const fnCpf = helpers.withMessage('CPF inválido', isCPF)
|
|
394
|
-
|
|
395
|
-
// ou
|
|
396
|
-
|
|
397
|
-
const fnCpf = { $validator: isCPF, $message: 'CPF inválido' }
|
|
398
|
-
|
|
399
|
-
// Definição das regras do vuelidate
|
|
400
|
-
import { required, minLength } from '@vuelidate/validators'
|
|
401
|
-
|
|
402
|
-
const rules = {
|
|
403
|
-
cpf: { fnCpf },
|
|
404
|
-
}
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
**Saiba mais**
|
|
408
|
-
|
|
409
|
-
- [Vuelidate](https://vuelidate-next.netlify.app/)
|
|
410
|
-
|
|
411
|
-
</details>
|
|
412
|
-
|
|
413
|
-
## class-validator
|
|
414
|
-
|
|
415
|
-
<details>
|
|
416
|
-
<summary>Mostrar exemplos do class-validator</summary>
|
|
417
|
-
|
|
418
|
-
Adiciona os decorators ao class-validator.
|
|
419
|
-
|
|
420
|
-
Crie um arquivo iscpf.decorator.ts e adicione em seu diretório de validadores, exemplo:
|
|
421
|
-
`src/validators/iscpf.decorator.ts` ou em qualquer outro diretório a seu critério.
|
|
422
|
-
|
|
423
|
-
```js
|
|
424
|
-
// src/validators/iscpf.decorator.ts
|
|
425
|
-
import {
|
|
426
|
-
registerDecorator,
|
|
427
|
-
ValidationOptions,
|
|
428
|
-
ValidatorConstraint,
|
|
429
|
-
ValidatorConstraintInterface,
|
|
430
|
-
ValidationArguments,
|
|
431
|
-
} from 'class-validator'
|
|
432
|
-
|
|
433
|
-
// Importa o isCPF do validation-br
|
|
434
|
-
import { isCPF } from 'validation-br'
|
|
435
|
-
|
|
436
|
-
@ValidatorConstraint({ async: false })
|
|
437
|
-
export class IsCpfConstraint implements ValidatorConstraintInterface {
|
|
438
|
-
validate(cpf: any, args: ValidationArguments) {
|
|
439
|
-
return isCPF(cpf)
|
|
440
|
-
}
|
|
441
|
-
defaultMessage() {
|
|
442
|
-
return 'CPF inválido'
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
// Registra o decorator
|
|
447
|
-
export function IsCpf(validationOptions?: ValidationOptions) {
|
|
448
|
-
return function (object: any, propertyName: string) {
|
|
449
|
-
registerDecorator({
|
|
450
|
-
target: object.constructor,
|
|
451
|
-
propertyName: propertyName,
|
|
452
|
-
options: validationOptions,
|
|
453
|
-
constraints: [],
|
|
454
|
-
validator: IsCpfConstraint,
|
|
455
|
-
})
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
Forma de uso no DTO
|
|
461
|
-
|
|
462
|
-
```ts
|
|
463
|
-
import { IsCpf } from '../../validators/iscpf.decorator'
|
|
464
|
-
|
|
465
|
-
export class CreateUserDto {
|
|
466
|
-
@IsString()
|
|
467
|
-
@IsNotEmpty()
|
|
468
|
-
@IsCpf()
|
|
469
|
-
cpf: string
|
|
470
|
-
}
|
|
471
|
-
```
|
|
472
|
-
|
|
473
|
-
**Saiba mais**
|
|
474
|
-
|
|
475
|
-
- [NestJS](https://nestjs.com)
|
|
476
|
-
- [class-validator](https://github.com/typestack/class-validator)
|
|
477
|
-
- [TypeORM](https://typeorm.io/)
|
|
478
|
-
</details>
|
|
479
|
-
|
|
480
|
-
## YUP
|
|
481
|
-
|
|
482
|
-
<details>
|
|
483
|
-
<summary>Mostrar exemplos do Yup</summary>
|
|
484
|
-
|
|
485
|
-
Aplica uma validação usando o Yup.
|
|
486
|
-
|
|
487
|
-
Crie um arquivo `validation-br.ts` em seu diretório de bibliotecas auxiliares, exemplo ´/src/lib/validation-br.ts´
|
|
488
|
-
|
|
489
|
-
```js
|
|
490
|
-
// Importe o Yup
|
|
491
|
-
import * as yup from 'yup'
|
|
492
|
-
|
|
493
|
-
// Importe o validateOrFail do submódulo de CPF do validation-br
|
|
494
|
-
import { validateOrFail } from 'validation-br/dist/cpf'
|
|
495
|
-
|
|
496
|
-
// Crie seu método personalizado chamado cpf()
|
|
497
|
-
function cpf(message) {
|
|
498
|
-
return this.test('cpf', message, function (value) {
|
|
499
|
-
const { path, createError } = this
|
|
500
|
-
|
|
501
|
-
try {
|
|
502
|
-
const valid = validateOrFail(value)
|
|
503
|
-
return true
|
|
504
|
-
} catch (error) {
|
|
505
|
-
// Cria um erro se cair no catch
|
|
506
|
-
return createError({
|
|
507
|
-
path,
|
|
508
|
-
// Exibe a mensagem do catch
|
|
509
|
-
message: message ?? error.message,
|
|
510
|
-
})
|
|
511
|
-
}
|
|
512
|
-
})
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
// Adiciona seu método cpf() ao grupo de strings do yup
|
|
516
|
-
yup.addMethod(yup.string, 'cpf', cpf)
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
### Como usar
|
|
520
|
-
|
|
521
|
-
cpf() já está disponível para uso dentro do Yup
|
|
522
|
-
|
|
523
|
-
```js
|
|
524
|
-
const validationSchema = yup.object().shape({
|
|
525
|
-
cpf: yup.string().required().cpf(),
|
|
526
|
-
})
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
**Saiba mais**
|
|
530
|
-
|
|
531
|
-
- [Yup](https://github.com/jquense/yup)
|
|
532
|
-
|
|
533
|
-
</details>
|
|
534
|
-
|
|
535
|
-
## Indicative
|
|
536
|
-
|
|
537
|
-
<details>
|
|
538
|
-
<summary>Mostrar exemplos do AdonisJS (Indicative)</summary>
|
|
539
|
-
|
|
540
|
-
[AdonisJS 4](https://legacy.adonisjs.com/docs/4.1/installation) usa [indicative](https://indicative-v5.adonisjs.com/) para realizar suas validações.
|
|
541
|
-
|
|
542
|
-
Crie um arquivo `validation_br.js` em seu diretório de validações customizadas, exemplo ´/app/Validators/extend/validation_br.js´.
|
|
543
|
-
|
|
544
|
-
```js
|
|
545
|
-
const { isCPF } = require('validation-br')
|
|
546
|
-
|
|
547
|
-
///app/Validators/extend/validation_br.js
|
|
548
|
-
const _cpf = async (payload, fieldName, message, arguments, get) => {
|
|
549
|
-
// Pega o valor do campo
|
|
550
|
-
const cpf = get(payload, fieldName)
|
|
551
|
-
// Pulando caso esteja vazio
|
|
552
|
-
if (!cpf) return
|
|
553
|
-
|
|
554
|
-
if (!isCPF(cpf)) {
|
|
555
|
-
throw message
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
const Validator = use('Validator')
|
|
560
|
-
Validator.extend('cpf', _cpf)
|
|
561
|
-
```
|
|
562
|
-
|
|
563
|
-
### Como usar
|
|
564
|
-
|
|
565
|
-
Agora é necessário importar o arquivo na página que avalia as suas regras de validação do seu endpoint.
|
|
566
|
-
|
|
567
|
-
```js
|
|
568
|
-
|
|
569
|
-
// Importa o arquivo com as validações customizadas
|
|
570
|
-
require('../extend/validation_br')
|
|
571
|
-
|
|
572
|
-
// Inclui a regra criada para o campo cpf
|
|
573
|
-
get rules() {
|
|
574
|
-
return {
|
|
575
|
-
cpf: [
|
|
576
|
-
rule('required'),
|
|
577
|
-
rule('cpf'),
|
|
578
|
-
]
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
```
|
|
582
|
-
|
|
583
|
-
**Saiba mais**
|
|
584
|
-
|
|
585
|
-
- [Adonis 4](https://legacy.adonisjs.com/docs/4.1/installation)
|
|
586
|
-
- [Indicative](https://indicative-v5.adonisjs.com/)
|
|
587
|
-
|
|
588
|
-
</details>
|
|
589
|
-
|
|
590
406
|
# Testes
|
|
591
407
|
|
|
592
|
-
|
|
408
|
+
Todos os testes passando com 100% de cobertura
|
|
409
|
+
|
|
410
|
+

|
|
593
411
|
|
|
594
412
|
# Changelog
|
|
595
413
|
|
|
414
|
+
- **01/10/2022**:
|
|
415
|
+
- 1.4.1
|
|
416
|
+
- Correção na importação principal dos módulos
|
|
417
|
+
- Refatoração do isJudicialProcess para permitir 100% de cobertura dos testes
|
|
418
|
+
- Inclusão de mais testes unitários para atingir 100% de cobertura
|
|
596
419
|
- **10/01/2022**:
|
|
597
420
|
- 1.1.0 - Adicionado NUP17 - Número Unificado de Protocolo de 17 dígitos do Governo Federal
|
|
598
421
|
- **09/01/2022**:
|
package/tsconfig.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"baseUrl": "src",
|
|
4
4
|
"module": "commonjs",
|
|
5
5
|
"esModuleInterop": true,
|
|
6
|
-
"target": "
|
|
6
|
+
"target": "ES2018",
|
|
7
7
|
"moduleResolution": "node",
|
|
8
8
|
"sourceMap": true,
|
|
9
9
|
"outDir": "./dist",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"allowJs": true,
|
|
16
16
|
"types": ["node", "jest"],
|
|
17
17
|
"typeRoots": ["node_modules/@types", "index.d.ts"],
|
|
18
|
-
"lib": ["
|
|
18
|
+
"lib": ["ES2018"],
|
|
19
19
|
"paths": {
|
|
20
20
|
"*": ["node_modules/*"]
|
|
21
21
|
}
|