WIP - add extractor, generate snippet_data
This commit is contained in:
62
node_modules/gatsby/dist/utils/cache.js
generated
vendored
Normal file
62
node_modules/gatsby/dist/utils/cache.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
|
||||
const fs = require(`fs-extra`);
|
||||
|
||||
const manager = require(`cache-manager`);
|
||||
|
||||
const fsStore = require(`cache-manager-fs-hash`);
|
||||
|
||||
const path = require(`path`);
|
||||
|
||||
const MAX_CACHE_SIZE = 250;
|
||||
const TTL = Number.MAX_SAFE_INTEGER;
|
||||
|
||||
class Cache {
|
||||
constructor({
|
||||
name = `db`,
|
||||
store = fsStore
|
||||
} = {}) {
|
||||
this.name = name;
|
||||
this.store = store;
|
||||
}
|
||||
|
||||
get directory() {
|
||||
return path.join(process.cwd(), `.cache/caches/${this.name}`);
|
||||
}
|
||||
|
||||
init() {
|
||||
fs.ensureDirSync(this.directory);
|
||||
const caches = [{
|
||||
store: `memory`,
|
||||
max: MAX_CACHE_SIZE
|
||||
}, {
|
||||
store: this.store,
|
||||
options: {
|
||||
path: this.directory,
|
||||
ttl: TTL
|
||||
}
|
||||
}].map(cache => manager.caching(cache));
|
||||
this.cache = manager.multiCaching(caches);
|
||||
return this;
|
||||
}
|
||||
|
||||
get(key) {
|
||||
return new Promise(resolve => {
|
||||
this.cache.get(key, (err, res) => {
|
||||
resolve(err ? undefined : res);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
set(key, value, args = {}) {
|
||||
return new Promise(resolve => {
|
||||
this.cache.set(key, value, args, err => {
|
||||
resolve(err ? undefined : value);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = Cache;
|
||||
//# sourceMappingURL=cache.js.map
|
||||
Reference in New Issue
Block a user