| # 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) |