validation-br 1.5.1 → 1.6.0-a

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.
Files changed (116) hide show
  1. package/dist/{data → src/_exceptions}/ValidationBRError.d.ts +1 -0
  2. package/dist/{data → src/_exceptions}/ValidationBRError.js +1 -0
  3. package/dist/src/_exceptions/ValidationBRError.js.map +1 -0
  4. package/dist/{cnh.d.ts → src/cnh.d.ts} +7 -0
  5. package/dist/{cnh.js → src/cnh.js} +18 -8
  6. package/dist/src/cnh.js.map +1 -0
  7. package/dist/{cnpj.d.ts → src/cnpj.d.ts} +37 -3
  8. package/dist/{cnpj.js → src/cnpj.js} +54 -14
  9. package/dist/src/cnpj.js.map +1 -0
  10. package/dist/{cpf.d.ts → src/cpf.d.ts} +7 -0
  11. package/dist/{cpf.js → src/cpf.js} +18 -8
  12. package/dist/src/cpf.js.map +1 -0
  13. package/dist/src/index.js.map +1 -0
  14. package/dist/{judicialProcess.d.ts → src/judicialProcess.d.ts} +7 -0
  15. package/dist/{judicialProcess.js → src/judicialProcess.js} +17 -7
  16. package/dist/src/judicialProcess.js.map +1 -0
  17. package/dist/{nup17.d.ts → src/nup17.d.ts} +1 -0
  18. package/dist/{nup17.js → src/nup17.js} +10 -6
  19. package/dist/src/nup17.js.map +1 -0
  20. package/dist/{pisPasep.d.ts → src/pisPasep.d.ts} +7 -0
  21. package/dist/{pisPasep.js → src/pisPasep.js} +18 -8
  22. package/dist/src/pisPasep.js.map +1 -0
  23. package/dist/{postalCode.d.ts → src/postalCode.d.ts} +19 -10
  24. package/dist/{postalCode.js → src/postalCode.js} +23 -15
  25. package/dist/src/postalCode.js.map +1 -0
  26. package/dist/{renavam.d.ts → src/renavam.d.ts} +7 -0
  27. package/dist/{renavam.js → src/renavam.js} +18 -8
  28. package/dist/src/renavam.js.map +1 -0
  29. package/dist/{tituloEleitor.d.ts → src/tituloEleitor.d.ts} +7 -0
  30. package/dist/{tituloEleitor.js → src/tituloEleitor.js} +22 -8
  31. package/dist/src/tituloEleitor.js.map +1 -0
  32. package/dist/{utils.d.ts → src/utils.d.ts} +2 -2
  33. package/dist/{utils.js → src/utils.js} +9 -8
  34. package/dist/src/utils.js.map +1 -0
  35. package/dist/test/cnh.test.js +126 -0
  36. package/dist/test/cnh.test.js.map +1 -0
  37. package/dist/test/cnpj.test.js +191 -0
  38. package/dist/test/cnpj.test.js.map +1 -0
  39. package/dist/test/cpf.test.js +146 -0
  40. package/dist/test/cpf.test.js.map +1 -0
  41. package/dist/test/index.test.js +93 -0
  42. package/dist/test/index.test.js.map +1 -0
  43. package/dist/test/judicialProcess.test.js +134 -0
  44. package/dist/test/judicialProcess.test.js.map +1 -0
  45. package/dist/test/nup17.test.js +143 -0
  46. package/dist/test/nup17.test.js.map +1 -0
  47. package/dist/test/pisPasep.test.js +145 -0
  48. package/dist/test/pisPasep.test.js.map +1 -0
  49. package/dist/test/postalCode.test.js +133 -0
  50. package/dist/test/postalCode.test.js.map +1 -0
  51. package/dist/test/renavam.test.js +101 -0
  52. package/dist/test/renavam.test.js.map +1 -0
  53. package/dist/test/tituloEleitor.test.js +128 -0
  54. package/dist/test/tituloEleitor.test.js.map +1 -0
  55. package/dist/test/utils-applyMask.test.js +15 -0
  56. package/dist/test/utils-applyMask.test.js.map +1 -0
  57. package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
  58. package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
  59. package/dist/test/utils-clearValue.test.js +59 -0
  60. package/dist/test/utils-clearValue.test.js.map +1 -0
  61. package/dist/test/utils-fakeNumber.test.js +24 -0
  62. package/dist/test/utils-fakeNumber.test.js.map +1 -0
  63. package/dist/test/utils-insertAtPosition.test.js +16 -0
  64. package/dist/test/utils-insertAtPosition.test.js.map +1 -0
  65. package/dist/test/utils-randomLetter.test.js +11 -0
  66. package/dist/test/utils-randomLetter.test.js.map +1 -0
  67. package/dist/test/utils-removeFromPosition.test.js +12 -0
  68. package/dist/test/utils-removeFromPosition.test.js.map +1 -0
  69. package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
  70. package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
  71. package/dist/test/utils-sumToDV.test.d.ts +1 -0
  72. package/dist/test/utils-sumToDV.test.js +14 -0
  73. package/dist/test/utils-sumToDV.test.js.map +1 -0
  74. package/package.json +7 -3
  75. package/readme.md +216 -184
  76. package/.github/workflows/test.yml +0 -39
  77. package/.prettierignore +0 -1
  78. package/.prettierrc.js +0 -7
  79. package/dist/cnh.js.map +0 -1
  80. package/dist/cnpj.js.map +0 -1
  81. package/dist/cpf.js.map +0 -1
  82. package/dist/data/ValidationBRError.js.map +0 -1
  83. package/dist/index.js.map +0 -1
  84. package/dist/judicialProcess.js.map +0 -1
  85. package/dist/nup17.js.map +0 -1
  86. package/dist/pisPasep.js.map +0 -1
  87. package/dist/postalCode.js.map +0 -1
  88. package/dist/renavam.js.map +0 -1
  89. package/dist/tituloEleitor.js.map +0 -1
  90. package/dist/utils-invalidListGenerator.test.d.ts +0 -1
  91. package/dist/utils-randomLetter.test.d.ts +0 -1
  92. package/dist/utils.js.map +0 -1
  93. package/docs/Nota.COCAD.SUARA.2024.05.49.CNPJ.Alfanumerico-1.pdf +0 -0
  94. package/eslint.config.js +0 -82
  95. package/jest.config.js +0 -11
  96. package/tsconfig.json +0 -25
  97. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  98. /package/dist/{index.js → src/index.js} +0 -0
  99. /package/dist/{cnh.test.d.ts → test/cnh.test.d.ts} +0 -0
  100. /package/dist/{cnpj.test.d.ts → test/cnpj.test.d.ts} +0 -0
  101. /package/dist/{cpf.test.d.ts → test/cpf.test.d.ts} +0 -0
  102. /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
  103. /package/dist/{judicialProcess.test.d.ts → test/judicialProcess.test.d.ts} +0 -0
  104. /package/dist/{nup17.test.d.ts → test/nup17.test.d.ts} +0 -0
  105. /package/dist/{pisPasep.test.d.ts → test/pisPasep.test.d.ts} +0 -0
  106. /package/dist/{postalCode.test.d.ts → test/postalCode.test.d.ts} +0 -0
  107. /package/dist/{renavam.test.d.ts → test/renavam.test.d.ts} +0 -0
  108. /package/dist/{tituloEleitor.test.d.ts → test/tituloEleitor.test.d.ts} +0 -0
  109. /package/dist/{utils-applyMask.test.d.ts → test/utils-applyMask.test.d.ts} +0 -0
  110. /package/dist/{utils-checkRepeatedSequence.test.d.ts → test/utils-checkRepeatedSequence.test.d.ts} +0 -0
  111. /package/dist/{utils-clearValue.test.d.ts → test/utils-clearValue.test.d.ts} +0 -0
  112. /package/dist/{utils-fakeNumber.test.d.ts → test/utils-fakeNumber.test.d.ts} +0 -0
  113. /package/dist/{utils-insertAtPosition.test.d.ts → test/utils-insertAtPosition.test.d.ts} +0 -0
  114. /package/dist/{utils-removeFromPosition.test.d.ts → test/utils-randomLetter.test.d.ts} +0 -0
  115. /package/dist/{utils-sumElementsByMultipliers.test.d.ts → test/utils-removeFromPosition.test.d.ts} +0 -0
  116. /package/dist/{utils-sumToDV.test.d.ts → test/utils-sumElementsByMultipliers.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postalCode.js","sourceRoot":"","sources":["../../src/postalCode.ts"],"names":[],"mappings":"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"}
@@ -72,4 +72,11 @@ export declare const validateOrFail: (value: string | number) => boolean;
72
72
  * @returns {Boolean}
73
73
  */
74
74
  export declare const validate: (value: string | number) => boolean;
75
+ /**
76
+ * Retorna String sem máscara
77
+ *
78
+ * @param {String|Number} value Valor a remover máscara
79
+ * @returns {String}
80
+ */
81
+ export declare const normalize: (value: string | number) => string;
75
82
  export default validate;
@@ -38,8 +38,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  return (mod && mod.__esModule) ? mod : { "default": mod };
39
39
  };
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
42
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
41
+ exports.normalize = exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
42
+ const ValidationBRError_1 = __importDefault(require("./_exceptions/ValidationBRError"));
43
43
  const utils_1 = require("./utils");
