README.md 3.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
# map-cache [![NPM version](https://img.shields.io/npm/v/map-cache.svg?style=flat)](https://www.npmjs.com/package/map-cache) [![NPM downloads](https://img.shields.io/npm/dm/map-cache.svg?style=flat)](https://npmjs.org/package/map-cache) [![Build Status](https://img.shields.io/travis/jonschlinkert/map-cache.svg?style=flat)](https://travis-ci.org/jonschlinkert/map-cache)

Basic cache object for storing key-value pairs.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install map-cache --save
```

Based on MapCache in Lo-dash v3.0. [MIT License](https://github.com/lodash/lodash/blob/master/LICENSE.txt)

## Usage

```js
var MapCache = require('map-cache');
var mapCache = new MapCache();
```

## API

### [MapCache](index.js#L28)

Creates a cache object to store key/value pairs.

**Example**

```js
var cache = new MapCache();
```

### [.set](index.js#L45)

Adds `value` to `key` on the cache.

**Params**

* `key` **{String}**: The key of the value to cache.
* `value` **{any}**: The value to cache.
* `returns` **{Object}**: Returns the `Cache` object for chaining.

**Example**

```js
cache.set('foo', 'bar');
```

### [.get](index.js#L65)

Gets the cached value for `key`.

**Params**

* `key` **{String}**: The key of the value to get.
* `returns` **{any}**: Returns the cached value.

**Example**

```js
cache.get('foo');
//=> 'bar'
```

### [.has](index.js#L82)

Checks if a cached value for `key` exists.

**Params**

* `key` **{String}**: The key of the entry to check.
* `returns` **{Boolean}**: Returns `true` if an entry for `key` exists, else `false`.

**Example**

```js
cache.has('foo');
//=> true
```

### [.del](index.js#L98)

Removes `key` and its value from the cache.

**Params**

* `key` **{String}**: The key of the value to remove.
* `returns` **{Boolean}**: Returns `true` if the entry was removed successfully, else `false`.

**Example**

```js
cache.del('foo');
```

## Related projects

You might also be interested in these projects:

* [cache-base](https://www.npmjs.com/package/cache-base): Basic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects. | [homepage](https://github.com/jonschlinkert/cache-base)
* [config-cache](https://www.npmjs.com/package/config-cache): General purpose JavaScript object storage methods. | [homepage](https://github.com/jonschlinkert/config-cache)
* [option-cache](https://www.npmjs.com/package/option-cache): Simple API for managing options in JavaScript applications. | [homepage](https://github.com/jonschlinkert/option-cache)

## Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/map-cache/issues/new).

## Building docs

Generate readme and API documentation with [verb](https://github.com/verbose/verb):

```sh
$ npm install verb && npm run docs
```

Or, if [verb](https://github.com/verbose/verb) is installed globally:

```sh
$ verb
```

## Running tests

Install dev dependencies:

```sh
$ npm install -d && npm test
```

## Author

**Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)

## License

Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT license](https://github.com/jonschlinkert/map-cache/blob/master/LICENSE).

***

_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 10, 2016._