UNPKG

@taro-hooks/use-request

Version:
32 lines 1.08 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } var cache = new Map(); var setCache = function setCache(key, cacheTime, cachedData) { var currentCache = cache.get(key); if (currentCache != null && 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, _extends({}, cachedData, { timer: timer })); }; var getCache = function getCache(key) { return cache.get(key); }; var clearCache = function clearCache(key) { if (key) { var cacheKeys = Array.isArray(key) ? key : [key]; cacheKeys.forEach(function (cacheKey) { return cache["delete"](cacheKey); }); } else { cache.clear(); } }; export { getCache, setCache, clearCache };