Package: effect
Module: RequestResolver
Constructs a request resolver from a pure function.
Example (Creating a resolver from a pure function)
import { Effect, Request, RequestResolver } from "effect"
interface GetSquareRequest extends Request.Request<number> {
readonly _tag: "GetSquareRequest"
readonly value: number
}
const GetSquareRequest = Request.tagged<GetSquareRequest>("GetSquareRequest")
// Create a resolver from a pure function
const SquareResolver = RequestResolver.fromFunction<GetSquareRequest>(
(entry) => entry.request.value * entry.request.value
)
// Usage
const getSquareEffect = Effect.request(
GetSquareRequest({ value: 5 }),
SquareResolver
)
// Will resolve to 25
Signature
declare const fromFunction: <A extends Request.Any>(f: (entry: Request.Entry<A>) => Request.Success<A>) => RequestResolver<A>
Since v2.0.0