Hyperlinkv0.8.0-beta.28

Filter

Filter.makeEffectconsteffect/Filter.ts:151
<Input, Pass, Fail, E, R>(
  f: (input: Input) => Effect<Result.Result<Pass, Fail>, E, R>
): FilterEffect<Input, Pass, Fail, E, R>

Creates an effectful Filter from a function that returns an Effect.

Details

This constructor is used when the filtering operation needs to perform effectful computations, such as async operations, error handling, or accessing services from the environment.

Example (Creating effectful filters)

import { Effect, Filter, Result } from "effect"

// Create an effectful filter that validates async
const asyncValidate = Filter.makeEffect((id: string) =>
  Effect.gen(function*() {
    const isValid = yield* Effect.succeed(id.length > 0)
    return isValid ? Result.succeed(id) : Result.fail(id)
  })
)
constructors
Source effect/Filter.ts:1513 lines
export const makeEffect = <Input, Pass, Fail, E, R>(
  f: (input: Input) => Effect<Result.Result<Pass, Fail>, E, R>
): FilterEffect<Input, Pass, Fail, E, R> => f as any