Skip to main content

type filter

Returns a transformer that filters elements from the input stream based on the provided predicate function.

note

if the predicate is a type guard, the return type is automatically inferred

Definition

filter: {
    <T, TF extends T>(pred: (value: T, index: number, halt: () => void) => value is TF, options?: {
      negate?: boolean | undefined;
    }): Transformer<T, TF>;
    <T, TF extends T>(pred: (value: T, index: number, halt: () => void) => value is TF, options: {
      negate: true;
    }): Transformer<T, Exclude<T, TF>>;
    <T>(pred: (value: T, index: number, halt: () => void) => boolean, options?: {
      negate?: boolean | undefined;
    }): Transformer<T>;
  }