Patrick Steele-Idem 5df81440e5 Reorganized tests
2016-05-05 07:56:24 -07:00

42 lines
999 B
JavaScript

var caches = {};
function createCache() {
var cache = {};
return {
get: function(cacheKey, options, callback) {
setTimeout(function() {
var value = cache[cacheKey];
if (value !== undefined) {
return callback(null, value);
}
var builder = options.builder;
builder(function(err, value) {
if (err) {
return callback(err);
}
if (value === undefined) {
value = null;
}
cache[cacheKey] = value;
callback(null, 'myCacheManager:' + value);
});
}, 10);
}
};
}
var myCacheManager = {
getCache: function(cacheName) {
return caches[cacheName] || (caches[cacheName] = createCache());
}
};
exports.templateData = {
myCacheManager: myCacheManager
};