let getSummaryFromCache = (key) => { return new Promise(((resolve, reject) => { console.log('*** loading summary from cache ***'); let dataModels = covidCache.get(key); if(!modelConverter.isEmptyObject(dataModels)){ apiResponse.SUCCESS.data = dataModels; resolve(apiResponse.SUCCESS); }else{ reject(apiResponse.RECORD_NOT_FOUND); } })); }
function getSecretByElem(secretElem) { let secret; if (secretElem) { if (secretElem.string) { secret = secretElem.string; } else if (secretElem.file) { secret = pemfileCache.get(secretElem.file); if (!secret) { secret = fs.readFileSync(secretElem.file); pemfileCache.set(secretElem.file, secret); } } } return secret; }
// Check function _checkAgainstCache(events) { if (!events) { return events; } if (!Array.isArray(events)) { return events; } return events.filter(currentEvent => { const cachedEvent = eventCache.get(currentEvent.id); return cachedEvent ? _handleExistingEvent(currentEvent, cachedEvent) : _handleNewEvent(currentEvent); }); }
// render README.md file as html for home page app.get("/", (_req, res) => { let readme = cache.get("readme"); if (!readme) { readme = fs.readFileSync(path.join(__dirname, "../README.md")).toString(); } cache.set("readme", readme, 10000); res.set('Content-Type', 'text/html;charset=utf-8') res.send(`<div>${md.render(readme)}</div>`) })
toStream() { try { const streamToReturn = new Stream.PassThrough(); const cachedHtml = cache.get(cacheKey); console.log('<cache hit in renderer.toStream>'); streamToReturn.end(cachedHtml); return streamToReturn; } catch (err) { console.log('<cache miss in renderer.toStream>'); const cachingStream = createCachingStream(cacheKey); const reactStream = ReactDOMServer.renderToNodeStream(helloElement); cachingStream.write(preReact, () => reactStream.pipe(cachingStream, { end: false })); reactStream.on('end', () => cachingStream.end(postReact)); return cachingStream; } }
doSomethingNoLock(inputValue) { console.log(`Processing for ${inputValue}`); const cacheValue = myCache.get('blah'); if (cacheValue) { console.log(`I already have a cache value: ${cacheValue}`); } else { setTimeout(() => { myCache.set('blah', inputValue); console.log(`Set cache to ${inputValue}`); }, 1000); } }
toPromise() { try { const cachedHtml = cache.get(cacheKey); console.log('<cache hit in renderer.toPromise>'); return Promise.resolve(cachedHtml); } catch (err) { console.log('<cache miss in renderer.toPromise>'); return new Promise((resolve) => { const renderedReact = ReactDOMServer.renderToString(helloElement); const html = preReact + renderedReact + postReact; cache.set(cacheKey, html); resolve(html); }); } }
let getAllReportFromCache = (key) => { return new Promise(((resolve, reject) => { let dataModels = covidCache.get(key); if(!modelConverter.isEmptyObject(dataModels)){ console.log('*** loading reports from cache ***'); apiResponse.SUCCESS.data = dataModels; resolve(apiResponse.SUCCESS); }else{ reject(apiResponse.RECORD_NOT_FOUND); } })); }
function getSecretByElem(secretElem) { let secret; if (secretElem) { if (secretElem.string) { secret = secretElem.string; } else if (secretElem.file) { secret = pemfileCache.get(secretElem.file); if (!secret) { secret = fs.readFileSync(secretElem.file); pemfileCache.set(secretElem.file, secret); } } } return secret; }