44
44
  /**
45
45
  * dv()
@@ -90,12 +90,7 @@ exports.fake = fake;
90
90
  * @returns {Boolean}
91
91
  */
92
92
  const validateOrFail = (value) => {
93
- const renavam = (0, utils_1.clearValue)(value, 11, {
94
- fillZerosAtLeft: true,
95
- rejectEmpty: true,
96
- rejectHigherLength: true,
97
- rejectEqualSequence: true,
98
- });
93
+ const renavam = (0, exports.normalize)(value);
99
94
  if ((0, exports.dv)(renavam) !== renavam.substring(10, 11)) {
100
95
  throw ValidationBRError_1.default.INVALID_DV;
101
96
  }
@@ -118,5 +113,20 @@ const validate = (value) => {
118
113
  }
119
114
  };
120
115
  exports.validate = validate;
116
+ /**
117
+ * Retorna String sem máscara
118
+ *
119
+ * @param {String|Number} value Valor a remover máscara
120
+ * @returns {String}
121
+ */
122
+ const normalize = (value) => {
123
+ return (0, utils_1.clearValue)(value, 11, {
124
+ fillZerosAtLeft: true,
125
+ rejectEmpty: true,
126
+ rejectHigherLength: true,
127
+ rejectEqualSequence: true,
128
+ });
129
+ };
130
+ exports.normalize = normalize;
121
131
  exports.default = exports.validate;
