TaggedStruct
TaggedStruct<
Tag
,Fields
>(value
,fields
):TaggedStruct
<Tag
,Fields
>
Defined in: node_modules/.pnpm/effect@3.14.8/node_modules/effect/dist/dts/Schema.d.ts:1423
A tagged struct is a struct that has a tag property that is used to distinguish between different types of objects.
The tag is optional when using the make
method.
Type Parameters
• Tag extends LiteralValue
• Fields extends Fields
Parameters
value
Tag
fields
Fields
Returns
TaggedStruct
<Tag
, Fields
>
Example
import * as assert from "node:assert"import { Schema } from "effect"
const User = Schema.TaggedStruct("User", { name: Schema.String, age: Schema.Number})
assert.deepStrictEqual(User.make({ name: "John", age: 44 }), { _tag: "User", name: "John", age: 44 })
Since
3.10.0