export function groupBy(items: T[], keyFn: (item: T) => string): Record { const result: Record = {}; for (const item of items) { const key = keyFn(item); if (!result[key]) { result[key] = []; } result[key].push(item); } return result; }