form-tool
Version:
Create quickly and robustly with form hooks
185 lines (184 loc) • 6.72 kB
TypeScript
/** Types used in the file */
declare type argVal = string | number | Date | null | undefined;
/**
* Validate that the field is not null
* @version 0.0.1
* ```ts
* @param {argVal} value input value
* @return {boolean} true or false
* ```
*/
export declare const isNull: (value: argVal) => boolean;
/**
* Validate that the field is not numeric
* @version 0.0.1
* ```ts
* @param {argVal} value input value
* @return {boolean} true or false
* ```
*/
export declare const isNumeric: (value: argVal) => boolean;
/**
* Validate that the field has a correct password format
* @version 0.0.1
* ```ts
* @param {argVal} value input value
* @return {boolean} true or false
* ```
*/
export declare const isPassword: (value: argVal) => boolean;
/**
* Validate that the field contains only letters
* @version 0.0.1
* ```ts
* @param {argVal} value input value
* @return {boolean} true or false
* ```
*/
export declare const onlyLetters: (value: string) => boolean;
/**
* Validate that the field is in the established range of letters
* @version 0.0.1
* ```ts
* @param {string | number} value input value
* @param {number} min minimum
* @param {number} max maximum
* @return {boolean} true or false
* ```
*/
export declare const rangeLength: (value: string | number, min: number, max: number) => boolean;
/**
* Validate that two values are equal
* @version 0.0.1
* ```ts
* @param {argVal} valueOne value one
* @param {argVal} valueTwo value two
* @return {boolean} true or false
* ```
*/
export declare const Match: (valueOne: argVal, valueTwo: argVal) => boolean;
/**
* Validate that the field has a correct email format
* @version 0.0.1
* ```ts
* @param {string} email input value
* @return {boolean} true or false
* ```
*/
export declare const isEmail: (email: string) => boolean;
/**
* Transform a number of numbers into money format
* @version 0.0.1
* ```ts
* @param {string | number} value input value
* @param {string} region region number format
* @return {boolean} true or false
* ```
*/
export declare const numberFormat: (value: string | number, region?: string | undefined) => number | string;
/**
* Busca un valor aleatorio de 10 caracteres
* @version 0.0.1
* @return {string} Valor aleatorio
*/
export declare const valRand: () => string;
/**
* Obtiene la información de la columna según el path dado ej: user.name
* @param {string} path Key del objecto
* @param {any} obj Objecto donde se va a buscar la key (path)
* @return {void}
*/
export declare const resolveData: (myData: any, index: number | undefined, nameArray: string | undefined, name: string, array?: boolean | undefined, keys?: string[] | undefined) => any;
/**
* Transforma una fecha en ingles a formato español
* @version 0.0.1
* @param {string} value valor en números
* @param {string | undefined} locale tipo de dirección
* @return {string} nuevo formato de fecha
*/
export declare const dateFormat: (value: string, locale?: string | undefined) => string;
/**
* Transforma un numero en formato de teléfono
* @version 0.0.1
* @param {string} value valor en números
* @return {string} nuevo formato en teléfono
*/
export declare const phoneFormat: (value: string) => string;
/**
* Transforma una hora en ingles a formato español
* @version 0.0.1
* @param {string} value valor en números
* @return {string} nuevo formato en hora
*/
export declare const hourFormat: (value: string) => string;
export declare const validationImg: (file: File) => boolean;
/**
* Busca la extension del archivo
* @version 0.0.1
* @param {string} filename nombre del archivo con la extension
* @return {string} nombre de la extension
*/
export declare const extFile: (filename: string) => string | undefined | null;
/**
* Actualiza la data del usuario según el tipo, si es array, array de objetos ó objeto plano
* ```ts
* @param {string[]} keys Claves del objeto donde va a buscar @example 'user.profile.name' equivale a: ['user', 'profile', 'name]
* @param {number} indexSplit Índice a buscar dentro de las keys
* @param {any} myData Data actual donde se va a buscar
* @param {number} index Índice del array (si es un array)
* @param {string} nameArray Nombre del la clave si es array
* @param {string} name Name del input
* @param {string | number} value valor del input
* @returns {any[]} Devuelve el array o el objeto
* ```
*/
export declare const updateData: (keys: string[], indexSplit: number, myData: any, index: number, nameArray: string, name: string, value: string | number | boolean) => any;
/**
* @description Función que valida los formularios, funciona para trabajar los errores con estados
* @version 0.1.1
* @param {array} elements elementos del formulario
* @return {array} devuelve un array de con el nombre identificador para cada estado en react.
*/
export declare const validationSubmitHooks: <T>(elements: HTMLInputElement[]) => {
errorForm: T;
isError: boolean;
};
/**
* busca en el localStore la información y la parsea si es necesario
* @version 0.0.1
* @param {*} key clave de búsqueda
* @param {boolean} isParse si se quiere parsear o no
* @return {boolean} devuelve el valor parseado o false si pudo guardar en localStorage
*/
export declare const getDataLS: <T>(key: string, isParse: boolean) => boolean | T;
/**
* Verifica que las contraseñas cumplan con el estándar correcto
* @version 0.0.1
* @param {string} value valor
* @return {boolean} true o false
*/
export declare const passwordFormat: (value: string) => boolean;
declare type TOptionFilter = {
coincidenceParams?: boolean;
recursive?: boolean;
};
/**
*
* @param {Object} data objeto a filtrar
* @param {Array} filters array a comparar o claves del objeto a excluir
* @param {{ coincidenceParams: boolean, recursive: boolean }} OptionsFilters booleano para devolver los datos filtrados o no
* @return {{ values: any, valuesFilter: any }} devuelve un objeto con los datos filtrados
*/
export declare const filterKeyObject: <T>(data: T, filters: any[], { coincidenceParams }: TOptionFilter) => {
values: T;
valuesFilter: T;
};
/**
* Delete the keys of the main object
* @param {Object} data object to filter
* @param {string[]} filters array to compare or object keys to exclude
* @param {boolean} coincidenceParams boolean to return the filtered data or not
* @return {Object} returns an object with the filtered data
*/
export declare const excludeKeys: <T>(data: T, filters: string[], coincidenceParams: boolean) => T;
export {};