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.15.2/node_modules/effect/dist/dts/Schema.d.ts:5013

Self = never

string

<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>

Tag extends string

Payload extends Fields

Success extends All

Failure extends All

Tag

Failure

Payload

Success

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

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

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

3.10.0