Multimap Save

A map in which more than one value may be stored under each key.

Project README

MultiMap

The multimap data structure is a map in which more than one value may be stored under each key.

Installation

$ npm install @github/multimap

Usage

import MultiMap from '@github/multimap'
const map = new MultiMap<string, number>()
map.set('a', 1)
map.set('a', 2)
map.get('a') // => Set([1, 2])
map.has('a') // => true
map.size // => 1

Constructors

  • MultiMap() - Create an empty map.
  • MultiMap(iterable) - Create a map with values from an iterable yielding key value pairs: new MultiMap([['k', 1], ['k', 2]])

Methods

  • get(key) - Retrieve the Set of values stored under a key or the empty Set if the key does not exist.
  • set(key, value) - Add a value to the key's set without removing previous values. Returns the map so set can be chained.
  • has(key) - Returns true if a value is stored under the key.
  • delete(key) - Remove key and all of key's values. Returns true if the key existed.
  • delete(key, value) - Remove a value from the key's set. Returns true if the key and value existed.
  • drain(value) - Remove a value from all keys that reference it. Returns an array of keys removed.
  • clear() - Remove all keys and values to empty the map.
  • keys() - An iterator of map keys.
  • values() - An iterator of Sets of values for all keys.
  • entries() - An iterator of [key, Set] pairs.

Properties

  • size - The number of keys in the map.

Development

npm install
npm test

License

Distributed under the MIT license. See LICENSE for details.

Open Source Agenda is not affiliated with "Multimap" Project. README Source: github/multimap
Stars
32
Open Issues
1
Last Commit
7 months ago
Repository
License
MIT
Tags

Open Source Agenda Badge

Open Source Agenda Rating