Skip to content

x-to-zod / ZodBuilder / LiteralBuilder

Class: LiteralBuilder ​

Defined in: src/ZodBuilder/literal.ts:8

Fluent LiteralBuilder: represents z.literal() schema.

Extends ​

Constructors ​

Constructor ​

ts
new LiteralBuilder(version?, value?): LiteralBuilder;

Defined in: src/ZodBuilder/literal.ts:16

Parameters ​

version? ​

"v3" | "v4"

value? ​

Serializable = null

Returns ​

LiteralBuilder

Overrides ​

BaseBuilder.constructor

Properties ​

_brandText? ​

ts
optional _brandText?: string = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:125

Inherited from ​

NumberBuilder._brandText


_defaultValue? ​

ts
optional _defaultValue?: unknown = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:122

Inherited from ​

NumberBuilder._defaultValue


_describeText? ​

ts
optional _describeText?: string = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:124

Inherited from ​

NumberBuilder._describeText


_fallbackText? ​

ts
optional _fallbackText?: unknown = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:126

Inherited from ​

NumberBuilder._fallbackText


_metaData? ​

ts
optional _metaData?: Record<string, unknown> = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:130

Inherited from ​

NumberBuilder._metaData


_nullable ​

ts
_nullable: boolean = false;

Defined in: src/ZodBuilder/BaseBuilder.ts:120

Inherited from ​

NumberBuilder._nullable


_optional ​

ts
_optional: boolean = false;

Defined in: src/ZodBuilder/BaseBuilder.ts:119

Inherited from ​

NumberBuilder._optional


_params? ​

ts
protected optional _params?: [Serializable];

Defined in: src/ZodBuilder/BaseBuilder.ts:118

Inherited from ​

BaseBuilder._params


_readonly ​

ts
_readonly: boolean = false;

Defined in: src/ZodBuilder/BaseBuilder.ts:121

Inherited from ​

NumberBuilder._readonly


_refineFn? ​

ts
optional _refineFn?: string = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:127

Inherited from ​

NumberBuilder._refineFn


_refineMessage? ​

ts
optional _refineMessage?: string = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:128

Inherited from ​

NumberBuilder._refineMessage


_superRefineFns ​

ts
_superRefineFns: string[] = [];

Defined in: src/ZodBuilder/BaseBuilder.ts:129

Inherited from ​

NumberBuilder._superRefineFns


_transformFn? ​

ts
optional _transformFn?: string = undefined;

Defined in: src/ZodBuilder/BaseBuilder.ts:131

Inherited from ​

NumberBuilder._transformFn


_version? ​

ts
protected optional _version?: "v3" | "v4";

Defined in: src/ZodBuilder/BaseBuilder.ts:133

Inherited from ​

BaseBuilder._version


typeKind ​

ts
readonly typeKind: "literal";

Defined in: src/ZodBuilder/literal.ts:13

Parser type discriminator (e.g. 'string', 'object', 'anyOf'). Set by the parser that creates this builder.

Overrides ​

BaseBuilder.typeKind

Accessors ​

zodVersion ​

Get Signature ​

ts
get protected zodVersion(): ZodVersion;

Defined in: src/ZodBuilder/BaseBuilder.ts:144

Get the target Zod version for code generation.

Returns ​

ZodVersion

'v3' or 'v4' (default: 'v4')

Inherited from ​

BaseBuilder.zodVersion

Methods ​

base() ​

ts
protected base(): string;

Defined in: src/ZodBuilder/literal.ts:21

Compute the type-specific base schema string.

This is the core abstract method in the template method pattern. Subclasses must implement this to provide their type-specific schema string (e.g., "z.string()", "z.number()", "z.object({...})").

The base schema string returned by this method will then have shared modifiers applied via the modify() method when text() is called.

Returns ​

string

The base Zod schema string without any modifiers applied

Overrides ​

BaseBuilder.base


brand() ​

ts
brand(brand): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:232

Apply brand modifier.

Parameters ​

brand ​

string

Returns ​

this

Inherited from ​

BaseBuilder.brand


catch() ​

ts
catch(fallback): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:248

