@apicart/brackets
Version:
Small, flexible, easy to use, component-oriented javascript template engine.
60 lines (47 loc) • 1.09 kB
JavaScript
export var cacheManager = {
cache: {}
};
/**
* @param {string} region
* @param {string} cacheKey
* @returns {*}
*/
cacheManager.getCache = function (region, cacheKey) {
if ( ! cacheManager.hasCache(region, cacheKey)) {
return null;
}
return cacheManager.cache[region][cacheKey];
};
/**
* @param {string} region
* @param {string} cacheKey
* @param {*} cache
* @returns {{cache: {}}}
*/
cacheManager.setCache = function (region, cacheKey, cache) {
if ( ! cacheManager.hasCacheRegion(region)) {
cacheManager.cache[region] = {};
}
if ( ! cacheManager.hasCache(region, cacheKey)) {
cacheManager.cache[region][cacheKey] = cache;
}
return cacheManager;
};
/**
* @param {string} region
* @returns {boolean}
*/
cacheManager.hasCacheRegion = function (region) {
return region in cacheManager.cache;
};
/**
* @param {string} region
* @param {string} cacheKey
* @returns {boolean}
*/
cacheManager.hasCache = function (region, cacheKey) {
if ( ! cacheManager.hasCacheRegion(region)) {
return false;
}
return cacheKey in cacheManager.cache[region];
};