An object containing cache size, entries, and age information.
export function getCacheStats(): {
size: number;
entries: number;
oldestEntry: number;
newestEntry: number;
} {
const keys = Object.keys(mangaCache);
if (keys.length === 0) {
return {
size: 0,
entries: 0,
oldestEntry: 0,
newestEntry: 0,
};
}
// Calculate total cached manga entries
let totalEntries = 0;
let oldestTimestamp = Date.now();
let newestTimestamp = 0;
keys.forEach((key) => {
const entry = mangaCache[key];
totalEntries += entry.manga.length;
if (entry.timestamp < oldestTimestamp) {
oldestTimestamp = entry.timestamp;
}
if (entry.timestamp > newestTimestamp) {
newestTimestamp = entry.timestamp;
}
});
return {
size: keys.length,
entries: totalEntries,
oldestEntry: Math.floor((Date.now() - oldestTimestamp) / 1000 / 60), // minutes ago
newestEntry: Math.floor((Date.now() - newestTimestamp) / 1000 / 60), // minutes ago
};
}
Get cache statistics.