Files
qiaoshi-tooth-web/@types/deep-eql/index.d.ts
sleepwithoutbz 4c71b3a711 Init commit.
2025-10-02 22:58:32 +08:00

39 lines
1.1 KiB
TypeScript

declare namespace deepEqual {
/**
* Memoization class used to speed up comparison.
*/
class MemoizeMap extends WeakMap<object, MemoizeMap | boolean> {}
interface DeepEqualOptions<T1 = unknown, T2 = unknown> {
/**
* Override default algorithm, determining custom equality.
*/
comparator?: (leftHandOperand: T1, rightHandOperand: T2) => boolean | null;
/**
* Provide a custom memoization object which will cache the results of
* complex objects for a speed boost.
*
* By passing `false` you can disable memoization, but this will cause circular
* references to blow the stack.
*/
memoize?: MemoizeMap | false;
}
}
/**
* Assert deeply nested sameValue equality between two objects of any type.
*
* @param leftHandOperand
* @param rightHandOperand
* @param [options] Additional options
* @return equal match
*/
declare function deepEqual<T1, T2>(
leftHandOperand: T1,
rightHandOperand: T2,
options?: deepEqual.DeepEqualOptions<T1, T2>,
): boolean;
export = deepEqual;