UNPKG

@rimbu/proximity

Version:

Immutable ProximityMap implementation for TypeScript

24 lines (23 loc) 1.25 kB
import { RMapBase } from '@rimbu/collection-types/map-custom'; import type { HashMap } from '@rimbu/hashed/map'; import type { DistanceFunction } from '@rimbu/proximity/common'; import type { ProximityMap } from '@rimbu/proximity/map'; /** * Default concrete implementation of {@link ProximityMap.Context}.<br/> * <br/> * It wires the configured {@link DistanceFunction} and `HashMap` context together and * is used by the `ProximityMap` factory methods to create new instances. * * @typeparam UK - the upper key type bound for which the context can be used */ export declare class ProximityMapContext<UK> extends RMapBase.ContextBase<UK, ProximityMap.Types> implements ProximityMap.Context<UK> { readonly distanceFunction: DistanceFunction<UK>; readonly hashMapContext: HashMap.Context<UK>; readonly _empty: ProximityMap<any, any>; constructor(distanceFunction: DistanceFunction<UK>, hashMapContext: HashMap.Context<UK>); readonly typeTag = "ProximityMap"; isValidKey(key: any): key is UK; isNonEmptyInstance(source: any): source is any; readonly builder: <K extends UK, V>() => ProximityMap.Builder<K, V>; createBuilder<K extends UK, V>(source?: ProximityMap.NonEmpty<K, V>): ProximityMap.Builder<K, V>; }