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
@@ -1,150 +1,99 @@
1
- /**
2
- * isCPF()
3
- * Calcula se um CPF é válido
4
- *
5
- * @doc
6
- * CPF deve possuir 11 dígitos.
7
- *
8
- * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
9
- *
10
- * - O caractere 9 refere-se à região fiscal emissora do documento
11
- * 1 – DF, GO, MS, MT e TO
12
- * 2 – AC, AM, AP, PA, RO e RR
13
- * 3 – CE, MA e PI
14
- * 4 – AL, PB, PE, RN
15
- * 5 – BA e SE
16
- * 6 – MG
17
- * 7 – ES e RJ
18
- * 8 – SP
19
- * 9 – PR e SC
20
- * 0 – RS
21
- *
22
- * - Os caracteres 10 e 11 são dígitos verificadores.
23
- *
24
- * 1) Partes do número
25
- * ------------------------------------------------
26
- * | Número | R | DV |
27
- * 2 8 0 . 0 1 2 . 3 8 9 - 3 8
28
- *
29
- * 2) Cálculo do primeiro DV.
30
- *
31
- * - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
32
- *
33
- * 2 8 0 0 1 2 3 8 9
34
- * x x x x x x x x x
35
- * 10 9 8 7 6 5 4 3 2
36
- * = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
37
- *
38
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
39
- * 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
40
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
41
- *
42
- * 3) Cálculo do segundo DV.
43
- *
44
- * - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
45
- *
46
- * 2 8 0 0 1 2 3 8 9 3
47
- * x x x x x x x x x x
48
- * 11 10 9 8 7 6 5 4 3 2
49
- * = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
50
- *
51
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
52
- * 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
53
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
54
- *
55
- * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
56
- *
57
- * @param {String} value Título eleitoral
58
- * @returns {Boolean}
59
- */
60
-
61
- import {
62
- invalidListGenerator,
63
- sumElementsByMultipliers,
64
- sumToDV,
65
- clearValue,
66
- fakeNumber,
67
- applyMask,
68
- } from './utils'
69
-
70
- /**
71
- * dv()
72
- * Calcula o dígito verificador de um CPF
73
- *
74
- * @param {Number|String} value
75
- * @returns {String}
76
- */
77
- export const dv = (value: string | number): string => {
78
- if (!value) throw new Error('CPF não informado')
79
-
80
- const cpf = clearValue(value, 9)
81
-
82
- const invalidList = invalidListGenerator(9)
83
- if (invalidList.includes(cpf)) {
84
- throw new Error('CPF não pode ser uma sequência de números iguais')
85
- }
86
-
87
- const sum1 = sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2])
88
- const dv1 = sumToDV(sum1)
89
-
90
- const sum2 = sumElementsByMultipliers(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2])
91
- const dv2 = sumToDV(sum2)
92
-
93
- return `${dv1}${dv2}`
94
- }
95
-
96
- /**
97
- * Aplica uma máscara ao número informado
98
- *
99
- * @param {String} value Número de Processo
100
- * @returns {String} Valor com a máscara
101
- */
102
- export const mask = (value: string | number): string => applyMask(value, '000.000.000-00')
103
-
104
- /**
105
- * fake()
106
- * Gera um número válido
107
- *
108
- * @returns {String}
109
- */
110
- export const fake = (withMask: boolean = false): string => {
111
- const num = fakeNumber(9, true)
112
-
113
- const cpf = `${num}${dv(num)}`
114
-
115
- if (withMask) return mask(cpf)
116
- return cpf
117
- }
118
-
119
- /**
120
- * validateOrFail()
121
- * Valida se um número de processo está correto e
122
- * retorna uma exceção se não estiver
123
- *
124
- * @returns {Boolean}
125
- */
126
- export const validateOrFail = (value: string | number): boolean => {
127
- const cpf = clearValue(value, 11)
128
-
129
- if (dv(cpf) !== cpf.substring(9, 11)) {
130
- throw new Error('Dígito verificador inválido')
131
- }
132
-
133
- return true
134
- }
135
-
136
- /**
137
- * validate()
138
- * Valida se um número de processo está correto
139
- *
140
- * @returns {Boolean}
141
- */
142
- export const validate = (value: string | number): boolean => {
143
- try {
144
- return validateOrFail(value)
145
- } catch (error) {
146
- return false
147
- }
148
- }
149
-
150
- export default validate
1
+ /**
2
+ * isCPF()
3
+ * Calcula se um CPF é válido
4
+ *
5
+ * @doc
6
+ * CPF deve possuir 11 dígitos.
7
+ *
8
+ * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
9
+ *
10
+ * - O caractere 9 refere-se à região fiscal emissora do documento
11
+ * 1 – DF, GO, MS, MT e TO
12
+ * 2 – AC, AM, AP, PA, RO e RR
13
+ * 3 – CE, MA e PI
14
+ * 4 – AL, PB, PE, RN
15
+ * 5 – BA e SE
16
+ * 6 – MG
17
+ * 7 – ES e RJ
18
+ * 8 – SP
19
+ * 9 – PR e SC
20
+ * 0 – RS
21
+ *
22
+ * - Os caracteres 10 e 11 são dígitos verificadores.
23
+ *
24
+ * 1) Partes do número
25
+ * ------------------------------------------------
26
+ * | Número | R | DV |
27
+ * 2 8 0 . 0 1 2 . 3 8 9 - 3 8
28
+ *
29
+ * 2) Cálculo do primeiro DV.
30
+ *
31
+ * - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2
32
+ *
33
+ * 2 8 0 0 1 2 3 8 9
34
+ * x x x x x x x x x
35
+ * 10 9 8 7 6 5 4 3 2
36
+ * = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162
37
+ *
38
+ * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
39
+ * 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.
40
+ * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
41
+ *
42
+ * 3) Cálculo do segundo DV.
43
+ *
44
+ * - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
45
+ *
46
+ * 2 8 0 0 1 2 3 8 9 3
47
+ * x x x x x x x x x x
48
+ * 11 10 9 8 7 6 5 4 3 2
49
+ * = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201
50
+ *
51
+ * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
52
+ * 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.
53
+ * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
54
+ *
55
+ * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/
56
+ *
57
+ * @param {String} value Título eleitoral
58
+ * @returns {Boolean}
59
+ */
60
+ /**
61
+ * dv()
62
+ * Calcula o dígito verificador
63
+ *
64
+ * @param {Number|String} value
65
+ * @returns {String}
66
+ */
67
+ export declare const dv: (value: string | number) => string;
68
+ /**
69
+ * Aplica uma máscara ao número informado
70
+ *
71
+ * @param {String} value Número de Processo
72
+ * @returns {String} Valor com a máscara
73
+ */
74
+ export declare const mask: (value: string | number) => string;
75
+ /**
76
+ * fake()
77
+ * Gera um número válido
78
+ *
79
+ * @returns {String}
80
+ */
81
+ export declare const fake: (withMask?: boolean) => string;
82
+ /**
83
+ * validateOrFail()
84
+ * Valida se um número é válido e
85
+ * retorna uma exceção se não estiver
86
+ *
87
+ * @param {String|Number} value Número a ser validado
88
+ * @returns {Boolean}
89
+ */
90
+ export declare const validateOrFail: (value: string | number) => boolean;
91
+ /**
92
+ * validate()
93
+ * Valida se um número é válido
94
+ *
95
+ * @param {String|Number} value Número a ser validado
96
+ * @returns {Boolean}
97
+ */
98
+ export declare const validate: (value: string | number) => boolean;
99
+ export default validate;
package/dist/cpf.js CHANGED
@@ -63,18 +63,18 @@ exports.validate = exports.validateOrFail = exports.fake = exports.mask = export
63
63
  const utils_1 = require("./utils");
