UNPKG

ohash

Version:

Simple object hashing, serialization and comparison utils.

38 lines (35 loc) 1.42 kB
/** * Compare two objects using reference equality and stable deep hashing. * @param {any} object1 First object * @param {any} object2 Second object * @return {boolean} true if equal and false if not */ declare function isEqual(object1: any, object2: any): boolean; /** * Calculates the difference between two objects and returns a list of differences. * * @param {any} obj1 - The first object to compare. * @param {any} obj2 - The second object to compare. * @param {HashOptions} [opts={}] - Configuration options for hashing the objects. See {@link HashOptions}. * @returns {DiffEntry[]} An array with the differences between the two objects. */ declare function diff(obj1: any, obj2: any): DiffEntry[]; declare class DiffEntry { key: string; type: "changed" | "added" | "removed"; newValue: DiffHashedObject; oldValue?: DiffHashedObject | undefined; constructor(key: string, type: "changed" | "added" | "removed", newValue: DiffHashedObject, oldValue?: DiffHashedObject | undefined); toString(): string; toJSON(): string; } declare class DiffHashedObject { key: string; value: any; hash?: string | undefined; props?: Record<string, DiffHashedObject> | undefined; constructor(key: string, value: any, hash?: string | undefined, props?: Record<string, DiffHashedObject> | undefined); toString(): string; toJSON(): string; } export { diff, isEqual };