refactor start
This commit is contained in:
parent
bd49791e06
commit
e46d25f0b7
16699 changed files with 2 additions and 1484887 deletions
58
home/ags/node_modules/eslint-plugin-n/lib/util/cache.js
generated
vendored
58
home/ags/node_modules/eslint-plugin-n/lib/util/cache.js
generated
vendored
|
|
@ -1,58 +0,0 @@
|
|||
/**
|
||||
* @author Toru Nagashima
|
||||
* See LICENSE file in root directory for full license.
|
||||
*/
|
||||
"use strict"
|
||||
|
||||
const SKIP_TIME = 5000
|
||||
|
||||
/**
|
||||
* The class of cache.
|
||||
* The cache will dispose of each value if the value has not been accessed
|
||||
* during 5 seconds.
|
||||
*/
|
||||
module.exports = class Cache {
|
||||
/**
|
||||
* Initialize this cache instance.
|
||||
*/
|
||||
constructor() {
|
||||
this.map = new Map()
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cached value of the given key.
|
||||
* @param {any} key The key to get.
|
||||
* @returns {any} The cached value or null.
|
||||
*/
|
||||
get(key) {
|
||||
const entry = this.map.get(key)
|
||||
const now = Date.now()
|
||||
|
||||
if (entry) {
|
||||
if (entry.expire > now) {
|
||||
entry.expire = now + SKIP_TIME
|
||||
return entry.value
|
||||
}
|
||||
this.map.delete(key)
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of the given key.
|
||||
* @param {any} key The key to set.
|
||||
* @param {any} value The value to set.
|
||||
* @returns {void}
|
||||
*/
|
||||
set(key, value) {
|
||||
const entry = this.map.get(key)
|
||||
const expire = Date.now() + SKIP_TIME
|
||||
|
||||
if (entry) {
|
||||
entry.value = value
|
||||
entry.expire = expire
|
||||
} else {
|
||||
this.map.set(key, { value, expire })
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue