UNPKG

@rimbu/proximity

Version:

Immutable ProximityMap implementation for TypeScript

25 lines 895 B
import { RMapBase } from '@rimbu/collection-types/map-custom'; import { ProximityMapEmpty, ProximityMapNonEmpty, } from './implementation/index.mjs'; import { ProximityMapBuilder } from './builder.mjs'; export class ProximityMapContext extends RMapBase.ContextBase { constructor(distanceFunction, hashMapContext) { super(); this.distanceFunction = distanceFunction; this.hashMapContext = hashMapContext; this.typeTag = 'ProximityMap'; this.builder = () => { return this.createBuilder(); }; this._empty = Object.freeze(new ProximityMapEmpty(this)); } isValidKey(key) { return true; } isNonEmptyInstance(source) { return source instanceof ProximityMapNonEmpty; } createBuilder(source) { return new ProximityMapBuilder(this, source); } } //# sourceMappingURL=context.mjs.map