![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/vreg/node_modules/enhanced-resolve/lib/ |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; function getCacheId(request, withContext) { return JSON.stringify({ context: withContext ? request.context : "", path: request.path, query: request.query, request: request.request }); } module.exports = class UnsafeCachePlugin { constructor(source, filterPredicate, cache, withContext, target) { this.source = source; this.filterPredicate = filterPredicate; this.withContext = withContext; this.cache = cache || {}; this.target = target; } apply(resolver) { const target = resolver.ensureHook(this.target); resolver .getHook(this.source) .tapAsync("UnsafeCachePlugin", (request, resolveContext, callback) => { if (!this.filterPredicate(request)) return callback(); const cacheId = getCacheId(request, this.withContext); const cacheEntry = this.cache[cacheId]; if (cacheEntry) { return callback(null, cacheEntry); } resolver.doResolve( target, request, null, resolveContext, (err, result) => { if (err) return callback(err); if (result) return callback(null, (this.cache[cacheId] = result)); callback(); } ); }); } };