Update checked-in dependencies
This commit is contained in:
parent
fa428daf9c
commit
b3bf514df4
216 changed files with 4342 additions and 1611 deletions
40
node_modules/eslint-module-utils/ModuleCache.js
generated
vendored
40
node_modules/eslint-module-utils/ModuleCache.js
generated
vendored
|
|
@ -4,26 +4,26 @@ exports.__esModule = true;
|
|||
|
||||
const log = require('debug')('eslint-module-utils:ModuleCache');
|
||||
|
||||
/** @type {import('./ModuleCache').ModuleCache} */
|
||||
class ModuleCache {
|
||||
/** @param {typeof import('./ModuleCache').ModuleCache.prototype.map} map */
|
||||
constructor(map) {
|
||||
this.map = map || new Map();
|
||||
this.map = map || /** @type {{typeof import('./ModuleCache').ModuleCache.prototype.map} */ new Map();
|
||||
}
|
||||
|
||||
/**
|
||||
* returns value for returning inline
|
||||
* @param {[type]} cacheKey [description]
|
||||
* @param {[type]} result [description]
|
||||
*/
|
||||
/** @type {typeof import('./ModuleCache').ModuleCache.prototype.set} */
|
||||
set(cacheKey, result) {
|
||||
this.map.set(cacheKey, { result, lastSeen: process.hrtime() });
|
||||
log('setting entry for', cacheKey);
|
||||
return result;
|
||||
}
|
||||
|
||||
/** @type {typeof import('./ModuleCache').ModuleCache.prototype.get} */
|
||||
get(cacheKey, settings) {
|
||||
if (this.map.has(cacheKey)) {
|
||||
const f = this.map.get(cacheKey);
|
||||
// check freshness
|
||||
// @ts-expect-error TS can't narrow properly from `has` and `get`
|
||||
if (process.hrtime(f.lastSeen)[0] < settings.lifetime) { return f.result; }
|
||||
} else {
|
||||
log('cache miss for', cacheKey);
|
||||
|
|
@ -32,19 +32,21 @@ class ModuleCache {
|
|||
return undefined;
|
||||
}
|
||||
|
||||
/** @type {typeof import('./ModuleCache').ModuleCache.getSettings} */
|
||||
static getSettings(settings) {
|
||||
/** @type {ReturnType<typeof ModuleCache.getSettings>} */
|
||||
const cacheSettings = Object.assign({
|
||||
lifetime: 30, // seconds
|
||||
}, settings['import/cache']);
|
||||
|
||||
// parse infinity
|
||||
// @ts-expect-error the lack of type overlap is because we're abusing `cacheSettings` as a temporary object
|
||||
if (cacheSettings.lifetime === '∞' || cacheSettings.lifetime === 'Infinity') {
|
||||
cacheSettings.lifetime = Infinity;
|
||||
}
|
||||
|
||||
return cacheSettings;
|
||||
}
|
||||
}
|
||||
|
||||
ModuleCache.getSettings = function (settings) {
|
||||
const cacheSettings = Object.assign({
|
||||
lifetime: 30, // seconds
|
||||
}, settings['import/cache']);
|
||||
|
||||
// parse infinity
|
||||
if (cacheSettings.lifetime === '∞' || cacheSettings.lifetime === 'Infinity') {
|
||||
cacheSettings.lifetime = Infinity;
|
||||
}
|
||||
|
||||
return cacheSettings;
|
||||
};
|
||||
|
||||
exports.default = ModuleCache;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue