bim
A bidirectional map based on the ES6 Map object containing additional methods to retrive keys by values, delete key-value pairs by values and check the existence of keys by values. The module contains two classes: BiMap
& WeakBiMap
based on Map
& WeakMap
respectively.
Installation
npm install --save bim
Usage
Same as normal Map
& WeakMap
, plus the getKey
, hasValue
& deleteValue
methods.
import { WeakBiMap } from 'bim'
const a = {
i: 'foo',
j: 8,
}
const b = {
k: 'bar',
p: 11,
}
const wbm = new WeakBiMap()
wbm.set(a, 5)
wbm.set(b, 6)
wbm.deleteValue(5)
wbm.hasValue(5)
const c = {
h: 'quux',
z: 100,
}
wbm.set(c, 7)
wbm.hasValue(7)
wbm.getKey(7)