@arrows/array
Version:
Functional tools for JS arrays
20 lines (19 loc) • 607 B
TypeScript
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_;