/*** EXPORT ------------------------------------------- ***/ export type HistoryEvictable = { favorite: boolean; timestamp: number; }; export function evict(entries: T[], max: number): T[] { if (entries.length <= max) return entries; const favorites = entries.filter((e) => e.favorite); const regular = entries.filter((e) => !e.favorite); const keepRegular = regular.slice(0, Math.max(0, max - favorites.length)); return [...favorites, ...keepRegular].sort((a, b) => b.timestamp - a.timestamp); }