Apply catch modifier.

Parameters ​

fallback ​

unknown

Returns ​

this

Inherited from ​

BaseBuilder.catch


default() ​

ts
default(value): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:212

Apply default value.

Parameters ​

value ​

unknown

Returns ​

this

Inherited from ​

BaseBuilder.default


describe() ​

ts
describe(description): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:220

Apply describe modifier.

Parameters ​

description ​

string

Returns ​

this

Inherited from ​

BaseBuilder.describe


is() ​

ts
is<K>(type): this is TypeKindOf<K>;

Defined in: src/ZodBuilder/BaseBuilder.ts:308

Type Parameters ​

K ​

K extends | "symbol" | "undefined" | "null" | "any" | "void" | "never" | "unknown" | "nan"

Parameters ​

type ​

K

Returns ​

this is TypeKindOf<K>

Inherited from ​

BaseBuilder.is


isV3() ​

ts
protected isV3(): boolean;

Defined in: src/ZodBuilder/BaseBuilder.ts:158

Check if targeting Zod v3.

Returns ​

boolean

Inherited from ​

BaseBuilder.isV3


isV4() ​

ts
protected isV4(): boolean;

Defined in: src/ZodBuilder/BaseBuilder.ts:151

Check if targeting Zod v4.

Returns ​

boolean

Inherited from ​

BaseBuilder.isV4


meta() ​

ts
meta(metadata): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:277

Apply meta modifier.

Parameters ​

metadata ​

Record<string, unknown>

Returns ​

this

Inherited from ​

BaseBuilder.meta


modify() ​

ts
protected modify(baseText): string;

Defined in: src/ZodBuilder/BaseBuilder.ts:316

Apply all shared modifiers to the base schema string. This method is called by text() and applies modifiers in a stable order.

Parameters ​

baseText ​

string

Returns ​

string

Inherited from ​

BaseBuilder.modify


nullable() ​

ts
nullable(): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:204

Apply nullable constraint.

Returns ​

this

Inherited from ​

BaseBuilder.nullable


optional() ​

ts
optional(): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:191

Apply optional constraint.

Returns ​

this

Inherited from ​

BaseBuilder.optional


readonly() ​

ts
readonly(): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:240

Apply readonly modifier.

Returns ​

this

Inherited from ​

BaseBuilder.readonly


refine() ​

ts
refine(refineFn, message?): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:258

Apply refine modifier.

Note: function is provided as raw code string e.g. (val) => val > 0.

Parameters ​

refineFn ​

string

message? ​

string

Returns ​

this

Inherited from ​

BaseBuilder.refine


required() ​

ts
required(): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:196

Returns ​

this

Inherited from ​

BaseBuilder.required


serializeParams() ​

ts
protected serializeParams(): string;

Defined in: src/ZodBuilder/BaseBuilder.ts:167

Serialize params to a string representation for code generation. Handles objects, strings, primitives, and undefined.

Returns ​

string

String representation of params or empty string if no params

Inherited from ​

BaseBuilder.serializeParams


superRefine() ​

ts
superRefine(superRefineFn): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:269

Apply superRefine modifier.

Note: function is provided as raw code string e.g. (val, ctx) => { ... }.

Parameters ​

superRefineFn ​

string

Returns ​

this

Inherited from ​

BaseBuilder.superRefine


text() ​

ts
text(): string;

Defined in: src/ZodBuilder/BaseBuilder.ts:366

Unwrap and return the final Zod code string. This orchestrates the template method pattern: text() = modify(base())

Returns ​

string

Inherited from ​

BaseBuilder.text


toString() ​

ts
toString(): string;

Defined in: src/ZodBuilder/BaseBuilder.ts:370

Returns a string representation of an object.

Returns ​

string

Inherited from ​

BaseBuilder.toString


transform() ​

ts
transform(transformFn): this;

Defined in: src/ZodBuilder/BaseBuilder.ts:287

Apply transform modifier.

Note: function is provided as raw code string e.g. (val) => transformedVal.

Parameters ​

transformFn ​

string

Returns ​

this

Inherited from ​

BaseBuilder.transform

Released under the ISC License.