validation-br 1.4.1 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\jest.config.js":"16","D:\\Desenvolvimento\\Javascript\\Validation-BR\\Lib\\src\\index.test.ts":"17"},{"size":2512,"mtime":1641739367275,"results":"18","hashOfConfig":"19"},{"size":3670,"mtime":1641857909477,"results":"20","hashOfConfig":"21"},{"size":3665,"mtime":1641857909477,"results":"22","hashOfConfig":"21"},{"size":3860,"mtime":1641857909479,"results":"23","hashOfConfig":"21"},{"size":6137,"mtime":1664635131177,"results":"24","hashOfConfig":"25"},{"size":3185,"mtime":1641857909611,"results":"26","hashOfConfig":"21"},{"size":3625,"mtime":1642529307638,"results":"27","hashOfConfig":"21"},{"size":3038,"mtime":1641857909470,"results":"28","hashOfConfig":"21"},{"size":3933,"mtime":1641857909467,"results":"29","hashOfConfig":"21"},{"size":1233,"mtime":1664635827132,"results":"30","hashOfConfig":"25"},{"size":3279,"mtime":1641854975529,"results":"31","hashOfConfig":"21"},{"size":4949,"mtime":1641857909475,"results":"32","hashOfConfig":"21"},{"size":5373,"mtime":1642529564093,"results":"33","hashOfConfig":"21"},{"size":4177,"mtime":1664635178621,"results":"34","hashOfConfig":"25"},{"size":316,"mtime":1642529055968,"results":"35","hashOfConfig":"21"},{"size":357,"mtime":1664633645786,"results":"36","hashOfConfig":"25"},{"size":1492,"mtime":1664635705606,"results":"37","hashOfConfig":"25"},{"filePath":"38","messages":"39","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mhu42l",{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1oacsom",{"filePath":"42","messages":"43","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"44","messages":"45","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1mffhgm",{"filePath":"48","messages":"49","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"50","messages":"51","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"52","messages":"53","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"54","messages":"55","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"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},{"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},"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",[]]
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",[]]
@@ -3,9 +3,9 @@ name: Tests
3
3
  # on: [push]
4
4
  on:
5
5
  push:
6
- branches: [main]
6
+ branches: [main, dev]
7
7
  pull_request:
8
- branches: [main]
8
+ branches: [main, dev]
9
9
 
10
10
  jobs:
11
11
  build:
package/dist/cnh.js CHANGED
@@ -54,8 +54,12 @@
54
54
  * @param {String} value Título eleitoral
55
55
  * @returns {Boolean}
56
56
  */
57
+ var __importDefault = (this && this.__importDefault) || function (mod) {
58
+ return (mod && mod.__esModule) ? mod : { "default": mod };
59
+ };
57
60
  Object.defineProperty(exports, "__esModule", { value: true });
58
61
  exports.fake = exports.mask = exports.validate = exports.validateOrFail = exports.dv = void 0;
62
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
59
63
  const utils_1 = require("./utils");
60
64
  /**
61
65
  * Calcula o Dígito Verificador de um RENAVAM informado
@@ -63,13 +67,10 @@ const utils_1 = require("./utils");
63
67
  * @returns String Número fake de um cnh válido
64
68
  */
65
69
  exports.dv = (value) => {
66
- if (!value)
67
- throw new Error('CNH não informado');
68
- const cnh = utils_1.clearValue(value, 9);
69
- const invalidList = utils_1.invalidListGenerator(9);
70
- if (invalidList.includes(cnh)) {
71
- throw new Error('CNH não pode ser uma sequência de números iguais');
72
- }
70
+ const cnh = utils_1.clearValue(value, 9, {
71
+ trimAtRight: true,
72
+ rejectEmpty: true,
73
+ });
73
74
  const sum1 = utils_1.sumElementsByMultipliers(cnh.substring(0, 9), [2, 3, 4, 5, 6, 7, 8, 9, 10]);
74
75
  const dv1 = utils_1.sumToDV(sum1);
75
76
  const sum2 = utils_1.sumElementsByMultipliers(cnh.substring(0, 9) + dv1, [3, 4, 5, 6, 7, 8, 9, 10, 11, 2]);
@@ -85,9 +86,14 @@ exports.dv = (value) => {
85
86
  * @returns {Boolean}
86
87
  */
87
88
  exports.validateOrFail = (value) => {
88
- const cnh = utils_1.clearValue(value, 11);
89
+ const cnh = utils_1.clearValue(value, 11, {
90
+ fillZerosAtLeft: true,
91
+ rejectEmpty: true,
92
+ rejectHigherLength: true,
93
+ rejectEqualSequence: true,
94
+ });
89
95
  if (exports.dv(cnh) !== cnh.substring(9, 11)) {
90
- throw new Error('Dígito verificador inválido');
96
+ throw ValidationBRError_1.default.INVALID_DV;
91
97
  }
92
98
  return true;
93
99
  };
package/dist/cnh.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cnh.js","sourceRoot":"","sources":["../src/cnh.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;AAEH,mCAOgB;AAEhB;;;;GAIG;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,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAED;;;;;;;GAOG;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;;;;;;GAMG;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;;;;GAIG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAExF;;;;GAIG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAEjC,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,UAAE,CAAC,KAAK,CAAC,EAAE,CAAA;IAElC,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,kBAAe,gBAAQ,CAAA"}
1
+ {"version":3,"file":"cnh.js","sourceRoot":"","sources":["../src/cnh.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;GAIG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,CAAC,EAAE;QAC/B,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,gCAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,UAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACpC,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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;;;;GAIG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAExF;;;;GAIG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAEjC,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,UAAE,CAAC,KAAK,CAAC,EAAE,CAAA;IAElC,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,kBAAe,gBAAQ,CAAA"}
package/dist/cnpj.js CHANGED
@@ -50,15 +50,18 @@
50
50
  * @param {String} value Título eleitoral
51
51
  * @returns {Boolean}
52
52
  */
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
53
56
  Object.defineProperty(exports, "__esModule", { value: true });
54
57
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
58
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
55
59
  const utils_1 = require("./utils");
56
60
  exports.dv = (value) => {
57
- const cnpj = utils_1.clearValue(value, 12);
58
- const blackList = utils_1.invalidListGenerator(12);
59
- if (blackList.includes(cnpj)) {
60
- throw new Error('CNPJ é obrigatório');
61
- }
61
+ const cnpj = utils_1.clearValue(value, 12, {
62
+ trimAtRight: true,
63
+ rejectEmpty: true,
64
+ });
62
65
  const sum1 = utils_1.sumElementsByMultipliers(cnpj.substring(0, 12), '543298765432');
63
66
  const dv1 = utils_1.sumToDV(sum1);
64
67
  const sum2 = utils_1.sumElementsByMultipliers(cnpj.substring(0, 12) + dv1, '6543298765432');
@@ -92,9 +95,14 @@ exports.fake = (withMask = false) => {
92
95
  * @returns {Boolean}
93
96
  */
94
97
  exports.validateOrFail = (value) => {
95
- const cnpj = utils_1.clearValue(value, 14);
98
+ const cnpj = utils_1.clearValue(value, 14, {
99
+ fillZerosAtLeft: true,
100
+ rejectEmpty: true,
101
+ rejectHigherLength: true,
102
+ rejectEqualSequence: true,
103
+ });
96
104
  if (exports.dv(cnpj) !== cnpj.substring(12, 14)) {
97
- throw new Error('Dígito verificador inválido');
105
+ throw ValidationBRError_1.default.INVALID_DV;
98
106
  }
99
107
  return true;
100
108
  };
package/dist/cnpj.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cnpj.js","sourceRoot":"","sources":["../src/cnpj.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;;;AAEH,mCAOgB;AAEH,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,IAAI,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAElC,MAAM,SAAS,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;KACtC;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAA;IAC5E,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,CAAA;IACnF,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,oBAAoB,CAAC,CAAA;AAE9F;;;GAGG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAEhC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAE/B,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,IAAI,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,UAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
1
+ {"version":3,"file":"cnpj.js","sourceRoot":"","sources":["../src/cnpj.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAEjF,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,IAAI,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACjC,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAA;IAC5E,MAAM,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,CAAA;IACnF,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,oBAAoB,CAAC,CAAA;AAE9F;;;GAGG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAEhC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,UAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAE/B,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,IAAI,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACjC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,UAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACvC,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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.js CHANGED
@@ -58,8 +58,12 @@
58
58
  * @param {String} value Título eleitoral
59
59
  * @returns {Boolean}
60
60
  */
61
+ var __importDefault = (this && this.__importDefault) || function (mod) {
62
+ return (mod && mod.__esModule) ? mod : { "default": mod };
63
+ };
61
64
  Object.defineProperty(exports, "__esModule", { value: true });
62
65
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
66
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
63
67
  const utils_1 = require("./utils");
64
68
  /**
65
69
  * dv()
@@ -69,13 +73,10 @@ const utils_1 = require("./utils");
69
73
  * @returns {String}
70
74
  */
71
75
  exports.dv = (value) => {
72
- if (!value)
73
- throw new Error('Número 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('Número não pode ser uma sequência de números iguais');
78
- }
76
+ const cpf = utils_1.clearValue(value, 9, {
77
+ trimAtRight: true,
78
+ rejectEmpty: true,
79
+ });
79
80
  const sum1 = utils_1.sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
80
81
  const dv1 = utils_1.sumToDV(sum1);
81
82
  const sum2 = utils_1.sumElementsByMultipliers(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);
@@ -111,9 +112,14 @@ exports.fake = (withMask = false) => {
111
112
  * @returns {Boolean}
112
113
  */
113
114
  exports.validateOrFail = (value) => {
114
- const cpf = utils_1.clearValue(value, 11);
115
+ const cpf = utils_1.clearValue(value, 11, {
116
+ fillZerosAtLeft: true,
117
+ rejectEmpty: true,
118
+ rejectHigherLength: true,
119
+ rejectEqualSequence: true,
120
+ });
115
121
  if (exports.dv(cpf) !== cpf.substring(9, 11)) {
116
- throw new Error('Dígito verificador inválido');
122
+ throw ValidationBRError_1.default.INVALID_DV;
117
123
  }
118
124
  return true;
119
125
  };
package/dist/cpf.js.map CHANGED
@@ -1 +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,sBAAsB,CAAC,CAAA;IAEnD,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,qDAAqD,CAAC,CAAA;KACvE;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;;;;;;;GAOG;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;;;;;;GAMG;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"}
1
+ {"version":3,"file":"cpf.js","sourceRoot":"","sources":["../src/cpf.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,CAAC,EAAE;QAC/B,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,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;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,UAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACpC,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
@@ -0,0 +1,6 @@
1
+ export default class ValidationBRError extends Error {
2
+ static INVALID_DV: ValidationBRError;
3
+ static EMPTY_VALUE: ValidationBRError;
4
+ static MAX_LEN_EXCEDEED: ValidationBRError;
5
+ static SEQUENCE_REPEATED: ValidationBRError;
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ValidationBRError extends Error {
4
+ }
5
+ exports.default = ValidationBRError;
6
+ ValidationBRError.INVALID_DV = new ValidationBRError('Dígito verificador inválido');
7
+ ValidationBRError.EMPTY_VALUE = new ValidationBRError('Valor não preenchido');
8
+ ValidationBRError.MAX_LEN_EXCEDEED = new ValidationBRError('Número de caracteres excedido');
9
+ ValidationBRError.SEQUENCE_REPEATED = new ValidationBRError('Sequência de números repetidos não permitida');
10
+ //# sourceMappingURL=ValidationBRError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationBRError.js","sourceRoot":"","sources":["../../src/data/ValidationBRError.ts"],"names":[],"mappings":";;AAAA,MAAqB,iBAAkB,SAAQ,KAAK;;AAApD,oCAKC;AAJQ,4BAAU,GAAG,IAAI,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;AACjE,6BAAW,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;AAC3D,kCAAgB,GAAG,IAAI,iBAAiB,CAAC,+BAA+B,CAAC,CAAA;AACzE,mCAAiB,GAAG,IAAI,iBAAiB,CAAC,8CAA8C,CAAC,CAAA"}
@@ -78,17 +78,19 @@
78
78
  *
79
79
  * Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
80
80
  */
81
+ var __importDefault = (this && this.__importDefault) || function (mod) {
82
+ return (mod && mod.__esModule) ? mod : { "default": mod };
83
+ };
81
84
  Object.defineProperty(exports, "__esModule", { value: true });
82
85
  exports._getSubCourt = exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
86
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
83
87
  const utils_1 = require("./utils");
84
88
  /**
85
89
  *
86
90
  *
87
91
  */
88
92
  exports.dv = (value) => {
89
- if (!value)
90
- throw new Error('Número do processo é obrigatório');
91
- const judicialProcess = utils_1.clearValue(value, 18);
93
+ const judicialProcess = utils_1.clearValue(value, 18, { trimAtRight: true, rejectEmpty: true });
92
94
  const num = judicialProcess.substring(0, 7);
93
95
  const yearAndCourt = judicialProcess.substring(7, 14);
94
96
  const origin = judicialProcess.substring(14, 18);
@@ -129,13 +131,17 @@ exports.fake = (withMask = false) => {
129
131
  * @returns {Boolean}
130
132
  */
131
133
  exports.validateOrFail = (value) => {
132
- const judicialProcess = utils_1.clearValue(value, 20);
134
+ const judicialProcess = utils_1.clearValue(value, 20, {
135
+ fillZerosAtLeft: true,
136
+ rejectEmpty: true,
137
+ rejectHigherLength: true,
138
+ });
133
139
  const processWithoutDV = utils_1.removeFromPosition(judicialProcess, 7, 9);
134
140
  if (processWithoutDV.substring(11, 12) === '0') {
135
141
  throw new Error('Código do Órgão Judiciário não pode ser "0"');
136
142
  }
137
143
  if (exports.dv(processWithoutDV) !== judicialProcess.substring(7, 9)) {
138
- throw new Error('Dígito verificador inválido');
144
+ throw ValidationBRError_1.default.INVALID_DV;
139
145
  }
140
146
  return true;
141
147
  };
@@ -1 +1 @@
1
- {"version":3,"file":"judicialProcess.js","sourceRoot":"","sources":["../src/judicialProcess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"judicialProcess.js","sourceRoot":"","sources":["../src/judicialProcess.ts"],"names":[],"mappings":"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"}
package/dist/nup17.js CHANGED
@@ -60,8 +60,12 @@
60
60
  * @param {String} value Título eleitoral
61
61
  * @returns {Boolean}
62
62
  */
63
+ var __importDefault = (this && this.__importDefault) || function (mod) {
64
+ return (mod && mod.__esModule) ? mod : { "default": mod };
65
+ };
63
66
  Object.defineProperty(exports, "__esModule", { value: true });
64
67
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
68
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
65
69
  const utils_1 = require("./utils");
66
70
  /**
67
71
  * dv()
@@ -71,23 +75,12 @@ const utils_1 = require("./utils");
71
75
  * @returns {String}
72
76
  */
73
77
  exports.dv = (value) => {
74
- if (!value)
75
- throw new Error('Número do protocolo é obrigatório');
76
- const nup = utils_1.clearValue(value, 15); // não pega os 2 últimos dígitos
78
+ const nup = utils_1.clearValue(value, 15, { rejectEmpty: true, trimAtRight: true });
77
79
  const nupReverse = nup.split('').reverse().join('');
78
- const sumToDV = (sum) => {
79
- const rest = 11 - (sum % 11);
80
- const exceptions = [
81
- { rest: 11, dv: 1 },
82
- { rest: 10, dv: 0 },
83
- ];
84
- const inExceptions = exceptions.find((item) => item.rest === rest);
85
- return !inExceptions ? rest : inExceptions.dv;
86
- };
87
80
  const sum1 = utils_1.sumElementsByMultipliers(nupReverse, [...Array(15)].map((_, i) => i + 2));
88
- const dv1 = sumToDV(sum1);
81
+ const dv1 = _specificSumToDV(sum1);
89
82
  const sum2 = utils_1.sumElementsByMultipliers(dv1 + nupReverse, [...Array(16)].map((_, i) => i + 2));
90
- const dv2 = sumToDV(sum2);
83
+ const dv2 = _specificSumToDV(sum2);
91
84
  return `${dv1}${dv2}`;
92
85
  };
93
86
  /**
@@ -120,9 +113,12 @@ exports.fake = (withMask = false) => {
120
113
  * @returns {Boolean}
121
114
  */
122
115
  exports.validateOrFail = (value) => {
123
- const nup = utils_1.clearValue(value, 17);
124
- if (exports.dv(nup) !== nup.substr(-2, 2)) {
125
- throw new Error('Dígito verificador inválido');
116
+ const nup = utils_1.clearValue(value, 17, {
117
+ rejectEmpty: true,
118
+ rejectHigherLength: true,
119
+ });
120
+ if (exports.dv(nup) !== nup.substring(15, 17)) {
121
+ throw ValidationBRError_1.default.INVALID_DV;
126
122
  }
127
123
  return true;
128
124
  };
@@ -142,4 +138,13 @@ exports.validate = (value) => {
142
138
  }
143
139
  };
144
140
  exports.default = exports.validate;
141
+ function _specificSumToDV(sum) {
142
+ const rest = 11 - (sum % 11);
143
+ const exceptions = [
144
+ { rest: 11, dv: 1 },
145
+ { rest: 10, dv: 0 },
146
+ ];
147
+ const inExceptions = exceptions.find((item) => item.rest === rest);
148
+ return !inExceptions ? rest : inExceptions.dv;
149
+ }
145
150
  //# sourceMappingURL=nup17.js.map
package/dist/nup17.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nup17.js","sourceRoot":"","sources":["../src/nup17.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nup17.js","sourceRoot":"","sources":["../src/nup17.ts"],"names":[],"mappings":"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"}
package/dist/pisPasep.js CHANGED
@@ -40,8 +40,12 @@
40
40
  * @param {String} value Objeto postal no formato 268.27649.96-0
41
41
  * @returns {Boolean}
42
42
  */
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
43
46
  Object.defineProperty(exports, "__esModule", { value: true });
44
47
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
48
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
45
49
  const utils_1 = require("./utils");
46
50
  /**
47
51
  * dv()
@@ -51,13 +55,10 @@ const utils_1 = require("./utils");
51
55
  * @returns {String}
52
56
  */
53
57
  exports.dv = (value) => {
54
- if (!value)
55
- throw new Error('PIS não informado');
56
- const pis = utils_1.clearValue(value, 10);
57
- const invalidList = utils_1.invalidListGenerator(10);
58
- if (invalidList.includes(pis)) {
59
- throw new Error('PIS não pode ser uma sequência de números iguais');
60
- }
58
+ const pis = utils_1.clearValue(value, 10, {
59
+ trimAtRight: true,
60
+ rejectEmpty: true,
61
+ });
61
62
  const sum = utils_1.sumElementsByMultipliers(pis, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);
62
63
  return String(utils_1.sumToDV(sum));
63
64
  };
@@ -90,9 +91,14 @@ exports.fake = (withMask = false) => {
90
91
  * @returns {Boolean}
91
92
  */
92
93
  exports.validateOrFail = (value) => {
93
- const pis = utils_1.clearValue(value, 11);
94
+ const pis = utils_1.clearValue(value, 11, {
95
+ fillZerosAtLeft: true,
96
+ rejectEmpty: true,
97
+ rejectHigherLength: true,
98
+ rejectEqualSequence: true,
99
+ });
94
100
  if (exports.dv(pis) !== pis.substring(10, 11)) {
95
- throw new Error('Dígito verificador inválido');
101
+ throw ValidationBRError_1.default.INVALID_DV;
96
102
  }
97
103
  return true;
98
104
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pisPasep.js","sourceRoot":"","sources":["../src/pisPasep.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;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,EAAE,CAAC,CAAA;IAEjC,MAAM,WAAW,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IAED,MAAM,GAAG,GAAG,gCAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEzE,OAAO,MAAM,CAAC,eAAO,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7B,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,EAAE,EAAE,IAAI,CAAC,CAAA;IAEhC,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;;;;;;;GAOG;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,EAAE,EAAE,EAAE,CAAC,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
1
+ {"version":3,"file":"pisPasep.js","sourceRoot":"","sources":["../src/pisPasep.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QAChC,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,gCAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEzE,OAAO,MAAM,CAAC,eAAO,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7B,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,EAAE,EAAE,IAAI,CAAC,CAAA;IAEhC,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;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,UAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACrC,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
@@ -42,8 +42,12 @@
42
42
  * @param {String} value Objeto postal no formato JT194690698BR
43
43
  * @returns {Boolean}
44
44
  */
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
45
48
  Object.defineProperty(exports, "__esModule", { value: true });
46
49
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
50
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
47
51
  const utils_1 = require("./utils");
48
52
  /**
49
53
  * dv()
@@ -54,7 +58,7 @@ const utils_1 = require("./utils");
54
58
  */
55
59
  exports.dv = (value) => {
56
60
  if (!value)
57
- throw new Error('Código de Rastreamento não informado');
61
+ throw ValidationBRError_1.default.EMPTY_VALUE;
58
62
  const postalCode = String(value)
59
63
  .replace(/[^0-9]+/gi, '')
60
64
  .padStart(8, '0')
@@ -104,7 +108,7 @@ exports.validateOrFail = (value) => {
104
108
  }
105
109
  const postalCode = utils_1.clearValue(value.substring(2, 11), 9);
106
110
  if (exports.dv(value.substring(2, 11)) !== postalCode.substring(8, 9)) {
107
- throw new Error('Dígito verificador inválido');
111
+ throw ValidationBRError_1.default.INVALID_DV;
108
112
  }
109
113
  return true;
110
114
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"postalCode.js","sourceRoot":"","sources":["../src/postalCode.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;;;;AAEH,iFAAwD;AACxD,mCAAwF;AAExF;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,2BAAiB,CAAC,WAAW,CAAA;IAE/C,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,2BAAiB,CAAC,UAAU,CAAA;KACnC;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"}
package/dist/renavam.js CHANGED
@@ -34,8 +34,12 @@
34
34
  *
35
35
  *
36
36
  */
37
+ var __importDefault = (this && this.__importDefault) || function (mod) {
38
+ return (mod && mod.__esModule) ? mod : { "default": mod };
39
+ };
37
40
  Object.defineProperty(exports, "__esModule", { value: true });
38
41
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
42
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
39
43
  const utils_1 = require("./utils");
40
44
  /**
41
45
  * dv()
@@ -45,13 +49,11 @@ const utils_1 = require("./utils");
45
49
  * @returns {String}
46
50
  */
47
51
  exports.dv = (value) => {
48
- if (!value)
49
- throw new Error('Renavam não informado');
50
- const renavam = utils_1.clearValue(value, 10); // só 10 para remover o DV
51
- const invalidList = utils_1.invalidListGenerator(10);
52
- if (invalidList.includes(renavam)) {
53
- throw new Error('RENAVAM não pode ser uma sequência de números iguais');
54
- }
52
+ const renavam = utils_1.clearValue(value, 10, {
53
+ fillZerosAtLeft: true,
54
+ trimAtRight: true,
55
+ rejectEmpty: true,
56
+ });
55
57
  const sum1 = utils_1.sumElementsByMultipliers(renavam, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]) * 10;
56
58
  const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
57
59
  return `${dv1}`;
@@ -85,9 +87,14 @@ exports.fake = (withMask = false) => {
85
87
  * @returns {Boolean}
86
88
  */
87
89
  exports.validateOrFail = (value) => {
88
- const renavam = utils_1.clearValue(value, 11);
90
+ const renavam = utils_1.clearValue(value, 11, {
91
+ fillZerosAtLeft: true,
92
+ rejectEmpty: true,
93
+ rejectHigherLength: true,
94
+ rejectEqualSequence: true,
95
+ });
89
96
  if (exports.dv(renavam) !== renavam.substring(10, 11)) {
90
- throw new Error('Dígito verificador inválido');
97
+ throw ValidationBRError_1.default.INVALID_DV;
91
98
  }
92
99
  return true;
93
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"renavam.js","sourceRoot":"","sources":["../src/renavam.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAEH,mCAMgB;AAEhB;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEpD,MAAM,OAAO,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,CAAC,0BAA0B;IAEhE,MAAM,WAAW,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACnF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAC3C,OAAO,GAAG,GAAG,EAAE,CAAA;AACjB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAExF;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,kBAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,UAAE,CAAC,KAAK,CAAC,EAAE,CAAA;IAEtC,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErC,IAAI,UAAE,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
1
+ {"version":3,"file":"renavam.js","sourceRoot":"","sources":["../src/renavam.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;;;;AAEH,iFAAwD;AACxD,mCAAqF;AAErF;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,OAAO,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,gCAAwB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACnF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,OAAO,GAAG,GAAG,EAAE,CAAA;AACjB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAExF;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,kBAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,UAAE,CAAC,KAAK,CAAC,EAAE,CAAA;IAEtC,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,UAAE,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
@@ -52,8 +52,12 @@
52
52
  * @param {String} value Título eleitoral
53
53
  * @returns {Boolean}
54
54
  */
55
+ var __importDefault = (this && this.__importDefault) || function (mod) {
56
+ return (mod && mod.__esModule) ? mod : { "default": mod };
57
+ };
55
58
  Object.defineProperty(exports, "__esModule", { value: true });
56
59
  exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
60
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
57
61
  const utils_1 = require("./utils");
58
62
  /**
59
63
  * dv()
@@ -63,13 +67,11 @@ const utils_1 = require("./utils");
63
67
  * @returns {String}
64
68
  */
65
69
  exports.dv = (value) => {
66
- if (!value)
67
- throw new Error('CPF não informado');
68
- const titulo = utils_1.clearValue(value, 10);
69
- const invalidList = utils_1.invalidListGenerator(10);
70
- if (invalidList.includes(titulo)) {
71
- throw new Error('Título não pode ser uma sequência de números iguais');
72
- }
70
+ const titulo = utils_1.clearValue(value, 10, {
71
+ fillZerosAtLeft: true,
72
+ trimAtRight: true,
73
+ rejectEmpty: true,
74
+ });
73
75
  const sum1 = utils_1.sumElementsByMultipliers(titulo.substring(0, 8), [2, 3, 4, 5, 6, 7, 8, 9]);
74
76
  const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
75
77
  const sum2 = utils_1.sumElementsByMultipliers(titulo.substring(8, 10) + dv1, [7, 8, 9]);
@@ -83,7 +85,6 @@ exports.dv = (value) => {
83
85
  * @returns {String} Valor com a máscara
84
86
  */
85
87
  exports.mask = (value) => utils_1.applyMask(value, '0000.0000.0000');
86
- // const mask = (value) => applyMask(value, '0000.0000.0000');
87
88
  /**
88
89
  * fake()
89
90
  * Gera um número válido
@@ -107,9 +108,14 @@ exports.fake = (withMask = false) => {
107
108
  * @returns {Boolean}
108
109
  */
109
110
  exports.validateOrFail = (value) => {
110
- const titulo = utils_1.clearValue(value, 12);
111
+ const titulo = utils_1.clearValue(value, 12, {
112
+ fillZerosAtLeft: true,
113
+ rejectEmpty: true,
114
+ rejectHigherLength: true,
115
+ rejectEqualSequence: true,
116
+ });
111
117
  if (exports.dv(titulo) !== titulo.substring(10, 12)) {
112
- throw new Error('Dígito verificador inválido');
118
+ throw ValidationBRError_1.default.INVALID_DV;
113
119
  }
114
120
  return true;
115
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tituloEleitor.js","sourceRoot":"","sources":["../src/tituloEleitor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;AAEH,mCAMgB;AAEhB;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAEhD,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEpC,MAAM,WAAW,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;KACvE;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,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;AAC1F,8DAA8D;AAE9D;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,UAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;IAE3C,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,MAAM,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEpC,IAAI,UAAE,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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"}
1
+ {"version":3,"file":"tituloEleitor.js","sourceRoot":"","sources":["../src/tituloEleitor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;;;;AAEH,iFAAwD;AACxD,mCAAqF;AAErF;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACnC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,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,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,UAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;IAE3C,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,MAAM,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;;GAOG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,EAAE;QACnC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,UAAE,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC3C,MAAM,2BAAiB,CAAC,UAAU,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;GAMG;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/utils.d.ts CHANGED
@@ -64,7 +64,7 @@ export declare function fakeNumber(length: number, forceLength?: boolean): numbe
64
64
  * @param {Number} length Tamanho exato. Se for null, só retira os caracteres não-numéricos
65
65
  * @returns {String} Número com o tamanho exato
66
66
  */
67
- export declare function clearValue(value: string | number, length?: number | null): string;
67
+ export declare function clearValue(value: string | number, length?: number | null, options?: ClearValueOptions): string;
68
68
  /**
69
69
  * insertAtPosition()
70
70
  * Insere um conjunto de caracteres em um local específico de uma string
@@ -120,3 +120,14 @@ export declare function applyMask(value: string | number, mask: string): string;
120
120
  * @returns {String}
121
121
  */
122
122
  export declare function randomLetter(): string;
123
+ /**
124
+ * Opções do clearValue
125
+ */
126
+ interface ClearValueOptions {
127
+ fillZerosAtLeft?: boolean;
128
+ trimAtRight?: boolean;
129
+ rejectEmpty?: boolean;
130
+ rejectHigherLength?: boolean;
131
+ rejectEqualSequence?: boolean;
132
+ }
133
+ export {};
package/dist/utils.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.randomLetter = exports.applyMask = exports.removeFromPosition = exports.insertAtPosition = exports.clearValue = exports.fakeNumber = exports.sumElementsByMultipliers = exports.invalidListGenerator = exports.sumToDV = void 0;
7
+ const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
4
8
  /**
5
9
  * Calcula o DV verificador a partir das regras do MOD11:
6
10
  * O valor da soma é dividido por 11. O resultado é o resto da divisão. Caso o resto seja
@@ -60,7 +64,7 @@ exports.sumElementsByMultipliers = sumElementsByMultipliers;
60
64
  * @returns {String}
61
65
  */
62
66
  function fakeNumber(length, forceLength = false) {
63
- const value = Math.floor(Math.random() * Math.pow(10, length));
67
+ const value = Math.floor(Math.random() * 10 ** length);
64
68
  if (forceLength)
65
69
  return String(value).padStart(length, '0');
66
70
  return +value;
@@ -84,11 +88,28 @@ exports.fakeNumber = fakeNumber;
84
88
  * @param {Number} length Tamanho exato. Se for null, só retira os caracteres não-numéricos
85
89
  * @returns {String} Número com o tamanho exato
86
90
  */
87
- function clearValue(value, length = null) {
88
- const clearedValue = String(value).replace(/([/.-]+)/gi, '');
89
- if (!length || clearedValue.length === length)
90
- return clearedValue;
91
- return clearedValue.padStart(length, '0').substring(0, length);
91
+ function clearValue(value, length = null, options) {
92
+ let clearedValue = String(value).replace(/([/.-]+)/gi, '');
93
+ if (options) {
94
+ if (options.rejectEmpty === true && clearedValue.length === 0) {
95
+ throw ValidationBRError_1.default.EMPTY_VALUE;
96
+ }
97
+ if (options.rejectHigherLength === true && length && clearedValue.length > length) {
98
+ throw ValidationBRError_1.default.MAX_LEN_EXCEDEED;
99
+ }
100
+ if (options.rejectEqualSequence === true && length) {
101
+ const invalidList = invalidListGenerator(length);
102
+ if (invalidList.includes(clearedValue)) {
103
+ throw ValidationBRError_1.default.SEQUENCE_REPEATED;
104
+ }
105
+ }
106
+ // if (!length || clearedValue.length === length) return clearedValue
107
+ if (length && options.fillZerosAtLeft)
108
+ clearedValue = clearedValue.padStart(length, '0');
109
+ if (length && options.trimAtRight)
110
+ clearedValue = clearedValue.substring(0, length);
111
+ }
112
+ return clearedValue;
92
113
  }
93
114
  exports.clearValue = clearValue;
94
115
  /**
@@ -142,7 +163,7 @@ exports.removeFromPosition = removeFromPosition;
142
163
  */
143
164
  function applyMask(value, mask) {
144
165
  const maskLen = clearValue(mask).length;
145
- let masked = clearValue(value, maskLen);
166
+ let masked = clearValue(value, maskLen, { fillZerosAtLeft: true, trimAtRight: true });
146
167
  const specialChars = ['/', '-', '.', '(', ')', ' '];
147
168
  for (let position = 0; position < mask.length; position += 1) {
148
169
  const current = mask[position];
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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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.4.1",
4
+ "version": "1.4.4",
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": "^4.3.0",
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
- // Modules
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
 
@@ -80,10 +82,14 @@ cpf.validateOrFail('01234567890') // -> true
80
82
 
81
83
  ### Usando em outras bibliotecas de validação
82
84
 
83
- - [Vuelidate](#vuelidate) - Usado para validação de estado no vuejs
84
- - [Class-Validator](#class-validator) - Usado em nest, typeorm E mais uma infinidade de frameworks
85
- - [Yup](#yup) - Yup é usado para validar estado em aplicações react.
86
- - [Indicative](#indicative) - Indicative é a biblioteca padrão de validação usada no Adonis.
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.
87
93
 
88
94
  ### isCNH( `value` )
89
95
 
@@ -94,7 +100,10 @@ Valida o documento da carteira nacional de habilitação.
94
100
  import { isCNH } from 'validation-br'
95
101
  // ou
96
102
  // Importação do submódulo
97
- import cnh from 'validation-br/dist/cnh'
103
+ import {validate, mask} from 'validation-br/dist/cnh'
104
+ // ou
105
+ import * as cnh from 'validation-br/dist/cnh'
106
+
98
107
 
99
108
  // Valida
100
109
  isCNH('69044271146') //-> true
@@ -123,7 +132,9 @@ Valida um CNPJ
123
132
  import { isCNPJ } from 'validation-br'
124
133
  // ou
125
134
  // Importação do submódulo
126
- import cnpj from 'validation-br/dist/cnpj'
135
+ import {validate, mask} from 'validation-br/dist/cnpj'
136
+ // ou
137
+ import * as cnpj from 'validation-br/dist/cnpj'
127
138
 
128
139
  // Valida
129
140
  isCNPJ('73.797.980/0001-79') //-> true
@@ -152,7 +163,9 @@ Valida um CPF
152
163
  import { isCPF } from 'validation-br'
153
164
  // ou
154
165
  // Importação do submódulo
155
- import cpf from 'validation-br/dist/cpf'
166
+ import {validate, mask} from 'validation-br/dist/cpf'
167
+ // ou
168
+ import * as cpf from 'validation-br/dist/cpf'
156
169
 
157
170
  // Valida
158
171
  isCPF('01234567890') //-> true
@@ -201,7 +214,9 @@ O número é composto por 6 partes:
201
214
  import { isJudicialProcess } from 'validation-br'
202
215
  // ou
203
216
  // Importação do submódulo
204
- import judicialProcess from 'validation-br/dist/judicialProcess'
217
+ import {validate, mask} from 'validation-br/dist/judicialProcess'
218
+ // ou
219
+ import * as judicialProcess from 'validation-br/dist/judicialProcess'
205
220
 
206
221
  // Valida
207
222
  isJudicialProcess('20802520125150049') //-> true
@@ -236,7 +251,9 @@ Válida um Número Unificado de Protocolo de 17 dígitos. Esta numeração é us
236
251
  import { isNUP17 } from 'validation-br'
237
252
  // ou
238
253
  // Importação do submódulo
239
- import nup from 'validation-br/dist/nup17'
254
+ import {validate, mask} from 'validation-br/dist/nup17'
255
+ // ou
256
+ import * as nup from 'validation-br/dist/nup17'
240
257
 
241
258
  // Valida
242
259
  isNUP17('23037001462202165') //-> true
@@ -265,7 +282,9 @@ Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita númer
265
282
  import { isPIS } from 'validation-br'
266
283
  // ou
267
284
  // Importação do submódulo
268
- import pis from 'validation-br/dist/pisPasep'
285
+ import {validate, mask} from 'validation-br/dist/pisPasep'
286
+ // ou
287
+ import * as pis from 'validation-br/dist/pisPasep'
269
288
 
270
289
  // Valida
271
290
  isPIS('71282677380') //-> true
@@ -299,7 +318,9 @@ Valida um código de rastreamento de objetos postais no formato XX00000000DYY, o
299
318
  import { isPostalCode } from 'validation-br'
300
319
  // ou
301
320
  // Importação do submódulo
302
- import postalCode from 'validation-br/dist/postalCode'
321
+ import {validate, mask} from 'validation-br/dist/postalCode'
322
+ // ou
323
+ import * as postalCode from 'validation-br/dist/postalCode'
303
324
 
304
325
  // Valida
305
326
  isPostalCode('PN718252423BR') //-> true
@@ -329,7 +350,9 @@ Valida o número de um RENAVAM de 11 dígitos
329
350
  import { isRenavam } from 'validation-br'
330
351
  // ou
331
352
  // Importação do submódulo
332
- import renavam from 'validation-br/dist/renavam'
353
+ import {validate, mask} from 'validation-br/dist/renavam'
354
+ // ou
355
+ import * as renavam from 'validation-br/dist/renavam'
333
356
 
334
357
  // Valida
335
358
  isRenavam('14283256656') //-> true
@@ -358,7 +381,9 @@ Valida um título eleitoral
358
381
  import { isTituloEleitor } from 'validation-br'
359
382
  // ou
360
383
  // Importação do submódulo
361
- import titulo from 'validation-br/dist/tituloEleitor'
384
+ import {validate, mask} from 'validation-br/dist/tituloEleitor'
385
+ // ou
386
+ import * as titulo from 'validation-br/dist/tituloEleitor'
362
387
 
363
388
  // Valida
364
389
  isTituloEleitor('743650641660') //-> true
@@ -378,40 +403,35 @@ titulo.mask('525028881694') // -> 5250.2888.1694
378
403
  titulo.dv('5250288816') // -> '94'
379
404
  ```
380
405
 
381
- # Usando com outras bibliotecas de validação
382
-
383
- Validation-BR pode ser utilizado em conjunto com quaisquer bibliotecas de validação que permita estender seus métodos.
384
-
385
- Abaixo seguem alguns exemplos. Sinta-se convidado a adicionar a sua biblioteca favorita em nosso wiki.
386
-
387
- - [Vuelidate](https://github.com/klawdyo/validation-br/wiki/Vuelidate)
388
- - [class-validator](https://github.com/klawdyo/validation-br/wiki/class-validator)
389
- - [YUP](https://github.com/klawdyo/validation-br/wiki/YUP)
390
- - [Indicative](https://github.com/klawdyo/validation-br/wiki/Indicative)
391
-
392
406
  # Testes
393
407
 
394
408
  Todos os testes passando com 100% de cobertura
395
409
 
396
- ![Testes](https://user-images.githubusercontent.com/100168/193415244-22fea27a-2a50-42bc-ab71-d21fdc7e465b.png)
410
+ ![Testes passando com 100% de cobertura](https://user-images.githubusercontent.com/100168/210075927-e13d8fad-f252-40a5-ad04-326a3198c0cb.png)
411
+
412
+
397
413
 
398
414
  # Changelog
399
415
 
416
+ - **30/12/2022**:
417
+ - 1.4.4
418
+ - Correção de bug quando o documento válido tinha caracteres adicionais
419
+ - Refatoração de `clearValue()` para comportar configurações opcionais
400
420
  - **01/10/2022**:
401
- - 1.4.1
402
- - Correção na importação principal dos módulos
403
- - Refatoração do isJudicialProcess para permitir 100% de cobertura dos testes
404
- - Inclusão de mais testes unitários para atingir 100% de cobertura
421
+ - 1.4.1
422
+ - Correção na importação principal dos módulos
423
+ - Refatoração do isJudicialProcess para permitir 100% de cobertura dos testes
424
+ - Inclusão de mais testes unitários para atingir 100% de cobertura
405
425
  - **10/01/2022**:
406
- - 1.1.0 - Adicionado NUP17 - Número Unificado de Protocolo de 17 dígitos do Governo Federal
426
+ - 1.1.0 - Adicionado NUP17 - Número Unificado de Protocolo de 17 dígitos do Governo Federal
407
427
  - **09/01/2022**:
408
- - 1.0.0 - Biblioteca convertida para Typescript e testes convertidos para Jest
428
+ - 1.0.0 - Biblioteca convertida para Typescript e testes convertidos para Jest
409
429
  - **08/01/2022**:
410
- - 0.21.1 - Adicionadas as funções isRenavam e isJudicialProcess
430
+ - 0.21.1 - Adicionadas as funções isRenavam e isJudicialProcess
411
431
  - **16/09/2021**:
412
- - 0.5.0 - Adicionadas as funções isCPF, isCNPJ e isTituloEleitor
413
- - 0.7.0 - Adicionadas as funções isPostalCode e isCNH
414
- - 0.8.0 - Adicionada a função isPIS
432
+ - 0.5.0 - Adicionadas as funções isCPF, isCNPJ e isTituloEleitor
433
+ - 0.7.0 - Adicionadas as funções isPostalCode e isCNH
434
+ - 0.8.0 - Adicionada a função isPIS
415
435
 
416
436
  # Referências
417
437
 
package/tsconfig.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "baseUrl": "src",
4
4
  "module": "commonjs",
5
5
  "esModuleInterop": true,
6
- "target": "es6",
6
+ "target": "ES2018",
7
7
  "moduleResolution": "node",
8
8
  "sourceMap": true,
9
9
  "outDir": "./dist",
@@ -15,10 +15,11 @@
15
15
  "allowJs": true,
16
16
  "types": ["node", "jest"],
17
17
  "typeRoots": ["node_modules/@types", "index.d.ts"],
18
- "lib": ["es6"],
18
+ "lib": ["ES2018"],
19
19
  "paths": {
20
20
  "*": ["node_modules/*"]
21
21
  }
22
22
  },
23
+ "exclude": ["./tsconfig.json"],
23
24
  "include": ["./src/**/*"]
24
25
  }