validation-br 1.0.0-b → 1.2.0-rc2

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 (111) hide show
  1. package/.eslintcache +1 -0
  2. package/{src/cnh.ts → dist/cnh.d.ts} +91 -140
  3. package/dist/cnh.js +9 -4
  4. package/dist/cnh.js.map +1 -1
  5. package/dist/cnh.test.d.ts +1 -0
  6. package/{src/cnpj.ts → dist/cnpj.d.ts} +82 -128
  7. package/dist/cnpj.js +8 -3
  8. package/dist/cnpj.js.map +1 -1
  9. package/dist/cnpj.test.d.ts +1 -0
  10. package/{src/cpf.ts → dist/cpf.d.ts} +99 -150
  11. package/dist/cpf.js +7 -5
  12. package/dist/cpf.js.map +1 -1
  13. package/dist/cpf.test.d.ts +1 -0
  14. package/dist/index.d.ts +12 -0
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.test.d.ts +1 -0
  18. package/{src/judicialProcess.ts → dist/judicialProcess.d.ts} +114 -167
  19. package/dist/judicialProcess.js +13 -6
  20. package/dist/judicialProcess.js.map +1 -1
  21. package/dist/judicialProcess.test.d.ts +1 -0
  22. package/dist/nup17.d.ts +102 -0
  23. package/dist/nup17.js +145 -0
  24. package/dist/nup17.js.map +1 -0
  25. package/dist/nup17.test.d.ts +1 -0
  26. package/{src/pisPasep.ts → dist/pisPasep.d.ts} +81 -128
  27. package/dist/pisPasep.js +4 -2
  28. package/dist/pisPasep.js.map +1 -1
  29. package/dist/pisPasep.test.d.ts +1 -0
  30. package/dist/postalCode.d.ts +83 -0
  31. package/dist/postalCode.js +4 -2
  32. package/dist/postalCode.js.map +1 -1
  33. package/dist/postalCode.test.d.ts +1 -0
  34. package/{src/renavam.ts → dist/renavam.d.ts} +75 -122
  35. package/dist/renavam.js +4 -2
  36. package/dist/renavam.js.map +1 -1
  37. package/dist/renavam.test.d.ts +1 -0
  38. package/{src/tituloEleitor.ts → dist/tituloEleitor.d.ts} +93 -146
  39. package/dist/tituloEleitor.js +4 -2
  40. package/dist/tituloEleitor.js.map +1 -1
  41. package/dist/tituloEleitor.test.d.ts +1 -0
  42. package/dist/utils-applyMask.test.d.ts +1 -0
  43. package/dist/utils-clearValue.test.d.ts +1 -0
  44. package/dist/utils-fakeNumber.test.d.ts +1 -0
  45. package/dist/utils-insertAtPosition.test.d.ts +1 -0
  46. package/dist/utils-invalidListGenerator.test.d.ts +1 -0
  47. package/dist/utils-removeFromPosition.test.d.ts +1 -0
  48. package/dist/utils-sumElementsByMultipliers.test.d.ts +1 -0
  49. package/dist/utils-sumToDV.test.d.ts +1 -0
  50. package/{src/utils.ts → dist/utils.d.ts} +111 -172
  51. package/dist/utils.js +2 -2
  52. package/dist/utils.js.map +1 -1
  53. package/dist/vuelidate.d.ts +36 -0
  54. package/dist/vuelidate.js +31 -0
  55. package/dist/vuelidate.js.map +1 -0
  56. package/package.json +68 -2
  57. package/readme.md +75 -18
  58. package/tsconfig.json +1 -0
  59. package/dist/cnh.test.js +0 -117
  60. package/dist/cnh.test.js.map +0 -1
  61. package/dist/cnpj.test.js +0 -141
  62. package/dist/cnpj.test.js.map +0 -1
  63. package/dist/cpf.test.js +0 -130
  64. package/dist/cpf.test.js.map +0 -1
  65. package/dist/index.test.js +0 -33
  66. package/dist/index.test.js.map +0 -1
  67. package/dist/judicialProcess.test.js +0 -123
  68. package/dist/judicialProcess.test.js.map +0 -1
  69. package/dist/pisPasep.test.js +0 -129
  70. package/dist/pisPasep.test.js.map +0 -1
  71. package/dist/postalCode.test.js +0 -135
  72. package/dist/postalCode.test.js.map +0 -1
  73. package/dist/renavam.test.js +0 -113
  74. package/dist/renavam.test.js.map +0 -1
  75. package/dist/tituloEleitor.test.js +0 -132
  76. package/dist/tituloEleitor.test.js.map +0 -1
  77. package/dist/utils-applyMask.test.js +0 -17
  78. package/dist/utils-applyMask.test.js.map +0 -1
  79. package/dist/utils-clearValue.test.js +0 -50
  80. package/dist/utils-clearValue.test.js.map +0 -1
  81. package/dist/utils-fakeNumber.test.js +0 -17
  82. package/dist/utils-fakeNumber.test.js.map +0 -1
  83. package/dist/utils-insertAtPosition.test.js +0 -16
  84. package/dist/utils-insertAtPosition.test.js.map +0 -1
  85. package/dist/utils-invalidListGenerator.test.js +0 -23
  86. package/dist/utils-invalidListGenerator.test.js.map +0 -1
  87. package/dist/utils-removeFromPosition.test.js +0 -16
  88. package/dist/utils-removeFromPosition.test.js.map +0 -1
  89. package/dist/utils-sumElementsByMultipliers.test.js +0 -32
  90. package/dist/utils-sumElementsByMultipliers.test.js.map +0 -1
  91. package/dist/utils-sumToDV.test.js +0 -16
  92. package/dist/utils-sumToDV.test.js.map +0 -1
  93. package/src/cnh.test.ts +0 -114
  94. package/src/cnpj.test.ts +0 -136
  95. package/src/cpf.test.ts +0 -125
  96. package/src/index.test.ts +0 -35
  97. package/src/index.ts +0 -19
  98. package/src/judicialProcess.test.ts +0 -118
  99. package/src/pisPasep.test.ts +0 -124
  100. package/src/postalCode.test.ts +0 -132
  101. package/src/postalCode.ts +0 -164
  102. package/src/renavam.test.ts +0 -110
  103. package/src/tituloEleitor.test.ts +0 -129
  104. package/src/utils-applyMask.test.ts +0 -17
  105. package/src/utils-clearValue.test.ts +0 -55
  106. package/src/utils-fakeNumber.test.ts +0 -19
  107. package/src/utils-insertAtPosition.test.ts +0 -15
  108. package/src/utils-invalidListGenerator.test.ts +0 -27
  109. package/src/utils-removeFromPosition.test.ts +0 -15
  110. package/src/utils-sumElementsByMultipliers.test.ts +0 -34
  111. package/src/utils-sumToDV.test.ts +0 -16
