validation-br 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/test/cnh.test.js +116 -0
  2. package/dist/test/cnh.test.js.map +1 -0
  3. package/dist/test/cnpj.test.js +181 -0
  4. package/dist/test/cnpj.test.js.map +1 -0
  5. package/dist/test/cpf.test.js +136 -0
  6. package/dist/test/cpf.test.js.map +1 -0
  7. package/dist/test/index.test.js +83 -0
  8. package/dist/test/index.test.js.map +1 -0
  9. package/dist/test/judicialProcess.test.js +124 -0
  10. package/dist/test/judicialProcess.test.js.map +1 -0
  11. package/dist/test/nup17.test.js +133 -0
  12. package/dist/test/nup17.test.js.map +1 -0
  13. package/dist/test/pisPasep.test.js +135 -0
  14. package/dist/test/pisPasep.test.js.map +1 -0
  15. package/dist/test/postalCode.test.js +123 -0
  16. package/dist/test/postalCode.test.js.map +1 -0
  17. package/dist/test/renavam.test.js +91 -0
  18. package/dist/test/renavam.test.js.map +1 -0
  19. package/dist/test/tituloEleitor.test.js +118 -0
  20. package/dist/test/tituloEleitor.test.js.map +1 -0
  21. package/dist/test/utils-applyMask.test.js +15 -0
  22. package/dist/test/utils-applyMask.test.js.map +1 -0
  23. package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
  24. package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
  25. package/dist/test/utils-clearValue.test.js +59 -0
  26. package/dist/test/utils-clearValue.test.js.map +1 -0
  27. package/dist/test/utils-fakeNumber.test.js +24 -0
  28. package/dist/test/utils-fakeNumber.test.js.map +1 -0
  29. package/dist/test/utils-insertAtPosition.test.js +16 -0
  30. package/dist/test/utils-insertAtPosition.test.js.map +1 -0
  31. package/dist/test/utils-randomLetter.test.js +11 -0
  32. package/dist/test/utils-randomLetter.test.js.map +1 -0
  33. package/dist/test/utils-removeFromPosition.test.js +12 -0
  34. package/dist/test/utils-removeFromPosition.test.js.map +1 -0
  35. package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
  36. package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
  37. package/dist/test/utils-sumToDV.test.d.ts +1 -0
  38. package/dist/test/utils-sumToDV.test.js +14 -0
  39. package/dist/test/utils-sumToDV.test.js.map +1 -0
  40. package/jest.config.js +1 -1
  41. package/package.json +4 -3
  42. package/readme.md +216 -184
  43. package/test/cnh.test.ts +113 -0
  44. package/test/cnpj.test.ts +179 -0
  45. package/test/cpf.test.ts +124 -0
  46. package/test/index.test.ts +85 -0
  47. package/test/judicialProcess.test.ts +120 -0
  48. package/test/nup17.test.ts +127 -0
  49. package/test/pisPasep.test.ts +126 -0
  50. package/test/postalCode.test.ts +114 -0
  51. package/test/renavam.test.ts +77 -0
  52. package/test/tituloEleitor.test.ts +110 -0
  53. package/test/utils-applyMask.test.ts +13 -0
  54. package/test/utils-checkRepeatedSequence.test.ts +17 -0
  55. package/test/utils-clearValue.test.ts +69 -0
  56. package/test/utils-fakeNumber.test.ts +28 -0
  57. package/test/utils-insertAtPosition.test.ts +15 -0
  58. package/test/utils-randomLetter.test.ts +9 -0
  59. package/test/utils-removeFromPosition.test.ts +10 -0
  60. package/test/utils-sumElementsByMultipliers.test.ts +24 -0
  61. package/test/utils-sumToDV.test.ts +12 -0
  62. package/tsconfig.json +3 -3
  63. package/.github/workflows/test.yml +0 -39
  64. package/dist/cnh.d.ts +0 -91
  65. package/dist/cnh.js +0 -139
  66. package/dist/cnh.js.map +0 -1
  67. package/dist/cnpj.d.ts +0 -87
  68. package/dist/cnpj.js +0 -151
  69. package/dist/cnpj.js.map +0 -1
  70. package/dist/cpf.d.ts +0 -99
  71. package/dist/cpf.js +0 -147
  72. package/dist/cpf.js.map +0 -1
  73. package/dist/data/ValidationBRError.d.ts +0 -6
  74. package/dist/data/ValidationBRError.js +0 -10
  75. package/dist/data/ValidationBRError.js.map +0 -1
  76. package/dist/index.d.ts +0 -21
  77. package/dist/index.js +0 -42
  78. package/dist/index.js.map +0 -1
  79. package/dist/judicialProcess.d.ts +0 -126
  80. package/dist/judicialProcess.js +0 -190
  81. package/dist/judicialProcess.js.map +0 -1
  82. package/dist/nup17.d.ts +0 -102
  83. package/dist/nup17.js +0 -155
  84. package/dist/nup17.js.map +0 -1
  85. package/dist/pisPasep.d.ts +0 -81
  86. package/dist/pisPasep.js +0 -126
  87. package/dist/pisPasep.js.map +0 -1
  88. package/dist/postalCode.d.ts +0 -83
  89. package/dist/postalCode.js +0 -136
  90. package/dist/postalCode.js.map +0 -1
  91. package/dist/renavam.d.ts +0 -75
  92. package/dist/renavam.js +0 -122
  93. package/dist/renavam.js.map +0 -1
  94. package/dist/tituloEleitor.d.ts +0 -93
  95. package/dist/tituloEleitor.js +0 -143
  96. package/dist/tituloEleitor.js.map +0 -1
  97. package/dist/utils-invalidListGenerator.test.d.ts +0 -1
  98. package/dist/utils-randomLetter.test.d.ts +0 -1
  99. package/dist/utils.d.ts +0 -131
  100. package/dist/utils.js +0 -189
  101. package/dist/utils.js.map +0 -1
  102. package/docs/Nota.COCAD.SUARA.2024.05.49.CNPJ.Alfanumerico-1.pdf +0 -0
  103. /package/dist/{cnh.test.d.ts → test/cnh.test.d.ts} +0 -0
  104. /package/dist/{cnpj.test.d.ts → test/cnpj.test.d.ts} +0 -0
  105. /package/dist/{cpf.test.d.ts → test/cpf.test.d.ts} +0 -0
  106. /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
  107. /package/dist/{judicialProcess.test.d.ts → test/judicialProcess.test.d.ts} +0 -0
  108. /package/dist/{nup17.test.d.ts → test/nup17.test.d.ts} +0 -0
  109. /package/dist/{pisPasep.test.d.ts → test/pisPasep.test.d.ts} +0 -0
  110. /package/dist/{postalCode.test.d.ts → test/postalCode.test.d.ts} +0 -0
  111. /package/dist/{renavam.test.d.ts → test/renavam.test.d.ts} +0 -0
  112. /package/dist/{tituloEleitor.test.d.ts → test/tituloEleitor.test.d.ts} +0 -0
  113. /package/dist/{utils-applyMask.test.d.ts → test/utils-applyMask.test.d.ts} +0 -0
  114. /package/dist/{utils-checkRepeatedSequence.test.d.ts → test/utils-checkRepeatedSequence.test.d.ts} +0 -0
  115. /package/dist/{utils-clearValue.test.d.ts → test/utils-clearValue.test.d.ts} +0 -0
  116. /package/dist/{utils-fakeNumber.test.d.ts → test/utils-fakeNumber.test.d.ts} +0 -0
  117. /package/dist/{utils-insertAtPosition.test.d.ts → test/utils-insertAtPosition.test.d.ts} +0 -0
  118. /package/dist/{utils-removeFromPosition.test.d.ts → test/utils-randomLetter.test.d.ts} +0 -0
  119. /package/dist/{utils-sumElementsByMultipliers.test.d.ts → test/utils-removeFromPosition.test.d.ts} +0 -0
  120. /package/dist/{utils-sumToDV.test.d.ts → test/utils-sumElementsByMultipliers.test.d.ts} +0 -0