122
132
  //# sourceMappingURL=renavam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renavam.js","sourceRoot":"","sources":["../../src/renavam.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;;;;AAEH,wFAAgE;AAChE,mCAAsF;AAEtF;;;;;;GAMG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QACpC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,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,CAAC;IACpF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAE5C,OAAO,GAAG,GAAG,EAAE,CAAC;AAClB,CAAC,CAAC;AAXW,QAAA,EAAE,MAWb;AAEF;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAA5E,QAAA,IAAI,QAAwE;AAEzF;;;;;GAKG;AACI,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,EAAE,CAAC;IAEvC,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AARW,QAAA,IAAI,QAQf;AAEF;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,OAAO,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAA,UAAE,EAAC,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,2BAAiB,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEF;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI,CAAC;QACH,OAAO,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEF;;;;;GAKG;AACI,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE;IAC1D,OAAO,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAC3B,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,SAAS,aAOpB;AAEF,kBAAe,gBAAQ,CAAC"}
@@ -90,4 +90,11 @@ export declare const validateOrFail: (value: string | number) => boolean;
90
90
  * @returns {Boolean}
91
91
  */
92
92
  export declare const validate: (value: string | number) => boolean;
93
+ /**
94
+ * Retorna String sem máscara
95
+ *
96
+ * @param {String|Number} value Valor a remover máscara
97
+ * @returns {String}
98
+ */
99
+ export declare const normalize: (value: string | number) => string;
93
100
  export default validate;
@@ -56,8 +56,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
56
56
  return (mod && mod.__esModule) ? mod : { "default": mod };
57
57
  };
58
58
  Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
60
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
59
+ exports.normalize = exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
60
+ const ValidationBRError_1 = __importDefault(require("./_exceptions/ValidationBRError"));
61
61
  const utils_1 = require("./utils");
