modmap: easy access key/value store with tags
npm install @hart/modmap[![Travis][build-badge]][build]
[![npm package][npm-badge]][npm]
[![Coveralls][coveralls-badge]][coveralls]
[build-badge]: https://img.shields.io/travis/user/repo/master.png?style=flat-square
[build]: https://travis-ci.org/user/repo
[npm-badge]: https://img.shields.io/npm/v/@hart/modmap.svg?style=flat-square
[npm]: https://www.npmjs.com/package/@hart/modmap
[coveralls-badge]: https://img.shields.io/coveralls/user/repo/master.png?style=flat-square
[coveralls]: https://coveralls.io/github/user/repo
```
npm install @hart/modmap
`
import { set, get, all, byTag, getTags, unset, clear } from '@hart/modmap';
//default import is 'get'
import get from '@hart/modmap';
`
`
const value = { ... };
set('key', value);
`
`
const value = { ... };
set('key', value, 'tag1', 'tag2', 'tag3');
`
`
set('key1', { ... });
const value = get('key'); // { ... }
const noValue = get('badKey'); // null
`
`
set('key1', { ... });
set('key2', { ... });
const allKeyValues = all(); // { key1: {}, key2: {} }
`
`
set('key1', { ... }, 'tag1');
set('key2', { ... }, 'tag1', 'tag2');
const tag1Values = byTag('tag1'); // { key1: {}, key2: {} }
const tag2Values = byTag('tag2'); // { key2: {} }
const tag3Values = byTag('tag3'); // { }
`
`
set('key1', { ... }, 'tag1');
set('key2', { ... }, 'tag1', 'tag2');
const tags = getTags(); // [ "tag1", "tag2" ]
`
`
set('key1', { ... }, 'tag1');
set('key2', { ... }, 'tag1');
unset('key1');
const value = get('key1'); // null
const valuesByTag = byTag('tag1'); // { key2: {} }
`
`
set('key1', { ... }, 'tag1');
set('key2', { ... }, 'tag1', 'tag2');
clear();
const value = get('key1'); // null
const allKeyValues = all(); // { }
const allTags = getTags(); // [ ]
``