tdc-js-modules
Version:
97 lines (80 loc) • 2.77 kB
Markdown
Librería de módulos, utilidades y componentes comunmente utilizados por The Dog Company.
`Versión estable 1.1.8. yarn add/upgrade tdc-js-modules@1.1.8.`
https://www.npmjs.com/package/tdc-js-modules
Utils
-----------------
```
exportToExcel(columns: ColumnType[], records: any[], fileName: string) => void
```
Exporta un areglo de data según columnas definidas por ColumnType.
```
formatMoney(n: number | string) => number | string
```
Retorna el valor formateado a dinero de un número ingresado. EX: 100000 => 100.000'.
```
methodNotImplemented() => void
```
Función misc para imprimir "methodNotImplemented" en la consola.
Hooks
------------------
```
useGet<T>(url: string, config: UseFetchConfigType = { onMount: false }): UseGetReturnType<T>
```
* Utilidad principal de la aplicación para hacer llamadas a APIs.
* Este hook entrega una intefaz funcional que permite:
* Consultar y transformar un la data entregada de la API a través de una función transformadora.
* Indicar que tipo de datos retorna la consulta a través de un Genérico.
* Setear un valor inicial a la consulta y señalar si debería preguntarse onMount(al cargar el componente).
* Llamar programaticamente un refetch si es necesario (funcion fetch())
* @param url: URL de la consulta
* @param config: Configuración de tipo UseFetchConfigType
```
usePost<T = any>(url: string, config: UsePostConfigType = {}): UsePostReturnType<T>
```
* Utilidad para postear data a APIs.
* Este hook entrega una intefaz funcional que permite:
* Consultar y transformar un la data traida de la API a través de una función transformadora.
* Indicar que tipo de datos retorna la consulta a través de un Genérico.
* Setear un valor inicial a la consulta.
* Llamar programaticamente una función post(body: any) cuando se necesite postear data.
* @param url: URL de la consulta
* @param config: Configuración de tipo UsePostConfigType
Tipos
-----------------
```
type ColumnType<T = any> = {
selector: string;
name: string;
sortable: boolean;
right?: boolean;
left?: boolean;
center?: boolean;
cell?: (record: T) => any;
exportable: boolean;
exportableFunction?: (record: T) => string;
format?: (record: T) => string;
};
```
```
type UsePostConfigType = { initialValue?: any; transformFunction?: (data: any) => any };
type UsePostReturnType<T> = {
data: T;
loading: boolean;
error: any;
post: (body: any) => void;
response: AxiosResponse | undefined;
};
```
```
type UseFetchConfigType = { onMount: boolean; initialValue?: any; transformFunction?: (data: any) => any };
```
```
type UseGetReturnType<T> = {
data: T;
loading: boolean;
error: any;
fetch: () => void;
response: AxiosResponse | undefined;
setData: any;
};
```