Skip to content

Latest commit

 

History

History

multimap

npm version Deno

Licence

@rimbu/multimap

A Rimbu MultiMap is a Map in which each key has one or more values. For each key, it's associated values are unique, that is, the values for each key are kept in a Set.

This package exports the following types:

Name Description
HashMultiMapHashValue<K, V> a multimap between hashed values of type K and hashed values of type V
HashMultiMapSortedValue<K, V> a multimap between hashed values of type K and sorted values of type V
MultiMap<K, V> a generic multimap between values of type K and values of type V
SortedMultiMapHashValue<K, V> a multimap between sorted values of type K and hashed values of type V
SortedMultiMapSortedValue<K, V> a multimap between sorted values of type K and sorted values of type V
VariantMultiMap<K, V> a type-variant multimap between values of type K and values of type V

For complete documentation please visit the MultiMap page in the Rimbu Docs, or directly see the Rimbu MultiMap API Docs.

Or Try Out Rimbu in CodeSandBox.

Installation

Compabitity

Yarn / NPM / Bun

For convenience, all main types are also exported through @rimbu/core.

To install this package only:

For yarn:

yarn add @rimbu/multimap

For npm:

npm i @rimbu/multimap

For bun:

bun add @rimbu/multimap

Deno

For Deno, the following approach is recommended:

In the root folder of your project, create or edit a file called import_map.json with the following contents (where you should replace x.y.z with the desired version of Rimbu):

{
  "imports": {
    "@rimbu/": "https://deno.land/x/rimbu@x.y.z/"
  }
}

Note: The trailing slashes are important!

In this way you can use relative imports from Rimbu in your code, like so:

import { List } from '@rimbu/core/mod.ts';
import { HashMap } from '@rimbu/hashed/mod.ts';

Note that for sub-packages, due to conversion limitations it is needed to import the index.ts instead of mod.ts, like so:

import { HashMap } from '@rimbu/hashed/map/index.ts';

To run your script (let's assume the entry point is in src/main.ts):

deno run --import-map import_map.json src/main.ts

Usage

import { HashMultiMapHashValue } from '@rimbu/multimap';

console.log(HashMultiMapHashValue.of([1, 2], [1, 3], [2, 3]).toString());

Usage

Author

Arvid Nicolaas

Contributing

Feel very welcome to contribute to further improve Rimbu. Please read our Contributing guide.

Contributors

Made with contributors-img.

License

Licensed under the MIT License, Copyright © 2020-present Arvid Nicolaas.

See LICENSE for more information.