You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.4 KiB

map-age-cleaner

Build Status codecov

Automatically cleanup expired items in a Map

Install

$ npm install map-age-cleaner

Usage

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
Default: maxAge

Name of the property which olds the expiry timestamp.

  • expiry-map - A Map implementation with expirable items
  • expiry-set - A Set implementation with expirable keys
  • mem - Memoize functions

License

MIT © Sam Verschueren