UNPKG

ts-flex-query

Version:
14 lines (13 loc) 1.2 kB
import { Expression } from '../../core/expression'; import { PipeOperator } from '../../core/pipe-operator'; import { GroupResultType } from '../../expressions/group'; import { ObjectValueSelector, ObjectValueSelectorType } from '../../helpers/object-value-selector'; export declare class GroupOperator implements PipeOperator { readonly groupValue: (element: Expression<any>) => Expression; static readonly elementsField = "elements"; static readonly groupValueField = "key"; constructor(groupValue: (element: Expression<any>) => Expression); instantiate(input: Expression): Expression<any>; } export declare function groupBy<TIn extends unknown[], TGroupValue>(groupValueSelector: PipeOperator<TIn[number], TGroupValue>): PipeOperator<TIn, GroupResultType<TIn, TGroupValue, (typeof GroupOperator)['elementsField'], (typeof GroupOperator)['groupValueField']>>; export declare function groupBy<TIn extends unknown[], TSelector extends ObjectValueSelector<TIn[number]>>(groupValueSelector: TSelector): PipeOperator<TIn, GroupResultType<TIn, ObjectValueSelectorType<TIn[number], TSelector>, (typeof GroupOperator)['elementsField'], (typeof GroupOperator)['groupValueField']>>;