export function groupByArray (array: T[], keyProvider: (item: T) => K): Map { const result = new Map() array.forEach((item) => { const key = keyProvider(item) if (!result.has(key)) { result.set(key, [item]) } else { result.get(key)?.push(item) } }) return result }