type CacheItem = { promise: Promise | null; }; class GlobalCacheManager { private static instance: GlobalCacheManager; private cacheMap: Map; private constructor() { this.cacheMap = new Map(); } static getInstance() { if (!GlobalCacheManager.instance) { GlobalCacheManager.instance = new GlobalCacheManager(); } return GlobalCacheManager.instance; } get(cacheKey: string): CacheItem | undefined { return this.cacheMap.get(cacheKey); } set(cacheKey: string, item: CacheItem) { this.cacheMap.set(cacheKey, item); } delete(cacheKey: string) { this.cacheMap.delete(cacheKey); } } export const globalCache = GlobalCacheManager.getInstance();