@excofy/utils 1.0.14 → 1.0.15

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.
package/dist/index.cjs CHANGED
@@ -647,10 +647,21 @@ function createValidator() {
647
647
  }
648
648
 
649
649
  // src/helpers/generateCode.ts
650
- var generateCode = (length = 6, alphanumeric = true) => {
650
+ var generateCode = (length = 6, type = "alphanumeric") => {
651
651
  const digits = "0123456789";
652
652
  const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
653
- const charset = alphanumeric ? digits + letters : digits;
653
+ let charset;
654
+ switch (type) {
655
+ case "numeric":
656
+ charset = digits;
657
+ break;
658
+ case "letters":
659
+ charset = letters;
660
+ break;
661
+ default:
662
+ charset = digits + letters;
663
+ break;
664
+ }
654
665
  let result = "";
655
666
  for (let i = 0; i < length; i++) {
656
667
  const randomIndex = Math.floor(Math.random() * charset.length);
package/dist/index.d.cts CHANGED
@@ -89,16 +89,19 @@ declare function createValidator<TRaw extends Record<string, TInputValue>, TPars
89
89
  * Gera um código de validação.
90
90
  *
91
91
  * @param {number} [length=6] - Número de caracteres do código.
92
- * @param {boolean} [alphanumeric=true] - Se `true`, gera código alfanumérico (letras e números).
93
- * Se `false`, gera apenas dígitos numéricos.
92
+ * @param {'alphanumeric' | 'numeric' | 'letters'} [type='alphanumeric'] - Tipo de caracteres a serem usados.
93
+ * - 'alphanumeric': letras e números (padrão)
94
+ * - 'numeric': apenas dígitos numéricos
95
+ * - 'letters': apenas letras
94
96
  * @returns {string} Código gerado.
95
97
  *
96
98
  * @example
97
- * generateCode(); // "482901"
98
- * generateCode(8); // "83910274"
99
- * generateCode(8, true); // "A9F3D2K7"
99
+ * generateCode(); // "A9F3D2" (padrão)
100
+ * generateCode(8); // "B3K7E1A2" (padrão com 8 caracteres)
101
+ * generateCode(6, 'numeric'); // "839102"
102
+ * generateCode(8, 'letters'); // "XCVBHJKL"
100
103
  */
101
- declare const generateCode: (length?: number, alphanumeric?: boolean) => string;
104
+ declare const generateCode: (length?: number, type?: "alphanumeric" | "numeric" | "letters") => string;
102
105
 
103
106
  declare const stringUtils: {
104
107
  removeFileExtension: (fileName: string) => string;
package/dist/index.d.ts CHANGED
@@ -89,16 +89,19 @@ declare function createValidator<TRaw extends Record<string, TInputValue>, TPars
89
89
  * Gera um código de validação.
90
90
  *
91
91
  * @param {number} [length=6] - Número de caracteres do código.
92
- * @param {boolean} [alphanumeric=true] - Se `true`, gera código alfanumérico (letras e números).
93
- * Se `false`, gera apenas dígitos numéricos.
92
+ * @param {'alphanumeric' | 'numeric' | 'letters'} [type='alphanumeric'] - Tipo de caracteres a serem usados.
93
+ * - 'alphanumeric': letras e números (padrão)
94
+ * - 'numeric': apenas dígitos numéricos
95
+ * - 'letters': apenas letras
94
96
  * @returns {string} Código gerado.
95
97
  *
96
98
  * @example
97
- * generateCode(); // "482901"
98
- * generateCode(8); // "83910274"
99
- * generateCode(8, true); // "A9F3D2K7"
99
+ * generateCode(); // "A9F3D2" (padrão)
100
+ * generateCode(8); // "B3K7E1A2" (padrão com 8 caracteres)
101
+ * generateCode(6, 'numeric'); // "839102"
102
+ * generateCode(8, 'letters'); // "XCVBHJKL"
100
103
  */
101
- declare const generateCode: (length?: number, alphanumeric?: boolean) => string;
104
+ declare const generateCode: (length?: number, type?: "alphanumeric" | "numeric" | "letters") => string;
102
105
 
103
106
  declare const stringUtils: {
104
107
  removeFileExtension: (fileName: string) => string;
package/dist/index.js CHANGED
@@ -611,10 +611,21 @@ function createValidator() {
611
611
  }
612
612
 
613
613
  // src/helpers/generateCode.ts
614
- var generateCode = (length = 6, alphanumeric = true) => {
614
+ var generateCode = (length = 6, type = "alphanumeric") => {
615
615
  const digits = "0123456789";
616
616
  const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
617
- const charset = alphanumeric ? digits + letters : digits;
617
+ let charset;
618
+ switch (type) {
619
+ case "numeric":
620
+ charset = digits;
621
+ break;
622
+ case "letters":
623
+ charset = letters;
624
+ break;
625
+ default:
626
+ charset = digits + letters;
627
+ break;
628
+ }
618
629
  let result = "";
619
630
  for (let i = 0; i < length; i++) {
620
631
  const randomIndex = Math.floor(Math.random() * charset.length);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excofy/utils",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
4
4
  "description": "Biblioteca de utilitários para o Excofy",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -2,19 +2,37 @@
2
2
  * Gera um código de validação.
3
3
  *
4
4
  * @param {number} [length=6] - Número de caracteres do código.
5
- * @param {boolean} [alphanumeric=true] - Se `true`, gera código alfanumérico (letras e números).
6
- * Se `false`, gera apenas dígitos numéricos.
5
+ * @param {'alphanumeric' | 'numeric' | 'letters'} [type='alphanumeric'] - Tipo de caracteres a serem usados.
6
+ * - 'alphanumeric': letras e números (padrão)
7
+ * - 'numeric': apenas dígitos numéricos
8
+ * - 'letters': apenas letras
7
9
  * @returns {string} Código gerado.
8
10
  *
9
11
  * @example
10
- * generateCode(); // "482901"
11
- * generateCode(8); // "83910274"
12
- * generateCode(8, true); // "A9F3D2K7"
12
+ * generateCode(); // "A9F3D2" (padrão)
13
+ * generateCode(8); // "B3K7E1A2" (padrão com 8 caracteres)
14
+ * generateCode(6, 'numeric'); // "839102"
15
+ * generateCode(8, 'letters'); // "XCVBHJKL"
13
16
  */
14
- export const generateCode = (length = 6, alphanumeric = true): string => {
17
+ export const generateCode = (
18
+ length = 6,
19
+ type: 'alphanumeric' | 'numeric' | 'letters' = 'alphanumeric'
20
+ ): string => {
15
21
  const digits = '0123456789';
16
22
  const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
17
- const charset = alphanumeric ? digits + letters : digits;
23
+ let charset: string;
24
+
25
+ switch (type) {
26
+ case 'numeric':
27
+ charset = digits;
28
+ break;
29
+ case 'letters':
30
+ charset = letters;
31
+ break;
32
+ default:
33
+ charset = digits + letters;
34
+ break;
35
+ }
18
36
 
19
37
  let result = '';
20
38
  for (let i = 0; i < length; i++) {