Create "key/value" collections of one-to-one correspondence. Internally it uses two Map objects, so both keys and values can be of any type, and keys can preserve their type.
npm install bidirectional-map
import BiMap from 'bidirectional-map'
// Create an empty map
let map = new BiMap()
map.set('bob', 'alice')
map.get('bob') // 'alice'
map.getKey('alice') // 'bob'
// Create a map with some key/values
let map2 = new BiMap({
bob: 'alice',
john: 'mary'
})
map2.has('bob') // true
map2.hasValue('mary') // true
map2.deleteValue('mary')
Arguments |
Description |
|
Creates an empty structure |
object: Object |
Creates a structure with the key/values of object |
Property |
Return Type |
Description |
size |
any |
Returns the number of key/value pairs |
Method |
Arguments |
Return Type |
Description |
set |
key: any , value: any |
|
Sets a new key/value pair |
get |
key: any |
any |
Returns the value |
getKey |
value: any |
any |
Returns the key |
clear |
|
|
Removes all key/value pairs |
delete |
key: any |
|
Deletes a key/value pair by key |
deleteValue |
value: any |
|
Deletes a key/value pair by value |
entries |
|
MapIterator |
Returns a new Iterator object that contains an array of [key, value] for each element in the structure |
has |
key: any |
boolean |
Returns true if it exists a pair with the provided key, false otherwise |
hasValue |
value: any |
boolean |
Returns true if it exists a pair with the provided value, false otherwise |
keys |
|
MapIterator |
Returns a new Iterator object that contains the keys for each element in the structure |
values |
|
MapIterator |
Returns a new Iterator object that contains the values for each element in the structure |
getObject |
|
Object |
Parses the internal "one direction" map to a plain {} . Throws exception if the map has non-primitive key types |
getObjectReverse |
|
Object |
Parses the internal "one direction" reverse map to a plain {} . Throws exception if the reverse map has non-primitive key types |
- 1.1.0
- Add
getObject()
and getObjectReverse()
methods
- 1.0.0
ISC License