validation-br 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/test/cnh.test.js +116 -0
  2. package/dist/test/cnh.test.js.map +1 -0
  3. package/dist/test/cnpj.test.js +181 -0
  4. package/dist/test/cnpj.test.js.map +1 -0
  5. package/dist/test/cpf.test.js +136 -0
  6. package/dist/test/cpf.test.js.map +1 -0
  7. package/dist/test/index.test.js +83 -0
  8. package/dist/test/index.test.js.map +1 -0
  9. package/dist/test/judicialProcess.test.js +124 -0
  10. package/dist/test/judicialProcess.test.js.map +1 -0
  11. package/dist/test/nup17.test.js +133 -0
  12. package/dist/test/nup17.test.js.map +1 -0
  13. package/dist/test/pisPasep.test.js +135 -0
  14. package/dist/test/pisPasep.test.js.map +1 -0
  15. package/dist/test/postalCode.test.js +123 -0
  16. package/dist/test/postalCode.test.js.map +1 -0
  17. package/dist/test/renavam.test.js +91 -0
  18. package/dist/test/renavam.test.js.map +1 -0
  19. package/dist/test/tituloEleitor.test.js +118 -0
  20. package/dist/test/tituloEleitor.test.js.map +1 -0
  21. package/dist/test/utils-applyMask.test.js +15 -0
  22. package/dist/test/utils-applyMask.test.js.map +1 -0
  23. package/dist/test/utils-checkRepeatedSequence.test.js +18 -0
  24. package/dist/test/utils-checkRepeatedSequence.test.js.map +1 -0
  25. package/dist/test/utils-clearValue.test.js +59 -0
  26. package/dist/test/utils-clearValue.test.js.map +1 -0
  27. package/dist/test/utils-fakeNumber.test.js +24 -0
  28. package/dist/test/utils-fakeNumber.test.js.map +1 -0
  29. package/dist/test/utils-insertAtPosition.test.js +16 -0
  30. package/dist/test/utils-insertAtPosition.test.js.map +1 -0
  31. package/dist/test/utils-randomLetter.test.js +11 -0
  32. package/dist/test/utils-randomLetter.test.js.map +1 -0
  33. package/dist/test/utils-removeFromPosition.test.js +12 -0
  34. package/dist/test/utils-removeFromPosition.test.js.map +1 -0
  35. package/dist/test/utils-sumElementsByMultipliers.test.js +23 -0
  36. package/dist/test/utils-sumElementsByMultipliers.test.js.map +1 -0
  37. package/dist/test/utils-sumToDV.test.d.ts +1 -0
  38. package/dist/test/utils-sumToDV.test.js +14 -0
  39. package/dist/test/utils-sumToDV.test.js.map +1 -0
  40. package/jest.config.js +1 -1
  41. package/package.json +4 -3
  42. package/readme.md +216 -184
  43. package/test/cnh.test.ts +113 -0
  44. package/test/cnpj.test.ts +179 -0
  45. package/test/cpf.test.ts +124 -0
  46. package/test/index.test.ts +85 -0
  47. package/test/judicialProcess.test.ts +120 -0
  48. package/test/nup17.test.ts +127 -0
  49. package/test/pisPasep.test.ts +126 -0
  50. package/test/postalCode.test.ts +114 -0
  51. package/test/renavam.test.ts +77 -0
  52. package/test/tituloEleitor.test.ts +110 -0
  53. package/test/utils-applyMask.test.ts +13 -0
  54. package/test/utils-checkRepeatedSequence.test.ts +17 -0
  55. package/test/utils-clearValue.test.ts +69 -0
  56. package/test/utils-fakeNumber.test.ts +28 -0
  57. package/test/utils-insertAtPosition.test.ts +15 -0
  58. package/test/utils-randomLetter.test.ts +9 -0
  59. package/test/utils-removeFromPosition.test.ts +10 -0
  60. package/test/utils-sumElementsByMultipliers.test.ts +24 -0
  61. package/test/utils-sumToDV.test.ts +12 -0
  62. package/tsconfig.json +3 -3
  63. package/.github/workflows/test.yml +0 -39
  64. package/dist/cnh.d.ts +0 -91
  65. package/dist/cnh.js +0 -139
  66. package/dist/cnh.js.map +0 -1
  67. package/dist/cnpj.d.ts +0 -87
  68. package/dist/cnpj.js +0 -151
  69. package/dist/cnpj.js.map +0 -1
  70. package/dist/cpf.d.ts +0 -99
  71. package/dist/cpf.js +0 -147
  72. package/dist/cpf.js.map +0 -1
  73. package/dist/data/ValidationBRError.d.ts +0 -6
  74. package/dist/data/ValidationBRError.js +0 -10
  75. package/dist/data/ValidationBRError.js.map +0 -1
  76. package/dist/index.d.ts +0 -21
  77. package/dist/index.js +0 -42
  78. package/dist/index.js.map +0 -1
  79. package/dist/judicialProcess.d.ts +0 -126
  80. package/dist/judicialProcess.js +0 -190
  81. package/dist/judicialProcess.js.map +0 -1
  82. package/dist/nup17.d.ts +0 -102
  83. package/dist/nup17.js +0 -155
  84. package/dist/nup17.js.map +0 -1
  85. package/dist/pisPasep.d.ts +0 -81
  86. package/dist/pisPasep.js +0 -126
  87. package/dist/pisPasep.js.map +0 -1
  88. package/dist/postalCode.d.ts +0 -83
  89. package/dist/postalCode.js +0 -136
  90. package/dist/postalCode.js.map +0 -1
  91. package/dist/renavam.d.ts +0 -75
  92. package/dist/renavam.js +0 -122
  93. package/dist/renavam.js.map +0 -1
  94. package/dist/tituloEleitor.d.ts +0 -93
  95. package/dist/tituloEleitor.js +0 -143
  96. package/dist/tituloEleitor.js.map +0 -1
  97. package/dist/utils-invalidListGenerator.test.d.ts +0 -1
  98. package/dist/utils-randomLetter.test.d.ts +0 -1
  99. package/dist/utils.d.ts +0 -131
  100. package/dist/utils.js +0 -189
  101. package/dist/utils.js.map +0 -1
  102. package/docs/Nota.COCAD.SUARA.2024.05.49.CNPJ.Alfanumerico-1.pdf +0 -0
  103. /package/dist/{cnh.test.d.ts → test/cnh.test.d.ts} +0 -0
  104. /package/dist/{cnpj.test.d.ts → test/cnpj.test.d.ts} +0 -0
  105. /package/dist/{cpf.test.d.ts → test/cpf.test.d.ts} +0 -0
  106. /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
  107. /package/dist/{judicialProcess.test.d.ts → test/judicialProcess.test.d.ts} +0 -0
  108. /package/dist/{nup17.test.d.ts → test/nup17.test.d.ts} +0 -0
  109. /package/dist/{pisPasep.test.d.ts → test/pisPasep.test.d.ts} +0 -0
  110. /package/dist/{postalCode.test.d.ts → test/postalCode.test.d.ts} +0 -0
  111. /package/dist/{renavam.test.d.ts → test/renavam.test.d.ts} +0 -0
  112. /package/dist/{tituloEleitor.test.d.ts → test/tituloEleitor.test.d.ts} +0 -0
  113. /package/dist/{utils-applyMask.test.d.ts → test/utils-applyMask.test.d.ts} +0 -0
  114. /package/dist/{utils-checkRepeatedSequence.test.d.ts → test/utils-checkRepeatedSequence.test.d.ts} +0 -0
  115. /package/dist/{utils-clearValue.test.d.ts → test/utils-clearValue.test.d.ts} +0 -0
  116. /package/dist/{utils-fakeNumber.test.d.ts → test/utils-fakeNumber.test.d.ts} +0 -0
  117. /package/dist/{utils-insertAtPosition.test.d.ts → test/utils-insertAtPosition.test.d.ts} +0 -0
  118. /package/dist/{utils-removeFromPosition.test.d.ts → test/utils-randomLetter.test.d.ts} +0 -0
  119. /package/dist/{utils-sumElementsByMultipliers.test.d.ts → test/utils-removeFromPosition.test.d.ts} +0 -0
  120. /package/dist/{utils-sumToDV.test.d.ts → test/utils-sumElementsByMultipliers.test.d.ts} +0 -0
