1.3.0 • Published 3 years ago
time-limited-map-set v1.3.0
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. Ifundefineditems 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 theMapandSetbuild-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 afterexpiryMsperiod has passed. Default istrue.
add(value, [expire = true])
expire- Additional optional parameter. Indicates whether the item should or should not be removed afterexpiryMsperiod has passed. Default istrue.
New Methods:
getExpiryMts(key)
Returns expiry millisecond-time of a particular item in the collection.