@rimbu/proximity
Version:
Immutable ProximityMap implementation for TypeScript
24 lines (23 loc) • 1.25 kB
text/typescript
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>;
}