validation-br 1.2.0-rc3 → 1.4.0

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 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"},{"size":2512,"mtime":1641739367275,"results":"15","hashOfConfig":"16"},{"size":3670,"mtime":1641857909477,"results":"17","hashOfConfig":"18"},{"size":3665,"mtime":1641857909477,"results":"19","hashOfConfig":"18"},{"size":3860,"mtime":1641857909479,"results":"20","hashOfConfig":"18"},{"size":5663,"mtime":1641858240139,"results":"21","hashOfConfig":"18"},{"size":3185,"mtime":1641857909611,"results":"22","hashOfConfig":"18"},{"size":3855,"mtime":1641857909469,"results":"23","hashOfConfig":"18"},{"size":3038,"mtime":1641857909470,"results":"24","hashOfConfig":"18"},{"size":3933,"mtime":1641857909467,"results":"25","hashOfConfig":"18"},{"size":448,"mtime":1641854975529,"results":"26","hashOfConfig":"18"},{"size":3279,"mtime":1641854975529,"results":"27","hashOfConfig":"18"},{"size":4949,"mtime":1641857909475,"results":"28","hashOfConfig":"18"},{"size":5334,"mtime":1641858202329,"results":"29","hashOfConfig":"18"},{"size":3469,"mtime":1641858290806,"results":"30","hashOfConfig":"18"},{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mhu42l",{"filePath":"33","messages":"34","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1oacsom",{"filePath":"35","messages":"36","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"49","messages":"50","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"55","messages":"56","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","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",[]]
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":"16","hashOfConfig":"17"},{"size":3670,"mtime":1641857909477,"results":"18","hashOfConfig":"19"},{"size":3665,"mtime":1641857909477,"results":"20","hashOfConfig":"19"},{"size":3860,"mtime":1641857909479,"results":"21","hashOfConfig":"19"},{"size":5663,"mtime":1641858240139,"results":"22","hashOfConfig":"19"},{"size":3185,"mtime":1641857909611,"results":"23","hashOfConfig":"19"},{"size":3625,"mtime":1642529307638,"results":"24","hashOfConfig":"19"},{"size":3038,"mtime":1641857909470,"results":"25","hashOfConfig":"19"},{"size":3933,"mtime":1641857909467,"results":"26","hashOfConfig":"19"},{"size":1291,"mtime":1641924995098,"results":"27","hashOfConfig":"19"},{"size":3279,"mtime":1641854975529,"results":"28","hashOfConfig":"19"},{"size":4949,"mtime":1641857909475,"results":"29","hashOfConfig":"19"},{"size":5373,"mtime":1642529564093,"results":"30","hashOfConfig":"19"},{"size":3469,"mtime":1641858290806,"results":"31","hashOfConfig":"19"},{"size":316,"mtime":1642529055968,"results":"32","hashOfConfig":"19"},{"filePath":"33","messages":"34","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mhu42l",{"filePath":"35","messages":"36","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1oacsom",{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"43","messages":"44","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"49","messages":"50","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"55","messages":"56","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"59","messages":"60","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"61","messages":"62","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",[]]
package/dist/index.d.ts CHANGED
@@ -1,12 +1,21 @@
1
+ export declare const isCNH: (value: string | number) => boolean;
2
+ export declare const isCNPJ: (value: string | number) => boolean;
3
+ export declare const isCPF: (value: string | number) => boolean;
4
+ export declare const isJudicialProcess: (value: string) => boolean;
5
+ export declare const isPIS: (value: string) => boolean;
6
+ export declare const isPostalCode: (value: string | number) => boolean;
7
+ export declare const isRenavam: (value: string) => boolean;
8
+ export declare const isTituloEleitor: (value: string | number) => boolean;
9
+ export declare const isNUP17: (value: string | number) => boolean;
1
10
  declare const _default: {
2
11
  isCNH: (value: string | number) => boolean;
3
12
  isCNPJ: (value: string | number) => boolean;
4
13
  isCPF: (value: string | number) => boolean;
5
14
  isJudicialProcess: (value: string) => boolean;
6
- isPIS: (value: string | number) => boolean;
7
- isPostalCode: (value: string) => boolean;
8
- isRenavam: (value: string | number) => boolean;
15
+ isPIS: (value: string) => boolean;
16
+ isPostalCode: (value: string | number) => boolean;
17
+ isRenavam: (value: string) => boolean;
9
18
  isTituloEleitor: (value: string | number) => boolean;
10
- isNUP17: (value: string) => boolean;
19
+ isNUP17: (value: string | number) => boolean;
11
20
  };
12
21
  export default _default;
package/dist/index.js CHANGED
@@ -1,26 +1,34 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  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 nup17_1 = __importDefault(require("./nup17"));
11
- const pisPasep_1 = __importDefault(require("./pisPasep"));
12
- const postalCode_1 = __importDefault(require("./postalCode"));
13
- const renavam_1 = __importDefault(require("./renavam"));
14
- const tituloEleitor_1 = __importDefault(require("./tituloEleitor"));
3
+ exports.isNUP17 = exports.isTituloEleitor = exports.isRenavam = exports.isPostalCode = exports.isPIS = exports.isJudicialProcess = exports.isCPF = exports.isCNPJ = exports.isCNH = void 0;
4
+ const cnh_1 = require("./cnh");
5
+ const cnpj_1 = require("./cnpj");
6
+ const cpf_1 = require("./cpf");
7
+ const judicialProcess_1 = require("./judicialProcess");
8
+ const nup17_1 = require("./nup17");
9
+ const pisPasep_1 = require("./pisPasep");
10
+ const postalCode_1 = require("./postalCode");
11
+ const renavam_1 = require("./renavam");
12
+ const tituloEleitor_1 = require("./tituloEleitor");
13
+ // export const isCNH = import('./cnh')
14
+ exports.isCNH = (value) => cnh_1.validate(value);
15
+ exports.isCNPJ = (value) => cnpj_1.validate(value);
16
+ exports.isCPF = (value) => cpf_1.validate(value);
17
+ exports.isJudicialProcess = (value) => judicialProcess_1.validate(value);
18
+ exports.isPIS = (value) => nup17_1.validate(value);
19
+ exports.isPostalCode = (value) => pisPasep_1.validate(value);
20
+ exports.isRenavam = (value) => postalCode_1.validate(value);
21
+ exports.isTituloEleitor = (value) => renavam_1.validate(value);
22
+ exports.isNUP17 = (value) => tituloEleitor_1.validate(value);
15
23
  exports.default = {
16
- isCNH: cnh_1.default,
17
- isCNPJ: cnpj_1.default,
18
- isCPF: cpf_1.default,
19
- isJudicialProcess: judicialProcess_1.default,
20
- isPIS: pisPasep_1.default,
21
- isPostalCode: postalCode_1.default,
22
- isRenavam: renavam_1.default,
23
- isTituloEleitor: tituloEleitor_1.default,
24
- isNUP17: nup17_1.default,
24
+ isCNH: exports.isCNH,
25
+ isCNPJ: exports.isCNPJ,
26
+ isCPF: exports.isCPF,
27
+ isJudicialProcess: exports.isJudicialProcess,
28
+ isPIS: exports.isPIS,
29
+ isPostalCode: exports.isPostalCode,
30
+ isRenavam: exports.isRenavam,
31
+ isTituloEleitor: exports.isTituloEleitor,
32
+ isNUP17: exports.isNUP17,
25
33
  };
26
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,kDAA2B;AAC3B,gDAAyB;AACzB,wEAAiD;AACjD,oDAA6B;AAC7B,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;IACf,OAAO,EAAP,eAAO;CACR,CAAA"}
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;AAE3D,uCAAuC;AAC1B,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,gBAAK,CAAC,KAAK,CAAC,CAAA;AAChD,QAAA,YAAY,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,mBAAQ,CAAC,KAAK,CAAC,CAAA;AACnE,QAAA,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,qBAAU,CAAC,KAAK,CAAC,CAAA;AACzD,QAAA,eAAe,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,kBAAO,CAAC,KAAK,CAAC,CAAA;AACrE,QAAA,OAAO,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,wBAAa,CAAC,KAAK,CAAC,CAAA;AAEhF,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"}
@@ -54,8 +54,11 @@ const utils_1 = require("./utils");
54
54
  */
55
55
  exports.dv = (value) => {
56
56
  if (!value)
57
- throw new Error('PIS não informado');
58
- const postalCode = utils_1.clearValue(value, 8);
57
+ throw new Error('Código de Rastreamento não informado');
58
+ const postalCode = String(value)
59
+ .replace(/[^0-9]+/gi, '')
60
+ .padStart(8, '0')
61
+ .substring(0, 8);
59
62
  const sum = utils_1.sumElementsByMultipliers(postalCode, [8, 6, 4, 2, 3, 5, 9, 7]);
60
63
  const rest = sum % 11;
61
64
  // const specificities = { 0: { dv: 5 }, 1: { dv: 0 } }
@@ -82,35 +85,7 @@ exports.mask = (value) => String(value).toLocaleUpperCase();
82
85
  */
83
86
  exports.fake = (withMask = false) => {
84
87
  const num = utils_1.fakeNumber(8, true);
85
- const randLetter = () => [
86
- 'A',
87
- 'B',
88
- 'C',
89
- 'D',
90
- 'E',
91
- 'F',
92
- 'G',
93
- 'H',
94
- 'I',
95
- 'J',
96
- 'K',
97
- 'L',
98
- 'M',
99
- 'N',
100
- 'O',
101
- 'P',
102
- 'Q',
103
- 'R',
104
- 'S',
105
- 'T',
106
- 'U',
107
- 'V',
108
- 'W',
109
- 'X',
110
- 'Y',
111
- 'Z',
112
- ][+(Math.random() * 25).toFixed(0)];
113
- const postalCode = `${randLetter()}${randLetter()}${num}${exports.dv(num)}BR`;
88
+ const postalCode = `${utils_1.randomLetter()}${utils_1.randomLetter()}${num}${exports.dv(num)}BR`;
114
89
  if (withMask)
115
90
  return exports.mask(postalCode);
116
91
  return postalCode;
@@ -124,11 +99,11 @@ exports.fake = (withMask = false) => {
124
99
  * @returns {Boolean}
125
100
  */
126
101
  exports.validateOrFail = (value) => {
127
- const postalCode = utils_1.clearValue(value, 9);
128
102
  if (!/^[a-z]{2}([\d]{9})[a-z]{2}$/gi.test(String(value))) {
129
103
  throw new Error('O número não está no formato "XX000000000XX"');
130
104
  }
131
- if (exports.dv(value) !== postalCode.substring(8, 9)) {
105
+ const postalCode = utils_1.clearValue(value.substring(2, 11), 9);
106
+ if (exports.dv(value.substring(2, 11)) !== postalCode.substring(8, 9)) {
132
107
  throw new Error('Dígito verificador inválido');
133
108
  }
134
109
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"postalCode.js","sourceRoot":"","sources":["../src/postalCode.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;AAEH,mCAA0E;AAE1E;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,kBAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,GAAG,GAAG,gCAAwB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE1E,MAAM,IAAI,GAAG,GAAG,GAAG,EAAE,CAAA;IACrB,uDAAuD;IAEvD,MAAM,aAAa,GAAG;QACpB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAClB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;KACnB,CAAA;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAElE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAA;IAE/C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAA;AAEzF;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,UAAU,GAAG,GAAW,EAAE,CAC9B;QACE,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;KACJ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,MAAM,UAAU,GAAG,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,IAAI,CAAA;IAErE,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE;IACvD,MAAM,UAAU,GAAG,kBAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEvC,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,IAAI,UAAE,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,QAAQ,GAAG,CAAC,KAAa,EAAW,EAAE;IACjD,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"}
1
+ {"version":3,"file":"postalCode.js","sourceRoot":"","sources":["../src/postalCode.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;AAEH,mCAAwF;AAExF;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAEnE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;SAC7B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAChB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAElB,MAAM,GAAG,GAAG,gCAAwB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE1E,MAAM,IAAI,GAAG,GAAG,GAAG,EAAE,CAAA;IACrB,uDAAuD;IAEvD,MAAM,aAAa,GAAG;QACpB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAClB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;KACnB,CAAA;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAElE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAA;IAE/C,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAA;AAEzF;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,UAAU,GAAG,GAAG,oBAAY,EAAE,GAAG,oBAAY,EAAE,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,IAAI,CAAA;IAEzE,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE;IACvD,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;KAChE;IAED,MAAM,UAAU,GAAG,kBAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAExD,IAAI,UAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC7D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,QAAQ,GAAG,CAAC,KAAa,EAAW,EAAE;IACjD,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"}
@@ -0,0 +1 @@
1
+ declare const randomLetter: any;
package/dist/utils.d.ts CHANGED
@@ -109,3 +109,14 @@ export declare function removeFromPosition(value: string, startPosition: number,
109
109
  *
110
110
  */
111
111
  export declare function applyMask(value: string | number, mask: string): string;
112
+ /**
113
+ * randomLetter()
114
+ * Pega uma letra maiúscula aleatoriamente
115
+ *
116
+ * @example
117
+ * randomLetter() // -> A
118
+ * randomLetter() // -> S
119
+ *
120
+ * @returns {String}
121
+ */
122
+ export declare function randomLetter(): string;
package/dist/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyMask = exports.removeFromPosition = exports.insertAtPosition = exports.clearValue = exports.fakeNumber = exports.sumElementsByMultipliers = exports.invalidListGenerator = exports.sumToDV = void 0;
3
+ exports.randomLetter = exports.applyMask = exports.removeFromPosition = exports.insertAtPosition = exports.clearValue = exports.fakeNumber = exports.sumElementsByMultipliers = exports.invalidListGenerator = exports.sumToDV = void 0;
4
4
  /**
5
5
  * Calcula o DV verificador a partir das regras do MOD11:
6
6
  * O valor da soma é dividido por 11. O resultado é o resto da divisão. Caso o resto seja
@@ -85,12 +85,10 @@ exports.fakeNumber = fakeNumber;
85
85
  * @returns {String} Número com o tamanho exato
86
86
  */
87
87
  function clearValue(value, length = null) {
88
- const clearedValue = String(value).replace(/([^\d]+)/gi, '');
88
+ const clearedValue = String(value).replace(/([/.-]+)/gi, '');
89
89
  if (!length || clearedValue.length === length)
90
90
  return clearedValue;
91
- if (clearedValue.length > length)
92
- return clearedValue.substring(0, length);
93
- return clearedValue.padStart(length, '0');
91
+ return clearedValue.padStart(length, '0').substring(0, length);
94
92
  }
95
93
  exports.clearValue = clearValue;
96
94
  /**
@@ -154,14 +152,19 @@ function applyMask(value, mask) {
154
152
  return masked;
155
153
  }
156
154
  exports.applyMask = applyMask;
157
- // module.exports = {
158
- // sumToDV,
159
- // invalidListGenerator,
160
- // sumElementsByMultipliers,
161
- // fakeNumber,
162
- // applyMask,
163
- // clearValue,
164
- // insertAtPosition,
165
- // removeFromPosition,
166
- // }
155
+ /**
156
+ * randomLetter()
157
+ * Pega uma letra maiúscula aleatoriamente
158
+ *
159
+ * @example
160
+ * randomLetter() // -> A
161
+ * randomLetter() // -> S
162
+ *
163
+ * @returns {String}
164
+ */
165
+ function randomLetter() {
166
+ const idx = Math.floor(1 + Math.random() * 26);
167
+ return String.fromCharCode(idx + 64);
168
+ }
169
+ exports.randomLetter = randomLetter;
167
170
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
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.2.0-rc3",
4
+ "version": "1.4.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/types.d.ts",
7
7
  "author": "Cláudio Medeiros <klawdyo@gmail.com>",
@@ -12,7 +12,8 @@
12
12
  "test:watch": "jest --watch",
13
13
  "test:coverage": "jest --collectCoverageFrom=src/**/*.ts --coverage",
14
14
  "lint:list": "eslint */**/*.js --fix",
15
- "format": "prettier --write \"./**/*.{js,ts,json}\""
15
+ "format": "prettier --write \"./**/*.{js,ts,json}\"",
16
+ "prepublish": "yarn build"
16
17
  },
17
18
  "husky": {
18
19
  "hooks": {
@@ -105,6 +106,21 @@
105
106
  "format",
106
107
  "formatar",
107
108
  "formatador",
108
- "formatter"
109
+ "formatter",
110
+ "nest",
111
+ "nestjs",
112
+ "yup",
113
+ "next",
114
+ "nextjs",
115
+ "typeorm",
116
+ "class-validator",
117
+ "vuelidate",
118
+ "vue",
119
+ "vue3",
120
+ "indicative",
121
+ "adonis",
122
+ "adonisjs",
123
+ "adonis4",
124
+ "adonisjs4"
109
125
  ]
110
126
  }
package/readme.md CHANGED
@@ -38,11 +38,11 @@ Importando os submódulos, é possível criar máscaras, números fake para test
38
38
 
39
39
  ```js
40
40
  // ES6
41
- import { dv, fake, mask, validate } from 'validation-br/cpf'
41
+ import { dv, fake, mask, validate } from 'validation-br/dist/cpf'
42
42
 
43
43
  // Modules
44
- const cpf = require('validation-br/cpf')
45
- const { dv, fake, mask, validate } = require('validation-br/cpf')
44
+ const cpf = require('validation-br/dist/cpf')
45
+ const { dv, fake, mask, validate } = require('validation-br/dist/cpf')
46
46
 
47
47
  // Calculo do dígito verificador de um CPF. Os métodos aceitam inteiros e strings, inclusive com máscaras.
48
48
  cpf.dv(906259666) // -> '51'
@@ -66,6 +66,8 @@ cpf.validateOrFail('01234567890') // -> true
66
66
 
67
67
  ## Tabela de Conteúdo
68
68
 
69
+ ### Funções de Validação
70
+
69
71
  - [isCNH](#isCNH-value-) - Validação do CNH
70
72
  - [isCPF](#isCPF-value-) - Validação do CPF
71
73
  - [isCNPJ](#isCNPJ-value-) - Validação do CNPJ
@@ -77,6 +79,13 @@ cpf.validateOrFail('01234567890') // -> true
77
79
  - [isRenavam](#isRenavam-value-) - Validação de RENAVAM
78
80
  - [isTituloEleitor](#isTituloEleitor-value-) - Validação do Título de Eleitor
79
81
 
82
+ ### Usando em outras bibliotecas de validação
83
+
84
+ - [Vuelidate](#vuelidate) - Usado para validação de estado no vuejs
85
+ - [Class-Validator](#class-validator) - Usado em nest, typeorm E mais uma infinidade de frameworks
86
+ - [Yup](#yup) - Yup é usado para validar estado em aplicações react.
87
+ - [Indicative](#indicative) - Indicative é a biblioteca padrão de validação usada no Adonis.
88
+
80
89
  ### isCNH( `value` )
81
90
 
82
91
  Valida o documento da carteira nacional de habilitação.
@@ -86,7 +95,7 @@ Valida o documento da carteira nacional de habilitação.
86
95
  import { isCNH } from 'validation-br'
87
96
  // ou
88
97
  // Importação do submódulo
89
- import cnh from 'validation-br/cnh'
98
+ import cnh from 'validation-br/dist/cnh'
90
99
 
91
100
  // Valida
92
101
  isCNH('69044271146') //-> true
@@ -115,7 +124,7 @@ Valida um CNPJ
115
124
  import { isCNPJ } from 'validation-br'
116
125
  // ou
117
126
  // Importação do submódulo
118
- import cnpj from 'validation-br/cnpj'
127
+ import cnpj from 'validation-br/dist/cnpj'
119
128
 
120
129
  // Valida
121
130
  isCNPJ('73.797.980/0001-79') //-> true
@@ -144,7 +153,7 @@ Valida um CPF
144
153
  import { isCPF } from 'validation-br'
145
154
  // ou
146
155
  // Importação do submódulo
147
- import cpf from 'validation-br/cpf'
156
+ import cpf from 'validation-br/dist/cpf'
148
157
 
149
158
  // Valida
150
159
  isCPF('01234567890') //-> true
@@ -193,7 +202,7 @@ O número é composto por 6 partes:
193
202
  import { isJudicialProcess } from 'validation-br'
194
203
  // ou
195
204
  // Importação do submódulo
196
- import judicialProcess from 'validation-br/judicialProcess'
205
+ import judicialProcess from 'validation-br/dist/judicialProcess'
197
206
 
198
207
  // Valida
199
208
  isJudicialProcess('20802520125150049') //-> true
@@ -228,7 +237,7 @@ Válida um Número Unificado de Protocolo de 17 dígitos. Esta numeração é us
228
237
  import { isNUP17 } from 'validation-br'
229
238
  // ou
230
239
  // Importação do submódulo
231
- import nup from 'validation-br/nup17'
240
+ import nup from 'validation-br/dist/nup17'
232
241
 
233
242
  // Valida
234
243
  isNUP17('23037001462202165') //-> true
@@ -257,7 +266,7 @@ Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita númer
257
266
  import { isPIS } from 'validation-br'
258
267
  // ou
259
268
  // Importação do submódulo
260
- import pis from 'validation-br/pis'
269
+ import pis from 'validation-br/dist/pisPasep'
261
270
 
262
271
  // Valida
263
272
  isPIS('71282677380') //-> true
@@ -291,7 +300,7 @@ Valida um código de rastreamento de objetos postais no formato XX00000000DYY, o
291
300
  import { isPostalCode } from 'validation-br'
292
301
  // ou
293
302
  // Importação do submódulo
294
- import postalCode from 'validation-br/postalCode'
303
+ import postalCode from 'validation-br/dist/postalCode'
295
304
 
296
305
  // Valida
297
306
  isPostalCode('PN718252423BR') //-> true
@@ -321,7 +330,7 @@ Valida o número de um RENAVAM de 11 dígitos
321
330
  import { isRenavam } from 'validation-br'
322
331
  // ou
323
332
  // Importação do submódulo
324
- import renavam from 'validation-br/renavam'
333
+ import renavam from 'validation-br/dist/renavam'
325
334
 
326
335
  // Valida
327
336
  isRenavam('14283256656') //-> true
@@ -350,7 +359,7 @@ Valida um título eleitoral
350
359
  import { isTituloEleitor } from 'validation-br'
351
360
  // ou
352
361
  // Importação do submódulo
353
- import titulo from 'validation-br/tituloEleitor'
362
+ import titulo from 'validation-br/dist/tituloEleitor'
354
363
 
355
364
  // Valida
356
365
  isTituloEleitor('743650641660') //-> true
@@ -370,6 +379,214 @@ titulo.mask('525028881694') // -> 5250.2888.1694
370
379
  titulo.dv('5250288816') // -> '94'
371
380
  ```
372
381
 
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
+
373
590
  # Testes
374
591
 
375
592
  ![Testes](https://user-images.githubusercontent.com/100168/148857050-df40e291-a13d-4643-b64d-6603cf0a06f1.png)
@@ -1,36 +0,0 @@
1
- export declare const cnh: {
2
- $validator: (value: string | number) => boolean;
3
- $message: string;
4
- };
5
- export declare const cpf: {
6
- $validator: (value: string | number) => boolean;
7
- $message: string;
8
- };
9
- export declare const cnpj: {
10
- $validator: (value: string | number) => boolean;
11
- $message: string;
12
- };
13
- export declare const renavam: {
14
- $validator: (value: string | number) => boolean;
15
- $message: string;
16
- };
17
- export declare const judicialProcess: {
18
- $validator: (value: string) => boolean;
19
- $message: string;
20
- };
21
- export declare const nup17: {
22
- $validator: (value: string) => boolean;
23
- $message: string;
24
- };
25
- export declare const postalCode: {
26
- $validator: (value: string) => boolean;
27
- $message: string;
28
- };
29
- export declare const tituloEleitor: {
30
- $validator: (value: string | number) => boolean;
31
- $message: string;
32
- };
33
- export declare const pisPasep: {
34
- $validator: (value: string | number) => boolean;
35
- $message: string;
36
- };
package/dist/vuelidate.js DELETED
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pisPasep = exports.tituloEleitor = exports.postalCode = exports.nup17 = exports.judicialProcess = exports.renavam = exports.cnpj = exports.cpf = exports.cnh = void 0;
4
- const cnh_1 = require("./cnh");
5
- const cpf_1 = require("./cpf");
6
- const cnpj_1 = require("./cnpj");
7
- const renavam_1 = require("./renavam");
8
- const judicialProcess_1 = require("./judicialProcess");
9
- const nup17_1 = require("./nup17");
10
- const postalCode_1 = require("./postalCode");
11
- const tituloEleitor_1 = require("./tituloEleitor");
12
- const pisPasep_1 = require("./pisPasep");
13
- exports.cnh = { $validator: cnh_1.validateOrFail, $message: 'CNH inválido' };
14
- exports.cpf = { $validator: cpf_1.validateOrFail, $message: 'CNPJ inválido' };
15
- exports.cnpj = { $validator: cnpj_1.validateOrFail, $message: 'CPF inválido' };
16
- exports.renavam = { $validator: renavam_1.validateOrFail, $message: 'Renavam inválido' };
17
- exports.judicialProcess = {
18
- $validator: judicialProcess_1.validateOrFail,
19
- $message: 'JudicialProcess inválido',
20
- };
21
- exports.nup17 = { $validator: nup17_1.validateOrFail, $message: 'NUP17 inválido' };
22
- exports.postalCode = {
23
- $validator: postalCode_1.validateOrFail,
24
- $message: 'PostalCode inválido',
25
- };
26
- exports.tituloEleitor = {
27
- $validator: tituloEleitor_1.validateOrFail,
28
- $message: 'TituloEleitor inválido',
29
- };
30
- exports.pisPasep = { $validator: pisPasep_1.validateOrFail, $message: 'PIS inválido' };
31
- //# sourceMappingURL=vuelidate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vuelidate.js","sourceRoot":"","sources":["../src/vuelidate.ts"],"names":[],"mappings":";;;AAAA,+BAA+C;AAC/C,+BAAgD;AAChD,iCAAgD;AAChD,uCAAuD;AACvD,uDAAuE;AACvE,mCAAmD;AACnD,6CAA6D;AAC7D,mDAAmE;AACnE,yCAAoD;AAEvC,QAAA,GAAG,GAAG,EAAE,UAAU,EAAE,oBAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;AACrD,QAAA,GAAG,GAAG,EAAE,UAAU,EAAE,oBAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;AACvD,QAAA,IAAI,GAAG,EAAE,UAAU,EAAE,qBAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;AACtD,QAAA,OAAO,GAAG,EAAE,UAAU,EAAE,wBAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAA;AACjE,QAAA,eAAe,GAAG;IAC7B,UAAU,EAAE,gCAAiB;IAC7B,QAAQ,EAAE,0BAA0B;CACrC,CAAA;AACY,QAAA,KAAK,GAAG,EAAE,UAAU,EAAE,sBAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;AAC3D,QAAA,UAAU,GAAG;IACxB,UAAU,EAAE,2BAAY;IACxB,QAAQ,EAAE,qBAAqB;CAChC,CAAA;AACY,QAAA,aAAa,GAAG;IAC3B,UAAU,EAAE,8BAAe;IAC3B,QAAQ,EAAE,wBAAwB;CACnC,CAAA;AACY,QAAA,QAAQ,GAAG,EAAE,UAAU,EAAE,yBAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA"}