-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathquick-lru.javascript.txt
35 lines (29 loc) · 1.54 KB
/
quick-lru.javascript.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
┏━━━━━━━━━━━━━━━┓
┃ QUICK-LRU ┃
┗━━━━━━━━━━━━━━━┛
ALTERNATIVES ==> #See lru-cache
VERSION ==> #7.0.0
#Node/browser
new QuickLru([OPTS]) #LRU cache
#OPTS:
# - maxSize NUM
# - maxAge NUM (in ms, def: Infinity)
# - onEviction('KEY', VAL): called when a value is about to be removed from cache due to
# maxSize|maxAge being hit
#get|set|delete|clear() update recentness, not has|peek()
QUICKLRU.* #Is a MAP, i.e. can use any of its methods
QUICKLRU.get|peek('KEY')->VAL #
QUICKLRU.set('KEY', VAL[, OPTS]) #OPTS: maxAge NUM
->QUICKLRU
QUICKLRU.delete('KEY')->BOOL #
QUICKLRU.clear() #
QUICKLRU.has('KEY')->BOOL #
QUICKLRU.size #NUM
QUICKLRU.maxSize #NUM
QUICKLRU.resize(NUM) #Might discard items if decreasing
QUICKLRU.keys()->ITERATOR_'KEY' #
QUICKLRU.values()->ITERATOR_VAL #
QUICKLRU #Is ITERATOR of ['KEY', VAL]
QUICKLRU.
entriesAscending|Descending()
->ITERATOR_['KEY', VAL] #Same but guarantees order from oldest to most recent (or vice-versa)