UNPKG

ts-flex-query

Version:
13 lines (12 loc) 1.04 kB
import { Expression } from '../../core/expression'; import { PipeOperator } from '../../core/pipe-operator'; import { ObjectValueSelector, ObjectValueSelectorType } from '../../helpers/object-value-selector'; import { Error } from '../../types/utils'; export declare class FlatMapOperator implements PipeOperator { readonly mapper: (input: Expression<any>) => Expression; static readonly inputIdentifier: unique symbol; constructor(mapper: (input: Expression<any>) => Expression); instantiate(input: Expression): Expression<any>; } export declare function flatMap<TIn extends unknown[], TOut extends unknown[]>(selector: PipeOperator<TIn[number], TOut | undefined>): PipeOperator<TIn, TOut>; export declare function flatMap<TIn extends unknown[], TSelector extends ObjectValueSelector<TIn[number]>>(selector: ObjectValueSelectorType<TIn[number], TSelector> extends unknown[] | undefined ? TSelector : Error<'Selected value must be an array.'>): PipeOperator<TIn, NonNullable<ObjectValueSelectorType<TIn[number], TSelector>>>;