export default function groupBy(xs: Array, key: K) { return xs.reduce(function (rv, x) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore (rv[x[key]] = rv[x[key]] || []).push(x); return rv; }, {} as T[K] extends string ? Record> : never); }