UNPKG

@arrows/array

Version:
20 lines (19 loc) 607 B
declare type GroupingFn<V> = (x: V) => string; declare type _GroupBy_ = <T extends object>(groupingFn: GroupingFn<T>, arr: T[]) => { [key: string]: T[]; }; declare type _GroupBy2_ = <T extends object>(groupingFn: GroupingFn<T>) => (arr: T[]) => { [key: string]: T[]; }; declare type GroupBy_ = _GroupBy_ & _GroupBy2_; /** * Creates an object that groups array items * by field specified by grouping functions. * * @param groupingFn Grouping function * @param arr Initial array of objects * @returns New array */ declare const groupBy_: GroupBy_; export { groupBy_ }; export default groupBy_;