Skip to content

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