64
64
  /**
65
65
  * dv()
66
- * Calcula o dígito verificador de um CPF
66
+ * Calcula o dígito verificador
67
67
  *
68
68
  * @param {Number|String} value
69
69
  * @returns {String}
70
70
  */
71
71
  exports.dv = (value) => {
72
72
  if (!value)
73
- throw new Error('CPF não informado');
73
+ throw new Error('Número não informado');
74
74
  const cpf = utils_1.clearValue(value, 9);
75
75
  const invalidList = utils_1.invalidListGenerator(9);
76
76
  if (invalidList.includes(cpf)) {
77
- throw new Error('CPF não pode ser uma sequência de números iguais');
77
+ throw new Error('Número não pode ser uma sequência de números iguais');
78
78
  }
79
79
  const sum1 = utils_1.sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);
80
80
  const dv1 = utils_1.sumToDV(sum1);
@@ -104,9 +104,10 @@ exports.fake = (withMask = false) => {
104
104
  };
105
105
  /**
106
106
  * validateOrFail()
107
- * Valida se um número de processo está correto e
107
+ * Valida se um número é válido e
108
108
  * retorna uma exceção se não estiver
109
109
  *
110
+ * @param {String|Number} value Número a ser validado
110
111
  * @returns {Boolean}
111
112
  */
