Skip to content

Commit

Permalink
📝 documentar ayudas
Browse files Browse the repository at this point in the history
  • Loading branch information
1cgonza committed Mar 8, 2024
1 parent fd7a811 commit d007c89
Showing 1 changed file with 23 additions and 5 deletions.
28 changes: 23 additions & 5 deletions src/utilidades/ayudas.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,39 @@
export function ordenarListaObjetos(lista: any[], llave: string | number, descendente = false) {
/**
* Ordena una lista de objetos, por ejemplo: [{a: 1}, {a: 2}, ...]
* @param lista lista (array) con objetos a ordenar
* @param llave llave donde esta el valor que define el orden
* @param ascendiente Verdadero (`true`) si se quiere ordenar de menor a mayor
*/
export function ordenarListaObjetos(lista: any[], llave: string | number, ascendiente = false) {
lista.sort((a, b) => {
if (a[llave] < b[llave]) return descendente ? -1 : 1;
else if (a[llave] > b[llave]) return descendente ? 1 : -1;
if (a[llave] < b[llave]) return ascendiente ? -1 : 1;
else if (a[llave] > b[llave]) return ascendiente ? 1 : -1;
return 0;
});
}

/**
* Permite definir el los tipos (Typescript) al pedir los datos
*
* @ejemplo
* ```
* const datos = pedirDatos<AlgunTipoOInterface>('...');
* ```
* @param url URL donde están los datos en formato JSON
* @param config Opciones de `fetch()` https://developer.mozilla.org/en-US/docs/Web/API/fetch#options
* @returns Datos en JSON
*/
export async function pedirDatos<Respuesta>(url: string, config: RequestInit = {}): Promise<Respuesta> {
const res = await fetch(url, config);
const datos = await res.json();
return datos as Respuesta;
}

/**
* Función para cerrar algún contenedor al hacer clic por fuera de este.
*
* @param elemento : Elemento de HTML que quiere cerrarse al hacer clic fuera de él
* @param elemento2 : Elemento de HTML que no debe cerrar el elemento 1 al hacer clic en él
* @param elemento Elemento de HTML que quiere cerrarse al hacer clic fuera de él
* @param elemento2 Elemento de HTML que no debe cerrar el elemento 1 al hacer clic en él
*/
export function cerrarClicFuera(elemento: HTMLElement, elemento2?: HTMLElement) {
document.body.addEventListener('click', (evento) => {
Expand Down

0 comments on commit d007c89

Please sign in to comment.