@rimbu/proximity
Version:
Immutable ProximityMap implementation for TypeScript
25 lines • 895 B
JavaScript
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