@@ -0,0 +1,15 @@
1
+ import { insertAtPosition } from '../src/utils';
2
+
3
+ describe('insertAtPosition()', () => {
4
+ test('Deve inserir um caractere em uma determinada posição da string', () => {
5
+ //
6
+ const list = [
7
+ { value: 'AAABBB', insert: 'C', position: 3, expected: 'AAACBBB' },
8
+ { value: 'J Med', insert: 'Cl ', position: 2, expected: 'J Cl Med' },
9
+ ];
10
+
11
+ list.forEach((item) => {
12
+ expect(insertAtPosition(item.value, item.insert, item.position)).toBe(item.expected);
13
+ });
14
+ });
15
+ });
@@ -0,0 +1,9 @@
1
+ import { randomLetter } from '../src/utils';
2
+
3
+ describe('randomLetter()', () => {
4
+ test.each([...Array(1000)])('forceLength = false', () => {
5
+ const letter = randomLetter();
6
+ expect(letter).toMatch(/^[A-Z]{1}$/);
7
+ expect(typeof letter).toBe('string');
8
+ });
9
+ });
@@ -0,0 +1,10 @@
1
+ import { removeFromPosition } from '../src/utils';
2
+
3
+ describe('removeFromPosition()', () => {
4
+ test.each([
5
+ { value: 'Jossé', start: 2, end: 3, expected: 'José' },
6
+ { value: 'Cláuudio', start: 4, end: 5, expected: 'Cláudio' },
7
+ ])('removeFromPosition', (item) => {
8
+ expect(removeFromPosition(item.value, item.start, item.end)).toBe(item.expected);
9
+ });
10
+ });
@@ -0,0 +1,24 @@
1
+ import { sumElementsByMultipliers } from '../src/utils';
2
+
3
+ describe('sumElementsByMultipliers()', () => {
4
+ test('Tipo do retorno', () => {
5
+ const sum = sumElementsByMultipliers('1234', [9, 8, 7, 6]);
6
+
7
+ expect(typeof sum).toBe('number');
8
+ expect(sum).toBe(70);
9
+ });
10
+
11
+ test.each([
12
+ { value: '1234', multipliers: [9, 8, 7, 6], expected: 70 },
13
+ // cnpj
14
+ { value: '112223330001', multipliers: [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2], expected: 102 },
15
+ // cpf
16
+ { value: '280012389', multipliers: [10, 9, 8, 7, 6, 5, 4, 3, 2], expected: 162 },
17
+ { value: '2800123893', multipliers: [11, 10, 9, 8, 7, 6, 5, 4, 3, 2], expected: 201 },
18
+ // titulo
19
+ ])('Valores retornados', (item) => {
20
+ const sum = sumElementsByMultipliers(item.value, item.multipliers);
21
+ expect(sum).toBe(item.expected);
22
+
23
+ });
24
+ });
@@ -0,0 +1,12 @@
1
+ import { sumToDV } from '../src/utils';
2
+
3
+ describe('sumToDV()', () => {
4
+ test.each([
5
+ { value: 102, expected: 8 },
6
+ { value: 120, expected: 1 },
7
+ { value: 162, expected: 3 },
8
+ { value: 179, expected: 8 },
9
+ ])('Os resultados devem ser os esperados', (item) => {
10
+ expect(sumToDV(item.value)).toBe(item.expected);
11
+ });
12
+ });
package/tsconfig.json CHANGED
@@ -12,14 +12,14 @@
12
12
  "noImplicitReturns": true,