@@ -109,9 +109,11 @@ exports.mask = (value) => utils_1.applyMask(value, '0000000-00.0000.0.00.0000');
109
109
  exports.fake = (withMask = false) => {
110
110
  const num = utils_1.fakeNumber(7, true);
111
111
  const year = new Date().getFullYear() - +utils_1.fakeNumber(1);
112
- const courte1 = utils_1.fakeNumber(1, true); // Não pode ser '0'
113
- const courte2 = utils_1.fakeNumber(2, true);
114
- const courte = `${courte1 === '0' || courte1 === '10' ? '1' : courte1}${courte2}`;
112
+ let courte1 = utils_1.fakeNumber(1, true); // Não pode ser '0'
113
+ courte1 = courte1 === '0' ? '1' : courte1;
114
+ let courte2 = utils_1.fakeNumber(2, true);
115
+ courte2 = courte2 === '0' ? '01' : courte2;
116
+ const courte = `${courte1}${courte2}`;
115
117
  const origin = utils_1.fakeNumber(4, true);
116
118
  const judicialProcess = `${num}${year}${courte}${origin}`;
117
119
  const digits = exports.dv(judicialProcess);
@@ -121,9 +123,12 @@ exports.fake = (withMask = false) => {
121
123
  return finalNumber;
122
124
  };
123
125
  /**
124
- * validate()
125
- * Valida se um número de processo está correto
126
+ * validateOrFail()
127
+ * Valida se um número é válido e
128
+ * retorna uma exceção se não estiver
126
129
  *
130
+ * @param {String} value Número a ser validado
131
+ * @returns {Boolean}
127
132
  */
128
133
  exports.validateOrFail = (value) => {
129
134
  const judicialProcess = utils_1.clearValue(value, 20);
@@ -138,8 +143,10 @@ exports.validateOrFail = (value) => {
138
143
  };
139
144
  /**
140
145
  * validate()
141
- * Valida se um número de processo está correto
146
+ * Valida se um número é válido
142
147
  *
148
+ * @param {String} value Número a ser validado
149
+ * @returns {Boolean}
143
150
  */
144
151
  exports.validate = (value) => {
145
152
  try {
@@ -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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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,102 @@
1
+ /**
2
+ * isFederalProtocol()
3
+ * Calcula se é um número válido de protocolo do Governo Federal Brasileiro
4
+ *
5
+ * @doc
6
+ * O Número Unificado de Protocolo de processos do Governo Federal, também conhecido
7
+ * como NUP17, deve ter 17 caracteres, incluindo o dígito verificador de 2 caracteres.
8
+ *
9
+ * 1) Partes do número
10
+ *
11
+ * - Os caracteres 1 a 5 são um código do órgão que gerou o protocolo.
12
+ *
13
+ * - Os caracteres 6 a 11 são o número sequencial do protocolo, sendo que
14
+ * cada órgão emissor tem sua própria sequência e esta é reiniciada a cada ano.
15
+ *
16
+ * - Os caracteres 12 a 15 são referentes ao ano de protocolo
17
+ *
18
+ * - Os caracteres 16 a 17 são referentes ao Dígito Verificador
19
+ *
20
+ * 1.2) Exemplo
21
+ * ---------------------------------------------------------------
22
+ * | Código do órgão | Número Sequencial | Ano | D V
23
+ * 2 3 0 3 7 . 0 0 1 4 6 2 / 2 0 2 1 - 6 5
24
+ *
25
+ * 2) Cálculo do primeiro DV.
26
+ *
27
+ * - Soma-se o produto das algarismos 1 a 15 pelos números
28
+ * 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
29
+ *
30
+ * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1
31
+ * x x x x x x x x x x x x x x x
32
+ * 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
33
+ * = 32 +45 +0 +39 +84 +0 +0 +9 +32 +42 +12 +10 +0 +6 +2 = 313
34
+ *
35
+ * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
36
+ * 313 / 11 tem resto 5. 11 - 5 = 6. DV1 é 6.
37
+ * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
38
+ * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas
39
+ *
40
+ * 3) Cálculo do segundo DV.
41
+ *
42
+ * - Acrescenta o valor do DV1 ao número e faz o somatório dos produtos pelos números
43
+ * 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
44
+ *
45
+ * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1 6
46
+ * x x x x x x x x x x x x x x x x
47
+ * 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
48
+ * = 34 +48 +0 +42 +91 +0 +0 +10 +36 +48 +14 +12 +0 +8 +3 +12 = 358
49
+ *
50
+ * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
51
+ * 358 / 11 tem resto 6. 11 - 6 = 1. DV1 é 5.
52
+ * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
53
+ * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas.
54
+ *
55
+ * = DV = 65
56
+ *
57
+ * Fonte: https://www.gov.br/compras/pt-br/acesso-a-informacao/legislacao/portarias/portaria-interministerial-no-11-de-25-de-novembro-de-2019
58
+ *
59
+ * @param {String} value Título eleitoral
60
+ * @returns {Boolean}
61
+ */
62
+ /**
63
+ * dv()
64
+ * Calcula o dígito verificador
65
+ *
66
+ * @param {String} value
67
+ * @returns {String}
68
+ */
69
+ export declare const dv: (value: string) => string;
70
+ /**
71
+ * Aplica uma máscara ao número informado
72
+ *
73
+ * @param {String} value Número de Processo
74
+ * @returns {String} Valor com a máscara
75
+ */
76
+ export declare const mask: (value: string) => string;
77
+ /**
78
+ * fake()
79
+ * Gera um número válido
80
+ *
81
+ * @param {Boolean} withMask Define se o número deve ser gerado com ou sem máscara
82
+ * @returns {String}
83
+ */
84
+ export declare const fake: (withMask?: boolean) => string;
85
+ /**
86
+ * validateOrFail()
87
+ * Valida se um número é válido e
88
+ * retorna uma exceção se não estiver
89
+ *
90
+ * @param {String} value Número a ser validado
91
+ * @returns {Boolean}
92
+ */
93
+ export declare const validateOrFail: (value: string) => boolean;
94
+ /**
95
+ * validate()
96
+ * Valida se um número é válido
97
+ *
98
+ * @param {String} value Número a ser validado
99
+ * @returns {Boolean}
100
+ */
101
+ export declare const validate: (value: string) => boolean;
102
+ export default validate;
package/dist/nup17.js ADDED
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ /**
3
+ * isFederalProtocol()
4
+ * Calcula se é um número válido de protocolo do Governo Federal Brasileiro
5
+ *
6
+ * @doc
7
+ * O Número Unificado de Protocolo de processos do Governo Federal, também conhecido
8
+ * como NUP17, deve ter 17 caracteres, incluindo o dígito verificador de 2 caracteres.
9
+ *
10
+ * 1) Partes do número
11
+ *
12
+ * - Os caracteres 1 a 5 são um código do órgão que gerou o protocolo.
13
+ *
14
+ * - Os caracteres 6 a 11 são o número sequencial do protocolo, sendo que
15
+ * cada órgão emissor tem sua própria sequência e esta é reiniciada a cada ano.
16
+ *
17
+ * - Os caracteres 12 a 15 são referentes ao ano de protocolo
18
+ *
19
+ * - Os caracteres 16 a 17 são referentes ao Dígito Verificador
20
+ *
21
+ * 1.2) Exemplo
22
+ * ---------------------------------------------------------------
23
+ * | Código do órgão | Número Sequencial | Ano | D V
24
+ * 2 3 0 3 7 . 0 0 1 4 6 2 / 2 0 2 1 - 6 5
25
+ *
26
+ * 2) Cálculo do primeiro DV.
27
+ *
28
+ * - Soma-se o produto das algarismos 1 a 15 pelos números
29
+ * 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
30
+ *
31
+ * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1
32
+ * x x x x x x x x x x x x x x x
33
+ * 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
34
+ * = 32 +45 +0 +39 +84 +0 +0 +9 +32 +42 +12 +10 +0 +6 +2 = 313
35
+ *
36
+ * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
37
+ * 313 / 11 tem resto 5. 11 - 5 = 6. DV1 é 6.
38
+ * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
39
+ * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas
40
+ *
41
+ * 3) Cálculo do segundo DV.
42
+ *
43
+ * - Acrescenta o valor do DV1 ao número e faz o somatório dos produtos pelos números
44
+ * 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
45
+ *
46
+ * 2 3 0 3 7 0 0 1 4 6 2 2 0 2 1 6
47
+ * x x x x x x x x x x x x x x x x
48
+ * 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
49
+ * = 34 +48 +0 +42 +91 +0 +0 +10 +36 +48 +14 +12 +0 +8 +3 +12 = 358
50
+ *
51
+ * - O somatório encontrado é dividido por 11. O resto da divisão é subtraído de 11.
52
+ * 358 / 11 tem resto 6. 11 - 6 = 1. DV1 é 5.
53
+ * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0. Caso retorne 11, o DV
54
+ * será 1. Ou seja, se for maior ou igual a 10, desconsidere a casa das dezenas.
55
+ *
56
+ * = DV = 65
57
+ *
58
+ * Fonte: https://www.gov.br/compras/pt-br/acesso-a-informacao/legislacao/portarias/portaria-interministerial-no-11-de-25-de-novembro-de-2019
59
+ *
60
+ * @param {String} value Título eleitoral
61
+ * @returns {Boolean}
62
+ */
63
+ Object.defineProperty(exports, "__esModule", { value: true });
64
+ exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
65
+ const utils_1 = require("./utils");
66
+ /**
67
+ * dv()
68
+ * Calcula o dígito verificador
69
+ *
70
+ * @param {String} value
71
+ * @returns {String}
72
+ */
73
+ 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
77
+ 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
+ const sum1 = utils_1.sumElementsByMultipliers(nupReverse, [...Array(15)].map((_, i) => i + 2));
88
+ const dv1 = sumToDV(sum1);
89
+ const sum2 = utils_1.sumElementsByMultipliers(dv1 + nupReverse, [...Array(16)].map((_, i) => i + 2));
90
+ const dv2 = sumToDV(sum2);
91
+ return `${dv1}${dv2}`;
92
+ };
93
+ /**
94
+ * Aplica uma máscara ao número informado
95
+ *
96
+ * @param {String} value Número de Processo
97
+ * @returns {String} Valor com a máscara
98
+ */
99
+ exports.mask = (value) => utils_1.applyMask(value, '00000.000000/0000-00');
100
+ /**
101
+ * fake()
102
+ * Gera um número válido
103
+ *
104
+ * @param {Boolean} withMask Define se o número deve ser gerado com ou sem máscara
105
+ * @returns {String}
106
+ */
107
+ exports.fake = (withMask = false) => {
108
+ const num = utils_1.fakeNumber(15, true);
109
+ const nup = `${num}${exports.dv(String(num))}`;
110
+ if (withMask)
111
+ return exports.mask(nup);
112
+ return nup;
113
+ };
114
+ /**
115
+ * validateOrFail()
116
+ * Valida se um número é válido e
117
+ * retorna uma exceção se não estiver
118
+ *
119
+ * @param {String} value Número a ser validado
120
+ * @returns {Boolean}
121
+ */
122
+ 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');
126
+ }
127
+ return true;
128
+ };
129
+ /**
130
+ * validate()
131
+ * Valida se um número é válido
132
+ *
133
+ * @param {String} value Número a ser validado
134
+ * @returns {Boolean}
135
+ */
136
+ exports.validate = (value) => {
137
+ try {
138
+ return exports.validateOrFail(value);
139
+ }
140
+ catch (error) {
141
+ return false;
142
+ }
143
+ };
144
+ exports.default = exports.validate;
145
+ //# sourceMappingURL=nup17.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nup17.js","sourceRoot":"","sources":["../src/nup17.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,128 +1,81 @@
1
- /**
2
- * isPIS()
3
- * Calcula se um código de PIS/PASEP/NIS/NIT no formato 268.27649.96-0 é válido. Não
4
- * valida o formato, portanto, 26827649960 é equivalente a 268.27649.96-0 para efeitos
5
- * desta validação.
6
- *
7
- * @doc
8
- * - O número de PIS deve possuir 11 caracteres
9
- *
10
- * - Os caracteres de 1 a 10 são a numeração documento
11
- *
12
- * - O caractere 11 é o dígito verificador.
13
- *
14
- * 1) Partes do número
15
- * _______________________________________________
16
- * | Número | D V |
17
- * | 2 6 8 . 2 7 6 4 9 . 9 6 - 0 |
18
- * |_________________________________________|_____|
19
- *
20
- * 2) Cálculo do DV.
21
- *
22
- * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
23
- *
24
- * 2 6 8 2 7 6 4 9 9 6
25
- * x x x x x x x x x x
26
- * 3 2 9 8 7 6 5 4 3 2
27
- * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234
28
- *
29
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
30
- * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.
31
- * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.
32
- * Caso retorne 1, o resto será 0
33
- *
34
- *
35
- *
36
- *
37
- * Fonte: http://www.macoratti.net/alg_pis.htm
38
- *
39
- * @param {String} value Objeto postal no formato 268.27649.96-0
40
- * @returns {Boolean}
41
- */
42
-
43
- import {
44
- invalidListGenerator,
45
- sumElementsByMultipliers,
46
- sumToDV,
47
- clearValue,
48
- fakeNumber,
49
- applyMask,
50
- } from './utils'
51
-
52
- /**
53
- * dv()
54
- * Calcula o dígito verificador
55
- *
56
- * @param {Number|String} value
57
- * @returns {String}
58
- */
59
- export const dv = (value: string | number): string => {
60
- if (!value) throw new Error('PIS não informado')
61
-
62
- const pis = clearValue(value, 10)
63
-
64
- const invalidList = invalidListGenerator(10)
65
- if (invalidList.includes(pis)) {
66
- throw new Error('PIS não pode ser uma sequência de números iguais')
67
- }
68
-
69
- const sum = sumElementsByMultipliers(pis, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2])
70
-
71
- return String(sumToDV(sum))
72
- }
73
-
74
- /**
75
- * Aplica uma máscara ao número informado
76
- *
77
- * @param {String} value Número de Processo
78
- * @returns {String} Valor com a máscara
79
- */
80
- export const mask = (value: string | number): string => applyMask(value, '000.00000.00-0')
81
-
82
- /**
83
- * fake()
84
- * Gera um número válido
85
- *
86
- * @returns {String}
87
- */
88
- export const fake = (withMask: boolean = false): string => {
89
- const num = fakeNumber(10, true)
90
-
91
- const pis = `${num}${dv(num)}`
92
-
93
- if (withMask) return mask(pis)
94
- return pis
95
- }
96
-
97
- /**
98
- * validateOrFail()
99
- * Valida se um número de processo está correto e
100
- * retorna uma exceção se não estiver
101
- *
102
- * @returns {Boolean}
103
- */
104
- export const validateOrFail = (value: string | number): boolean => {
105
- const pis = clearValue(value, 11)
106
-
107
- if (dv(pis) !== pis.substring(10, 11)) {
108
- throw new Error('Dígito verificador inválido')
109
- }
110
-
111
- return true
112
- }
113
-
114
- /**
115
- * validate()
116
- * Valida se um número de processo está correto
117
- *
118
- * @returns {Boolean}
119
- */
120
- export const validate = (value: string | number): boolean => {
121
- try {
122
- return validateOrFail(value)
123
- } catch (error) {
124
- return false
125
- }
126
- }
127
-
128
- export default validate
1
+ /**
2
+ * isPIS()
3
+ * Calcula se um código de PIS/PASEP/NIS/NIT no formato 268.27649.96-0 é válido. Não
4
+ * valida o formato, portanto, 26827649960 é equivalente a 268.27649.96-0 para efeitos
5
+ * desta validação.
6
+ *
7
+ * @doc
8
+ * - O número de PIS deve possuir 11 caracteres
9
+ *
10
+ * - Os caracteres de 1 a 10 são a numeração documento
11
+ *
12
+ * - O caractere 11 é o dígito verificador.
13
+ *
14
+ * 1) Partes do número
15
+ * _______________________________________________
16
+ * | Número | D V |
17
+ * | 2 6 8 . 2 7 6 4 9 . 9 6 - 0 |
18
+ * |_________________________________________|_____|
19
+ *
20
+ * 2) Cálculo do DV.
21
+ *
22
+ * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
23
+ *
24
+ * 2 6 8 2 7 6 4 9 9 6
25
+ * x x x x x x x x x x
26
+ * 3 2 9 8 7 6 5 4 3 2
27
+ * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234
28
+ *
29
+ * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
30
+ * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.
31
+ * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.
32
+ * Caso retorne 1, o resto será 0
33
+ *
34
+ *
35
+ *
36
+ *
37
+ * Fonte: http://www.macoratti.net/alg_pis.htm
38
+ *
39
+ * @param {String} value Objeto postal no formato 268.27649.96-0
40
+ * @returns {Boolean}
41
+ */
42
+ /**
43
+ * dv()
44
+ * Calcula o dígito verificador
45
+ *
46
+ * @param {Number|String} value
47
+ * @returns {String}
48
+ */
49
+ export declare const dv: (value: string | number) => string;
50
+ /**
51
+ * Aplica uma máscara ao número informado
52
+ *
53
+ * @param {String} value Número de Processo
54
+ * @returns {String} Valor com a máscara
55
+ */
56
+ export declare const mask: (value: string | number) => string;
57
+ /**
58
+ * fake()
59
+ * Gera um número válido
60
+ *
61
+ * @returns {String}
62
+ */
63
+ export declare const fake: (withMask?: boolean) => string;
64
+ /**
65
+ * validateOrFail()
66
+ * Valida se um número é válido e
67
+ * retorna uma exceção se não estiver
68
+ *
69
+ * @param {String|Number} value Número a ser validado
70
+ * @returns {Boolean}
71
+ */
72
+ export declare const validateOrFail: (value: string | number) => boolean;
73
+ /**
74
+ * validate()
75
+ * Valida se um número é válido
76
+ *
77
+ * @param {String|Number} value Número a ser validado
78
+ * @returns {Boolean}
79
+ */
80
+ export declare const validate: (value: string | number) => boolean;
81
+ export default validate;
package/dist/pisPasep.js CHANGED
@@ -83,9 +83,10 @@ exports.fake = (withMask = false) => {
83
83
  };