62
62
  /**
63
63
  * dv()
@@ -72,6 +72,10 @@ const dv = (value) => {
72
72
  trimAtRight: true,
73
73
  rejectEmpty: true,
74
74
  });
75
+ const uf = titulo.substring(8, 10);
76
+ if (uf > '28') {
77
+ throw new ValidationBRError_1.default(`A UF ${uf} é inválida`);
78
+ }
75
79
  const sum1 = (0, utils_1.sumElementsByMultipliers)(titulo.substring(0, 8), [2, 3, 4, 5, 6, 7, 8, 9]);
76
80
  const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
77
81
  const sum2 = (0, utils_1.sumElementsByMultipliers)(titulo.substring(8, 10) + dv1, [7, 8, 9]);
@@ -111,12 +115,7 @@ exports.fake = fake;
111
115
  * @returns {Boolean}
112
116
  */
113
117
  const validateOrFail = (value) => {
114
- const titulo = (0, utils_1.clearValue)(value, 12, {
115
- fillZerosAtLeft: true,
116
- rejectEmpty: true,
117
- rejectHigherLength: true,
118
- rejectEqualSequence: true,
119
- });
118
+ const titulo = (0, exports.normalize)(value);
120
119
  if ((0, exports.dv)(titulo) !== titulo.substring(10, 12)) {
121
120
  throw ValidationBRError_1.default.INVALID_DV;
122
121
  }
@@ -139,5 +138,20 @@ const validate = (value) => {
139
138
  }
140
139
  };
141
140
  exports.validate = validate;
141
+ /**
142
+ * Retorna String sem máscara
143
+ *
144
+ * @param {String|Number} value Valor a remover máscara
145
+ * @returns {String}
146
+ */
147
+ const normalize = (value) => {
148
+ return (0, utils_1.clearValue)(value, 12, {
149
+ fillZerosAtLeft: true,
150
+ rejectEmpty: true,
151
+ rejectHigherLength: true,
152
+ rejectEqualSequence: true,
153
+ });
154
+ };
155
+ exports.normalize = normalize;
142
156
  exports.default = exports.validate;
143
157
  //# sourceMappingURL=tituloEleitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tituloEleitor.js","sourceRoot":"","sources":["../../src/tituloEleitor.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export declare function checkRepeatedSequence(value: string): boolean;
30
30
  * @param {String|Array} multiplier
31
31
  * @returns {Integer} Somatório
32
32
  */
33
- export declare function sumElementsByMultipliers(value: string, multiplier: string | number[]): number;
33
+ export declare function sumElementsByMultipliers(value: string, multiplier: number[]): number;
34
34
  /**
35
35
  * fakeNumber()
36
36
  * Cria um número aleatório com o número de caracteres
@@ -43,7 +43,7 @@ export declare function sumElementsByMultipliers(value: string, multiplier: stri
43
43
  * @param {Boolean} forceLength Adiciona zeros à esquerda para ter os números de caractes exatos
44
44
  * @returns {String}
45
45
  */
46
- export declare function fakeNumber(length: number, forceLength?: boolean): number | string;
46
+ export declare function fakeNumber(length: number, forceLength?: boolean, isAlpha?: boolean): string;
47
47
  /**
48
48
  * Limpa um número informado, retirando caracteres diferentes de números,
49
49
  * preenchendo com zeros à esquerda se for menor que o tamanho exato e
@@ -12,7 +12,7 @@ exports.insertAtPosition = insertAtPosition;
12
12
  exports.removeFromPosition = removeFromPosition;
13
13
  exports.applyMask = applyMask;
14
14
  exports.randomLetter = randomLetter;
15
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
15
+ const ValidationBRError_1 = __importDefault(require("./_exceptions/ValidationBRError"));
16
16
  /**
17
17
  * Calcula o DV verificador a partir das regras do MOD11:
18
18
  * O valor da soma é dividido por 11. O resultado é o resto da divisão. Caso o resto seja
@@ -50,9 +50,6 @@ function checkRepeatedSequence(value) {
50
50
  * @returns {Integer} Somatório
51
51
  */
52
52
  function sumElementsByMultipliers(value, multiplier) {
53
- if (!Array.isArray(multiplier)) {
54
- multiplier = [...multiplier].map((n) => Number(n));
55
- }
56
53
  return multiplier.reduce((accu, curr, i) => accu + curr * Number(value[i]), 0);
57
54
  }
58
55
  /**
@@ -67,11 +64,15 @@ function sumElementsByMultipliers(value, multiplier) {
67
64
  * @param {Boolean} forceLength Adiciona zeros à esquerda para ter os números de caractes exatos
68
65
  * @returns {String}
69
66
  */