13
13
  "noImplicitThis": true,
14
14
  "strict": true,
15
- "allowJs": true,
15
+ "allowJs": false,
16
16
  "types": ["node", "jest"],
17
17
  "typeRoots": ["node_modules/@types", "index.d.ts"],
18
- "lib": ["ES2018"],
18
+ "lib": ["ES2022"],
19
19
  "paths": {
20
20
  "*": ["node_modules/*"]
21
21
  }
22
22
  },
23
23
  "exclude": ["./tsconfig.json"],
24
- "include": ["./src/**/*"]
24
+ "include": ["./src/**/*", "./test/**/*"]
25
25
  }
@@ -1,39 +0,0 @@
1
- name: Tests
2
-
3
- # on: [push]
4
- on:
5
- push:
6
- branches: [main, dev]
7
- pull_request:
8
- branches: [main, dev]
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
-
14
- strategy:
15
- matrix:
16
- node-version: [18.x, 20.x, 22.x]
17
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
18
-
19
- steps:
20
- # Checks-out the repository under $GITHUB_WORKSPACE
21
- - uses: actions/checkout@v2
22
-
23
- # Install Node Js
24
- - name: Use Node.js ${{ matrix.node-version }}
25
- uses: actions/setup-node@v2
26
- with:
27
- node-version: ${{ matrix.node-version }}
28
-
29
- # Install Node Modules
30
- - name: Install Node Modules
31
- run: npm install
32
-
33
- # Runs a set of commands using the runners shell
34
- - name: Build typescript code
35
- run: npm run build
36
-
37
- # Runs a set of commands using the runners shell
38
- - name: Runs Unit Tests
39
- run: npm run test
package/dist/cnh.d.ts DELETED
@@ -1,91 +0,0 @@
1
- /**
2
- * isCNH()
3
- * Calcula se uma CNH é válida
4
- *
5
- * @doc
6
- * CNH deve possuir 11 caracteres
7
- *
8
- * - Os caracteres 1 a 9 são números sequenciais.
9
- *
10
- *
11
- * - Os caracteres 10 e 11 são dígitos verificadores.
12
- *
13
- * 1) Partes do número
14
- * ____________________________ ______
15
- * | Número | D V |
16
- * | 5 8 3 1 6 7 9 4 5 3 4 |
17
- * |____________________________|_____|
18
- *
19
- * 2) Cálculo do primeiro DV.
20
- *
21
- * - Soma-se o produto das algarismos 1 a 9 pelos números 2, 3, 4, 5, 6, 7, 8, 9, 10.
22
- *
23
- * 5 8 3 1 6 7 9 4 5
24
- * x x x x x x x x x
25
- * 2 3 4 5 6 7 8 9 10
26
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 = 294
27
- *
28
- * - O somatório encontrado é dividido por 11. O DV1 é 11 subtraído do resto da divisão. Se o
29
- * resto for 10, o DV1 é 0.
30
- *
31
- * 2.1) 294 / 11 tem resto igual a 8. 11-7 = 3
32
- * DV1 = 3
33
- *
34
- * 3) Cálculo do segundo DV
35
- *
36
- * - Soma-se o produto das algarismos 1 a 9 juntamente com o 10 caractere
37
- * que é o DV1, pelos números 3, 4, 5, 6, 7, 8, 9, 10, 11, 2. O DV1 será
38
- * multiplicado por 2 e ficará no final.
39
- *
40
- * 5 8 3 1 6 7 9 4 5 3
41
- * x x x x x x x x x x
42
- * 3 4 5 6 7 8 9 10 11 2
43
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 +6 = 348
44
- *
45
- * 3.1) 348 / 11 tem resto igual a 7. 11 - 7 = 4.
46
- * DV2 = 4
47
- *
48
- * - O somatório encontrado é dividido por 11. O DV2 é 11 subtraído do resto da divisão. Se o
49
- * resto for 10, o DV2 é 0.
50
- *
51
- * Fonte: https://www.devmedia.com.br/forum/validacao-de-cnh/372972
52
- *
53
- * @param {String} value Título eleitoral
54
- * @returns {Boolean}
55
- */
56
- /**
57
- * Calcula o Dígito Verificador de um RENAVAM informado
58
- *
59
- * @returns String Número fake de um cnh válido
60
- */
61
- export declare const dv: (value: string | number) => string;
62
- /**
63
- * validateOrFail()
64
- * Valida se um número é válido e
65
- * retorna uma exceção se não estiver
66
- *
67
- * @param {String|Number} value Número a ser validado
68
- * @returns {Boolean}
69
- */
70
- export declare const validateOrFail: (value: string | number) => boolean;
71
- /**
72
- * validate()
73
- * Valida se um número é válido
74
- *
75
- * @param {String|Number} value Número a ser validado
76
- * @returns {Boolean}
77
- */
78
- export declare const validate: (value: string | number) => boolean;
79
- /**
80
- * Aplica uma máscara a uma string
81
- *
82
- * @returns String string com a máscara aplicada
83
- */
84
- export declare const mask: (value: string | number) => string;
85
- /**
86
- * Cria um número fake
87
- *
88
- * @returns String Número fake porém válido
89
- */
90
- export declare const fake: (withMask?: boolean) => string;
91
- export default validate;
package/dist/cnh.js DELETED
@@ -1,139 +0,0 @@
1
- "use strict";
2
- /**
3
- * isCNH()
4
- * Calcula se uma CNH é válida
5
- *
6
- * @doc
7
- * CNH deve possuir 11 caracteres
8
- *
9
- * - Os caracteres 1 a 9 são números sequenciais.
10
- *
11
- *
12
- * - Os caracteres 10 e 11 são dígitos verificadores.
13
- *
14
- * 1) Partes do número
15
- * ____________________________ ______
16
- * | Número | D V |
17
- * | 5 8 3 1 6 7 9 4 5 3 4 |
18
- * |____________________________|_____|
19
- *
20
- * 2) Cálculo do primeiro DV.
21
- *
22
- * - Soma-se o produto das algarismos 1 a 9 pelos números 2, 3, 4, 5, 6, 7, 8, 9, 10.
23
- *
24
- * 5 8 3 1 6 7 9 4 5
25
- * x x x x x x x x x
26
- * 2 3 4 5 6 7 8 9 10
27
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 = 294
28
- *
29
- * - O somatório encontrado é dividido por 11. O DV1 é 11 subtraído do resto da divisão. Se o
30
- * resto for 10, o DV1 é 0.
31
- *
32
- * 2.1) 294 / 11 tem resto igual a 8. 11-7 = 3
33
- * DV1 = 3
34
- *
35
- * 3) Cálculo do segundo DV
36
- *
37
- * - Soma-se o produto das algarismos 1 a 9 juntamente com o 10 caractere
38
- * que é o DV1, pelos números 3, 4, 5, 6, 7, 8, 9, 10, 11, 2. O DV1 será
39
- * multiplicado por 2 e ficará no final.
40
- *
41
- * 5 8 3 1 6 7 9 4 5 3
42
- * x x x x x x x x x x
43
- * 3 4 5 6 7 8 9 10 11 2
44
- * = 10 +24 +12 +5 +36 +49 +72 +36 +50 +6 = 348
45
- *
46
- * 3.1) 348 / 11 tem resto igual a 7. 11 - 7 = 4.
47
- * DV2 = 4
48
- *
49
- * - O somatório encontrado é dividido por 11. O DV2 é 11 subtraído do resto da divisão. Se o
50
- * resto for 10, o DV2 é 0.
51
- *
52
- * Fonte: https://www.devmedia.com.br/forum/validacao-de-cnh/372972
53
- *
54
- * @param {String} value Título eleitoral
55
- * @returns {Boolean}
56
- */
57
- var __importDefault = (this && this.__importDefault) || function (mod) {
58
- return (mod && mod.__esModule) ? mod : { "default": mod };
59
- };
60
- Object.defineProperty(exports, "__esModule", { value: true });
61
- exports.fake = exports.mask = exports.validate = exports.validateOrFail = exports.dv = void 0;
62
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
63
- const utils_1 = require("./utils");
64
- /**
65
- * Calcula o Dígito Verificador de um RENAVAM informado
66
- *
67
- * @returns String Número fake de um cnh válido
68
- */
69
- const dv = (value) => {
70
- const cnh = (0, utils_1.clearValue)(value, 9, {
71
- trimAtRight: true,
72
- rejectEmpty: true,
73
- });
74
- const sum1 = (0, utils_1.sumElementsByMultipliers)(cnh.substring(0, 9), [2, 3, 4, 5, 6, 7, 8, 9, 10]);
75
- const dv1 = (0, utils_1.sumToDV)(sum1);
76
- const sum2 = (0, utils_1.sumElementsByMultipliers)(cnh.substring(0, 9) + dv1, [3, 4, 5, 6, 7, 8, 9, 10, 11, 2]);
77
- const dv2 = (0, utils_1.sumToDV)(sum2);
78
- return `${dv1}${dv2}`;
79
- };
80
- exports.dv = dv;
81
- /**
82
- * validateOrFail()
83
- * Valida se um número é válido e
84
- * retorna uma exceção se não estiver
85
- *
86
- * @param {String|Number} value Número a ser validado
87
- * @returns {Boolean}
88
- */
89
- const validateOrFail = (value) => {
90
- const cnh = (0, utils_1.clearValue)(value, 11, {
91
- fillZerosAtLeft: true,
92
- rejectEmpty: true,
93
- rejectHigherLength: true,
94
- rejectEqualSequence: true,
95
- });
96
- if ((0, exports.dv)(cnh) !== cnh.substring(9, 11)) {
97
- throw ValidationBRError_1.default.INVALID_DV;
98
- }
99
- return true;
100
- };
101
- exports.validateOrFail = validateOrFail;
102
- /**
103
- * validate()
104
- * Valida se um número é válido
105
- *
106
- * @param {String|Number} value Número a ser validado
107
- * @returns {Boolean}
108
- */
109
- const validate = (value) => {
110
- try {
111
- return (0, exports.validateOrFail)(value);
112
- }
113
- catch (error) {
114
- return false;
115
- }
116
- };
117
- exports.validate = validate;
118
- /**
119
- * Aplica uma máscara a uma string
120
- *
121
- * @returns String string com a máscara aplicada
122
- */
123
- const mask = (value) => (0, utils_1.applyMask)(value, '000000000-00');
124
- exports.mask = mask;
125
- /**
126
- * Cria um número fake
127
- *
128
- * @returns String Número fake porém válido
129
- */
130
- const fake = (withMask = false) => {
131
- const value = (0, utils_1.fakeNumber)(9, true);
132
- const cnh = `${value}${(0, exports.dv)(value)}`;
133
- if (withMask)
134
- return (0, exports.mask)(cnh);
135
- return cnh;
136
- };
137
- exports.fake = fake;
138
- exports.default = exports.validate;
139
- //# sourceMappingURL=cnh.js.map
package/dist/cnh.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cnh.js","sourceRoot":"","sources":["../src/cnh.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;;;;AAEH,iFAAwD;AACxD,mCAA8F;AAE9F;;;;GAIG;AACI,MAAM,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,CAAC,EAAE;QAC/B,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACxF,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,IAAI,GAAG,IAAA,gCAAwB,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAClG,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAEzB,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAbY,QAAA,EAAE,MAad;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAChC,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,IAAI,IAAA,UAAE,EAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,2BAAiB,CAAC,UAAU,CAAA;IACpC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI,CAAC;QACH,OAAO,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AANY,QAAA,QAAQ,YAMpB;AAED;;;;GAIG;AACI,MAAM,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAA3E,QAAA,IAAI,QAAuE;AAExF;;;;GAIG;AACI,MAAM,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAEjC,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,IAAA,UAAE,EAAC,KAAK,CAAC,EAAE,CAAA;IAElC,IAAI,QAAQ;QAAE,OAAO,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AARY,QAAA,IAAI,QAQhB;AAED,kBAAe,gBAAQ,CAAA"}
package/dist/cnpj.d.ts DELETED
@@ -1,87 +0,0 @@
1
- /**
2
- * isCNPJ()
3
- * Calcula se um CNPJ é válido
4
- *
5
- * @doc
6
- * - CNPJ deve possuir 14 dígitos no formato 00.000.000/0000-00
7
- *
8
- * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
9
- *
10
- * - Os caracteres 9 a 12 são a identificação das filiais da empresa.
11
- *
12
- * - Os caracteres 13 e 14 são os dígitos verificadores
13
- *
14
- * 1) Partes do número
15
- * _______________________________ _______________ _______
16
- * | Número | Filiais | DV |
17
- * | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |
18
- * |_______________________________|_______________|_______|
19
- *
20
- * 2) Cálculo do primeiro DV.
21
- *
22
- * - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
23
- *
24
- * 1 1 2 2 2 3 3 3 0 0 0 1
25
- * x x x x x x x x x x x x
26
- * 5 4 3 2 9 8 7 6 5 4 3 2
27
- * = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102
28
- *
29
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
30
- * 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.
31
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
32
- *
33
- * 3) Cálculo do segundo DV.
34
- *
35
- * - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos
36
- * números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
37
- *
38
- * 1 1 2 2 2 3 3 3 0 0 0 1 8
39
- * x x x x x x x x x x x x x
40
- * 6 5 4 3 2 9 8 7 6 5 4 3 2
41
- * = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120
42
- *
43
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
44
- * 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.
45
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
46
- *
47
- * Fonte: http://www.macoratti.net/alg_cnpj.htm
48
- *
49
- * @param {String} value Título eleitoral
50
- * @returns {Boolean}
51
- */
52
- type FakeInput = {
53
- withMask?: boolean;
54
- alphanumeric?: boolean;
55
- };
56
- export declare function dv(value: string | number): string;
57
- /**
58
- * Aplica uma máscara ao número informado
59
- *
60
- * @param {String} value Número de Processo
61
- * @returns {String} Valor com a máscara
62
- */
63
- export declare function mask(value: string | number): string;
64
- /**
65
- *
66
- *
67
- */
68
- export declare function fake(options?: FakeInput): string;
69
- export declare function fake(withMask?: boolean): string;
70
- /**
71
- * validateOrFail()
72
- * Valida se um número é válido e
73
- * retorna uma exceção se não estiver
74
- *
75
- * @param {String|Number} value Número a ser validado
76
- * @returns {Boolean}
77
- */
78
- export declare function validateOrFail(value: string | number): boolean;
79
- /**
80
- * validate()
81
- * Valida se um número é válido
82
- *
83
- * @param {String|Number} value Número a ser validado
84
- * @returns {Boolean}
85
- */
86
- export declare function validate(value: string | number): boolean;
87
- export default validate;
package/dist/cnpj.js DELETED
@@ -1,151 +0,0 @@
1
- "use strict";
2
- /**
3
- * isCNPJ()
4
- * Calcula se um CNPJ é válido
5
- *
6
- * @doc
7
- * - CNPJ deve possuir 14 dígitos no formato 00.000.000/0000-00
8
- *
9
- * - Os caracteres 1 a 8 são números sequenciais definidos pela Receita Federal
10
- *
11
- * - Os caracteres 9 a 12 são a identificação das filiais da empresa.
12
- *
13
- * - Os caracteres 13 e 14 são os dígitos verificadores
14
- *
15
- * 1) Partes do número
16
- * _______________________________ _______________ _______
17
- * | Número | Filiais | DV |
18
- * | 1 1 . 2 2 2 . 3 3 3 / 0 0 0 1 - X Y |
19
- * |_______________________________|_______________|_______|
20
- *
21
- * 2) Cálculo do primeiro DV.
22
- *
23
- * - Soma-se o produto das algarismos 1 a 12 pelos números 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
24
- *
25
- * 1 1 2 2 2 3 3 3 0 0 0 1
26
- * x x x x x x x x x x x x
27
- * 5 4 3 2 9 8 7 6 5 4 3 2
28
- * = 5 +4 +6 +4 +18 +24 +21 +18 +0 +0 +0 +2 = 102
29
- *
30
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
31
- * 102 / 11 tem resto 8. 11 - 3 = 8. DV1 é 8.
32
- * Obs.: Caso o cálculo de DV1 retorne 10, o resultado será 0.
33
- *
34
- * 3) Cálculo do segundo DV.
35
- *
36
- * - Soma-se o produto das algarismos 1 a 13 (incluindo o DV1 calculado) pelos
37
- * números 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
38
- *
39
- * 1 1 2 2 2 3 3 3 0 0 0 1 8
40
- * x x x x x x x x x x x x x
41
- * 6 5 4 3 2 9 8 7 6 5 4 3 2
42
- * = 6 +5 +8 +6 +4 +27 +24 +21 +0 +0 +0 +3 +16 = 120
43
- *
44
- * - O somatório encontrado é dividido por 11 e o resultado é subtraído de 11
45
- * 120 / 11 tem resto 10. 11 - 10 = 1. DV2 é 1.
46
- * Obs.: Caso o cálculo de DV2 retorne 10, o resultado será 0.
47
- *
48
- * Fonte: http://www.macoratti.net/alg_cnpj.htm
49
- *
50
- * @param {String} value Título eleitoral
51
- * @returns {Boolean}
52
- */
53
- var __importDefault = (this && this.__importDefault) || function (mod) {
54
- return (mod && mod.__esModule) ? mod : { "default": mod };
55
- };
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.dv = dv;
58
- exports.mask = mask;
59
- exports.fake = fake;
60
- exports.validateOrFail = validateOrFail;
61
- exports.validate = validate;
62
- const ValidationBRError_1 = __importDefault(require("./data/ValidationBRError"));
63
- const utils_1 = require("./utils");
64
- function dv(value) {
65
- const cnpj = (0, utils_1.clearValue)(value, 12, {
66
- trimAtRight: true,
67
- rejectEmpty: true,
68
- });
69
- const dv1Factors = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
70
- const dv1 = sumToDvWithAlpha(cnpj.substring(0, 12), dv1Factors);
71
- const dv2Factors = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
72
- const dv2 = sumToDvWithAlpha(cnpj.substring(0, 12) + dv1, dv2Factors);
73
- return `${dv1}${dv2}`;
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
- function mask(value) {
82
- return (0, utils_1.applyMask)(value, '00.000.000/0000-00');
83
- }
84
- function fake(options = false) {
85
- const num = (0, utils_1.fakeNumber)(12, true);
86
- const cnpj = `${num}${dv(num)}`;
87
- const withMask = typeof options === 'boolean' ? options : options.withMask;
88
- if (withMask)
89
- return mask(cnpj);
90
- return cnpj;
91
- }
92
- /**
93
- * validateOrFail()
94
- * Valida se um número é válido e
95
- * retorna uma exceção se não estiver
96
- *
97
- * @param {String|Number} value Número a ser validado
98
- * @returns {Boolean}
99
- */
100
- function validateOrFail(value) {
101
- const cnpj = (0, utils_1.clearValue)(value, 14, {
102
- fillZerosAtLeft: false,
103
- rejectEmpty: true,
104
- rejectHigherLength: true,
105
- rejectEqualSequence: true,
106
- });
107
- if (dv(cnpj) !== cnpj.substring(12, 14)) {
108
- throw ValidationBRError_1.default.INVALID_DV;
109
- }
110
- return true;
111
- }
112
- /**
113
- * validate()
114
- * Valida se um número é válido
115
- *
116
- * @param {String|Number} value Número a ser validado
117
- * @returns {Boolean}
118
- */
119
- function validate(value) {
120
- try {
121
- return validateOrFail(value);
122
- }
123
- catch (error) {
124
- return false;
125
- }
126
- }
127
- exports.default = validate;
128
- /**
129
- *
130
- * Converte o número para
131
- *
132
- *
133
- */
134
- function asciiTableConverter(character) {
135
- if (/^\d$/.test(character))
136
- return +character;
137
- const ascii = character.toLocaleUpperCase().charCodeAt(0) - 48;
138
- return ascii;
139
- }
140
- /**
141
- *
142
- *
143
- *
144
- */
145
- function sumToDvWithAlpha(value, multiplier) {
146
- const sum = [...value]
147
- .map(character => asciiTableConverter(character))
148
- .reduce((sum, asciiChar, index) => sum + asciiChar * multiplier[index], 0);
149
- return (0, utils_1.sumToDV)(sum);
150
- }
151
- //# sourceMappingURL=cnpj.js.map
package/dist/cnpj.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cnpj.js","sourceRoot":"","sources":["../src/cnpj.ts"],"names":[],"mappings":"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"}