UNPKG

deep-equality-data-structures

Version:

Javascript data structures (e.g., Map, Set) that support deep object equality

43 lines (42 loc) 1.28 kB
import { Options } from './options'; /** * Result of object-hash hashing function */ type HashedObject = string; /** * Type for normalized input. */ export type Normalized<T> = HashedObject | T; /** * Class that normalizes object types to strings via hashing */ export declare class Normalizer<K, V, TxK, TxV> { private readonly objectHashOptions; private readonly caseInsensitive; private readonly keyTransformer; private readonly valueTransformer; private readonly optionsChecksum; constructor(options?: Options<K, V, TxK, TxV>); /** * @returns the checksum for the options passed to this Normalizer */ getOptionsChecksum(): string; /** * Normalize the input by transforming and then hashing the result (if an object) * @param input the input to normalize * @returns the normalized result */ normalizeKey(input: K): Normalized<TxK>; /** * Normalize the input by transforming and then hashing the result (if an object) * @param input the input to normalize * @returns the normalized result */ normalizeValue(input: V): Normalized<TxV>; private normalizeHelper; /** * Returns true if the input is a javascript object. */ private static isObject; } export {};