Skip to content

TaggedRequest

TaggedRequest<Self>(identifier?): <Tag, Payload, Success, Failure>(tag, options, annotations?) => [Self] extends [never] ? “Missing `Self` generic - use `class Self extends TaggedRequest<Self>()(“Tag”, SuccessSchema, FailureSchema, { … })`” : TaggedRequestClass<Self, Tag, object & Payload, Success, Failure>

Defined in: node_modules/.pnpm/effect@3.14.8/node_modules/effect/dist/dts/Schema.d.ts:5055

Type Parameters

Self = never

Parameters

identifier?

string

Returns

Function

Type Parameters

Tag extends string

Payload extends Fields

Success extends All

Failure extends All

Parameters

tag

Tag

options

failure

Failure

payload

Payload

success

Success

annotations?

ClassAnnotations<Self, { [K in string | number | symbol]: Type<{ _tag: tag<Tag> } & Payload>[K] }>

Returns

[Self] extends [never] ? “Missing `Self` generic - use `class Self extends TaggedRequest<Self>()(“Tag”, SuccessSchema, FailureSchema, { … })`” : TaggedRequestClass<Self, Tag, object & Payload, Success, Failure>

Example

import { Schema } from "effect"
class MyRequest extends Schema.TaggedRequest<MyRequest>("MyRequest")("MyRequest", {
failure: Schema.String,
success: Schema.Number,
payload: { id: Schema.String }
}) {}

Since

3.10.0