UNPKG

tdc-js-modules

Version:

97 lines (80 loc) 2.77 kB
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; }; ```