ts-flex-query
Version:
Flexible and type-safe data queries
7 lines (6 loc) • 1.22 kB
TypeScript
import { PipeOperator } from '../../core/pipe-operator';
import { ObjectValueSelector, ObjectValueSelectorType } from '../../helpers/object-value-selector';
export declare function aggregateValue<TIn, TValue, TOut>(valueSelector: PipeOperator<TIn, TValue>, aggregateSelector: PipeOperator<TValue[], TOut>): PipeOperator<TIn[], TOut>;
export declare function aggregateValue<TIn, TValue, TAggregateSelector extends ObjectValueSelector<TValue[]>>(valueSelector: PipeOperator<TIn, TValue>, aggregateSelector: TAggregateSelector): PipeOperator<TIn[], ObjectValueSelectorType<TValue[], TAggregateSelector>>;
export declare function aggregateValue<TIn, TValueSelector extends ObjectValueSelector<TIn>, TOut>(valueSelector: TValueSelector, aggregateSelector: PipeOperator<ObjectValueSelectorType<TIn, TValueSelector>[], TOut>): PipeOperator<TIn[], TOut>;
export declare function aggregateValue<TIn, TValueSelector extends ObjectValueSelector<TIn>, TAggregateSelector extends ObjectValueSelector<ObjectValueSelectorType<TIn, TValueSelector>[]>>(valueSelector: TValueSelector, aggregateSelector: TAggregateSelector): PipeOperator<TIn[], ObjectValueSelectorType<ObjectValueSelectorType<TIn, TValueSelector>[], TAggregateSelector>>;