Files
2026-01-01 17:40:53 +01:00

61 lines
1.6 KiB
TypeScript

import type {
ComparatorConfig,
CreateState,
CustomEqualCreatorOptions,
EqualityComparator,
InternalEqualityComparator,
} from './internalTypes.d.mts';
interface CreateIsEqualOptions<Meta> {
circular: boolean;
comparator: EqualityComparator<Meta>;
createState: CreateState<Meta> | undefined;
equals: InternalEqualityComparator<Meta>;
strict: boolean;
}
/**
* Create a comparator method based on the type-specific equality comparators passed.
*/
export declare function createEqualityComparator<Meta>({
areArrayBuffersEqual,
areArraysEqual,
areDataViewsEqual,
areDatesEqual,
areErrorsEqual,
areFunctionsEqual,
areMapsEqual,
areNumbersEqual,
areObjectsEqual,
arePrimitiveWrappersEqual,
areRegExpsEqual,
areSetsEqual,
areTypedArraysEqual,
areUrlsEqual,
unknownTagComparators,
}: ComparatorConfig<Meta>): EqualityComparator<Meta>;
/**
* Create the configuration object used for building comparators.
*/
export declare function createEqualityComparatorConfig<Meta>({
circular,
createCustomConfig,
strict,
}: CustomEqualCreatorOptions<Meta>): ComparatorConfig<Meta>;
/**
* Default equality comparator pass-through, used as the standard `isEqual` creator for
* use inside the built comparator.
*/
export declare function createInternalEqualityComparator<Meta>(
compare: EqualityComparator<Meta>,
): InternalEqualityComparator<Meta>;
/**
* Create the `isEqual` function used by the consuming application.
*/
export declare function createIsEqual<Meta>({
circular,
comparator,
createState,
equals,
strict,
}: CreateIsEqualOptions<Meta>): <A, B>(a: A, b: B) => boolean;
export {};