112
113
  exports.validateOrFail = (value) => {
@@ -118,8 +119,9 @@ exports.validateOrFail = (value) => {
118
119
  };
119
120
  /**
120
121
  * validate()
121
- * Valida se um número de processo está correto
122
+ * Valida se um número é válido
122
123
  *
124
+ * @param {String|Number} value Número a ser validado
123
125
  * @returns {Boolean}
124
126
  */
125
127
  exports.validate = (value) => {
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,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,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;;;;;;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,CAAC,EAAE,EAAE,CAAC,EAAE;QACpC,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":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ isCNH: (value: string | number) => boolean;
3
+ isCNPJ: (value: string | number) => boolean;
4
+ isCPF: (value: string | number) => boolean;
5
+ isJudicialProcess: (value: string) => boolean;
6
+ isPIS: (value: string | number) => boolean;
7
+ isPostalCode: (value: string) => boolean;
8
+ isRenavam: (value: string | number) => boolean;
9
+ isTituloEleitor: (value: string | number) => boolean;
10
+ isNUP17: (value: string) => boolean;
11
+ };
12
+ export default _default;
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ const cnh_1 = __importDefault(require("./cnh"));
7
7
  const cnpj_1 = __importDefault(require("./cnpj"));
8
8
  const cpf_1 = __importDefault(require("./cpf"));
9
9
  const judicialProcess_1 = __importDefault(require("./judicialProcess"));
10
+ const nup17_1 = __importDefault(require("./nup17"));
10
11
  const pisPasep_1 = __importDefault(require("./pisPasep"));
11
12
  const postalCode_1 = __importDefault(require("./postalCode"));
12
13
  const renavam_1 = __importDefault(require("./renavam"));
@@ -20,5 +21,6 @@ exports.default = {
20
21
  isPostalCode: postalCode_1.default,
21
22
  isRenavam: renavam_1.default,
22
23
  isTituloEleitor: tituloEleitor_1.default,
24
+ isNUP17: nup17_1.default,
23
25
  };
24
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,kDAA2B;AAC3B,gDAAyB;AACzB,wEAAiD;AACjD,0DAA8B;AAC9B,8DAAuC;AACvC,wDAAiC;AACjC,oEAA6C;AAE7C,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,iBAAiB,EAAjB,yBAAiB;IACjB,KAAK,EAAL,kBAAK;IACL,YAAY,EAAZ,oBAAY;IACZ,SAAS,EAAT,iBAAS;IACT,eAAe,EAAf,uBAAe;CAChB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,kDAA2B;AAC3B,gDAAyB;AACzB,wEAAiD;AACjD,oDAA6B;AAC7B,0DAA8B;AAC9B,8DAAuC;AACvC,wDAAiC;AACjC,oEAA6C;AAE7C,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,iBAAiB,EAAjB,yBAAiB;IACjB,KAAK,EAAL,kBAAK;IACL,YAAY,EAAZ,oBAAY;IACZ,SAAS,EAAT,iBAAS;IACT,eAAe,EAAf,uBAAe;IACf,OAAO,EAAP,eAAO;CACR,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,167 +1,114 @@
1
- /**
2
- * judicialProcess
3
- * Valida, mascara e cria números de processos judiciais
4
- *
5
- * @link
6
- * https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
7
- * http://ghiorzi.org/DVnew.htm#f
8
- *
9
- * @doc
10
- * Os números de processos judiciais são usados a partir de 2010 para unificar a
11
- * numeração de processos no Brasil e são usados em todos os tribunais.
12
- *
13
- * O número do processo, sem os caracteres especiais, devem possuir até 20 números
14
- * e deve seguir o padrão abaixo:
15
- *
16
- * 1) Partes do número
17
- * 0002080-25.2012.5.15.0049
18
- * NNNNNNN-DD.AAAA.J.TR.OOOO
19
- * |______|__|____|_|__|____|
20
- * | | | | | |----> Unidade de origem do processo com 4 caracteres
21
- * | | | | |--------> TR=Tribunal do segmento do poder judiciário com 2 caracteres
22
- * | | | |----------> J=Órgão do poder Judiciário com 1 caractere
23
- * | | |-------------> Ano do ajuizamento do processo com 4 caracteres
24
- * | |-----------------> Dígito verificador com 2 caracteres
25
- * |----------------------> Número sequencial do Processo, por unidade de
26
- * origem, reiniciado anualmente com 7 caracteres
27
- *
28
- * Órgãos do Poder Judiciário
29
- * 1 - Supremo Tribunal Federal
30
- * 2 - Conselho Nacional de Justiça
31
- * 3 - Superior Tribunal de Justiça
32
- * 4 - Justiça Federal
33
- * 5 - Justiça do Trabalho
34
- * 6 - Justiça Eleitoral
35
- * 7 - Justiça Militar da União
36
- * 8 - Justiça dos Estados e do Distrito Federal e Territórios
37
- * 9 - Justiça Militar Estadual
38
- *
39
- *
40
- * 2) Dígito Verificador
41
- *
42
- * O algoritmo usado para o cálculo do DV chama-se Módulo 97 de Base 10 (ISO 7064).
43
- *
44
- * Nota: O número do processo possui 20 caracteres e ultrapassa o tamanho máximo
45
- * do inteiro em javascript, impedindo que façamos o cálculo diretamente, desta
46
- * forma, será nacessária uma fatoração para que o resultado seja o correto.
47
- *
48
- * 2.1) Cálculo do DV
49
- * - Caso o DV seja conhecido, ele precisa ser removido do número e colocado
50
- * como "00" ao final. Caso não esteja incluso no número, adicione '00' ao final.
51
- *
52
- * Ex.: O processo "00020802520125150049", cujo dv é "25", será calculado como
53
- * "000208020125150049" e receberá "00" ao final. O número usado para o cálculo
54
- * do DV será "00020802012515004900"
55
- *
56
- * 2.2) Etapas de Cálculo
57
- *
58
- * 00020802012515004900
59
- * ↓↓
60
- * DV ao final como "00"
61
- *
62
- * - Aplicamos o MOD 97 aos caracteres de 0 a 7 para calcular a primeira parte
63
- * part1 = 0002080 % 97 = 43
64
- *
65
- * - Concatenamos part1 ao ano, órgão do poder judiciário e tribunal e aplicamos o MOD 97
66
- * para obtermos o valor da part2
67
- * part2 = ( part1 +''+ 2012 +''+ 5 +''+ 15 ) % 97 = 26
68
- *
69
- * - Concatemos part2 ao código do órgão de origem e ao "00" do final e aplicamos
70
- * o MOD 97 ao resultado
71
- * part3 = ( part2 + '0049' + '00') % 97 = 73
72
- *
73
- * - Subtraímos o resultado de 98
74
- * dv = 98 - 73 = 25
75
- *
76
- * O Dígito verificador é 25 e deve ser aplicado após o 7º caractere do número do processo
77
- *
78
- * Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
79
- */
80
-
81
- import { clearValue, fakeNumber, applyMask, insertAtPosition, removeFromPosition } from './utils'
82
-
83
- /**
84
- *
85
- *
86
- */
87
- export const dv = (value: string): string => {
88
- if (!value) throw new Error('Número do processo é obrigatório')
89
- // if (typeof value !== 'string') throw new Error('Número do processo precisa ser string')
90
-
91
- const judicialProcess = clearValue(value, 18)
92
-
93
- const num = judicialProcess.substring(0, 7)
94
- const yearAndCourt = judicialProcess.substring(7, 14)
95
- const origin = judicialProcess.substring(14, 18)
96
-
97
- return String(
98
- 98 - (Number(`${Number(`${Number(num) % 97}${yearAndCourt}`) % 97}${origin}00`) % 97),
99
- ).padStart(2, '0')
100
- }
101
-
102
- /**
103
- * Aplica uma máscara ao número informado
104
- *
105
- * @param {String} value Número de Processo
106
- * @returns {String} Valor com a máscara
107
- */
108
- export const mask = (value: string | number): string =>
109
- applyMask(value, '0000000-00.0000.0.00.0000')
110
-
111
- /**
112
- *
113
- *
114
- */
115
- export const fake = (withMask: boolean = false): string => {
116
- const num = fakeNumber(7, true)
117
- const year = new Date().getFullYear() - +fakeNumber(1)
118
-
119
- const courte1 = fakeNumber(1, true) // Não pode ser '0'
120
- const courte2 = fakeNumber(2, true)
121
- const courte = `${courte1 === '0' || courte1 === '10' ? '1' : courte1}${courte2}`
122
-
123
- const origin = fakeNumber(4, true)
124
-
125
- const judicialProcess = `${num}${year}${courte}${origin}`
126
- const digits = dv(judicialProcess)
127
-
128
- const finalNumber = insertAtPosition(judicialProcess, digits, 7)
129
-
130
- if (withMask) return mask(finalNumber)
131
- return finalNumber
132
- }
133
-
134
- /**
135
- * validate()
136
- * Valida se um número de processo está correto
137
- *
138
- */
139
- export const validateOrFail = (value: string | number): boolean => {
140
- const judicialProcess = clearValue(value, 20)
141
- const processWithoutDV = removeFromPosition(judicialProcess, 7, 9)
142
-
143
- if (processWithoutDV.substring(11, 12) === '0') {
144
- throw new Error('Código do Órgão Judiciário não pode ser "0"')
145
- }
146
-
147
- if (dv(processWithoutDV) !== judicialProcess.substring(7, 9)) {
148
- throw new Error('Dígito verificador inválido')
149
- }
150
-
151
- return true
152
- }
153
-
154
- /**
155
- * validate()
156
- * Valida se um número de processo está correto
157
- *
158
- */
159
- export const validate = (value: string | number): boolean => {
160
- try {
161
- return validateOrFail(value)
162
- } catch (error) {
163
- return false
164
- }
165
- }
166
-
167
- export default validate
1
+ /**
2
+ * judicialProcess
3
+ * Valida, mascara e cria números de processos judiciais
4
+ *
5
+ * @link
6
+ * https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
7
+ * http://ghiorzi.org/DVnew.htm#f
8
+ *
9
+ * @doc
10
+ * Os números de processos judiciais são usados a partir de 2010 para unificar a
11
+ * numeração de processos no Brasil e são usados em todos os tribunais.
12
+ *
13
+ * O número do processo, sem os caracteres especiais, devem possuir até 20 números
14
+ * e deve seguir o padrão abaixo:
15
+ *
16
+ * 1) Partes do número
17
+ * 0002080-25.2012.5.15.0049
18
+ * NNNNNNN-DD.AAAA.J.TR.OOOO
19
+ * |______|__|____|_|__|____|
20
+ * | | | | | |----> Unidade de origem do processo com 4 caracteres
21
+ * | | | | |--------> TR=Tribunal do segmento do poder judiciário com 2 caracteres
22
+ * | | | |----------> J=Órgão do poder Judiciário com 1 caractere
23
+ * | | |-------------> Ano do ajuizamento do processo com 4 caracteres
24
+ * | |-----------------> Dígito verificador com 2 caracteres
25
+ * |----------------------> Número sequencial do Processo, por unidade de
26
+ * origem, reiniciado anualmente com 7 caracteres
27
+ *
28
+ * Órgãos do Poder Judiciário
29
+ * 1 - Supremo Tribunal Federal
30
+ * 2 - Conselho Nacional de Justiça
31
+ * 3 - Superior Tribunal de Justiça
32
+ * 4 - Justiça Federal
33
+ * 5 - Justiça do Trabalho
34
+ * 6 - Justiça Eleitoral
35
+ * 7 - Justiça Militar da União
36
+ * 8 - Justiça dos Estados e do Distrito Federal e Territórios
37
+ * 9 - Justiça Militar Estadual
38
+ *
39
+ *
40
+ * 2) Dígito Verificador
41
+ *
42
+ * O algoritmo usado para o cálculo do DV chama-se Módulo 97 de Base 10 (ISO 7064).
43
+ *
44
+ * Nota: O número do processo possui 20 caracteres e ultrapassa o tamanho máximo
45
+ * do inteiro em javascript, impedindo que façamos o cálculo diretamente, desta
46
+ * forma, será nacessária uma fatoração para que o resultado seja o correto.
47
+ *
48
+ * 2.1) Cálculo do DV
49
+ * - Caso o DV seja conhecido, ele precisa ser removido do número e colocado
50
+ * como "00" ao final. Caso não esteja incluso no número, adicione '00' ao final.
51
+ *
52
+ * Ex.: O processo "00020802520125150049", cujo dv é "25", será calculado como
53
+ * "000208020125150049" e receberá "00" ao final. O número usado para o cálculo
54
+ * do DV será "00020802012515004900"
55
+ *
56
+ * 2.2) Etapas de Cálculo
57
+ *
58
+ * 00020802012515004900
59
+ * ↓↓
60
+ * DV ao final como "00"
61
+ *
62
+ * - Aplicamos o MOD 97 aos caracteres de 0 a 7 para calcular a primeira parte
63
+ * part1 = 0002080 % 97 = 43
64
+ *
65
+ * - Concatenamos part1 ao ano, órgão do poder judiciário e tribunal e aplicamos o MOD 97
66
+ * para obtermos o valor da part2
67
+ * part2 = ( part1 +''+ 2012 +''+ 5 +''+ 15 ) % 97 = 26
68
+ *
69
+ * - Concatemos part2 ao código do órgão de origem e ao "00" do final e aplicamos
70
+ * o MOD 97 ao resultado
71
+ * part3 = ( part2 + '0049' + '00') % 97 = 73
72
+ *
73
+ * - Subtraímos o resultado de 98
74
+ * dv = 98 - 73 = 25
75
+ *
76
+ * O Dígito verificador é 25 e deve ser aplicado após o 7º caractere do número do processo
77
+ *
78
+ * Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
79
+ */
80
+ /**
81
+ *
82
+ *
83
+ */
84
+ export declare const dv: (value: string) => string;
85
+ /**
86
+ * Aplica uma máscara ao número informado
87
+ *
88
+ * @param {String} value Número de Processo
89
+ * @returns {String} Valor com a máscara
90
+ */
91
+ export declare const mask: (value: string | number) => string;
92
+ /**
93
+ *
94
+ *
95
+ */
96
+ export declare const fake: (withMask?: boolean) => string;
97
+ /**
98
+ * validateOrFail()
99
+ * Valida se um número é válido e
100
+ * retorna uma exceção se não estiver
101
+ *
102
+ * @param {String} value Número a ser validado
103
+ * @returns {Boolean}
104
+ */
105
+ export declare const validateOrFail: (value: string) => boolean;
106
+ /**
107
+ * validate()
108
+ * Valida se um número é válido
109
+ *
110
+ * @param {String} value Número a ser validado
111
+ * @returns {Boolean}
112
+ */
113
+ export declare const validate: (value: string) => boolean;
114
+ export default validate;