validation-br 0.8.3 → 1.0.0-b

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 (109) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc.js +76 -11
  3. package/.github/workflows/test.yml +39 -0
  4. package/.prettierignore +1 -0
  5. package/.prettierrc.js +7 -0
  6. package/dist/cnh.js +123 -0
  7. package/dist/cnh.js.map +1 -0
  8. package/dist/cnh.test.js +117 -0
  9. package/dist/cnh.test.js.map +1 -0
  10. package/dist/cnpj.js +112 -0
  11. package/dist/cnpj.js.map +1 -0
  12. package/dist/cnpj.test.js +141 -0
  13. package/dist/cnpj.test.js.map +1 -0
  14. package/dist/cpf.js +134 -0
  15. package/dist/cpf.js.map +1 -0
  16. package/dist/cpf.test.js +130 -0
  17. package/dist/cpf.test.js.map +1 -0
  18. package/dist/index.js +24 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/index.test.js +33 -0
  21. package/dist/index.test.js.map +1 -0
  22. package/dist/judicialProcess.js +153 -0
  23. package/dist/judicialProcess.js.map +1 -0
  24. package/dist/judicialProcess.test.js +123 -0
  25. package/dist/judicialProcess.test.js.map +1 -0
  26. package/dist/pisPasep.js +113 -0
  27. package/dist/pisPasep.js.map +1 -0
  28. package/dist/pisPasep.test.js +129 -0
  29. package/dist/pisPasep.test.js.map +1 -0
  30. package/dist/postalCode.js +150 -0
  31. package/dist/postalCode.js.map +1 -0
  32. package/dist/postalCode.test.js +135 -0
  33. package/dist/postalCode.test.js.map +1 -0
  34. package/dist/renavam.js +108 -0
  35. package/dist/renavam.js.map +1 -0
  36. package/dist/renavam.test.js +113 -0
  37. package/dist/renavam.test.js.map +1 -0
  38. package/dist/tituloEleitor.js +130 -0
  39. package/dist/tituloEleitor.js.map +1 -0
  40. package/dist/tituloEleitor.test.js +132 -0
  41. package/dist/tituloEleitor.test.js.map +1 -0
  42. package/dist/utils-applyMask.test.js +17 -0
  43. package/dist/utils-applyMask.test.js.map +1 -0
  44. package/dist/utils-clearValue.test.js +50 -0
  45. package/dist/utils-clearValue.test.js.map +1 -0
  46. package/dist/utils-fakeNumber.test.js +17 -0
  47. package/dist/utils-fakeNumber.test.js.map +1 -0
  48. package/dist/utils-insertAtPosition.test.js +16 -0
  49. package/dist/utils-insertAtPosition.test.js.map +1 -0
  50. package/dist/utils-invalidListGenerator.test.js +23 -0
  51. package/dist/utils-invalidListGenerator.test.js.map +1 -0
  52. package/dist/utils-removeFromPosition.test.js +16 -0
  53. package/dist/utils-removeFromPosition.test.js.map +1 -0
  54. package/dist/utils-sumElementsByMultipliers.test.js +32 -0
  55. package/dist/utils-sumElementsByMultipliers.test.js.map +1 -0
  56. package/dist/utils-sumToDV.test.js +16 -0
  57. package/dist/utils-sumToDV.test.js.map +1 -0
  58. package/dist/utils.js +167 -0
  59. package/dist/utils.js.map +1 -0
  60. package/jest.config.js +14 -0
  61. package/package.json +40 -48
  62. package/readme.md +243 -88
  63. package/src/cnh.test.ts +114 -0
  64. package/src/cnh.ts +140 -0
  65. package/src/cnpj.test.ts +136 -0
  66. package/{dist/documents/cnpj.js → src/cnpj.ts} +74 -21
  67. package/src/cpf.test.ts +125 -0
  68. package/src/cpf.ts +150 -0
  69. package/src/index.test.ts +35 -0
  70. package/src/index.ts +19 -0
  71. package/src/judicialProcess.test.ts +118 -0
  72. package/src/judicialProcess.ts +167 -0
  73. package/src/pisPasep.test.ts +124 -0
  74. package/src/pisPasep.ts +128 -0
  75. package/src/postalCode.test.ts +132 -0
  76. package/src/postalCode.ts +164 -0
  77. package/src/renavam.test.ts +110 -0
  78. package/src/renavam.ts +122 -0
  79. package/src/tituloEleitor.test.ts +129 -0
  80. package/src/tituloEleitor.ts +146 -0
  81. package/src/utils-applyMask.test.ts +17 -0
  82. package/src/utils-clearValue.test.ts +55 -0
  83. package/src/utils-fakeNumber.test.ts +19 -0
  84. package/src/utils-insertAtPosition.test.ts +15 -0
  85. package/src/utils-invalidListGenerator.test.ts +27 -0
  86. package/src/utils-removeFromPosition.test.ts +15 -0
  87. package/src/utils-sumElementsByMultipliers.test.ts +34 -0
  88. package/src/utils-sumToDV.test.ts +16 -0
  89. package/src/utils.ts +172 -0
  90. package/tsconfig.json +23 -0
  91. package/.babelrc +0 -15
  92. package/.prettierrc +0 -9
  93. package/dist/documents/cnh.js +0 -77
  94. package/dist/documents/cnh.js.map +0 -1
  95. package/dist/documents/cnpj.js.map +0 -1
  96. package/dist/documents/cpf.js +0 -83
  97. package/dist/documents/cpf.js.map +0 -1
  98. package/dist/documents/index.js +0 -23
  99. package/dist/documents/index.js.map +0 -1
  100. package/dist/documents/pis-pasep.js +0 -71
  101. package/dist/documents/pis-pasep.js.map +0 -1
  102. package/dist/documents/postal-code.js +0 -72
  103. package/dist/documents/postal-code.js.map +0 -1
  104. package/dist/documents/titulo-eleitor.js +0 -74
  105. package/dist/documents/titulo-eleitor.js.map +0 -1
  106. package/dist/lib/utils.js +0 -60
  107. package/dist/lib/utils.js.map +0 -1
  108. package/docs.md +0 -0
  109. package/index.js +0 -3
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const renavam_1 = __importStar(require("./renavam"));
23
+ describe('Renavam', () => {
24
+ test('isRenavam() - Números válidos', () => {
25
+ const list = [
26
+ // valores com máscara
27
+ '1952519770-3',
28
+ '3394038959-9',
29
+ // valores como inteiros
30
+ 3607626105,
31
+ 64090416160,
32
+ // valores como string sem máscara
33
+ '80499688374',
34
+ '40650543741',
35
+ ];
36
+ list.forEach((renavam) => {
37
+ expect(renavam_1.default(renavam)).toBeTruthy();
38
+ });
39
+ });
40
+ test('validate() - Números válidos', () => {
41
+ const list = [
42
+ // valores com máscara
43
+ '1952519770-3',
44
+ '3394038959-9',
45
+ // valores como inteiros
46
+ 3607626105,
47
+ 64090416160,
48
+ // valores como string sem máscara
49
+ '80499688374',
50
+ '40650543741',
51
+ ];
52
+ list.forEach((renavam) => {
53
+ expect(renavam_1.validate(renavam)).toBeTruthy();
54
+ });
55
+ });
56
+ test('validate() - Números inválidos', () => {
57
+ const list = ['19525227703', '33940229599', '03607226105', '64090226160', '80499228374'];
58
+ list.forEach((renavam) => {
59
+ expect(renavam_1.validate(renavam)).toBeFalsy();
60
+ });
61
+ });
62
+ test('validateOrFail() - Números inválidos', () => {
63
+ const list = ['19525227703', '33940229599', '03607226105', '64090226160', '80499228374'];
64
+ list.forEach((renavam) => {
65
+ expect(() => renavam_1.validateOrFail(renavam)).toThrow();
66
+ });
67
+ });
68
+ test('Parâmetro não informado', () => {
69
+ expect(renavam_1.default('')).toBeFalsy();
70
+ expect(renavam_1.validate('')).toBeFalsy();
71
+ expect(() => renavam_1.validateOrFail('')).toThrow();
72
+ expect(() => renavam_1.dv('')).toThrow();
73
+ });
74
+ test('fake() - Gera fakes sem máscara', () => {
75
+ for (let i = 0; i < 5; i += 1) {
76
+ const renavam = renavam_1.fake();
77
+ expect(renavam_1.validate(renavam)).toBeTruthy();
78
+ expect(renavam).toHaveLength(11);
79
+ }
80
+ });
81
+ test('fake() - Gera fakes com máscara', () => {
82
+ for (let i = 0; i < 5; i += 1) {
83
+ const renavam = renavam_1.fake(true);
84
+ expect(renavam_1.validate(renavam)).toBeTruthy();
85
+ expect(renavam).toHaveLength(12);
86
+ }
87
+ });
88
+ test('dv() - Verificando se o DV gerado está correto', () => {
89
+ const list = [
90
+ { num: '1952519770', expected: '3' },
91
+ { num: 952519770, expected: '6' },
92
+ { num: 52519770, expected: '2' },
93
+ ];
94
+ list.forEach((item) => {
95
+ const calcDv = renavam_1.dv(item.num);
96
+ expect(calcDv).toBe(item.expected);
97
+ expect(typeof calcDv).toBe('string');
98
+ });
99
+ });
100
+ test('mask() - Testando se a máscara foi gerada corretamente', () => {
101
+ const list = [
102
+ { num: '19525197703', expected: '1952519770-3' },
103
+ { num: 9525197703, expected: '0952519770-3' },
104
+ { num: 525197703, expected: '0052519770-3' },
105
+ ];
106
+ list.forEach((item) => {
107
+ const masked = renavam_1.mask(item.num);
108
+ expect(masked).toBe(item.expected);
109
+ expect(masked).toHaveLength(12);
110
+ });
111
+ });
112
+ });
113
+ //# sourceMappingURL=renavam.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renavam.test.js","sourceRoot":"","sources":["../src/renavam.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * isTitulo()
4
+ * Calcula se um título eleitoral é válido
5
+ *
6
+ * @doc
7
+ * Título de eleitor deve possuir 12 dígitos.
8
+ *
9
+ * - Os caracteres 1 a 8 são números sequenciais.
10
+ *
11
+ * - Os caracteres 9 e 10 representam os estados da federação onde o título
12
+ * foi emitido (01 = SP, 02 = MG, 03 = RJ, 04 = RS, 05 = BA, 06 = PR, 07 = CE, 08 = PE,
13
+ * 09 = SC, 10 = GO, 11 = MA12 = PB, 13 = PA, 14 = ES, 15 = PI, 16 = RN, 17 = AL,
14
+ * 18 = MT, 19 = MS, 20 = DF, 21 = SE, 22 = AM, 23 = RO, 24 = AC, 25 = AP, 26 = RR,
15
+ * 27 = TO, 28 = Exterior(ZZ).
16
+ *
17
+ * - Os caracteres 11 e 12 são dígitos verificadores.
18
+ *
19
+ * 1) Partes do número
20
+ * ------------------------------------------------
21
+ * | Número Sequencial | UF | DV |
22
+ * 1 0 2 3 8 5 0 1 0 6 7 1
23
+ *
24
+ * 2) Cálculo do primeiro DV.
25
+ *
26
+ * - Soma-se o produto das algarismos 1 a 8 pelos números 2, 3, 4, 5, 6, 7, 8 e 9.
27
+ *
28
+ * 1 0 2 3 8 5 0 1
29
+ * x x x x x x x x
30
+ * 2 3 4 5 6 7 8 9
31
+ * = 2 + 0 + 8 +15 +48 +35 + 0 + 9 = 117
32
+ *
33
+ * - O somatório encontrado é dividido por 11. O DV1 é o resto da divisão. Se o
34
+ * resto for 10, o DV1 é 0.
35
+ *
36
+ * 2.1) 117 / 11 tem resto igual a 7.
37
+ *
38
+ * 3) Cálculo do segundo DV
39
+ *
40
+ * - Soma-se o produto dos algarismos 9 a 11 (relativos aos 2 dígitos da UF e o novo
41
+ * DV1 que acabou de ser calculado) e os multiplicam pelos números 7, 8 e 9. Se o
42
+ * resto for 10, DV2 será 0.
43
+ * 0 6 7
44
+ * x x x
45
+ * 7 8 9
46
+ * = 0 +48 +63 = 111
47
+ *
48
+ * 3.1) 111 / 11 tem resto igual a 1.
49
+ *
50
+ * Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/
51
+ *
52
+ * @param {String} value Título eleitoral
53
+ * @returns {Boolean}
54
+ */
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
57
+ const utils_1 = require("./utils");
58
+ /**
59
+ * dv()
60
+ * Calcula o dígito verificador
61
+ *
62
+ * @param {Number|String} value
63
+ * @returns {String}
64
+ */
65
+ exports.dv = (value) => {
66
+ if (!value)
67
+ throw new Error('CPF não informado');
68
+ const titulo = utils_1.clearValue(value, 10);
69
+ const invalidList = utils_1.invalidListGenerator(10);
70
+ if (invalidList.includes(titulo)) {
71
+ throw new Error('Título não pode ser uma sequência de números iguais');
72
+ }
73
+ const sum1 = utils_1.sumElementsByMultipliers(titulo.substring(0, 8), [2, 3, 4, 5, 6, 7, 8, 9]);
74
+ const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
75
+ const sum2 = utils_1.sumElementsByMultipliers(titulo.substring(8, 10) + dv1, [7, 8, 9]);
76
+ const dv2 = sum2 % 11 >= 10 ? 0 : sum2 % 11;
77
+ return `${dv1}${dv2}`;
78
+ };
79
+ /**
80
+ * Aplica uma máscara ao número informado
81
+ *
82
+ * @param {String} value Número de Processo
83
+ * @returns {String} Valor com a máscara
84
+ */
85
+ exports.mask = (value) => utils_1.applyMask(value, '0000.0000.0000');
86
+ // const mask = (value) => applyMask(value, '0000.0000.0000');
87
+ /**
88
+ * fake()
89
+ * Gera um número válido
90
+ *
91
+ * @returns {String}
92
+ */
93
+ exports.fake = (withMask = false) => {
94
+ const num = utils_1.fakeNumber(8, true);
95
+ const uf = (Math.random() * 27 + 1).toFixed(0).padStart(2, '0');
96
+ const titulo = `${num}${uf}${exports.dv(num + uf)}`;
97
+ if (withMask)
98
+ return exports.mask(titulo);
99
+ return titulo;
100
+ };
101
+ /**
102
+ * validateOrFail()
103
+ * Valida se um número de processo está correto e
104
+ * retorna uma exceção se não estiver
105
+ *
106
+ * @returns {Boolean}
107
+ */
108
+ exports.validateOrFail = (value) => {
109
+ const titulo = utils_1.clearValue(value, 12);
110
+ if (exports.dv(titulo) !== titulo.substring(10, 12)) {
111
+ throw new Error('Dígito verificador inválido');
112
+ }
113
+ return true;
114
+ };
115
+ /**
116
+ * validate()
117
+ * Valida se um número de processo está correto
118
+ *
119
+ * @returns {Boolean}
120
+ */
121
+ exports.validate = (value) => {
122
+ try {
123
+ return exports.validateOrFail(value);
124
+ }
125
+ catch (error) {
126
+ return false;
127
+ }
128
+ };
129
+ exports.default = exports.validate;
130
+ //# sourceMappingURL=tituloEleitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tituloEleitor.js","sourceRoot":"","sources":["../src/tituloEleitor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;AAEH,mCAMgB;AAEhB;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAEhD,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEpC,MAAM,WAAW,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;KACvE;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,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;AAC1F,8DAA8D;AAE9D;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,UAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;IAE3C,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,MAAM,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEpC,IAAI,UAAE,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC3C,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"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const tituloEleitor_1 = __importStar(require("./tituloEleitor"));
23
+ describe('TituloEleitor', () => {
24
+ test('isTituloEleitor() - Números válidos', () => {
25
+ const list = [
26
+ // masked
27
+ '1023.8501.0671',
28
+ '8365.7137.1619',
29
+ // string
30
+ '153036161686',
31
+ '525028881694',
32
+ // integer
33
+ 11122223360,
34
+ 1122223336,
35
+ ];
36
+ list.forEach((tituloEleitor) => {
37
+ expect(tituloEleitor_1.default(tituloEleitor)).toBeTruthy();
38
+ });
39
+ });
40
+ test('validate() - Números válidos', () => {
41
+ const list = [
42
+ // masked
43
+ '1023.8501.0671',
44
+ '8365.7137.1619',
45
+ // string
46
+ '153036161686',
47
+ '525028881694',
48
+ // integer
49
+ 11122223360,
50
+ 1122223336,
51
+ ];
52
+ list.forEach((tituloEleitor) => {
53
+ expect(tituloEleitor_1.validate(tituloEleitor)).toBeTruthy();
54
+ });
55
+ });
56
+ test('validate() - Números inválidos', () => {
57
+ const list = [
58
+ '836531371619',
59
+ '743620641660',
60
+ '153016161686',
61
+ '525078881694',
62
+ '026367681660',
63
+ '558647441635',
64
+ '222222222222',
65
+ ];
66
+ list.forEach((tituloEleitor) => {
67
+ expect(tituloEleitor_1.validate(tituloEleitor)).toBeFalsy();
68
+ });
69
+ });
70
+ test('validateOrFail() - Números inválidos', () => {
71
+ const list = [
72
+ '836531371619',
73
+ '743620641660',
74
+ '153016161686',
75
+ '525078881694',
76
+ '026367681660',
77
+ '558647441635',
78
+ '222222222222',
79
+ ];
80
+ list.forEach((tituloEleitor) => {
81
+ expect(() => tituloEleitor_1.validateOrFail(tituloEleitor)).toThrow();
82
+ });
83
+ });
84
+ test('Parâmetro não informado', () => {
85
+ expect(tituloEleitor_1.default('')).toBeFalsy();
86
+ expect(tituloEleitor_1.validate('')).toBeFalsy();
87
+ expect(() => tituloEleitor_1.validateOrFail('')).toThrow();
88
+ expect(() => tituloEleitor_1.dv('')).toThrow();
89
+ });
90
+ test('fake() - Gera fakes sem máscara', () => {
91
+ for (let i = 0; i < 5; i += 1) {
92
+ const tituloEleitor = tituloEleitor_1.fake();
93
+ expect(tituloEleitor_1.validate(tituloEleitor)).toBeTruthy();
94
+ expect(tituloEleitor).toHaveLength(12);
95
+ }
96
+ });
97
+ test('fake() - Gera fakes com máscara', () => {
98
+ for (let i = 0; i < 5; i += 1) {
99
+ const tituloEleitor = tituloEleitor_1.fake(true);
100
+ expect(tituloEleitor_1.validate(tituloEleitor)).toBeTruthy();
101
+ expect(tituloEleitor).toHaveLength(14);
102
+ }
103
+ });
104
+ test('dv() - Verificando se o DV gerado está correto', () => {
105
+ const list = [
106
+ { num: '1023850106', expected: '71' },
107
+ { num: '8365713716', expected: '19' },
108
+ { num: '7436506416', expected: '60' },
109
+ { num: 11222233, expected: '36' },
110
+ ];
111
+ list.forEach((item) => {
112
+ const calcDv = tituloEleitor_1.dv(item.num);
113
+ expect(calcDv).toBe(item.expected);
114
+ expect(typeof calcDv).toBe('string');
115
+ });
116
+ });
117
+ test('mask() - Testando se a máscara foi gerada corretamente', () => {
118
+ const list = [
119
+ { num: '102385010671', expected: '1023.8501.0671' },
120
+ { num: '836571371619', expected: '8365.7137.1619' },
121
+ { num: '743650641660', expected: '7436.5064.1660' },
122
+ { num: 11122223360, expected: '0111.2222.3360' },
123
+ { num: 1122223336, expected: '0011.2222.3336' },
124
+ ];
125
+ list.forEach((item) => {
126
+ const masked = tituloEleitor_1.mask(item.num);
127
+ expect(masked).toBe(item.expected);
128
+ expect(masked).toHaveLength(14);
129
+ });
130
+ });
131
+ });
132
+ //# sourceMappingURL=tituloEleitor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tituloEleitor.test.js","sourceRoot":"","sources":["../src/tituloEleitor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ const { applyMask } = require('./utils');
3
+ describe('applyMask()', () => {
4
+ const items = [
5
+ { value: '123456', mask: '00000-0', expected: '12345-6' },
6
+ { value: '12345', mask: '00000-0', expected: '01234-5' },
7
+ { value: '123456789', mask: '00000-0', expected: '12345-6' },
8
+ { value: 123456789, mask: '00000-0', expected: '12345-6' },
9
+ ];
10
+ test('Máscara deve ser aplicada com o valor e tamanho correto', () => {
11
+ items.forEach((item) => {
12
+ expect(item.expected.length).toBe(item.mask.length);
13
+ expect(applyMask(item.value, item.mask)).toBe(item.expected);
14
+ });
15
+ });
16
+ });
17
+ //# sourceMappingURL=utils-applyMask.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-applyMask.test.js","sourceRoot":"","sources":["../src/utils-applyMask.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QACzD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QACxD,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;KAC3D,CAAA;IAED,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ describe('clearValue()', () => {
5
+ test('Deve limpar o valor - Strings do Mesmo tamanho', () => {
6
+ //
7
+ const valid = [
8
+ { value: 1234567890, size: 10, expected: '1234567890' },
9
+ { value: '1234567890', size: 10, expected: '1234567890' },
10
+ { value: '12.345.678-90', size: 10, expected: '1234567890' },
11
+ ];
12
+ valid.forEach((item) => {
13
+ expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
14
+ });
15
+ });
16
+ test('Deve limpar os caracteres não numéricos sem verificar o tamanho da string', () => {
17
+ //
18
+ const valid = [
19
+ { value: 1234567890123, size: null, expected: '1234567890123' },
20
+ { value: '4567890', size: null, expected: '4567890' },
21
+ { value: '345.678-90', size: null, expected: '34567890' },
22
+ ];
23
+ valid.forEach((item) => {
24
+ expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
25
+ });
26
+ });
27
+ test('Deve limpar o valor os caracteres não numéricos e completar com zeros à esquerda', () => {
28
+ //
29
+ const valid = [
30
+ { value: 1234, size: 10, expected: '0000001234' },
31
+ { value: '1234', size: 10, expected: '0000001234' },
32
+ { value: '123-4', size: 10, expected: '0000001234' },
33
+ ];
34
+ valid.forEach((item) => {
35
+ expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
36
+ });
37
+ });
38
+ test('Deve limpar o valor os caracteres não numéricos e remover os caracteres que passarem de size', () => {
39
+ //
40
+ const valid = [
41
+ { value: 123456789, size: 4, expected: '1234' },
42
+ { value: '1234567890', size: 4, expected: '1234' },
43
+ { value: '12.345.678-90', size: 4, expected: '1234' },
44
+ ];
45
+ valid.forEach((item) => {
46
+ expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
47
+ });
48
+ });
49
+ });
50
+ //# sourceMappingURL=utils-clearValue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-clearValue.test.js","sourceRoot":"","sources":["../src/utils-clearValue.test.ts"],"names":[],"mappings":";;AAAA,mCAAoC;AAEpC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC1D,EAAE;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;YACvD,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;YACzD,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;SAC7D,CAAA;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,kBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACrF,EAAE;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE;YAC/D,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE;YACrD,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE;SAC1D,CAAA;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,kBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC5F,EAAE;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;YACjD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;YACnD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;SACrD,CAAA;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,kBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8FAA8F,EAAE,GAAG,EAAE;QACxG,EAAE;QACF,MAAM,KAAK,GAAG;YACZ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC/C,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;YAClD,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;SACtD,CAAA;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,kBAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ const { fakeNumber } = require('./utils');
3
+ describe('fakeNumber()', () => {
4
+ test('forceLength = true', () => {
5
+ const num = fakeNumber(4, true);
6
+ expect(num).toHaveLength(4);
7
+ expect(typeof num).toBe('string');
8
+ expect(num).toMatch(/^[\d]+$/);
9
+ });
10
+ test('forceLength = false', () => {
11
+ const num = fakeNumber(4);
12
+ expect(num).toBeLessThanOrEqual(9999);
13
+ expect(num).toBeGreaterThanOrEqual(0);
14
+ expect(typeof num).toBe('number');
15
+ });
16
+ });
17
+ //# sourceMappingURL=utils-fakeNumber.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-fakeNumber.test.js","sourceRoot":"","sources":["../src/utils-fakeNumber.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEzC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAE/B,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAEzB,MAAM,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ describe('insertAtPosition()', () => {
5
+ test('Deve inserir um caractere em uma determinada posição da string', () => {
6
+ //
7
+ const list = [
8
+ { value: 'AAABBB', insert: 'C', position: 3, expected: 'AAACBBB' },
9
+ { value: 'J Med', insert: 'Cl ', position: 2, expected: 'J Cl Med' },
10
+ ];
11
+ list.forEach((item) => {
12
+ expect(utils_1.insertAtPosition(item.value, item.insert, item.position)).toBe(item.expected);
13
+ });
14
+ });
15
+ });
16
+ //# sourceMappingURL=utils-insertAtPosition.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-insertAtPosition.test.js","sourceRoot":"","sources":["../src/utils-insertAtPosition.test.ts"],"names":[],"mappings":";;AAAA,mCAA0C;AAE1C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;QAC1E,EAAE;QACF,MAAM,IAAI,GAAG;YACX,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE;YAClE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;SACrE,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,CAAC,wBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ const { invalidListGenerator } = require('./utils');
3
+ describe('invalidListGenerator()', () => {
4
+ test('invalidListGenerator - Número de itens', () => {
5
+ const list = invalidListGenerator(4);
6
+ expect(1).toBe(1);
7
+ expect(Array.isArray(list)).toBeTruthy();
8
+ });
9
+ test('invalidListGenerator - Tamanho dos itens', () => {
10
+ const valid = [
11
+ { length: 10, size: 8 },
12
+ { length: 10, size: 4 },
13
+ ];
14
+ valid.forEach((item) => {
15
+ const list = invalidListGenerator(item.size);
16
+ expect(list).toHaveLength(10);
17
+ list.forEach((num) => {
18
+ expect(num).toHaveLength(item.size);
19
+ });
20
+ });
21
+ });
22
+ });
23
+ //# sourceMappingURL=utils-invalidListGenerator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-invalidListGenerator.test.js","sourceRoot":"","sources":["../src/utils-invalidListGenerator.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEnD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAEpC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG;YACZ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;YACvB,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;SACxB,CAAA;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE5C,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YAE7B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ describe('removeFromPosition()', () => {
5
+ test('', () => {
6
+ //
7
+ const list = [
8
+ { value: 'Jossé', start: 2, end: 3, expected: 'José' },
9
+ { value: 'Cláuudio', start: 4, end: 5, expected: 'Cláudio' },
10
+ ];
11
+ list.forEach((item) => {
12
+ expect(utils_1.removeFromPosition(item.value, item.start, item.end)).toBe(item.expected);
13
+ });
14
+ });
15
+ });
16
+ //# sourceMappingURL=utils-removeFromPosition.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-removeFromPosition.test.js","sourceRoot":"","sources":["../src/utils-removeFromPosition.test.ts"],"names":[],"mappings":";;AAAA,mCAA4C;AAE5C,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;QACZ,EAAE;QACF,MAAM,IAAI,GAAG;YACX,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;YACtD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE;SAC7D,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,CAAC,0BAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ const { sumElementsByMultipliers } = require('./utils');
3
+ describe('sumElementsByMultipliers()', () => {
4
+ test('Tipo do retorno', () => {
5
+ const sum = sumElementsByMultipliers('1234', '9876');
6
+ expect(typeof sum).toBe('number');
7
+ expect(sum).toBe(70);
8
+ });
9
+ test('Valores retornados', () => {
10
+ ;
11
+ [
12
+ { input: '1234', multipliers: '9876', expected: 70 },
13
+ { input: '1234', multipliers: [9, 8, 7, 6], expected: 70 },
14
+ // cnpj
15
+ { input: '112223330001', multipliers: [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2], expected: 102 },
16
+ { input: '1122233300018', multipliers: '6543298765432', expected: 120 },
17
+ // cpf
18
+ { input: '280012389', multipliers: [10, 9, 8, 7, 6, 5, 4, 3, 2], expected: 162 },
19
+ { input: '2800123893', multipliers: [11, 10, 9, 8, 7, 6, 5, 4, 3, 2], expected: 201 },
20
+ // titulo
21
+ { input: '10238501', multipliers: '23456789', expected: 117 },
22
+ { input: '067', multipliers: '789', expected: 111 },
23
+ ].forEach((item) => {
24
+ const sum = sumElementsByMultipliers(item.input, item.multipliers);
25
+ expect(sum).toBe(item.expected);
26
+ });
27
+ const sum = sumElementsByMultipliers('1234', '9876');
28
+ expect(typeof sum).toBe('number');
29
+ expect(sum).toBe(70);
30
+ });
31
+ });
32
+ //# sourceMappingURL=utils-sumElementsByMultipliers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-sumElementsByMultipliers.test.js","sourceRoot":"","sources":["../src/utils-sumElementsByMultipliers.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEvD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,CAAC;QAAA;YACC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpD,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC1D,OAAO;YACP,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC3F,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,EAAE;YACvE,MAAM;YACN,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAChF,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YACrF,SAAS;YACT,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC7D,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE;SACpD,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAClE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ const { sumToDV } = require('./utils');
3
+ describe('sumToDV()', () => {
4
+ test('Os resultados devem ser os esperados', () => {
5
+ const list = [
6
+ { value: 102, expected: 8 },
7
+ { value: 120, expected: 1 },
8
+ { value: 162, expected: 3 },
9
+ { value: 179, expected: 8 },
10
+ ];
11
+ list.forEach((item) => {
12
+ expect(sumToDV(item.value)).toBe(item.expected);
13
+ });
14
+ });
15
+ });
16
+ //# sourceMappingURL=utils-sumToDV.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-sumToDV.test.js","sourceRoot":"","sources":["../src/utils-sumToDV.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEtC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG;YACX,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC5B,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}