UNPKG

adr

Version:

轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records

43 lines 3 kB
let fs = require('fs'); import Config from './Config'; // TODO handle parallel cache operation function initCache() { let cachePath = Config.getCachePath(); let cacheInitObj = { images: [] }; if (!fs.existsSync(cachePath)) { fs.writeFileSync(cachePath, JSON.stringify(cacheInitObj)); } } function getCache(key) { let cachePath = Config.getCachePath(); let cacheObj = JSON.parse(fs.readFileSync(cachePath, 'utf8')); if (key) { return cacheObj[key]; } return cacheObj; } function updateCache(key, value) { let cachePath = Config.getCachePath(); let cacheObj = getCache(); cacheObj[key] = value; fs.writeFileSync(cachePath, JSON.stringify(cacheObj)); } let _cacheInternal = { init: initCache, get: getCache, update: updateCache }; let cache = new Proxy(_cacheInternal, { get(target, key) { if (key !== 'init') { _cacheInternal.init(); } return target[key] instanceof Function ? target[key].bind(target) : target[key]; } }); export default cache; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUV0QixPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUE7QUFFN0IsdUNBQXVDO0FBRXZDLFNBQVMsU0FBUztJQUNoQixJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDckMsSUFBSSxZQUFZLEdBQUc7UUFDakIsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFBO0lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO0tBQzFEO0FBQ0gsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFFLEdBQVk7SUFDN0IsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3JDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUU3RCxJQUFJLEdBQUcsRUFBRTtRQUNQLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0tBQ3JCO0lBRUQsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFFLEdBQVcsRUFBRSxLQUFjO0lBQy9DLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQyxJQUFJLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtJQUN6QixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO0lBQ3JCLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtBQUN2RCxDQUFDO0FBRUQsSUFBSSxjQUFjLEdBQUc7SUFDbkIsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsUUFBUTtJQUNiLE1BQU0sRUFBRSxXQUFXO0NBQ3BCLENBQUE7QUFFRCxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7SUFDcEMsR0FBRyxDQUFFLE1BQTZCLEVBQUUsR0FBd0I7UUFDMUQsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFO1lBQ2xCLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtTQUN0QjtRQUVELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLFFBQVE7WUFDcEMsQ0FBQyxDQUFFLE1BQU0sQ0FBQyxHQUFHLENBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDakIsQ0FBQztDQUNGLENBQUMsQ0FBQTtBQUVGLGVBQWUsS0FBSyxDQUFBIn0=