@td-design/rn-hooks
Version:
从ahooks里面抽取的一些在rn项目里可以使用的hooks。提高开发效率
32 lines (29 loc) • 919 B
JavaScript
import { __assign } from '../../_virtual/_tslib.js';
var cache = new Map();
var setCache = function (key, cacheTime, cachedData) {
var currentCache = cache.get(key);
if (currentCache === null || currentCache === void 0 ? void 0 : currentCache.timer) {
clearTimeout(currentCache.timer);
}
var timer = undefined;
if (cacheTime > -1) {
// if cache out, clear it
timer = setTimeout(function () {
cache.delete(key);
}, cacheTime);
}
cache.set(key, __assign(__assign({}, cachedData), { timer: timer }));
};
var getCache = function (key) {
return cache.get(key);
};
var clearCache = function (key) {
if (key) {
var cacheKeys = Array.isArray(key) ? key : [key];
cacheKeys.forEach(function (cacheKey) { return cache.delete(cacheKey); });
}
else {
cache.clear();
}
};
export { clearCache, getCache, setCache };