@jvsoft/utils 1.0.0-alpha.4 → 1.0.0-alpha.5
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/fesm2022/jvsoft-utils-src-functions.mjs +200 -1
- package/fesm2022/jvsoft-utils-src-functions.mjs.map +1 -1
- package/fesm2022/jvsoft-utils.mjs +200 -1
- package/fesm2022/jvsoft-utils.mjs.map +1 -1
- package/functions/base64.d.ts +87 -0
- package/functions/mat-form-controls/autocomplete.d.ts +27 -0
- package/functions/objects-arrays.d.ts +16 -0
- package/package.json +5 -5
- package/src/functions/base64.d.ts +87 -0
- package/src/functions/mat-form-controls/autocomplete.d.ts +27 -0
- package/src/functions/objects-arrays.d.ts +16 -0
package/functions/base64.d.ts
CHANGED
|
@@ -1,2 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codifica un string a base64 (método legacy)
|
|
3
|
+
* @param val - String a codificar
|
|
4
|
+
* @returns String codificado en base64
|
|
5
|
+
* @deprecated Use encodeBase64String() en su lugar
|
|
6
|
+
*/
|
|
1
7
|
export declare function b64Encode(val: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Decodifica un string desde base64 (método legacy)
|
|
10
|
+
* @param val - String en base64 a decodificar
|
|
11
|
+
* @returns String decodificado
|
|
12
|
+
* @deprecated Use decodeBase64String() en su lugar
|
|
13
|
+
*/
|
|
2
14
|
export declare function b64Decode(val: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Codificar string a Base64 (UTF-8 seguro)
|
|
17
|
+
* @param str - String a codificar
|
|
18
|
+
* @returns String codificado en base64
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const encoded = encodeBase64String('Hola Mundo ñ');
|
|
23
|
+
* // encoded: "SG9sYSBNdW5kbyDDsQ=="
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function encodeBase64String(str: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Decodificar Base64 a string (UTF-8 seguro)
|
|
29
|
+
* @param b64 - String en base64 a decodificar
|
|
30
|
+
* @returns String decodificado
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const decoded = decodeBase64String('SG9sYSBNdW5kbyDDsQ==');
|
|
35
|
+
* // decoded: "Hola Mundo ñ"
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function decodeBase64String(b64: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Codificar un objeto a base64 (UTF-8 seguro)
|
|
41
|
+
* @param obj - Objeto a codificar
|
|
42
|
+
* @returns String codificado en base64
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const obj = { nombre: 'Juan', edad: 25 };
|
|
47
|
+
* const encoded = encodeBase64Object(obj);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function encodeBase64Object(obj: any): string;
|
|
51
|
+
/**
|
|
52
|
+
* Decodificar un base64 y obtener el objeto original
|
|
53
|
+
* @param b64 - String en base64 a decodificar
|
|
54
|
+
* @returns Objeto decodificado
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const obj = decodeBase64Object<{ nombre: string, edad: number }>(encoded);
|
|
59
|
+
* // obj: { nombre: 'Juan', edad: 25 }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function decodeBase64Object<T = any>(b64: string): T;
|
|
63
|
+
/**
|
|
64
|
+
* Codificar archivo a Base64 (retorna solo el contenido, sin "data:...")
|
|
65
|
+
* @param file - Archivo o Blob a codificar
|
|
66
|
+
* @returns Promise con el string en base64
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const file = event.target.files[0];
|
|
71
|
+
* const base64 = await encodeBase64File(file);
|
|
72
|
+
* // base64: "iVBORw0KGgoAAAANSUhEUgAA..."
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function encodeBase64File(file: File | Blob): Promise<string>;
|
|
76
|
+
/**
|
|
77
|
+
* Decodificar Base64 a Blob (para reconstruir archivos en Angular)
|
|
78
|
+
* @param b64 - String en base64
|
|
79
|
+
* @param mimeType - Tipo MIME del archivo (opcional)
|
|
80
|
+
* @returns Blob con el contenido decodificado
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const blob = decodeBase64ToBlob(base64String, 'image/png');
|
|
85
|
+
* const url = URL.createObjectURL(blob);
|
|
86
|
+
* // Usar url para mostrar imagen o descargar
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function decodeBase64ToBlob(b64: string, mimeType?: string): Blob;
|
|
@@ -19,3 +19,30 @@ export declare function changeSelectDataApi(objThis: any, dataFiltro: {
|
|
|
19
19
|
variableResultado?: string;
|
|
20
20
|
}): void;
|
|
21
21
|
export declare function changeSelectApi(control: any, queryService: any, formControl: AbstractControl, tipo: any, dataExtra?: {}, dataExtraVariable?: any[] | null, minLength?: number, anonimo?: boolean): void;
|
|
22
|
+
/**
|
|
23
|
+
* Comprueba si un valor es una Promesa
|
|
24
|
+
* @param valor - Valor a verificar
|
|
25
|
+
* @returns true si es una Promise
|
|
26
|
+
*/
|
|
27
|
+
export declare function esPromise(valor: any): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Selecciona todo el texto de un input
|
|
30
|
+
* @param event - Evento del input
|
|
31
|
+
*/
|
|
32
|
+
export declare function seleccionarTextoInput(event: any): void;
|
|
33
|
+
/**
|
|
34
|
+
* Función genérica para vincular un FormControl con datos desde API o Promise.
|
|
35
|
+
* Preparada para migrar a signals en el futuro.
|
|
36
|
+
*/
|
|
37
|
+
export declare function changeSelectReformateado(config: {
|
|
38
|
+
objThis: any;
|
|
39
|
+
tipoReq: string;
|
|
40
|
+
formControl: AbstractControl;
|
|
41
|
+
queryService: any;
|
|
42
|
+
campoId?: string;
|
|
43
|
+
minLength?: number;
|
|
44
|
+
dataExtra?: any;
|
|
45
|
+
dataExtraVariable?: any[];
|
|
46
|
+
anonimo?: boolean;
|
|
47
|
+
variableResultado?: string;
|
|
48
|
+
}): void;
|
|
@@ -26,6 +26,14 @@ export declare function ordenarPorPropiedades<T>(arr: T[], options: {
|
|
|
26
26
|
}): T[];
|
|
27
27
|
export declare function groupBy<T extends Record<string, any>, K extends keyof T>(array: T[], key: K | ((obj: T) => string)): Record<string, T[]>;
|
|
28
28
|
export declare function nestGroupsBy(arr: any, properties: any): any;
|
|
29
|
+
/**
|
|
30
|
+
* Obtiene un valor de un objeto usando una ruta de propiedad anidada.
|
|
31
|
+
*
|
|
32
|
+
* @param obj - Objeto de entrada.
|
|
33
|
+
* @param path - Ruta en formato punto (ej: "cliente.orden").
|
|
34
|
+
* @returns El valor encontrado o undefined si no existe.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getValueByPath(obj: any, path: string): any;
|
|
29
37
|
/**
|
|
30
38
|
* Retorna el valor máximo del campo especificado (incluso anidado) en un arreglo de objetos.
|
|
31
39
|
*
|
|
@@ -45,3 +53,11 @@ export declare function obtenerUltimoOrden(data: any[], campo: string, increment
|
|
|
45
53
|
export declare function eliminarColumnaPorIndex<T extends unknown[][]>(data: T, columnIndex: number | number[]): T;
|
|
46
54
|
export declare function eliminarDuplicados<T extends object>(array: T[], claves?: (keyof T)[]): T[];
|
|
47
55
|
export declare function eliminarElementos<T extends object>(origen: T[], elementosAEliminar: T[], claves?: (keyof T)[]): T[];
|
|
56
|
+
/**
|
|
57
|
+
* Filtra datos localmente según un valor de búsqueda
|
|
58
|
+
* @param data - Array de datos a filtrar
|
|
59
|
+
* @param value - Valor de búsqueda
|
|
60
|
+
* @param campoBuscar - Campo(s) por el cual buscar
|
|
61
|
+
* @returns Array filtrado
|
|
62
|
+
*/
|
|
63
|
+
export declare function filtrarDatosLocal(data: any[], value: any, campoBuscar: string | string[]): any[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jvsoft/utils",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.5",
|
|
4
4
|
"description": "JVSOFT Angular Utils",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"tag": "alpha",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"types": "./src/functions/index.d.ts",
|
|
36
36
|
"default": "./fesm2022/jvsoft-utils-src-functions.mjs"
|
|
37
37
|
},
|
|
38
|
-
"./src/pipes": {
|
|
39
|
-
"types": "./src/pipes/index.d.ts",
|
|
40
|
-
"default": "./fesm2022/jvsoft-utils-src-pipes.mjs"
|
|
41
|
-
},
|
|
42
38
|
"./src/interfaces": {
|
|
43
39
|
"types": "./src/interfaces/index.d.ts",
|
|
44
40
|
"default": "./fesm2022/jvsoft-utils-src-interfaces.mjs"
|
|
41
|
+
},
|
|
42
|
+
"./src/pipes": {
|
|
43
|
+
"types": "./src/pipes/index.d.ts",
|
|
44
|
+
"default": "./fesm2022/jvsoft-utils-src-pipes.mjs"
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
@@ -1,2 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codifica un string a base64 (método legacy)
|
|
3
|
+
* @param val - String a codificar
|
|
4
|
+
* @returns String codificado en base64
|
|
5
|
+
* @deprecated Use encodeBase64String() en su lugar
|
|
6
|
+
*/
|
|
1
7
|
export declare function b64Encode(val: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Decodifica un string desde base64 (método legacy)
|
|
10
|
+
* @param val - String en base64 a decodificar
|
|
11
|
+
* @returns String decodificado
|
|
12
|
+
* @deprecated Use decodeBase64String() en su lugar
|
|
13
|
+
*/
|
|
2
14
|
export declare function b64Decode(val: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Codificar string a Base64 (UTF-8 seguro)
|
|
17
|
+
* @param str - String a codificar
|
|
18
|
+
* @returns String codificado en base64
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const encoded = encodeBase64String('Hola Mundo ñ');
|
|
23
|
+
* // encoded: "SG9sYSBNdW5kbyDDsQ=="
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function encodeBase64String(str: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Decodificar Base64 a string (UTF-8 seguro)
|
|
29
|
+
* @param b64 - String en base64 a decodificar
|
|
30
|
+
* @returns String decodificado
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const decoded = decodeBase64String('SG9sYSBNdW5kbyDDsQ==');
|
|
35
|
+
* // decoded: "Hola Mundo ñ"
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function decodeBase64String(b64: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Codificar un objeto a base64 (UTF-8 seguro)
|
|
41
|
+
* @param obj - Objeto a codificar
|
|
42
|
+
* @returns String codificado en base64
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const obj = { nombre: 'Juan', edad: 25 };
|
|
47
|
+
* const encoded = encodeBase64Object(obj);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function encodeBase64Object(obj: any): string;
|
|
51
|
+
/**
|
|
52
|
+
* Decodificar un base64 y obtener el objeto original
|
|
53
|
+
* @param b64 - String en base64 a decodificar
|
|
54
|
+
* @returns Objeto decodificado
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const obj = decodeBase64Object<{ nombre: string, edad: number }>(encoded);
|
|
59
|
+
* // obj: { nombre: 'Juan', edad: 25 }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function decodeBase64Object<T = any>(b64: string): T;
|
|
63
|
+
/**
|
|
64
|
+
* Codificar archivo a Base64 (retorna solo el contenido, sin "data:...")
|
|
65
|
+
* @param file - Archivo o Blob a codificar
|
|
66
|
+
* @returns Promise con el string en base64
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const file = event.target.files[0];
|
|
71
|
+
* const base64 = await encodeBase64File(file);
|
|
72
|
+
* // base64: "iVBORw0KGgoAAAANSUhEUgAA..."
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function encodeBase64File(file: File | Blob): Promise<string>;
|
|
76
|
+
/**
|
|
77
|
+
* Decodificar Base64 a Blob (para reconstruir archivos en Angular)
|
|
78
|
+
* @param b64 - String en base64
|
|
79
|
+
* @param mimeType - Tipo MIME del archivo (opcional)
|
|
80
|
+
* @returns Blob con el contenido decodificado
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const blob = decodeBase64ToBlob(base64String, 'image/png');
|
|
85
|
+
* const url = URL.createObjectURL(blob);
|
|
86
|
+
* // Usar url para mostrar imagen o descargar
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function decodeBase64ToBlob(b64: string, mimeType?: string): Blob;
|
|
@@ -19,3 +19,30 @@ export declare function changeSelectDataApi(objThis: any, dataFiltro: {
|
|
|
19
19
|
variableResultado?: string;
|
|
20
20
|
}): void;
|
|
21
21
|
export declare function changeSelectApi(control: any, queryService: any, formControl: AbstractControl, tipo: any, dataExtra?: {}, dataExtraVariable?: any[] | null, minLength?: number, anonimo?: boolean): void;
|
|
22
|
+
/**
|
|
23
|
+
* Comprueba si un valor es una Promesa
|
|
24
|
+
* @param valor - Valor a verificar
|
|
25
|
+
* @returns true si es una Promise
|
|
26
|
+
*/
|
|
27
|
+
export declare function esPromise(valor: any): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Selecciona todo el texto de un input
|
|
30
|
+
* @param event - Evento del input
|
|
31
|
+
*/
|
|
32
|
+
export declare function seleccionarTextoInput(event: any): void;
|
|
33
|
+
/**
|
|
34
|
+
* Función genérica para vincular un FormControl con datos desde API o Promise.
|
|
35
|
+
* Preparada para migrar a signals en el futuro.
|
|
36
|
+
*/
|
|
37
|
+
export declare function changeSelectReformateado(config: {
|
|
38
|
+
objThis: any;
|
|
39
|
+
tipoReq: string;
|
|
40
|
+
formControl: AbstractControl;
|
|
41
|
+
queryService: any;
|
|
42
|
+
campoId?: string;
|
|
43
|
+
minLength?: number;
|
|
44
|
+
dataExtra?: any;
|
|
45
|
+
dataExtraVariable?: any[];
|
|
46
|
+
anonimo?: boolean;
|
|
47
|
+
variableResultado?: string;
|
|
48
|
+
}): void;
|
|
@@ -26,6 +26,14 @@ export declare function ordenarPorPropiedades<T>(arr: T[], options: {
|
|
|
26
26
|
}): T[];
|
|
27
27
|
export declare function groupBy<T extends Record<string, any>, K extends keyof T>(array: T[], key: K | ((obj: T) => string)): Record<string, T[]>;
|
|
28
28
|
export declare function nestGroupsBy(arr: any, properties: any): any;
|
|
29
|
+
/**
|
|
30
|
+
* Obtiene un valor de un objeto usando una ruta de propiedad anidada.
|
|
31
|
+
*
|
|
32
|
+
* @param obj - Objeto de entrada.
|
|
33
|
+
* @param path - Ruta en formato punto (ej: "cliente.orden").
|
|
34
|
+
* @returns El valor encontrado o undefined si no existe.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getValueByPath(obj: any, path: string): any;
|
|
29
37
|
/**
|
|
30
38
|
* Retorna el valor máximo del campo especificado (incluso anidado) en un arreglo de objetos.
|
|
31
39
|
*
|
|
@@ -45,3 +53,11 @@ export declare function obtenerUltimoOrden(data: any[], campo: string, increment
|
|
|
45
53
|
export declare function eliminarColumnaPorIndex<T extends unknown[][]>(data: T, columnIndex: number | number[]): T;
|
|
46
54
|
export declare function eliminarDuplicados<T extends object>(array: T[], claves?: (keyof T)[]): T[];
|
|
47
55
|
export declare function eliminarElementos<T extends object>(origen: T[], elementosAEliminar: T[], claves?: (keyof T)[]): T[];
|
|
56
|
+
/**
|
|
57
|
+
* Filtra datos localmente según un valor de búsqueda
|
|
58
|
+
* @param data - Array de datos a filtrar
|
|
59
|
+
* @param value - Valor de búsqueda
|
|
60
|
+
* @param campoBuscar - Campo(s) por el cual buscar
|
|
61
|
+
* @returns Array filtrado
|
|
62
|
+
*/
|
|
63
|
+
export declare function filtrarDatosLocal(data: any[], value: any, campoBuscar: string | string[]): any[];
|