validation-br 0.21.3 → 1.2.0-rc1

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 (84) hide show
  1. package/.eslintcache +1 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.js +76 -11
  4. package/.github/workflows/test.yml +39 -0
  5. package/.prettierignore +1 -0
  6. package/.prettierrc.js +7 -0
  7. package/dist/cnh.d.ts +91 -0
  8. package/dist/cnh.js +128 -0
  9. package/dist/cnh.js.map +1 -0
  10. package/dist/cnh.test.d.ts +1 -0
  11. package/dist/cnpj.d.ts +82 -0
  12. package/dist/{documents/cnpj.js → cnpj.js} +116 -138
  13. package/dist/cnpj.js.map +1 -0
  14. package/dist/cnpj.test.d.ts +1 -0
  15. package/dist/cpf.d.ts +99 -0
  16. package/dist/{documents/cpf.js → cpf.js} +135 -160
  17. package/dist/cpf.js.map +1 -0
  18. package/dist/cpf.test.d.ts +1 -0
  19. package/dist/index.d.ts +12 -0
  20. package/dist/index.js +26 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/index.test.d.ts +1 -0
  23. package/dist/judicialProcess.d.ts +114 -0
  24. package/dist/judicialProcess.js +160 -0
  25. package/dist/judicialProcess.js.map +1 -0
  26. package/dist/judicialProcess.test.d.ts +1 -0
  27. package/dist/nup17.d.ts +102 -0
  28. package/dist/nup17.js +145 -0
  29. package/dist/nup17.js.map +1 -0
  30. package/dist/nup17.test.d.ts +1 -0
  31. package/dist/pisPasep.d.ts +81 -0
  32. package/dist/{documents/pis-pasep.js → pisPasep.js} +115 -140
  33. package/dist/pisPasep.js.map +1 -0
  34. package/dist/pisPasep.test.d.ts +1 -0
  35. package/dist/postalCode.d.ts +83 -0
  36. package/dist/postalCode.js +152 -0
  37. package/dist/postalCode.js.map +1 -0
  38. package/dist/postalCode.test.d.ts +1 -0
  39. package/dist/renavam.d.ts +75 -0
  40. package/dist/renavam.js +110 -0
  41. package/dist/renavam.js.map +1 -0
  42. package/dist/renavam.test.d.ts +1 -0
  43. package/dist/tituloEleitor.d.ts +93 -0
  44. package/dist/{documents/titulo-eleitor.js → tituloEleitor.js} +132 -155
  45. package/dist/tituloEleitor.js.map +1 -0
  46. package/dist/tituloEleitor.test.d.ts +1 -0
  47. package/dist/utils-applyMask.test.d.ts +1 -0
  48. package/dist/utils-clearValue.test.d.ts +1 -0
  49. package/dist/utils-fakeNumber.test.d.ts +1 -0
  50. package/dist/utils-insertAtPosition.test.d.ts +1 -0
  51. package/dist/utils-invalidListGenerator.test.d.ts +1 -0
  52. package/dist/utils-removeFromPosition.test.d.ts +1 -0
  53. package/dist/utils-sumElementsByMultipliers.test.d.ts +1 -0
  54. package/dist/utils-sumToDV.test.d.ts +1 -0
  55. package/dist/utils.d.ts +111 -0
  56. package/dist/{lib/utils.js → utils.js} +166 -175
  57. package/dist/utils.js.map +1 -0
  58. package/dist/vuelidate.d.ts +36 -0
  59. package/dist/vuelidate.js +31 -0
  60. package/dist/vuelidate.js.map +1 -0
  61. package/jest.config.js +14 -0
  62. package/package.json +44 -27
  63. package/readme.md +170 -111
  64. package/tsconfig.json +24 -0
  65. package/.babelrc +0 -15
  66. package/.prettierrc +0 -9
  67. package/LICENSE +0 -21
  68. package/dist/documents/cnh.js +0 -154
  69. package/dist/documents/cnh.js.map +0 -1
  70. package/dist/documents/cnpj.js.map +0 -1
  71. package/dist/documents/cpf.js.map +0 -1
  72. package/dist/documents/index.js +0 -29
  73. package/dist/documents/index.js.map +0 -1
  74. package/dist/documents/judicial-process.js +0 -177
  75. package/dist/documents/judicial-process.js.map +0 -1
  76. package/dist/documents/pis-pasep.js.map +0 -1
  77. package/dist/documents/postal-code.js +0 -151
  78. package/dist/documents/postal-code.js.map +0 -1
  79. package/dist/documents/renavam.js +0 -97
  80. package/dist/documents/renavam.js.map +0 -1
  81. package/dist/documents/titulo-eleitor.js.map +0 -1
  82. package/dist/lib/utils.js.map +0 -1
  83. package/docs.md +0 -0
  84. package/index.js +0 -3
