// Simple in-memory cache for API responses const cache = new Map(); const CACHE_DURATION = 60000; // 60 seconds export const getCached = (key) => { const cached = cache.get(key); if (!cached) return null; const isExpired = Date.now() - cached.timestamp > CACHE_DURATION; if (isExpired) { cache.delete(key); return null; } return cached.data; }; export const setCache = (key, data) => { cache.set(key, { data, timestamp: Date.now(), }); }; export const clearCache = (key) => { if (key) { cache.delete(key); } else { cache.clear(); } }; // Debounce function for API calls export const debounce = (func, wait) => { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; };