time-limited-map-set
v1.3.0
Published
time limited map and set
Downloads
8
Maintainers
Readme
time-limited-map-set
Extend Map
and Set
standard build-in objects, with the options for the collection items to be automatically removed after a period of time.
TimeLimitedMap
and TimeLimitedSet
inherit all methods of Map
and Set
standard build-in objects.
Examples:
const map = new TimeLimitedMap(1000, (k, v, insertedMts) => console.log(k))
// add a new pair to the map
// it will be automatically removed after 1000 milliseconds and the callback function will be called
map.set('key', 'value')
const set = new TimeLimitedSet(500)
// add a new item to the set
// it will be automatically removed after 500 milliseconds
set.add('item')
// add a new item to the set, which will not be removed automatically
set.add('item2', false)
Constructor
new TimeLimitedMap([expiryMs] [, callback] [, iterable])
new TimeLimitedSet([expiryMs] [, callback] [, iterable])
Optional parameters can be passed to the constructor:
expiryMs
- Indicates the duration in milliseconds after which the items are automatically removed from the collection. Ifundefined
items are not removed from the collection.callback
- Function to be called when an expired item is removed from the collection. The function is called with parameterskey
,value
(only forTimeLimitedMap
) andmts
(inserted millisecond-timestamp).iterable
- As for theMap
andSet
build-in objects, an iterable whose elements are added to the collection.
Methods
TimeLimitedMap
and TimeLimitedSet
inherit all methods of Map
and Set
standard build-in objects.
Changed methods:
set(key, value, [expire = true])
expire
- Additional optional parameter. Indicates whether the item should or should not be removed afterexpiryMs
period has passed. Default istrue
.
add(value, [expire = true])
expire
- Additional optional parameter. Indicates whether the item should or should not be removed afterexpiryMs
period has passed. Default istrue
.
New Methods:
getExpiryMts(key)
Returns expiry millisecond-time of a particular item in the collection.