@@ -1,154 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * isCNH()
5
- * Calcula se uma CNH é válida
6
- *
7
- * @doc
8
- * CNH deve possuir 11 caracteres
9
- *
10
- * - Os caracteres 1 a 9 são números sequenciais.
11
- *
12
- *
13
- * - Os caracteres 10 e 11 são dígitos verificadores.
14
- *
15
- * 1) Partes do número
16
- * ____________________________ ______
17
- * | Número | D V |
18
- * | 5 8 3 1 6 7 9 4 5 3 4 |
19
- * |____________________________|_____|
20
- *
21
- * 2) Cálculo do primeiro DV.
22
- *
23
- * - Soma-se o produto das algarismos 1 a 9 pelos números 2, 3, 4, 5, 6, 7, 8, 9, 10.
24
- *
25
- * 5 8 3 1 6 7 9 4 5
26
- * x x x x x x x x x
27
- * 2 3 4 5 6 7 8 9 10
28
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 = 294
29
- *
30
- * - O somatório encontrado é dividido por 11. O DV1 é 11 subtraído do resto da divisão. Se o
31
- * resto for 10, o DV1 é 0.
32
- *
33
- * 2.1) 294 / 11 tem resto igual a 8. 11-7 = 3
34
- * DV1 = 3
35
- *
36
- * 3) Cálculo do segundo DV
37
- *
38
- * - Soma-se o produto das algarismos 1 a 9 juntamente com o 10 caractere
39
- * que é o DV1, pelos números 3, 4, 5, 6, 7, 8, 9, 10, 11, 2. O DV1 será
40
- * multiplicado por 2 e ficará no final.
41
- *
42
- * 5 8 3 1 6 7 9 4 5 3
43
- * x x x x x x x x x x
44
- * 3 4 5 6 7 8 9 10 11 2
45
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 +6 = 348
46
- *
47
- * 3.1) 348 / 11 tem resto igual a 7. 11 - 7 = 4.
48
- * DV2 = 4
49
- *
50
- * - O somatório encontrado é dividido por 11. O DV2 é 11 subtraído do resto da divisão. Se o
51
- * resto for 10, o DV2 é 0.
52
- *
53
- * Fonte: https://www.devmedia.com.br/forum/validacao-de-cnh/372972
54
- *
55
- * @param {String} value Título eleitoral
56
- * @returns {Boolean}
57
- */
58
- var _require = require('../lib/utils'),
59
- sumElementsByMultipliers = _require.sumElementsByMultipliers,
60
- sumToDV = _require.sumToDV,
61
- invalidListGenerator = _require.invalidListGenerator,
62
- clearValue = _require.clearValue,
63
- applyMask = _require.applyMask,
64
- fakeNumber = _require.fakeNumber;
65
- /**
66
- * Calcula o Dígito Verificador de um RENAVAM informado
67
- *
68
- * @returns String Número fake de um cnh válido
69
- */
70
-
71
-
72
- var dv = function dv() {
73
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
74
- if (!value) throw new Error('CNH não informado');
75
- var cnh = clearValue(value, 9);
76
- var invalidList = invalidListGenerator(9);
77
-
78
- if (invalidList.includes(cnh)) {
79
- throw new Error('CNH não pode ser uma sequência de números iguais');
80
- }
81
-
82
- var sum1 = sumElementsByMultipliers(cnh.substring(0, 9), [2, 3, 4, 5, 6, 7, 8, 9, 10]);
83
- var dv1 = sumToDV(sum1);
84
- var sum2 = sumElementsByMultipliers(cnh.substring(0, 9) + dv1, [3, 4, 5, 6, 7, 8, 9, 10, 11, 2]);
85
- var dv2 = sumToDV(sum2);
86
- return "".concat(dv1).concat(dv2);
87
- };
88
- /**
89
- * Valida um número de cnh e retorna uma exceção caso seja inválido
90
- *
91
- * @returns String Número fake de um cnh válido
92
- */
93
-
94
-
95
- var validateOrFail = function validateOrFail() {
96
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
97
- var cnh = clearValue(value, 11);
98
-
99
- if (dv(cnh) !== cnh.substring(9, 11)) {
100
- throw new Error('Dígito verificador inválido');
101
- }
102
-
103
- return true;
104
- };
105
- /**
106
- * Valida um número de cnh
107
- *
108
- * @returns String Valor a ser validado
109
- */
110
-
111
-
112
- var validate = function validate() {
113
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
114
-
115
- try {
116
- return validateOrFail(value);
117
- } catch (error) {
118
- return false;
119
- }
120
- };
121
- /**
122
- * Aplica uma máscara a uma string
123
- *
124
- * @returns String string com a máscara aplicada
125
- */
126
-
127
-
128
- var mask = function mask() {
129
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
130
- return applyMask(value, '000000000-00');
131
- };
132
- /**
133
- * Cria um número fake
134
- *
135
- * @returns String Número fake porém válido
136
- */
137
-
138
-
139
- var fake = function fake() {
140
- var withMask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
141
- var value = fakeNumber(9, true);
142
- var cnh = "".concat(value).concat(dv(value));
143
- if (withMask) return mask(cnh);
144
- return cnh;
145
- };
146
-
147
- module.exports = {
148
- dv: dv,
149
- fake: fake,
150
- mask: mask,
151
- validate: validate,
152
- validateOrFail: validateOrFail
153
- };
154
- //# sourceMappingURL=cnh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/cnh.js"],"names":["require","sumElementsByMultipliers","sumToDV","invalidListGenerator","clearValue","applyMask","fakeNumber","dv","value","Error","cnh","invalidList","includes","sum1","substring","dv1","sum2","dv2","validateOrFail","validate","error","mask","fake","withMask","module","exports"],"mappings":"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","sourcesContent":["/**\n * isCNH()\n * Calcula se uma CNH é válida\n *\n * @doc\n * CNH deve possuir 11 caracteres\n *\n * - Os caracteres 1 a 9 são números sequenciais.\n *\n *\n * - Os caracteres 10 e 11 são dígitos verificadores.\n *\n * 1) Partes do número\n * ____________________________ ______\n * | Número | D V |\n * | 5 8 3 1 6 7 9 4 5 3 4 |\n * |____________________________|_____|\n *\n * 2) Cálculo do primeiro DV.\n *\n * - Soma-se o produto das algarismos 1 a 9 pelos números 2, 3, 4, 5, 6, 7, 8, 9, 10.\n *\n * 5 8 3 1 6 7 9 4 5\n * x x x x x x x x x\n * 2 3 4 5 6 7 8 9 10\n * = 10 +24 +12 +5 +36 +49 +72 +36 +50 = 294\n *\n * - O somatório encontrado é dividido por 11. O DV1 é 11 subtraído do resto da divisão. Se o\n * resto for 10, o DV1 é 0.\n *\n * 2.1) 294 / 11 tem resto igual a 8. 11-7 = 3\n * DV1 = 3\n *\n * 3) Cálculo do segundo DV\n *\n * - Soma-se o produto das algarismos 1 a 9 juntamente com o 10 caractere\n * que é o DV1, pelos números 3, 4, 5, 6, 7, 8, 9, 10, 11, 2. O DV1 será\n * multiplicado por 2 e ficará no final.\n *\n * 5 8 3 1 6 7 9 4 5 3\n * x x x x x x x x x x\n * 3 4 5 6 7 8 9 10 11 2\n * = 10 +24 +12 +5 +36 +49 +72 +36 +50 +6 = 348\n *\n * 3.1) 348 / 11 tem resto igual a 7. 11 - 7 = 4.\n * DV2 = 4\n *\n * - O somatório encontrado é dividido por 11. O DV2 é 11 subtraído do resto da divisão. Se o\n * resto for 10, o DV2 é 0.\n *\n * Fonte: https://www.devmedia.com.br/forum/validacao-de-cnh/372972\n *\n * @param {String} value Título eleitoral\n * @returns {Boolean}\n */\n\nconst {\n sumElementsByMultipliers, sumToDV, invalidListGenerator,\n clearValue, applyMask, fakeNumber,\n} = require('../lib/utils');\n\n/**\n * Calcula o Dígito Verificador de um RENAVAM informado\n *\n * @returns String Número fake de um cnh válido\n */\nconst dv = (value = '') => {\n if (!value) throw new Error('CNH não informado');\n\n const cnh = clearValue(value, 9);\n\n const invalidList = invalidListGenerator(9);\n if (invalidList.includes(cnh)) {\n throw new Error('CNH não pode ser uma sequência de números iguais');\n }\n\n const sum1 = sumElementsByMultipliers(cnh.substring(0, 9), [2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const dv1 = sumToDV(sum1);\n\n const sum2 = sumElementsByMultipliers(\n cnh.substring(0, 9) + dv1,\n [3, 4, 5, 6, 7, 8, 9, 10, 11, 2],\n );\n const dv2 = sumToDV(sum2);\n\n return `${dv1}${dv2}`;\n};\n\n/**\n * Valida um número de cnh e retorna uma exceção caso seja inválido\n *\n * @returns String Número fake de um cnh válido\n */\nconst validateOrFail = (value = '') => {\n const cnh = clearValue(value, 11);\n\n if (dv(cnh) !== (cnh.substring(9, 11))) {\n throw new Error('Dígito verificador inválido');\n }\n\n return true;\n};\n\n/**\n * Valida um número de cnh\n *\n * @returns String Valor a ser validado\n */\nconst validate = (value = '') => {\n try {\n return validateOrFail(value);\n } catch (error) {\n return false;\n }\n};\n\n/**\n * Aplica uma máscara a uma string\n *\n * @returns String string com a máscara aplicada\n */\nconst mask = (value = '') => applyMask(value, '000000000-00');\n\n/**\n * Cria um número fake\n *\n * @returns String Número fake porém válido\n */\nconst fake = (withMask = false) => {\n const value = fakeNumber(9, true);\n\n const cnh = `${value}${dv(value)}`;\n\n if (withMask) return mask(cnh);\n\n return cnh;\n};\n\nmodule.exports = {\n dv, fake, mask, validate, validateOrFail,\n};\n"],"file":"cnh.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/cnpj.js"],"names":["require","invalidListGenerator","sumElementsByMultipliers","sumToDV","clearValue","fakeNumber","applyMask","dv","value","cnpj","blackList","includes","Error","sum1","substring","dv1","sum2","dv2","mask","fake","withMask","num","validateOrFail","validate","error","module","exports"],"mappings":"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","sourcesContent":["/**\n * isCNPJ()\n * Calcula se um CNPJ é válido\n *\n * @doc\n * - CNPJ deve possuir 14 dígitos no formato 00.000.000/0000-00\n *\n * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal\n *\n * - Os caracteres 9 a 12 são a identificação das filiais da empresa.\n *\n * - Os caracteres 13 e 14 são os dígitos verificadores\n *\n * 1) Partes do número\n * _______________________________ _______________ _______\n * | Número | Filiais | DV |\n * | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |\n * |_______________________________|_______________|_______|\n *\n * 2) Cálculo do primeiro DV.\n *\n * - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2\n *\n * 1 1 2 2 2 3 3 3 0 0 0 1\n * x x x x x x x x x x x x\n * 5 4 3 2 9 8 7 6 5 4 3 2\n * = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102\n *\n * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11\n * 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.\n * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.\n *\n * 3) Cálculo do segundo DV.\n *\n * - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos\n * números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.\n *\n * 1 1 2 2 2 3 3 3 0 0 0 1 8\n * x x x x x x x x x x x x x\n * 6 5 4 3 2 9 8 7 6 5 4 3 2\n * = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120\n *\n * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11\n * 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.\n * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.\n *\n * Fonte: http://www.macoratti.net/alg_cnpj.htm\n *\n * @param {String} value Título eleitoral\n * @returns {Boolean}\n */\n\nconst {\n invalidListGenerator, sumElementsByMultipliers, sumToDV,\n clearValue, fakeNumber, applyMask,\n} = require('../lib/utils');\n\nconst dv = (value = '') => {\n const cnpj = clearValue(value, 12);\n\n const blackList = invalidListGenerator(12);\n if (blackList.includes(cnpj)) {\n throw new Error('CNPJ é obrigatório');\n }\n\n const sum1 = sumElementsByMultipliers(cnpj.substring(0, 12), '543298765432');\n const dv1 = sumToDV(sum1);\n\n const sum2 = sumElementsByMultipliers(cnpj.substring(0, 12) + dv1, '6543298765432');\n const dv2 = sumToDV(sum2);\n\n return `${dv1}${dv2}`;\n};\n\n/**\n * Aplica uma máscara ao número informado\n *\n * @param {String} value Número de Processo\n * @returns {String} Valor com a máscara\n */\nconst mask = (value) => applyMask(value, '00.000.000/0000-00');\n\n/**\n *\n *\n */\nconst fake = (withMask = false) => {\n const num = fakeNumber(12, true);\n\n const cnpj = `${num}${dv(num)}`;\n\n if (withMask) return mask(cnpj);\n return cnpj;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n */\nconst validateOrFail = (value) => {\n const cnpj = clearValue(value, 14);\n\n if (dv(cnpj) !== cnpj.substring(12, 14)) {\n throw new Error('Dígito verificador inválido');\n }\n\n return true;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n */\nconst validate = (value) => {\n try {\n return validateOrFail(value);\n } catch (error) {\n return false;\n }\n};\n\nmodule.exports = {\n dv,\n fake,\n mask,\n validate,\n validateOrFail,\n};\n"],"file":"cnpj.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/cpf.js"],"names":["require","invalidListGenerator","sumElementsByMultipliers","sumToDV","clearValue","fakeNumber","applyMask","dv","value","Error","cpf","invalidList","includes","sum1","dv1","sum2","dv2","mask","fake","withMask","num","validateOrFail","substring","validate","error","module","exports"],"mappings":"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","sourcesContent":["/**\n * isCPF()\n * Calcula se um CPF é válido\n *\n * @doc\n * CPF deve possuir 11 dígitos.\n *\n * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal\n *\n * - O caractere 9 refere-se à região fiscal emissora do documento\n * 1 – DF, GO, MS, MT e TO\n * 2 – AC, AM, AP, PA, RO e RR\n * 3 – CE, MA e PI\n * 4 – AL, PB, PE, RN\n * 5 – BA e SE\n * 6 – MG\n * 7 – ES e RJ\n * 8 – SP\n * 9 – PR e SC\n * 0 – RS\n *\n * - Os caracteres 10 e 11 são dígitos verificadores.\n *\n * 1) Partes do número\n * ------------------------------------------------\n * | Número | R | DV |\n * 2 8 0 . 0 1 2 . 3 8 9 - 3 8\n *\n * 2) Cálculo do primeiro DV.\n *\n * - Soma-se o produto das algarismos 1 a 9 pelos números 10, 9, 8, 7, 6, 5, 4, 3, 2\n *\n * 2 8 0 0 1 2 3 8 9\n * x x x x x x x x x\n * 10 9 8 7 6 5 4 3 2\n * = 20 +72 +0 +0 +6 +10 +12 +24 +18 = 162\n *\n * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11\n * 162 / 11 tem resto 8. 11 - 8 = 3. DV1 é 3.\n * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.\n *\n * 3) Cálculo do segundo DV.\n *\n * - Soma-se o produto das algarismos 1 a 10 pelos números 11, 10, 9, 8, 7, 6, 5, 4, 3, 2\n *\n * 2 8 0 0 1 2 3 8 9 3\n * x x x x x x x x x x\n * 11 10 9 8 7 6 5 4 3 2\n * = 22 +80 +0 +0 +7 +12 +15 +32 +27 = 201\n *\n * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11\n * 201 / 11 tem resto 3. 11 - 3 = 8. DV2 é 8.\n * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.\n *\n * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-cpf/\n *\n * @param {String} value Título eleitoral\n * @returns {Boolean}\n */\n\nconst {\n invalidListGenerator, sumElementsByMultipliers, sumToDV,\n clearValue, fakeNumber, applyMask,\n} = require('../lib/utils');\n\n/**\n * dv()\n * Calcula o dígito verificador de um CPF\n *\n * @param {Number|String} value\n * @returns {String}\n */\nconst dv = (value = '') => {\n if (!value) throw new Error('CPF não informado');\n\n const cpf = clearValue(value, 9);\n\n const invalidList = invalidListGenerator(9);\n if (invalidList.includes(cpf)) {\n throw new Error('CPF não pode ser uma sequência de números iguais');\n }\n\n const sum1 = sumElementsByMultipliers(cpf, [10, 9, 8, 7, 6, 5, 4, 3, 2]);\n const dv1 = sumToDV(sum1);\n\n const sum2 = sumElementsByMultipliers(cpf + dv1, [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]);\n const dv2 = sumToDV(sum2);\n\n return `${dv1}${dv2}`;\n};\n\n/**\n * Aplica uma máscara ao número informado\n *\n * @param {String} value Número de Processo\n * @returns {String} Valor com a máscara\n */\nconst mask = (value) => applyMask(value, '000.000.000-00');\n\n/**\n * fake()\n * Gera um número válido\n *\n * @returns {String}\n */\nconst fake = (withMask = false) => {\n const num = fakeNumber(9, true);\n\n const cpf = `${num}${dv(num)}`;\n\n if (withMask) return mask(cpf);\n return cpf;\n};\n\n/**\n * validateOrFail()\n * Valida se um número de processo está correto e\n * retorna uma exceção se não estiver\n *\n * @returns {Boolean}\n */\nconst validateOrFail = (value) => {\n const cpf = clearValue(value, 11);\n\n if (dv(cpf) !== cpf.substring(9, 11)) {\n throw new Error('Dígito verificador inválido');\n }\n\n return true;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n * @returns {Boolean}\n */\nconst validate = (value) => {\n try {\n return validateOrFail(value);\n } catch (error) {\n return false;\n }\n};\n\nmodule.exports = {\n dv,\n fake,\n mask,\n validate,\n validateOrFail,\n};\n"],"file":"cpf.js"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- var isCNH = require('./cnh').validate;
4
-
5
- var isCNPJ = require('./cnpj').validate;
6
-
7
- var isCPF = require('./cpf').validate;
8
-
9
- var isJudicialProcess = require('./judicial-process').validate;
10
-
11
- var isPIS = require('./pis-pasep').validate;
12
-
13
- var isPostalCode = require('./postal-code').validate;
14
-
15
- var isRenavam = require('./renavam').validate;
16
-
17
- var isTitulo = require('./titulo-eleitor').validate;
18
-
19
- module.exports = {
20
- isCNH: isCNH,
21
- isCNPJ: isCNPJ,
22
- isCPF: isCPF,
23
- isJudicialProcess: isJudicialProcess,
24
- isPIS: isPIS,
25
- isPostalCode: isPostalCode,
26
- isRenavam: isRenavam,
27
- isTitulo: isTitulo
28
- };
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/index.js"],"names":["isCNH","require","validate","isCNPJ","isCPF","isJudicialProcess","isPIS","isPostalCode","isRenavam","isTitulo","module","exports"],"mappings":";;AAAA,IAAMA,KAAK,GAAGC,OAAO,CAAC,OAAD,CAAP,CAAiBC,QAA/B;;AACA,IAAMC,MAAM,GAAGF,OAAO,CAAC,QAAD,CAAP,CAAkBC,QAAjC;;AACA,IAAME,KAAK,GAAGH,OAAO,CAAC,OAAD,CAAP,CAAiBC,QAA/B;;AACA,IAAMG,iBAAiB,GAAGJ,OAAO,CAAC,oBAAD,CAAP,CAA8BC,QAAxD;;AACA,IAAMI,KAAK,GAAGL,OAAO,CAAC,aAAD,CAAP,CAAuBC,QAArC;;AACA,IAAMK,YAAY,GAAGN,OAAO,CAAC,eAAD,CAAP,CAAyBC,QAA9C;;AACA,IAAMM,SAAS,GAAGP,OAAO,CAAC,WAAD,CAAP,CAAqBC,QAAvC;;AACA,IAAMO,QAAQ,GAAGR,OAAO,CAAC,kBAAD,CAAP,CAA4BC,QAA7C;;AAEAQ,MAAM,CAACC,OAAP,GAAiB;AACfX,EAAAA,KAAK,EAALA,KADe;AAEfG,EAAAA,MAAM,EAANA,MAFe;AAGfC,EAAAA,KAAK,EAALA,KAHe;AAIfC,EAAAA,iBAAiB,EAAjBA,iBAJe;AAKfC,EAAAA,KAAK,EAALA,KALe;AAMfC,EAAAA,YAAY,EAAZA,YANe;AAOfC,EAAAA,SAAS,EAATA,SAPe;AAQfC,EAAAA,QAAQ,EAARA;AARe,CAAjB","sourcesContent":["const isCNH = require('./cnh').validate;\nconst isCNPJ = require('./cnpj').validate;\nconst isCPF = require('./cpf').validate;\nconst isJudicialProcess = require('./judicial-process').validate;\nconst isPIS = require('./pis-pasep').validate;\nconst isPostalCode = require('./postal-code').validate;\nconst isRenavam = require('./renavam').validate;\nconst isTitulo = require('./titulo-eleitor').validate;\n\nmodule.exports = {\n isCNH,\n isCNPJ,\n isCPF,\n isJudicialProcess,\n isPIS,\n isPostalCode,\n isRenavam,\n isTitulo,\n};\n"],"file":"index.js"}
@@ -1,177 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * judicialProcess
5
- * Valida, mascara e cria números de processos judiciais
6
- *
7
- * @link
8
- * https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
9
- * http://ghiorzi.org/DVnew.htm#f
10
- *
11
- * @doc
12
- * Os números de processos judiciais são usados a partir de 2010 para unificar a
13
- * numeração de processos no Brasil e são usados em todos os tribunais.
14
- *
15
- * O número do processo, sem os caracteres especiais, devem possuir até 20 números
16
- * e deve seguir o padrão abaixo:
17
- *
18
- * 1) Partes do número
19
- * 0002080-25.2012.5.15.0049
20
- * NNNNNNN-DD.AAAA.J.TR.OOOO
21
- * |______|__|____|_|__|____|
22
- * | | | | | |----> Unidade de origem do processo com 4 caracteres
23
- * | | | | |--------> TR=Tribunal do segmento do poder judiciário com 2 caracteres
24
- * | | | |----------> J=Órgão do poder Judiciário com 1 caractere
25
- * | | |-------------> Ano do ajuizamento do processo com 4 caracteres
26
- * | |-----------------> Dígito verificador com 2 caracteres
27
- * |----------------------> Número sequencial do Processo, por unidade de
28
- * origem, reiniciado anualmente com 7 caracteres
29
- *
30
- * Órgãos do Poder Judiciário
31
- * 1 - Supremo Tribunal Federal
32
- * 2 - Conselho Nacional de Justiça
33
- * 3 - Superior Tribunal de Justiça
34
- * 4 - Justiça Federal
35
- * 5 - Justiça do Trabalho
36
- * 6 - Justiça Eleitoral
37
- * 7 - Justiça Militar da União
38
- * 8 - Justiça dos Estados e do Distrito Federal e Territórios
39
- * 9 - Justiça Militar Estadual
40
- *
41
- *
42
- * 2) Dígito Verificador
43
- *
44
- * O algoritmo usado para o cálculo do DV chama-se Módulo 97 de Base 10 (ISO 7064).
45
- *
46
- * Nota: O número do processo possui 20 caracteres e ultrapassa o tamanho máximo
47
- * do inteiro em javascript, impedindo que façamos o cálculo diretamente, desta
48
- * forma, será nacessária uma fatoração para que o resultado seja o correto.
49
- *
50
- * 2.1) Cálculo do DV
51
- * - Caso o DV seja conhecido, ele precisa ser removido do número e colocado
52
- * como "00" ao final. Caso não esteja incluso no número, adicione '00' ao final.
53
- *
54
- * Ex.: O processo "00020802520125150049", cujo dv é "25", será calculado como
55
- * "000208020125150049" e receberá "00" ao final. O número usado para o cálculo
56
- * do DV será "00020802012515004900"
57
- *
58
- * 2.2) Etapas de Cálculo
59
- *
60
- * 00020802012515004900
61
- * ↓↓
62
- * DV ao final como "00"
63
- *
64
- * - Aplicamos o MOD 97 aos caracteres de 0 a 7 para calcular a primeira parte
65
- * part1 = 0002080 % 97 = 43
66
- *
67
- * - Concatenamos part1 ao ano, órgão do poder judiciário e tribunal e aplicamos o MOD 97
68
- * para obtermos o valor da part2
69
- * part2 = ( part1 +''+ 2012 +''+ 5 +''+ 15 ) % 97 = 26
70
- *
71
- * - Concatemos part2 ao código do órgão de origem e ao "00" do final e aplicamos
72
- * o MOD 97 ao resultado
73
- * part3 = ( part2 + '0049' + '00') % 97 = 73
74
- *
75
- * - Subtraímos o resultado de 98
76
- * dv = 98 - 73 = 25
77
- *
78
- * O Dígito verificador é 25 e deve ser aplicado após o 7º caractere do número do processo
79
- *
80
- * Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2
81
- */
82
- var _require = require('../lib/utils'),
83
- clearValue = _require.clearValue,
84
- fakeNumber = _require.fakeNumber,
85
- insertAtPosition = _require.insertAtPosition,
86
- applyMask = _require.applyMask,
87
- removeFromPosition = _require.removeFromPosition;
88
- /**
89
- *
90
- *
91
- */
92
-
93
-
94
- var dv = function dv(value) {
95
- if (!value) throw new Error('Número do processo é obrigatório');
96
- if (typeof value !== 'string') throw new Error('Número do processo precisa ser string');
97
- var judicialProcess = clearValue(value, 18);
98
- var number = judicialProcess.substring(0, 7);
99
- var yearAndCourt = judicialProcess.substring(7, 14);
100
- var origin = judicialProcess.substring(14, 18);
101
- return String(98 - "".concat("".concat(number % 97).concat(yearAndCourt) % 97).concat(origin, "00") % 97).padStart(2, '0');
102
- };
103
- /**
104
- * Aplica uma máscara ao número informado
105
- *
106
- * @param {String} value Número de Processo
107
- * @returns {String} Valor com a máscara
108
- */
109
-
110
-
111
- var mask = function mask(value) {
112
- return applyMask(value, '0000000-00.0000.0.00.0000');
113
- };
114
- /**
115
- *
116
- *
117
- */
118
-
119
-
120
- var fake = function fake() {
121
- var withMask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
122
- // const judicialProcess = fakeNumber(14, true);
123
- var num = fakeNumber(7, true);
124
- var year = new Date().getFullYear() - fakeNumber(1);
125
- var courte1 = fakeNumber(1, true);
126
- var courte = (courte1 === '0' ? '1' : courte1) + fakeNumber(2, true);
127
- var origin = fakeNumber(4, true);
128
- var judicialProcess = "".concat(num).concat(year).concat(courte).concat(origin);
129
- var digits = dv(judicialProcess);
130
- var finalNumber = insertAtPosition(judicialProcess, digits, 7);
131
- if (withMask) return mask(finalNumber);
132
- return finalNumber;
133
- };
134
- /**
135
- * validate()
136
- * Valida se um número de processo está correto
137
- *
138
- */
139
-
140
-
141
- var validateOrFail = function validateOrFail(value) {
142
- var judicialProcess = clearValue(value, 20);
143
- var processWithoutDV = removeFromPosition(judicialProcess, 7, 9);
144
-
145
- if (processWithoutDV.substring(11, 12) === '0') {
146
- throw new Error('Código do Órgão Judiciário não pode ser "0"');
147
- }
148
-
149
- if (dv(processWithoutDV) !== judicialProcess.substring(7, 9)) {
150
- throw new Error('Dígito verificador inválido');
151
- }
152
-
153
- return true;
154
- };
155
- /**
156
- * validate()
157
- * Valida se um número de processo está correto
158
- *
159
- */
160
-
161
-
162
- var validate = function validate(value) {
163
- try {
164
- return validateOrFail(value);
165
- } catch (error) {
166
- return false;
167
- }
168
- };
169
-
170
- module.exports = {
171
- dv: dv,
172
- fake: fake,
173
- mask: mask,
174
- validate: validate,
175
- validateOrFail: validateOrFail
176
- };
177
- //# sourceMappingURL=judicial-process.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/judicial-process.js"],"names":["require","clearValue","fakeNumber","insertAtPosition","applyMask","removeFromPosition","dv","value","Error","judicialProcess","number","substring","yearAndCourt","origin","String","padStart","mask","fake","withMask","num","year","Date","getFullYear","courte1","courte","digits","finalNumber","validateOrFail","processWithoutDV","validate","error","module","exports"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,eAEIA,OAAO,CAAC,cAAD,CAFX;AAAA,IACEC,UADF,YACEA,UADF;AAAA,IACcC,UADd,YACcA,UADd;AAAA,IAC0BC,gBAD1B,YAC0BA,gBAD1B;AAAA,IAC4CC,SAD5C,YAC4CA,SAD5C;AAAA,IACuDC,kBADvD,YACuDA,kBADvD;AAIA;AACA;AACA;AACA;;;AACA,IAAMC,EAAE,GAAG,SAALA,EAAK,CAACC,KAAD,EAAW;AACpB,MAAI,CAACA,KAAL,EAAY,MAAM,IAAIC,KAAJ,CAAU,kCAAV,CAAN;AACZ,MAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B,MAAM,IAAIC,KAAJ,CAAU,uCAAV,CAAN;AAE/B,MAAMC,eAAe,GAAGR,UAAU,CAACM,KAAD,EAAQ,EAAR,CAAlC;AAEA,MAAMG,MAAM,GAAGD,eAAe,CAACE,SAAhB,CAA0B,CAA1B,EAA6B,CAA7B,CAAf;AACA,MAAMC,YAAY,GAAGH,eAAe,CAACE,SAAhB,CAA0B,CAA1B,EAA6B,EAA7B,CAArB;AACA,MAAME,MAAM,GAAGJ,eAAe,CAACE,SAAhB,CAA0B,EAA1B,EAA8B,EAA9B,CAAf;AAEA,SAAOG,MAAM,CAAC,KAAM,UAAI,UAAIJ,MAAM,GAAG,EAAb,SAAkBE,YAAlB,IAAoC,EAAxC,SAA6CC,MAA7C,UAA2D,EAAlE,CAAN,CAA6EE,QAA7E,CAAsF,CAAtF,EAAyF,GAAzF,CAAP;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAACT,KAAD;AAAA,SAAWH,SAAS,CAACG,KAAD,EAAQ,2BAAR,CAApB;AAAA,CAAb;AAEA;AACA;AACA;AACA;;;AACA,IAAMU,IAAI,GAAG,SAAPA,IAAO,GAAsB;AAAA,MAArBC,QAAqB,uEAAV,KAAU;AACjC;AACA,MAAMC,GAAG,GAAGjB,UAAU,CAAC,CAAD,EAAI,IAAJ,CAAtB;AACA,MAAMkB,IAAI,GAAI,IAAIC,IAAJ,EAAD,CAAaC,WAAb,KAA6BpB,UAAU,CAAC,CAAD,CAApD;AACA,MAAMqB,OAAO,GAAGrB,UAAU,CAAC,CAAD,EAAI,IAAJ,CAA1B;AACA,MAAMsB,MAAM,GAAG,CAACD,OAAO,KAAK,GAAZ,GAAkB,GAAlB,GAAwBA,OAAzB,IAAoCrB,UAAU,CAAC,CAAD,EAAI,IAAJ,CAA7D;AACA,MAAMW,MAAM,GAAGX,UAAU,CAAC,CAAD,EAAI,IAAJ,CAAzB;AAEA,MAAMO,eAAe,aAAMU,GAAN,SAAYC,IAAZ,SAAmBI,MAAnB,SAA4BX,MAA5B,CAArB;AACA,MAAMY,MAAM,GAAGnB,EAAE,CAACG,eAAD,CAAjB;AAEA,MAAMiB,WAAW,GAAGvB,gBAAgB,CAACM,eAAD,EAAkBgB,MAAlB,EAA0B,CAA1B,CAApC;AAEA,MAAIP,QAAJ,EAAc,OAAOF,IAAI,CAACU,WAAD,CAAX;AACd,SAAOA,WAAP;AACD,CAfD;AAiBA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACpB,KAAD,EAAW;AAChC,MAAME,eAAe,GAAGR,UAAU,CAACM,KAAD,EAAQ,EAAR,CAAlC;AACA,MAAMqB,gBAAgB,GAAGvB,kBAAkB,CAACI,eAAD,EAAkB,CAAlB,EAAqB,CAArB,CAA3C;;AAEA,MAAImB,gBAAgB,CAACjB,SAAjB,CAA2B,EAA3B,EAA+B,EAA/B,MAAuC,GAA3C,EAAgD;AAC9C,UAAM,IAAIH,KAAJ,CAAU,6CAAV,CAAN;AACD;;AAED,MAAIF,EAAE,CAACsB,gBAAD,CAAF,KAAyBnB,eAAe,CAACE,SAAhB,CAA0B,CAA1B,EAA6B,CAA7B,CAA7B,EAA8D;AAC5D,UAAM,IAAIH,KAAJ,CAAU,6BAAV,CAAN;AACD;;AAED,SAAO,IAAP;AACD,CAbD;AAeA;AACA;AACA;AACA;AACA;;;AACA,IAAMqB,QAAQ,GAAG,SAAXA,QAAW,CAACtB,KAAD,EAAW;AAC1B,MAAI;AACF,WAAOoB,cAAc,CAACpB,KAAD,CAArB;AACD,GAFD,CAEE,OAAOuB,KAAP,EAAc;AACd,WAAO,KAAP;AACD;AACF,CAND;;AAQAC,MAAM,CAACC,OAAP,GAAiB;AACf1B,EAAAA,EAAE,EAAFA,EADe;AAEfW,EAAAA,IAAI,EAAJA,IAFe;AAGfD,EAAAA,IAAI,EAAJA,IAHe;AAIfa,EAAAA,QAAQ,EAARA,QAJe;AAKfF,EAAAA,cAAc,EAAdA;AALe,CAAjB","sourcesContent":["/**\n * judicialProcess\n * Valida, mascara e cria números de processos judiciais\n *\n * @link\n * https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2\n * http://ghiorzi.org/DVnew.htm#f\n *\n * @doc\n * Os números de processos judiciais são usados a partir de 2010 para unificar a\n * numeração de processos no Brasil e são usados em todos os tribunais.\n *\n * O número do processo, sem os caracteres especiais, devem possuir até 20 números\n * e deve seguir o padrão abaixo:\n *\n * 1) Partes do número\n * 0002080-25.2012.5.15.0049\n * NNNNNNN-DD.AAAA.J.TR.OOOO\n * |______|__|____|_|__|____|\n * | | | | | |----> Unidade de origem do processo com 4 caracteres\n * | | | | |--------> TR=Tribunal do segmento do poder judiciário com 2 caracteres\n * | | | |----------> J=Órgão do poder Judiciário com 1 caractere\n * | | |-------------> Ano do ajuizamento do processo com 4 caracteres\n * | |-----------------> Dígito verificador com 2 caracteres\n * |----------------------> Número sequencial do Processo, por unidade de\n * origem, reiniciado anualmente com 7 caracteres\n *\n * Órgãos do Poder Judiciário\n * 1 - Supremo Tribunal Federal\n * 2 - Conselho Nacional de Justiça\n * 3 - Superior Tribunal de Justiça\n * 4 - Justiça Federal\n * 5 - Justiça do Trabalho\n * 6 - Justiça Eleitoral\n * 7 - Justiça Militar da União\n * 8 - Justiça dos Estados e do Distrito Federal e Territórios\n * 9 - Justiça Militar Estadual\n *\n *\n * 2) Dígito Verificador\n *\n * O algoritmo usado para o cálculo do DV chama-se Módulo 97 de Base 10 (ISO 7064).\n *\n * Nota: O número do processo possui 20 caracteres e ultrapassa o tamanho máximo\n * do inteiro em javascript, impedindo que façamos o cálculo diretamente, desta\n * forma, será nacessária uma fatoração para que o resultado seja o correto.\n *\n * 2.1) Cálculo do DV\n * - Caso o DV seja conhecido, ele precisa ser removido do número e colocado\n * como \"00\" ao final. Caso não esteja incluso no número, adicione '00' ao final.\n *\n * Ex.: O processo \"00020802520125150049\", cujo dv é \"25\", será calculado como\n * \"000208020125150049\" e receberá \"00\" ao final. O número usado para o cálculo\n * do DV será \"00020802012515004900\"\n *\n * 2.2) Etapas de Cálculo\n *\n * 00020802012515004900\n * ↓↓\n * DV ao final como \"00\"\n *\n * - Aplicamos o MOD 97 aos caracteres de 0 a 7 para calcular a primeira parte\n * part1 = 0002080 % 97 = 43\n *\n * - Concatenamos part1 ao ano, órgão do poder judiciário e tribunal e aplicamos o MOD 97\n * para obtermos o valor da part2\n * part2 = ( part1 +''+ 2012 +''+ 5 +''+ 15 ) % 97 = 26\n *\n * - Concatemos part2 ao código do órgão de origem e ao \"00\" do final e aplicamos\n * o MOD 97 ao resultado\n * part3 = ( part2 + '0049' + '00') % 97 = 73\n *\n * - Subtraímos o resultado de 98\n * dv = 98 - 73 = 25\n *\n * O Dígito verificador é 25 e deve ser aplicado após o 7º caractere do número do processo\n *\n * Fonte: https://juslaboris.tst.jus.br/bitstream/handle/20.500.12178/30318/2008_res0065_cnj_rep01.pdf?sequence=2\n */\n\nconst {\n clearValue, fakeNumber, insertAtPosition, applyMask, removeFromPosition,\n} = require('../lib/utils');\n\n/**\n *\n *\n */\nconst dv = (value) => {\n if (!value) throw new Error('Número do processo é obrigatório');\n if (typeof value !== 'string') throw new Error('Número do processo precisa ser string');\n\n const judicialProcess = clearValue(value, 18);\n\n const number = judicialProcess.substring(0, 7);\n const yearAndCourt = judicialProcess.substring(7, 14);\n const origin = judicialProcess.substring(14, 18);\n\n return String(98 - ((`${(`${number % 97}${yearAndCourt}`) % 97}${origin}00`) % 97)).padStart(2, '0');\n};\n\n/**\n * Aplica uma máscara ao número informado\n *\n * @param {String} value Número de Processo\n * @returns {String} Valor com a máscara\n */\nconst mask = (value) => applyMask(value, '0000000-00.0000.0.00.0000');\n\n/**\n *\n *\n */\nconst fake = (withMask = false) => {\n // const judicialProcess = fakeNumber(14, true);\n const num = fakeNumber(7, true);\n const year = (new Date()).getFullYear() - fakeNumber(1);\n const courte1 = fakeNumber(1, true);\n const courte = (courte1 === '0' ? '1' : courte1) + fakeNumber(2, true);\n const origin = fakeNumber(4, true);\n\n const judicialProcess = `${num}${year}${courte}${origin}`;\n const digits = dv(judicialProcess);\n\n const finalNumber = insertAtPosition(judicialProcess, digits, 7);\n\n if (withMask) return mask(finalNumber);\n return finalNumber;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n */\nconst validateOrFail = (value) => {\n const judicialProcess = clearValue(value, 20);\n const processWithoutDV = removeFromPosition(judicialProcess, 7, 9);\n\n if (processWithoutDV.substring(11, 12) === '0') {\n throw new Error('Código do Órgão Judiciário não pode ser \"0\"');\n }\n\n if (dv(processWithoutDV) !== judicialProcess.substring(7, 9)) {\n throw new Error('Dígito verificador inválido');\n }\n\n return true;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n */\nconst validate = (value) => {\n try {\n return validateOrFail(value);\n } catch (error) {\n return false;\n }\n};\n\nmodule.exports = {\n dv,\n fake,\n mask,\n validate,\n validateOrFail,\n};\n"],"file":"judicial-process.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/pis-pasep.js"],"names":["require","invalidListGenerator","sumElementsByMultipliers","sumToDV","clearValue","fakeNumber","applyMask","dv","value","Error","pis","invalidList","includes","sum","String","mask","fake","withMask","num","validateOrFail","substring","validate","error","module","exports"],"mappings":"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","sourcesContent":["/**\n * isPIS()\n * Calcula se um código de PIS/PASEP/NIS/NIT no formato 268.27649.96-0 é válido. Não\n * valida o formato, portanto, 26827649960 é equivalente a 268.27649.96-0 para efeitos\n * desta validação.\n *\n * @doc\n * - O número de PIS deve possuir 11 caracteres\n *\n * - Os caracteres de 1 a 10 são a numeração documento\n *\n * - O caractere 11 é o dígito verificador.\n *\n * 1) Partes do número\n * _______________________________________________\n * | Número | D V |\n * | 2 6 8 . 2 7 6 4 9 . 9 6 - 0 |\n * |_________________________________________|_____|\n *\n * 2) Cálculo do DV.\n *\n * - Soma-se o produto das algarismos 3 a 10 pelos números 3, 2, 9, 8, 7, 6, 5, 4, 3, 2\n *\n * 2 6 8 2 7 6 4 9 9 6\n * x x x x x x x x x x\n * 3 2 9 8 7 6 5 4 3 2\n * = 6 +12 +72 +16 +49 +12 +20 +36 +27 +12 = 234\n *\n * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11\n * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.\n * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.\n * Caso retorne 1, o resto será 0\n *\n *\n *\n *\n * Fonte: http://www.macoratti.net/alg_pis.htm\n *\n * @param {String} value Objeto postal no formato 268.27649.96-0\n * @returns {Boolean}\n */\n\nconst {\n invalidListGenerator,\n sumElementsByMultipliers, sumToDV,\n clearValue, fakeNumber, applyMask,\n} = require('../lib/utils');\n\n/**\n * dv()\n * Calcula o dígito verificador de um PIS\n *\n * @param {Number|String} value\n * @returns {String}\n */\nconst dv = (value = '') => {\n if (!value) throw new Error('PIS não informado');\n\n const pis = clearValue(value, 10);\n\n const invalidList = invalidListGenerator(10);\n if (invalidList.includes(pis)) {\n throw new Error('PIS não pode ser uma sequência de números iguais');\n }\n\n const sum = sumElementsByMultipliers(pis, [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);\n\n return String(sumToDV(sum));\n};\n\n/**\n * Aplica uma máscara ao número informado\n *\n * @param {String} value Número de Processo\n * @returns {String} Valor com a máscara\n */\nconst mask = (value) => applyMask(value, '000.00000.00-0');\n\n/**\n * fake()\n * Gera um número válido\n *\n * @returns {String}\n */\nconst fake = (withMask = false) => {\n const num = fakeNumber(10, true);\n\n const pis = `${num}${dv(num)}`;\n\n if (withMask) return mask(pis);\n return pis;\n};\n\n/**\n * validateOrFail()\n * Valida se um número de processo está correto e\n * retorna uma exceção se não estiver\n *\n * @returns {Boolean}\n */\nconst validateOrFail = (value) => {\n const pis = clearValue(value, 11);\n\n if (dv(pis) !== pis.substring(10, 11)) {\n throw new Error('Dígito verificador inválido');\n }\n\n return true;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n * @returns {Boolean}\n */\nconst validate = (value) => {\n try {\n return validateOrFail(value);\n } catch (error) {\n return false;\n }\n};\n\nmodule.exports = {\n dv,\n fake,\n mask,\n validate,\n validateOrFail,\n};\n"],"file":"pis-pasep.js"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * isPostalCode()
5
- * Calcula se um código de rastreamento postal no formato JT194690698BR é válido.
6
- *
7
- * @doc
8
- * - O número de registro postal deve possuir 13 caracters no formato JT194690698BR.
9
- *
10
- * - Os caracteres 1 e 2 informam o tipo do objeto. Ex.: SX é Sedex, RC é carta registrada etc.
11
- *
12
- * - Os caracteres de 3 a 10 são a numeração sequencial do tipo do objeto.
13
- *
14
- * - O caractere 11 é o dígito verificador.
15
- *
16
- * - Os caracteres 12 e 13 representa o código do País de onde a postagem partiu.
17
- *
18
- * 1) Partes do número
19
- * ______ ___________________________ ______ _______
20
- * | Tipo | Número | DV | País |
21
- * | J T 1 9 4 6 9 0 6 9 8 B R |
22
- * |______|___________________________|______|_______|
23
- *
24
- * 2) Cálculo do DV.
25
- *
26
- * - Soma-se o produto das algarismos 3 a 10 pelos números 8, 6, 4, 2, 3, 5, 9, 7
27
- *
28
- * 1 9 4 6 9 0 6 9
29
- * x x x x x x x x
30
- * 8 6 4 2 3 5 9 7
31
- * = 8 +54 +16 +12 +18 +0 +54 +63 = 234
32
- *
33
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
34
- * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.
35
- * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.
36
- * Caso retorne 1, o resto será 0
37
- *
38
- *
39
- *
40
- *
41
- * Fonte:
42
- *
43
- * @param {String} value Objeto postal no formato JT194690698BR
44
- * @returns {Boolean}
45
- */
46
- var _require = require('../lib/utils'),
47
- sumElementsByMultipliers = _require.sumElementsByMultipliers,
48
- clearValue = _require.clearValue,
49
- fakeNumber = _require.fakeNumber;
50
- /**
51
- * dv()
52
- * Calcula o dígito verificador de um Objeto Postal
53
- *
54
- * @param {Number|String} value
55
- * @returns {String}
56
- */
57
-
58
-
59
- var dv = function dv(value) {
60
- if (!value) throw new Error('PIS não informado');
61
- var postalCode = clearValue(value, 8);
62
- var sum = sumElementsByMultipliers(postalCode, [8, 6, 4, 2, 3, 5, 9, 7]);
63
- var rest = sum % 11;
64
- var specificities = {
65
- 0: {
66
- dv: 5
67
- },
68
- 1: {
69
- dv: 0
70
- }
71
- };
72
- var DV = specificities[rest] ? specificities[rest].dv : 11 - rest;
73
- return String(DV);
74
- };
75
- /**
76
- * Aplica uma máscara ao número informado
77
- *
78
- * @param {String} value Número de Processo
79
- * @returns {String} Valor com a máscara
80
- */
81
-
82
-
83
- var mask = function mask(value) {
84
- return String(value).toLocaleUpperCase();
85
- };
86
- /**
87
- * fake()
88
- * Gera um número válido
89
- *
90
- * @returns {String}
91
- */
92
-
93
-
94
- var fake = function fake() {
95
- var withMask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
96
- var num = fakeNumber(8, true);
97
-
98
- var randLetter = function randLetter() {
99
- return ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'][parseInt(Math.random() * 26, 10)];
100
- };
101
-
102
- var postalCode = "".concat(randLetter()).concat(randLetter()).concat(num).concat(dv(num), "BR");
103
- if (withMask) return mask(postalCode);
104
- return postalCode;
105
- };
106
- /**
107
- * validateOrFail()
108
- * Valida se um número de processo está correto e
109
- * retorna uma exceção se não estiver
110
- *
111
- * @returns {Boolean}
112
- */
113
-
114
-
115
- var validateOrFail = function validateOrFail(value) {
116
- var postalCode = clearValue(value, 9);
117
-
118
- if (!/^[a-z]{2}([\d]{9})[a-z]{2}$/ig.test(value)) {
119
- throw new Error('O número não está no formato "XX000000000XX"');
120
- }
121
-
122
- if (dv(value) !== postalCode.substring(8, 9)) {
123
- throw new Error('Dígito verificador inválido');
124
- }
125
-
126
- return true;
127
- };
128
- /**
129
- * validate()
130
- * Valida se um número de processo está correto
131
- *
132
- * @returns {Boolean}
133
- */
134
-
135
-
136
- var validate = function validate(value) {
137
- try {
138
- return validateOrFail(value);
139
- } catch (error) {
140
- return false;
141
- }
142
- };
143
-
144
- module.exports = {
145
- dv: dv,
146
- fake: fake,
147
- mask: mask,
148
- validate: validate,
149
- validateOrFail: validateOrFail
150
- };
151
- //# sourceMappingURL=postal-code.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/documents/postal-code.js"],"names":["require","sumElementsByMultipliers","clearValue","fakeNumber","dv","value","Error","postalCode","sum","rest","specificities","DV","String","mask","toLocaleUpperCase","fake","withMask","num","randLetter","parseInt","Math","random","validateOrFail","test","substring","validate","error","module","exports"],"mappings":"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","sourcesContent":["/**\n * isPostalCode()\n * Calcula se um código de rastreamento postal no formato JT194690698BR é válido.\n *\n * @doc\n * - O número de registro postal deve possuir 13 caracters no formato JT194690698BR.\n *\n * - Os caracteres 1 e 2 informam o tipo do objeto. Ex.: SX é Sedex, RC é carta registrada etc.\n *\n * - Os caracteres de 3 a 10 são a numeração sequencial do tipo do objeto.\n *\n * - O caractere 11 é o dígito verificador.\n *\n * - Os caracteres 12 e 13 representa o código do País de onde a postagem partiu.\n *\n * 1) Partes do número\n * ______ ___________________________ ______ _______\n * | Tipo | Número | DV | País |\n * | J T 1 9 4 6 9 0 6 9 8 B R |\n * |______|___________________________|______|_______|\n *\n * 2) Cálculo do DV.\n *\n * - Soma-se o produto das algarismos 3 a 10 pelos números 8, 6, 4, 2, 3, 5, 9, 7\n *\n * 1 9 4 6 9 0 6 9\n * x x x x x x x x\n * 8 6 4 2 3 5 9 7\n * = 8 +54 +16 +12 +18 +0 +54 +63 = 234\n *\n * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11\n * 234 / 11 tem resto 3. 11 - 3 = 8. DV1 é 8.\n * Obs.: Caso o cálculo de DV1 retorne 0, o resultado será 5.\n * Caso retorne 1, o resto será 0\n *\n *\n *\n *\n * Fonte:\n *\n * @param {String} value Objeto postal no formato JT194690698BR\n * @returns {Boolean}\n */\n\nconst {\n sumElementsByMultipliers,\n clearValue, fakeNumber,\n} = require('../lib/utils');\n\n/**\n * dv()\n * Calcula o dígito verificador de um Objeto Postal\n *\n * @param {Number|String} value\n * @returns {String}\n */\nconst dv = (value) => {\n if (!value) throw new Error('PIS não informado');\n\n const postalCode = clearValue(value, 8);\n\n const sum = sumElementsByMultipliers(postalCode, [8, 6, 4, 2, 3, 5, 9, 7]);\n\n const rest = sum % 11;\n const specificities = { 0: { dv: 5 }, 1: { dv: 0 } };\n const DV = specificities[rest] ? specificities[rest].dv : 11 - rest;\n\n return String(DV);\n};\n\n/**\n * Aplica uma máscara ao número informado\n *\n * @param {String} value Número de Processo\n * @returns {String} Valor com a máscara\n */\nconst mask = (value) => String(value).toLocaleUpperCase();\n\n/**\n * fake()\n * Gera um número válido\n *\n * @returns {String}\n */\nconst fake = (withMask = false) => {\n const num = fakeNumber(8, true);\n\n const randLetter = () => ([\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ][parseInt(Math.random() * 26, 10)]);\n\n const postalCode = `${randLetter()}${randLetter()}${num}${dv(num)}BR`;\n\n if (withMask) return mask(postalCode);\n return postalCode;\n};\n\n/**\n * validateOrFail()\n * Valida se um número de processo está correto e\n * retorna uma exceção se não estiver\n *\n * @returns {Boolean}\n */\nconst validateOrFail = (value) => {\n const postalCode = clearValue(value, 9);\n\n if (!/^[a-z]{2}([\\d]{9})[a-z]{2}$/ig.test(value)) {\n throw new Error('O número não está no formato \"XX000000000XX\"');\n }\n\n if (dv(value) !== postalCode.substring(8, 9)) {\n throw new Error('Dígito verificador inválido');\n }\n\n return true;\n};\n\n/**\n * validate()\n * Valida se um número de processo está correto\n *\n * @returns {Boolean}\n */\nconst validate = (value) => {\n try {\n return validateOrFail(value);\n } catch (error) {\n return false;\n }\n};\n\nmodule.exports = {\n dv,\n fake,\n mask,\n validate,\n validateOrFail,\n};\n"],"file":"postal-code.js"}