Package: effect
Module: Filter
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)
})
)
Signature
declare const makeEffect: <Input, Pass, Fail, E, R>(f: (input: Input) => Effect<Result.Result<Pass, Fail>, E, R>) => FilterEffect<Input, Pass, Fail, E, R>
Since v4.0.0