70
- function fakeNumber(length, forceLength = false) {
71
- const value = Math.floor(Math.random() * 10 ** length);
67
+ function fakeNumber(length, forceLength = false, isAlpha = false) {
68
+ let value;
69
+ if (isAlpha)
70
+ value = Math.round(Math.random() * 36 ** length).toString(36).toLocaleUpperCase();
71
+ else
72
+ value = Math.floor(Math.random() * 10 ** length).toString();
72
73
  if (forceLength)
73
74
  return String(value).padStart(length, '0');
74
- return +value;
75
+ return String(value);
75
76
  }
76
77
  /**
77
78
  * Limpa um número informado, retirando caracteres diferentes de números,
@@ -92,7 +93,7 @@ function fakeNumber(length, forceLength = false) {
92
93
  * @returns {String} Número com o tamanho exato
93
94
  */
94
95
  function clearValue(value, length = null, options) {
95
- let clearedValue = String(value).replace(/([/.-]+)/gi, '');
96
+ let clearedValue = String(value).replace(/([/.-\s]+)/gi, '');
96
97
  if (options) {
97
98
  const shouldRejectEmpty = options.rejectEmpty === true && clearedValue.length === 0;
98
99
  if (shouldRejectEmpty) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const cnh_1 = __importStar(require("../src/cnh"));
37
+ const _cnh = __importStar(require("../src/cnh"));
38
+ describe('CNH', () => {
39
+ test.each([
40
+ // como inteiro
41
+ 50195131143,
42
+ 58316794534,
43
+ 50195471165,
44
+ // como string
45
+ '69044271146',
46
+ '46190906839',
47
+ // com máscara
48
+ '624729276-37',
49
+ ])('isCNH() - Números válidos', (item) => {
50
+ expect((0, cnh_1.default)(item)).toBeTruthy();
51
+ expect(_cnh.validate(item)).toBeTruthy();
52
+ });
53
+ test.each([
54
+ // como inteiro
55
+ 50195131143,
56
+ 58316794534,
57
+ // como string
58
+ '69044271146',
59
+ '46190906839',
60
+ // com máscara
61
+ '624729276-37',
62
+ ])('validate() - Números válidos', (item) => {
63
+ // t.true(isCNH(cnh), `CNH ${cnh} deve ser válida`)
64
+ expect((0, cnh_1.validate)(item)).toBeTruthy();
65
+ });
66
+ test.each([
67
+ //
68
+ '50195471143',
69
+ '58316474534',
70
+ '69044471146',
71
+ '33333333333',
72
+ '88888888888'
73
+ ])('validate() - Números inválidos', (item) => {
74
+ expect((0, cnh_1.validate)(item)).toBeFalsy();
75
+ });
76
+ test.each(['50195471143', '58316474534', '69044471146', '33333333333', '88888888888'])('validateOrFail() - Números inválidos', (item) => {
77
+ expect(() => (0, cnh_1.validateOrFail)(item)).toThrow();
78
+ });
79
+ test('Parâmetro não informado', () => {
80
+ expect((0, cnh_1.default)('')).toBeFalsy();
81
+ expect((0, cnh_1.validate)('')).toBeFalsy();
82
+ expect(() => (0, cnh_1.validateOrFail)('')).toThrow();
83
+ expect(() => (0, cnh_1.dv)('')).toThrow();
84
+ });
85
+ test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
86
+ const cnh = (0, cnh_1.fake)();
87
+ expect((0, cnh_1.validate)(cnh)).toBeTruthy();
88
+ expect(cnh).toHaveLength(11);
89
+ });
90
+ test.each([...Array(5)])('fake() - Gera fakes com máscara', () => {
91
+ const cnh = (0, cnh_1.fake)(true);
92
+ expect((0, cnh_1.validate)(cnh)).toBeTruthy();
93
+ expect(cnh).toHaveLength(12);
94
+ });
95
+ test.each([
96
+ { value: '501954711', expected: '65' },
97
+ { value: 583164745, expected: '75' },
98
+ { value: 690444711, expected: '17' },
99
+ ])('dv() - Verificando se o DV gerado está correto', (item) => {
100
+ const calcDv = (0, cnh_1.dv)(item.value);
101
+ expect(calcDv).toBe(item.expected);
102
+ expect(typeof calcDv).toBe('string');
103
+ });
104
+ test.each([
105
+ { value: 50195471143, expected: '501954711-43' },
106
+ { value: 58316474534, expected: '583164745-34' },
107
+ { value: 69044471146, expected: '690444711-46' },
108
+ ])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
109
+ const masked = (0, cnh_1.mask)(item.value);
110
+ expect(masked).toBe(item.expected);
111
+ expect(masked).toHaveLength(12);
112
+ });
113
+ test.each([
114
+ { value: '501954711-43', expected: '50195471143' },
115
+ { value: '583164745-34', expected: '58316474534' },
116
+ { value: '690444711-46', expected: '69044471146' },
117
+ { value: '50195471143', expected: '50195471143' },
118
+ { value: '58316474534', expected: '58316474534' },
119
+ { value: '69044471146', expected: '69044471146' },
120
+ ])('normalize() - Testando se remove a máscara corretamente', (item) => {
121
+ const normalized = (0, cnh_1.normalize)(item.value);
122
+ expect(normalized).toBe(item.expected);
123
+ expect(normalized).toHaveLength(11);
124
+ });
125
+ });
126
+ //# sourceMappingURL=cnh.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cnh.test.js","sourceRoot":"","sources":["../../test/cnh.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const cnpj_1 = __importStar(require("../src/cnpj"));
37
+ const _cnpj = __importStar(require("../src/cnpj"));
38
+ describe('CNPJ', () => {
39
+ test.each([
40
+ // Com máscara
41
+ '11.222.333/0001-81',
42
+ '73.797.980/0001-79',
43
+ '06.946.762/0001-61',
44
+ '96.051.576/0001-57',
45
+ '55.585.709/0001-98',
46
+ // inteiro
47
+ 99360938000180,
48
+ 23693443000100,
49
+ // string
50
+ '32432147000147',
51
+ '91951438000100',
52
+ ])('isCNPJ() - Números válidos', (cnpj) => {
53
+ expect((0, cnpj_1.default)(cnpj)).toBeTruthy();
54
+ expect(_cnpj.validate(cnpj)).toBeTruthy();
55
+ });
56
+ test.each([
57
+ // Com máscara
58
+ '11.222.333/0001-81',
59
+ '73.797.980/0001-79',
60
+ '06.946.762/0001-61',
61
+ '96.051.576/0001-57',
62
+ '55.585.709/0001-98',
63
+ // inteiro
64
+ 99360938000180,
65
+ 23693443000100,
66
+ // string
67
+ '32432147000147',
68
+ '91951438000100',
69
+ ])('validate() - Números válidos', (cnpj) => {
70
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
71
+ });
72
+ test.each([
73
+ '53.797.980/0001-79',
74
+ '36.946.762/0001-61',
75
+ '26.051.576/0001-57',
76
+ '85.585.709/0001-98',
77
+ '39360938000180',
78
+ '93693443000100',
79
+ '12432147000147',
80
+ '61951438000100',
81
+ '11111111111111',
82
+ ])('validate() - Números inválidos', (cnpj) => {
83
+ expect((0, cnpj_1.validate)(cnpj)).toBeFalsy();
84
+ });
85
+ test.each([
86
+ '53.797.980/0001-79',
87
+ '36.946.762/0001-61',
88
+ '26.051.576/0001-57',
89
+ '85.585.709/0001-98',
90
+ '39360938000180',
91
+ '93693443000100',
92
+ '12432147000147',
93
+ '61951438000100',
94
+ '11111111111111',
95
+ ])('validateOrFail() - Números inválidos', (cnpj) => {
96
+ expect(() => (0, cnpj_1.validateOrFail)(cnpj)).toThrow();
97
+ });
98
+ test('Parâmetro não informado', () => {
99
+ expect((0, cnpj_1.default)('')).toBeFalsy();
100
+ expect((0, cnpj_1.validate)('')).toBeFalsy();
101
+ expect(() => (0, cnpj_1.validateOrFail)('')).toThrow();
102
+ expect(() => (0, cnpj_1.dv)('')).toThrow();
103
+ });
104
+ test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
105
+ const cnpj = (0, cnpj_1.fake)();
106
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
107
+ expect(cnpj).toHaveLength(14);
108
+ });
109
+ test.each([...Array(5)])('fake() - Gera fakes com máscara', () => {
110
+ const cnpj = (0, cnpj_1.fake)(true);
111
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
112
+ expect(cnpj).toHaveLength(18);
113
+ });
114
+ test.each([...Array(5)])('fake() - Gera fakes com máscara usando opções como objeto', () => {
115
+ const cnpj = (0, cnpj_1.fake)({ withMask: true, alphanumeric: false });
116
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
117
+ expect(cnpj).toHaveLength(18);
118
+ expect(cnpj).toMatch(/^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/);
119
+ });
120
+ test.each([...Array(5)])('fake() - Gera fakes sem máscara usando opções como objeto', () => {
121
+ const cnpj = (0, cnpj_1.fake)({ withMask: false, alphanumeric: false });
122
+ expect(cnpj).toMatch(/^\d{14}$/);
123
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
124
+ expect(cnpj).toHaveLength(14);
125
+ });
126
+ test.each([...Array(5)])('fake() - Gera CNPJs alfanuméricos', () => {
127
+ const cnpj = (0, cnpj_1.fake)({ withMask: false, alphanumeric: true });
128
+ expect(cnpj).toMatch(/^[0-9A-Z]{14}$/);
129
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
130
+ expect(cnpj).toHaveLength(14);
131
+ });
132
+ test.each([
133
+ { num: '112223330001', expected: '81' },
134
+ { num: 993609380001, expected: '80' },
135
+ { num: '324321470001', expected: '47' },
136
+ { num: '132496630001', expected: '96' },
137
+ { num: '752827070001', expected: '37' },
138
+ { num: '265066480001', expected: '28' },
139
+ { num: '708032680001', expected: '47' },
140
+ { num: '195255840001', expected: '47' },
141
+ { num: '888634370001', expected: '08' },
142
+ { num: '060757490001', expected: '84' },
143
+ { num: '554120850001', expected: '07' },
144
+ { num: '754097240001', expected: '92' },
145
+ ])('dv() - Verificando se o DV gerado está correto', (item) => {
146
+ const calcDv = (0, cnpj_1.dv)(item.num);
147
+ expect(calcDv).toBe(item.expected);
148
+ expect(typeof calcDv).toBe('string');
149
+ });
150
+ test.each([
151
+ { value: '11222333000181', expected: '11.222.333/0001-81' },
152
+ { value: 99360938000180, expected: '99.360.938/0001-80' },
153
+ { value: '32432147000147', expected: '32.432.147/0001-47' },
154
+ { value: 432147000147, expected: '00.432.147/0001-47' },
155
+ ])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
156
+ const masked = (0, cnpj_1.mask)(item.value);
157
+ expect(masked).toBe(item.expected);
158
+ expect(masked).toHaveLength(18);
159
+ });
160
+ test.each([
161
+ { value: '11.222.333/0001-81', expected: '11222333000181' },
162
+ { value: '73.797.980/0001-79', expected: '73797980000179' },
163
+ { value: '06.946.762/0001-61', expected: '06946762000161' },
164
+ { value: '96.051.576/0001-57', expected: '96051576000157' },
165
+ { value: '55.585.709/0001-98', expected: '55585709000198' },
166
+ ])('normalize() - Deve remover a máscara corretamente', (item) => {
167
+ const normalized = (0, cnpj_1.normalize)(item.value);
168
+ expect(normalized).toBe(item.expected);
169
+ expect(normalized).toHaveLength(14);
170
+ });
171
+ });
172
+ describe('CNPJ alfanumérico', () => {
173
+ test.each([
174
+ 'A3.170.7X3/0001-36',
175
+ 'A31707X3000136',
176
+ ])('isValid() - checa se o cnpj alfanumérico %s é válido', (cnpj) => {
177
+ expect((0, cnpj_1.validate)(cnpj)).toBeTruthy();
178
+ });
179
+ test.each([
180
+ { num: 'A1.222.333/0001', expected: '50' },
181
+ { num: 'B1.222.333/0001', expected: '03' },
182
+ { num: 'C1.222.333/0001', expected: '67' },
183
+ { num: 'D12223330001', expected: '10' },
184
+ { num: 'E12223330001', expected: '74' },
185
+ ])('dv() - Verificando se o DV gerado de %s está correto', (item) => {
186
+ const calcDv = (0, cnpj_1.dv)(item.num);
187
+ expect(calcDv).toBe(item.expected);
188
+ expect(typeof calcDv).toBe('string');
189
+ });
190
+ });
191
+ //# sourceMappingURL=cnpj.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cnpj.test.js","sourceRoot":"","sources":["../../test/cnpj.test.ts"],"names":[],"mappings":"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"}