siegel
Version:
Web application development ecosystem
20 lines (19 loc) • 712 B
TypeScript
type Comparable = any[] | Obj;
type Options = {
valueForEqualArrElement?: any;
valueForRemovedObjField?: any;
complexTypesIsEqual?: <T extends Obj>(a: T, b: T) => boolean;
};
declare const SYMBOL__VALUES_EQUAL: unique symbol;
declare const SYMBOL__OBJECT_FIELD_REMOVED: unique symbol;
/**
* Performs deep comparsion of any JSON like objects
*
* @param a - Comparable object
* @param b - Object to compare with
* @param options - Options to help to resolve corner cases
* @returns Diff result
*/
declare function diff(a: Comparable, b: Comparable, options?: Options): Comparable | typeof SYMBOL__VALUES_EQUAL;
export default diff;
export { SYMBOL__VALUES_EQUAL, SYMBOL__OBJECT_FIELD_REMOVED };