effect-io-ai

Package: effect
Module: Filter

Filter.compose

Composes two filters sequentially, feeding the output of the first into the second.

Example (Composing filters)

import { Filter, Result } from "effect"

const stringFilter = Filter.string
const nonEmptyUpper = Filter.make((s: string) =>
  s.length > 0 ? Result.succeed(s.toUpperCase()) : Result.fail(s)
)

const stringToUpper = Filter.compose(stringFilter, nonEmptyUpper)

Signature

declare const compose: { <PassL, PassR, FailR>(right: Filter<PassL, PassR, FailR>): <InputL, FailL>(left: Filter<InputL, PassL, FailL>) => Filter<InputL, PassR, FailL | FailR>; <InputL, PassL, FailL, PassR, FailR>(left: Filter<InputL, PassL, FailL>, right: Filter<PassL, PassR, FailR>): Filter<InputL, PassR, FailL | FailR>; }

Source

Since v4.0.0