package/dist/utils.js DELETED
@@ -1,189 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sumToDV = sumToDV;
7
- exports.checkRepeatedSequence = checkRepeatedSequence;
8
- exports.sumElementsByMultipliers = sumElementsByMultipliers;
9
- exports.fakeNumber = fakeNumber;
10
- exports.clearValue = clearValue;
11
- exports.insertAtPosition = insertAtPosition;
12
- exports.removeFromPosition = removeFromPosition;
13
- exports.applyMask = applyMask;
14
- exports.randomLetter = randomLetter;
15
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
16
- /**
17
- * Calcula o DV verificador a partir das regras do MOD11:
18
- * O valor da soma é dividido por 11. O resultado é o resto da divisão. Caso o resto seja
19
- * menor que 2, ou seja, o valor da divisão seja 10 ou 11, o resultado é 0.
20
- *
21
- * @param {Integer} sum Soma
22
- * @returns {Integer}
23
- */
24
- function sumToDV(sum) {
25
- return sum % 11 < 2 ? 0 : 11 - (sum % 11);
26
- }
27
- /**
28
- * Checa se o número repassado possui todos os digitos iguais
29
- *
30
- * @example
31
- * checkRepeatedSequence(12345678)
32
- * // -> false
33
- * checkRepeatedSequence(11111111)
34
- * // -> true
35
- *
36
- */
37
- function checkRepeatedSequence(value) {
38
- return [...value].every(digit => digit === value[0]);
39
- }
40
- /**
41
- * Multiplica os elementos de uma string com os elementos de outra, ou de um array
42
- * e soma o resultado ao final
43
- *
44
- * @example
45
- * sumElementsByMultipliers('123', '987') //-> 46
46
- * sumElementsByMultipliers('123', [9, 8, 7]) //-> 46
47
- *
48
- * @param {String} value
49
- * @param {String|Array} multiplier
50
- * @returns {Integer} Somatório
51
- */
52
- function sumElementsByMultipliers(value, multiplier) {
53
- if (!Array.isArray(multiplier)) {
54
- multiplier = [...multiplier].map((n) => Number(n));
55
- }
56
- return multiplier.reduce((accu, curr, i) => accu + curr * Number(value[i]), 0);
57
- }
58
- /**
59
- * fakeNumber()
60
- * Cria um número aleatório com o número de caracteres
61
- *
62
- * @example
63
- * fakeNumber(8, true) // -> 00083159
64
- * fakeNumber(4) // -> 831
65
- *
66
- * @param {Integer} length
67
- * @param {Boolean} forceLength Adiciona zeros à esquerda para ter os números de caractes exatos
68
- * @returns {String}
69
- */
70
- function fakeNumber(length, forceLength = false) {
71
- const value = Math.floor(Math.random() * 10 ** length);
72
- if (forceLength)
73
- return String(value).padStart(length, '0');
74
- return +value;
75
- }
76
- /**
77
- * Limpa um número informado, retirando caracteres diferentes de números,
78
- * preenchendo com zeros à esquerda se for menor que o tamanho exato e
79
- * removendo uma parte do número se for maior que tamanho definido.
80
- *
81
- * 1) Retira caracteres não-numéricos
82
- * 2) Preenche com zeros à esquerda se 'value' for menor que 'length'
83
- * 3) Remove caracteres à direita se 'value' for maior que 'length'
84
- *
85
- * @example
86
- * clearValue(12345-6, 6) // -> 123456
87
- * clearValue(12345678, 3) // -> 123
88
- * clearValue(12345, 10) // -> 0000001234
89
- *
90
- * @param {Number|String} value
91
- * @param {Number} length Tamanho exato. Se for null, só retira os caracteres não-numéricos
92
- * @returns {String} Número com o tamanho exato
93
- */
94
- function clearValue(value, length = null, options) {
95
- let clearedValue = String(value).replace(/([/.-]+)/gi, '');
96
- if (options) {
97
- const shouldRejectEmpty = options.rejectEmpty === true && clearedValue.length === 0;
98
- if (shouldRejectEmpty) {
99
- throw ValidationBRError_1.default.EMPTY_VALUE;
100
- }
101
- const shouldRejectHigherLength = options.rejectHigherLength === true && length && clearedValue.length > length;
102
- if (shouldRejectHigherLength) {
103
- throw ValidationBRError_1.default.MAX_LEN_EXCEDEED;
104
- }
105
- const shouldRejectEqualSequence = options.rejectEqualSequence === true && length;
106
- if (shouldRejectEqualSequence) {
107
- if (checkRepeatedSequence(clearedValue))
108
- throw ValidationBRError_1.default.REPEATED_SEQUENCE;
109
- }
110
- if (length && options.fillZerosAtLeft)
111
- clearedValue = clearedValue.padStart(length, '0');
112
- if (length && options.trimAtRight)
113
- clearedValue = clearedValue.substring(0, length);
114
- }
115
- return clearedValue;
116
- }
117
- /**
118
- * insertAtPosition()
119
- * Insere um conjunto de caracteres em um local específico de uma string
120
- *
121
- * @example
122
- * insertAtPosition('AAABBB', 'C', 3) // -> AAACBBB
123
- * insertAtPosition('000011122223445555', 99, 7) // -> 00001119922223445555
124
- *
125
- * @param {String|Number} value Valor original
126
- * @param {String|Number} insertValue Valor que será inserido
127
- * @param {String|Number} position Posição que receberá o novo valor
128
- * @returns {String}
129
- *
130
- */
131
- function insertAtPosition(value, insertValue, position) {
132
- return `${value.substring(0, position)}${insertValue}${value.substring(position)}`;
133
- }
134
- /**
135
- * removeFromPosition()
136
- * Retira um conjunto de caracteres de um local específico de uma string
137
- *
138
- * @example
139
- * removeFromPosition('00001119922223445555', 7,9) // -> 000011122223445555
140
- * removeFromPosition('AAACBBB', 3,4) // -> AAABBB
141
- *
142
- * @param {String|Number} value Valor original
143
- * @param {String|Number} startPosition
144
- * @param {String|Number} endPosition
145
- * @returns {String}
146
- *
147
- */
148
- function removeFromPosition(value, startPosition, endPosition) {
149
- return [value.slice(0, startPosition), value.slice(endPosition)].join('');
150
- }
151
- /**
152
- * applyMask()
153
- * Aplica uma máscara a uma string
154
- *
155
- * @example
156
- * applyMask('59650000', '00.000-000') // -> 59.650-000
157
- * applyMask('99877665544', '(00) 0 0000-0000') // -> (99) 8 7766-5544
158
- *
159
- * @param {String|Number} value Valor original
160
- * @param {String} mask
161
- * @returns {String}
162
- *
163
- */
164
- function applyMask(value, mask) {
165
- const maskLen = clearValue(mask).length;
166
- let masked = clearValue(value, maskLen, { fillZerosAtLeft: true, trimAtRight: true });
167
- const specialChars = ['/', '-', '.', '(', ')', ' '];
168
- for (let position = 0; position < mask.length; position += 1) {
169
- const current = mask[position];
170
- if (specialChars.includes(current))
171
- masked = insertAtPosition(masked, current, position);
172
- }
173
- return masked;
174
- }
175
- /**
176
- * randomLetter()
177
- * Pega uma letra maiúscula aleatoriamente
178
- *
179
- * @example
180
- * randomLetter() // -> A
181
- * randomLetter() // -> S
182
- *
183
- * @returns {String}
184
- */
185
- function randomLetter() {
186
- const idx = Math.floor(1 + Math.random() * 26);
187
- return String.fromCharCode(idx + 64);
188
- }
189
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes