bidi-map
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

view on npm Build Status Dependency Status codecov npm license

Bidi-map

A library that extends native ES6 Map to bi-directional map.

Install

npm install bidi-map

Usage

const BidiMap = require('bidi-map');

const bidiMap = new BidiMap([
  [1, 'test'],
  ['foo', 'bar'],
]);

bidiMap instanceof BidiMap; // true
bidiMap instanceof Map; // true

bidiMap.get(1); // "test"
bidiMap.has('foo'); // true
bidiMap.exists('bar'); // true
bidiMap.getKeyOf('test'); // 1

const key = Symbol('unique');
bidiMap.set(key, 'test');
bidiMap.getKeysOf('test'); // [1, key]

API Reference

A Bidirectional Map

BidiMap ⇐ Map

Kind: Exported class
Extends: Map
Template: K, V

new BidiMap([iterable])

Create a new instance of the bidirectional-map

Param Type Description
[iterable] Iterable.<Array> An iterable object

bidiMap.count : number

Get the number of differed values in this map

Kind: instance property of BidiMap
Read only: true

bidiMap.set(key, value) ⇒ Map.<K, V>

Inherits from Map.set method.

Kind: instance method of BidiMap

Param Type
key K
value V

bidiMap.exists(value) ⇒ boolean

Check if the map has the given value.

Kind: instance method of BidiMap

Param Type Description
value V The given value

bidiMap.getKeyOf(value) ⇒ K

Get the first key of the given value or undefined if not exists.

Kind: instance method of BidiMap

Param Type
value V

bidiMap.getKeysOf(value) ⇒ Array.<K>

Get the all the keys of the given value.

Kind: instance method of BidiMap

Param Type
value V

bidiMap.delete(key) ⇒ boolean

Inherits from Map.delete method.

Kind: instance method of BidiMap

Param Type
key K

bidiMap.clear() ⇒ undefined

Inherits from Map.clear method.

Kind: instance method of BidiMap


© 2017 Moshe Simantov

Licensed under the Apache License, Version 2.0.

Dependencies (1)

Dev Dependencies (15)

Package Sidebar

Install

npm i bidi-map

Weekly Downloads

3

Version

0.2.0

License

Apache-2.0

Unpacked Size

64.2 kB

Total Files

28

Last publish

Collaborators

  • moshe