simple-bimap
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

🗺️↔️ simple-bimap

simple-bimap on npm GitHub issues Licensed using MIT license

A tiny (~400 bytes gzipped) implementation of a bidirectional map in JavaScript. It can be used interchangeably with the JavaScript Map as Bimap implements its whole interface while also providing new methods. Note that Bimap requires a bijective relation between the keys and values, unlike a normal map.

Warning: Although Bimap instances are assignable to the Map ones, Bimap does NOT inherit from the Map.

Installation

Via npm:

$ npm i simple-bimap --save


Via yarn:

$ yarn add simple-bimap

Usage

import { Bimap } from "simple-bimap";

API

Apart from all the properties from the Map, the Bimap offers three extra methods:

Method Description
Bimap<K, V>.prototype.getByValue(value: V): K | undefined Returns the key associated with the given value or undefined if it doesn't exist.
Bimap<K, V>.prototype.hasValue(value: V): boolean Returns true if the given value is in the bimap and false otherwise.
Bimap<K, V>.prototype.deleteByValue(value: V): boolean Deletes a bimap entry that has a value equal to the one given as the argument. Returns true if the deletion was successful and false otherwise.

The time complexities of each of these methods are equal to the complexities of their corresponding key-oriented counterparts (get/has/delete), so they should be sublinear.

Package Sidebar

Install

npm i simple-bimap

Weekly Downloads

3

Version

1.0.1

License

MIT

Unpacked Size

7 kB

Total Files

7

Last publish

Collaborators

  • aleksander_ciesielski