| # map-age-cleaner |
| |
| [](https://travis-ci.org/SamVerschueren/map-age-cleaner) [](https://codecov.io/gh/SamVerschueren/map-age-cleaner?branch=master) |
| |
| > Automatically cleanup expired items in a Map |
| |
| |
| ## Install |
| |
| ``` |
| $ npm install map-age-cleaner |
| ``` |
| |
| |
| ## Usage |
| |
| ```js |
| import mapAgeCleaner from 'map-age-cleaner'; |
| |
| const map = new Map([ |
| ['unicorn', {data: '🦄', maxAge: Date.now() + 1000}] |
| ]); |
| |
| mapAgeCleaner(map); |
| |
| map.has('unicorn'); |
| //=> true |
| |
| // Wait for 1 second... |
| |
| map.has('unicorn'); |
| //=> false |
| ``` |
| |
| > **Note**: Items have to be ordered ascending based on the expiry property. This means that the item which will be expired first, should be in the first position of the `Map`. |
| |
| |
| ## API |
| |
| ### mapAgeCleaner(map, [property]) |
| |
| Returns the `Map` instance. |
| |
| #### map |
| |
| Type: `Map` |
| |
| Map instance which should be cleaned up. |
| |
| #### property |
| |
| Type: `string`<br> |
| Default: `maxAge` |
| |
| Name of the property which olds the expiry timestamp. |
| |
| |
| ## Related |
| |
| - [expiry-map](https://github.com/SamVerschueren/expiry-map) - A `Map` implementation with expirable items |
| - [expiry-set](https://github.com/SamVerschueren/expiry-set) - A `Set` implementation with expirable keys |
| - [mem](https://github.com/sindresorhus/mem) - Memoize functions |
| |
| |
| ## License |
| |
| MIT © [Sam Verschueren](https://github.com/SamVerschueren) |