Skip to content

pickLiteral

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

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

Creates a new Schema from a literal schema.

Type Parameters

A extends LiteralValue

L extends readonly [A, A]

Parameters

literals

L

Returns

Function

Type Parameters

I

R

Parameters

_schema

Schema<A, I, R>

Returns

Literal<[...L[]]>

Example

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)

Since

3.10.0