UNPKG

ts-flex-query

Version:
14 lines (13 loc) 1.1 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 FilterOperator implements PipeOperator { private readonly predicate; constructor(predicate: (input: Expression<any>) => Expression<boolean>); instantiate(input: Expression): Expression<any>; } export declare function filter<TIn extends unknown[]>(selector: NoInfer<PipeOperator<TIn[number], boolean>>): PipeOperator<TIn, TIn extends any ? TIn : TIn>; export declare function filter<TIn extends unknown[], TSelector extends ObjectValueSelector<TIn[number]>>(selector: ObjectValueSelectorType<TIn[number], TSelector> extends boolean ? TSelector : Error<'Selected value must have boolean type.'>): PipeOperator<TIn, TIn>; /** Filters the input collection for defined elements (not equal undefined or null). */ export declare function filterDefined<TIn extends unknown[]>(): PipeOperator<TIn, NonNullable<TIn[number]>[]>;