simple-pure-utils
Version:
Funciones puras para manipulación de objetos, arreglos, promesas y observables
29 lines (28 loc) • 1.26 kB
TypeScript
/**Una función de igualdad */
interface EqualsFunction {
(a: any, b: any): boolean;
}
export declare type ShallowEqualsConfig<T> = {
[K in keyof T]?: EqualsFunction;
};
/**
* Si a y b son funciones, devuelve true.
* Si no, devuelve a === b.
*
* Útil para comparar props de componentes de react, donde no importa si cambian las funciones pero si importa si cambian todos los demás props
* @param a
* @param b
*/
export declare function referenceFuncIgnoreEquals(a: any, b: any): boolean;
/**Compara cada uno de los props del objeto con un comparador custom por cada key,
* útil para comparar props en el shouldComponentUpdate de react.
*
* Si una propiedad existe en un valor no pero en el otro no si se compara ese par de propiedades, con undefined para la parte que no tiene la propiedad
* @param config Indica por cada propiedad que comparador usar
* Si se especifica null ese prop no se va a comparar
* @param defaultComparer Comparador que se usa para las propiedades que no se especifiquen en el config. Si no se especifica se usa el operador
* === para comparar
*
*/
export declare function shallowEqualsCustom<T extends {}>(a: T, b: T, config: ShallowEqualsConfig<T>, defaultComparer?: EqualsFunction): boolean;
export {};