deep-equality-data-structures
Version:
Javascript data structures (e.g., Map, Set) that support deep object equality
43 lines (42 loc) • 1.28 kB
TypeScript
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 {};