Skip to content

pickLiteral

const pickLiteral: <A, L>(…literals) => <I, R>(_schema) => Literal<[...L]>

Defined in: node_modules/.pnpm/effect@3.15.2/node_modules/effect/dist/dts/Schema.d.ts:417

Creates a new Schema from a literal schema.

A extends AST.LiteralValue

L extends array_.NonEmptyReadonlyArray<A>

L

<I, R>(_schema): Literal<[...L]>

I

R

Schema<A, I, R>

Literal<[...L]>

import * as assert from "node:assert"
import { Either, Schema } from "effect"
const schema = Schema.Literal("a", "b", "c").pipe(Schema.pickLiteral("a", "b"))
assert.deepStrictEqual(Schema.decodeSync(schema)("a"), "a")
assert.deepStrictEqual(Schema.decodeSync(schema)("b"), "b")
assert.strictEqual(Either.isLeft(Schema.decodeUnknownEither(schema)("c")), true)

3.10.0