84
84
  /**
85
85
  * validateOrFail()
86
- * Valida se um número de processo está correto e
86
+ * Valida se um número é válido e
87
87
  * retorna uma exceção se não estiver
88
88
  *
89
+ * @param {String|Number} value Número a ser validado
89
90
  * @returns {Boolean}
90
91
  */
91
92
  exports.validateOrFail = (value) => {
@@ -97,8 +98,9 @@ exports.validateOrFail = (value) => {
97
98
  };
98
99
  /**
99
100
  * validate()
100
- * Valida se um número de processo está correto
101
+ * Valida se um número é válido
101
102
  *
103
+ * @param {String|Number} value Número a ser validado
102
104
  * @returns {Boolean}
103
105
  */
104
106
  exports.validate = (value) => {
@@ -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;;;;;;GAMG;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;;;;;GAKG;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,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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,83 @@
1
+ /**
2
+ * isPostalCode()
3
+ * Calcula se um código de rastreamento postal no formato JT194690698BR é válido.
4
+ *
5
+ * @doc
6
+ * - O número de registro postal deve possuir 13 caracters no formato JT194690698BR.
7
+ *
8
+ * - Os caracteres 1 e 2 informam o tipo do objeto. Ex.: SX é Sedex, RC é carta registrada etc.
9
+ *
10
+ * - Os caracteres de 3 a 10 são a numeração sequencial do tipo do objeto.
11
+ *
12
+ * - O caractere 11 é o dígito verificador.
13
+ *
14
+ * - Os caracteres 12 e 13 representa o código do País de onde a postagem partiu.
15
+ *
16
+ * 1) Partes do número
17
+ * ______ ___________________________ ______ _______
18
+ * | Tipo | Número | DV | País |
19
+ * | J T 1 9 4 6 9 0 6 9 8 B R |
20
+ * |______|___________________________|______|_______|
21
+ *
22
+ * 2) Cálculo do DV.
23
+ *
24
+ * - Soma-se o produto das algarismos 3 a 10 pelos números 8, 6, 4, 2, 3, 5, 9, 7
25
+ *
26
+ * 1 9 4 6 9 0 6 9
27
+ * x x x x x x x x
28
+ * 8 6 4 2 3 5 9 7
29
+ * = 8 +54 +16 +12 +18 +0 +54 +63 = 234
30
+ *
31
+ * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
32
+ * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.
33
+ * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.
34
+ * Caso retorne 1, o resto será 0
35
+ *
36
+ *
37
+ *
38
+ *
39
+ * Fonte:
40
+ *
41
+ * @param {String} value Objeto postal no formato JT194690698BR
42
+ * @returns {Boolean}
43
+ */
44
+ /**
45
+ * dv()
46
+ * Calcula o dígito verificador
47
+ *
48
+ * @param {Number|String} value
49
+ * @returns {String}
50
+ */
51
+ export declare const dv: (value: string | number) => string;
52
+ /**
53
+ * Aplica uma máscara ao número informado
54
+ *
55
+ * @param {String} value Número de Processo
56
+ * @returns {String} Valor com a máscara
57
+ */
58
+ export declare const mask: (value: string | number) => string;
59
+ /**
60
+ * fake()
61
+ * Gera um número válido
62
+ *
63
+ * @returns {String}
64
+ */
65
+ export declare const fake: (withMask?: boolean) => string;
66
+ /**
67
+ * validateOrFail()
68
+ * Valida se um número é válido e
69
+ * retorna uma exceção se não estiver
70
+ *
71
+ * @param {String} value Número a ser validado
72
+ * @returns {Boolean}
73
+ */
74
+ export declare const validateOrFail: (value: string) => boolean;
75
+ /**
76
+ * validate()
77
+ * Valida se um número é válido
78
+ *
79
+ * @param {String} value Número a ser validado
80
+ * @returns {Boolean}
81
+ */
82
+ export declare const validate: (value: string) => boolean;
83
+ export default validate;
@@ -117,9 +117,10 @@ exports.fake = (withMask = false) => {
117
117
  };
118
118
  /**
119
119
  * validateOrFail()
120
- * Valida se um número de processo está correto e
120
+ * Valida se um número é válido e
121
121
  * retorna uma exceção se não estiver
122
122
  *
123
+ * @param {String} value Número a ser validado
123
124
  * @returns {Boolean}
124
125
  */
125
126
  exports.validateOrFail = (value) => {
@@ -134,8 +135,9 @@ exports.validateOrFail = (value) => {
134
135
  };
135
136
  /**
136
137
  * validate()
137
- * Valida se um número de processo está correto
138
+ * Valida se um número é válido
138
139
  *
140
+ * @param {String} value Número a ser validado
139
141
  * @returns {Boolean}
140
142
  */
141
143
  exports.validate = (value) => {