Package: effect
Module: Request
Provides a Tagged constructor for a Request Class.
Example
import { Request } from "effect"
type Success = string
type Error = never
class MyRequest extends Request.TaggedClass("MyRequest")<Success, Error, {
readonly name: string
}> {}
Signature
declare const TaggedClass: <Tag extends string>(tag: Tag) => new <Success, Error, A extends Record<string, any>>(args: Types.Equals<Omit<A, keyof Request<unknown, unknown>>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof Request<unknown, unknown> ? never : P]: A[P]; }) => Request<Success, Error> & Readonly<A> & { readonly _tag: Tag; }
Since v2.0.0