x-to-zod / ZodBuilder / CuidBuilder
Class: CuidBuilder
Defined in: src/ZodBuilder/cuid.ts:28
CuidBuilder: represents z.cuid() or z.cuid2() in Zod v4.
In v4, CUID validation is a top-level function that provides better type inference and tree-shaking compared to v3's z.string().cuid() method chain.
Supports both cuid (v1) and cuid2 (v2) variants.
Example
// v4 mode - CUID v1
const cuid = new CuidBuilder('cuid', { zodVersion: 'v4' });
cuid.text(); // => 'z.cuid()'
// v4 mode - CUID v2
const cuid2 = new CuidBuilder('cuid2', { zodVersion: 'v4' });
cuid2.text(); // => 'z.cuid2()'Extends
StringFormatBuilder<ZodCUID, [CuidParams]>
Implements
BuilderFor<ZodCUID>
Constructors
Constructor
new CuidBuilder(
version?,
variant?,
params?): CuidBuilder;Defined in: src/ZodBuilder/cuid.ts:35
Parameters
version?
"v3" | "v4"
variant?
"cuid" | "cuid2"
params?
CuidParams
Returns
CuidBuilder
Overrides
StringFormatBuilder<ZodCUID, [params?: CuidParams]>.constructorProperties
_base64?
optional _base64?: {
params?: unknown;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:24
params?
optional params?: unknown;Inherited from
StringFormatBuilder._base64_brandText?
optional _brandText?: string = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:125
Inherited from
_defaultValue?
optional _defaultValue?: unknown = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:122
Inherited from
_describeText?
optional _describeText?: string = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:124
Inherited from
_fallbackText?
optional _fallbackText?: unknown = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:126
Inherited from
_format?
optional _format?: {
format: string;
params?: unknown;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:20
format
format: string;params?
optional params?: unknown;Inherited from
StringFormatBuilder._format_json?
optional _json?: {
params?: unknown;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:25
params?
optional params?: unknown;Inherited from
StringFormatBuilder._json_maxLength?
optional _maxLength?: {
params?: unknown;
value: number;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:23
params?
optional params?: unknown;value
value: number;Inherited from
StringFormatBuilder._maxLength_metaData?
optional _metaData?: Record<string, unknown> = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:130
Inherited from
_minLength?
optional _minLength?: {
params?: unknown;
value: number;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:22
params?
optional params?: unknown;value
value: number;Inherited from
StringFormatBuilder._minLength_nullable
_nullable: boolean = false;Defined in: src/ZodBuilder/BaseBuilder.ts:120
Inherited from
_optional
_optional: boolean = false;Defined in: src/ZodBuilder/BaseBuilder.ts:119
Inherited from
_params?
protected optional _params?: [CuidParams];Defined in: src/ZodBuilder/BaseBuilder.ts:118
Inherited from
StringFormatBuilder._params_pattern?
optional _pattern?: {
params?: unknown;
pattern: string;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:21
params?
optional params?: unknown;pattern
pattern: string;Inherited from
StringFormatBuilder._pattern_pipe?
optional _pipe?: {
contentSchema: Builder;
params?: unknown;
} = undefined;Defined in: src/ZodBuilder/StringFormatBuilder.ts:26
contentSchema
contentSchema: Builder;params?
optional params?: unknown;Inherited from
StringFormatBuilder._pipe_readonly
_readonly: boolean = false;Defined in: src/ZodBuilder/BaseBuilder.ts:121
Inherited from
_refineFn?
optional _refineFn?: string = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:127
Inherited from
_refineMessage?
optional _refineMessage?: string = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:128
Inherited from
_superRefineFns
_superRefineFns: string[] = [];Defined in: src/ZodBuilder/BaseBuilder.ts:129
Inherited from
_transformFn?
optional _transformFn?: string = undefined;Defined in: src/ZodBuilder/BaseBuilder.ts:131
Inherited from
_version?
protected optional _version?: "v3" | "v4";Defined in: src/ZodBuilder/BaseBuilder.ts:133
Inherited from
StringFormatBuilder._versiontypeKind
readonly typeKind: "cuid";Defined in: src/ZodBuilder/cuid.ts:32
Implementation of
BuilderFor.typeKindOverrides
StringFormatBuilder.typeKindAccessors
zodVersion
Get Signature
get protected zodVersion(): ZodVersion;Defined in: src/ZodBuilder/BaseBuilder.ts:144
Get the target Zod version for code generation.
Returns
'v3' or 'v4' (default: 'v4')
Inherited from
StringFormatBuilder.zodVersionMethods
base()
protected base(): string;Defined in: src/ZodBuilder/cuid.ts:44
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
StringFormatBuilder.basebrand()
brand(brand): this;Defined in: src/ZodBuilder/BaseBuilder.ts:232
Apply brand modifier.
Parameters
brand
string
Returns
this
Implementation of
BuilderFor.brandInherited from
StringFormatBuilder.brandcatch()
catch(fallback): this;Defined in: src/ZodBuilder/BaseBuilder.ts:248
Apply catch modifier.
Parameters
fallback
unknown
Returns
this
Implementation of
BuilderFor.catchInherited from
StringFormatBuilder.catchdate()
date(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:133
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.datedatetime()
datetime(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:127
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.datetimedefault()
default(value): this;Defined in: src/ZodBuilder/BaseBuilder.ts:212
Apply default value.
Parameters
value
unknown
Returns
this
Implementation of
BuilderFor.defaultInherited from
StringFormatBuilder.defaultdescribe()
describe(description): this;Defined in: src/ZodBuilder/BaseBuilder.ts:220
Apply describe modifier.
Parameters
description
string
Returns
this
Implementation of
BuilderFor.describeInherited from
StringFormatBuilder.describeduration()
duration(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:136
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.duratione164()
e164(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:148
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.e164endsWith()
endsWith(_value, _params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:91
Parameters
_value
string
_params?
unknown
Returns
this
Implementation of
BuilderFor.endsWithInherited from
StringFormatBuilder.endsWithformat()
format(format, params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:42
Apply format constraint.
Parameters
format
string
params?
unknown
Returns
this
Inherited from
StringFormatBuilder.formatguid()
guid(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:139
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.guidhasConstraints()
hasConstraints(): boolean;Defined in: src/ZodBuilder/StringFormatBuilder.ts:31
Check if this builder has any constraints applied.
Returns
boolean
Inherited from
StringFormatBuilder.hasConstraintsincludes()
includes(_value, _params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:85
Parameters
_value
string
_params?
unknown
Returns
this
Implementation of
BuilderFor.includesInherited from
StringFormatBuilder.includesip()
ip(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:121
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.ipis()
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
StringFormatBuilder.isisV3()
protected isV3(): boolean;Defined in: src/ZodBuilder/BaseBuilder.ts:158
Check if targeting Zod v3.
Returns
boolean
Inherited from
StringFormatBuilder.isV3isV4()
protected isV4(): boolean;Defined in: src/ZodBuilder/BaseBuilder.ts:151
Check if targeting Zod v4.
Returns
boolean
Inherited from
StringFormatBuilder.isV4json()
json(params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:73
Apply JSON transform.
Parameters
params?
unknown
Returns
this
Inherited from
StringFormatBuilder.jsonksuid()
ksuid(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:145
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.ksuidlength()
length(_len, _params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:94
Parameters
_len
number
_params?
unknown
Returns
this
Implementation of
BuilderFor.lengthInherited from
StringFormatBuilder.lengthlowercase()
lowercase(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:100
Parameters
_params?
unknown
Returns
this
Implementation of
BuilderFor.lowercaseInherited from
StringFormatBuilder.lowercasemax()
max(value, params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:65
Apply maxLength constraint.
Parameters
value
number
params?
unknown
Returns
this
Implementation of
BuilderFor.maxInherited from
StringFormatBuilder.maxmeta()
meta(metadata): this;Defined in: src/ZodBuilder/BaseBuilder.ts:277
Apply meta modifier.
Parameters
metadata
Record<string, unknown>
Returns
this
Implementation of
BuilderFor.metaInherited from
StringFormatBuilder.metamin()
min(value, params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:57
Apply minLength constraint.
Parameters
value
number
params?
unknown
Returns
this
Implementation of
BuilderFor.minInherited from
StringFormatBuilder.minmodify()
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
StringFormatBuilder.modifynonempty()
nonempty(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:97
Parameters
_params?
unknown
Returns
this
Implementation of
BuilderFor.nonemptyInherited from
StringFormatBuilder.nonemptynormalize()
normalize(_form?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:109
Parameters
_form?
string
Returns
this
Implementation of
BuilderFor.normalizeInherited from
StringFormatBuilder.normalizenullable()
nullable(): this;Defined in: src/ZodBuilder/BaseBuilder.ts:204
Apply nullable constraint.
Returns
this
Implementation of
BuilderFor.nullableInherited from
StringFormatBuilder.nullableoptional()
optional(): this;Defined in: src/ZodBuilder/BaseBuilder.ts:191
Apply optional constraint.
Returns
this
Implementation of
BuilderFor.optionalInherited from
StringFormatBuilder.optionalpipe()
pipe(contentSchema, params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:79
Apply pipe with parsed content schema.
Parameters
contentSchema
params?
unknown
Returns
this
Inherited from
StringFormatBuilder.pipereadonly()
readonly(): this;Defined in: src/ZodBuilder/BaseBuilder.ts:240
Apply readonly modifier.
Returns
this
Implementation of
BuilderFor.readonlyInherited from
StringFormatBuilder.readonlyrefine()
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
Implementation of
BuilderFor.refineInherited from
StringFormatBuilder.refineregex()
regex(pattern, params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:48
Apply regex pattern constraint.
Parameters
pattern
string | RegExp
params?
unknown
Returns
this
Implementation of
BuilderFor.regexInherited from
StringFormatBuilder.regexrequired()
required(): this;Defined in: src/ZodBuilder/BaseBuilder.ts:196
Returns
this
Inherited from
StringFormatBuilder.requiredsafe()
safe(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:124
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.safeserializeParams()
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
StringFormatBuilder.serializeParamsslugify()
slugify(): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:118
Returns
this
Implementation of
BuilderFor.slugifyInherited from
StringFormatBuilder.slugifystartsWith()
startsWith(_value, _params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:88
Parameters
_value
string
_params?
unknown
Returns
this
Implementation of
BuilderFor.startsWithInherited from
StringFormatBuilder.startsWithsuperRefine()
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
Implementation of
BuilderFor.superRefineInherited from
StringFormatBuilder.superRefinetext()
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
Implementation of
BuilderFor.textInherited from
StringFormatBuilder.texttime()
time(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:130
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.timetoLowerCase()
toLowerCase(): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:112
Returns
this
Implementation of
BuilderFor.toLowerCaseInherited from
StringFormatBuilder.toLowerCasetoString()
toString(): string;Defined in: src/ZodBuilder/BaseBuilder.ts:370
Returns a string representation of an object.
Returns
string
Inherited from
StringFormatBuilder.toStringtoUpperCase()
toUpperCase(): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:115
Returns
this
Implementation of
BuilderFor.toUpperCaseInherited from
StringFormatBuilder.toUpperCasetransform()
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
Implementation of
BuilderFor.transformInherited from
StringFormatBuilder.transformtrim()
trim(): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:106
Returns
this
Implementation of
BuilderFor.trimInherited from
StringFormatBuilder.trimuppercase()
uppercase(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:103
Parameters
_params?
unknown
Returns
this
Implementation of
BuilderFor.uppercaseInherited from
StringFormatBuilder.uppercasexid()
xid(_params?): this;Defined in: src/ZodBuilder/StringFormatBuilder.ts:142
Parameters
_params?
unknown
Returns
this
Inherited from
StringFormatBuilder.xid