@teppeis/multimaps
Version:
Multimap classes for TypeScript and JavaScript
64 lines (49 loc) • 1.8 kB
Markdown
Multi-Map classes for TypeScript and JavaScript
[![npm version][npm-image]][npm-url]
![Node.js Version Support][node-version]
![TypeScript Version Support][ts-version]
[![build status][ci-image]][ci-url]
![dependency status][deps-count-image]
![monthly downloads][npm-downloads-image]
![License][license]
```console
$ npm i @teppeis/multimaps
```
```js
import {ArrayMultimap} from '@teppeis/multimaps';
const map = new ArrayMultimap<string, string>();
map.put('foo', 'a');
map.get('foo'); // ['a']
map.put('foo', 'b');
map.get('foo'); // ['a', 'b']
map.put('foo', 'a');
map.get('foo'); // ['a', 'b', 'a']
```
```js
import {SetMultimap} from '@teppeis/multimaps';
const map = new SetMultimap<string, string>();
map.put('foo', 'a');
map.get('foo'); // a `Set` of ['a']
map.put('foo', 'b');
map.get('foo'); // a `Set` of ['a', 'b']
map.put('foo', 'a');
map.get('foo'); // a `Set` of ['a', 'b']
```
MIT License: Teppei Sato <teppeis@gmail.com>
[]: https://badgen.net/npm/v/@teppeis/multimaps?icon=npm&label=
[]: https://npmjs.org/package/@teppeis/multimaps
[]: https://badgen.net/npm/dm/@teppeis/multimaps
[]: https://badgen.net/david/dep/teppeis/multimaps.svg
[]: https://david-dm.org/teppeis/multimaps
[]: https://badgen.net/bundlephobia/dependency-count/@teppeis/multimaps
[]: https://badgen.net/npm/node/@teppeis/multimaps
[]: https://badgen.net/badge/typescript/%3E=4.0?icon=typescript
[]: https://img.shields.io/npm/l/@teppeis/multimaps.svg
[]: https://github.com/teppeis/multimaps/workflows/CI/badge.svg
[]: https://github.com/teppeis/multimaps/actions?query=workflow%3ACI