Skip to main content

z

const z: ZShim

Zod-compatible API shim for Kanon V3.

Provides a drop-in replacement for Zod's z object using Kanon schemas.

Sinceโ€‹

2.0.0

ZShimโ€‹

Type

ZShim = object

Shape of the Zod-compatible z shim object.

Defines all factory methods for creating adapted Kanon schemas through a Zod-like API.


Sinceโ€‹

2.0.0


Propertiesโ€‹

any(): () => AdapterOf<unknown>โ€‹

Creates an adapter accepting any value.

Returns: AdapterOf<unknown>โ€‹

unknown(): () => AdapterOf<unknown>โ€‹

Creates an adapter accepting any value (typed as unknown).

Returns: AdapterOf<unknown>โ€‹

never(): () => AdapterOf<never>โ€‹

Creates an adapter that never succeeds.

Returns: AdapterOf<never>โ€‹

void(): () => AdapterOf<void>โ€‹

Creates an adapter accepting void.

Returns: AdapterOf<void>โ€‹

undefined(): () => AdapterOf<undefined>โ€‹

Creates an adapter accepting undefined.

Returns: AdapterOf<undefined>โ€‹

null(): () => AdapterOf<null>โ€‹

Creates an adapter accepting null.

Returns: AdapterOf<null>โ€‹

string(): () => AdapterOf<string>โ€‹

Creates a string adapter.

Returns: AdapterOf<string>โ€‹

number(): () => AdapterOf<number> & objectโ€‹

Creates a number adapter with optional .int() refinement.

Returns: AdapterOf<number> & objectโ€‹

boolean(): () => AdapterOf<boolean>โ€‹

Creates a boolean adapter.

Returns: AdapterOf<boolean>โ€‹

bigint(): () => AdapterOf<bigint>โ€‹

Creates a bigint adapter.

Returns: AdapterOf<bigint>โ€‹

symbol(): () => AdapterOf<symbol>โ€‹

Creates a symbol adapter.

Returns: AdapterOf<symbol>โ€‹

date(): () => AdapterOf<Date>โ€‹

Creates a Date adapter.

Returns: AdapterOf<Date>โ€‹

literal(): <T>(v) => AdapterOf<T>โ€‹

Creates a literal adapter for a specific value.

Type Parametersโ€‹

T: T extends string | number | booleanโ€‹

v: T
Returns: AdapterOf<T>

enum(): (vals) => AdapterOf<string>โ€‹

Creates a string enum adapter from a readonly tuple.

vals: readonly string[]
Returns: AdapterOf<string>

nativeEnum(): <E>(e) => AdapterOf<E[keyof E]>โ€‹

Creates an adapter from a TypeScript native enum.

Type Parametersโ€‹

E: E extends Record<string, string | number>โ€‹

e: E
Returns: AdapterOf<E[keyof E]>

object(): <T>(shape) => ObjectAdapter<T>โ€‹

Creates an object adapter with transform methods.

Type Parametersโ€‹

T: T extends Record<string, unknown>โ€‹

shape: ShapeAdapters<T>
Returns: ObjectAdapter<T>

record(): <K, V>(key, value) => AdapterOf<Record<string, V>>โ€‹

Creates a record adapter with key and value schemas.

Type Parametersโ€‹

K: Kโ€‹
V: Vโ€‹

key: AdapterOf<K>
value: AdapterOf<V>
Returns: AdapterOf<Record<string, V>>

array(): <T>(schema) => AdapterOf<T[]>โ€‹

Creates an array adapter from an element adapter.

Type Parametersโ€‹

T: Tโ€‹

schema: AdapterOf<T>
Returns: AdapterOf<T[]>

tuple(): <T>(items) => AdapterOf<InferTupleItems<T>> & objectโ€‹

Creates a tuple adapter with optional rest element.

Type Parametersโ€‹

T: T extends readonly AdapterUnknown[]โ€‹

items: T
Returns: AdapterOf<InferTupleItems<T>> & object

map(): <K, V>(key, value) => AdapterOf<Map<K, V>>โ€‹

Creates a Map adapter from key and value adapters.

Type Parametersโ€‹

K: Kโ€‹
V: Vโ€‹

key: AdapterOf<K>
value: AdapterOf<V>
Returns: AdapterOf<Map<K, V>>

set(): <T>(value) => AdapterOf<Set<T>>โ€‹

Creates a Set adapter from a value adapter.

Type Parametersโ€‹

T: Tโ€‹

value: AdapterOf<T>
Returns: AdapterOf<Set<T>>

union(): (schemas) => AdapterOf<unknown>โ€‹

Creates a union adapter from an array of adapters.

schemas: AdapterUnknown[]
Returns: AdapterOf<unknown>

discriminatedUnion(): <D>(discriminator, schemas) => AdapterOf<unknown>โ€‹

Creates a discriminated union adapter.

Type Parametersโ€‹

D: D extends stringโ€‹

discriminator: D
schemas: AdapterUnknown[]
Returns: AdapterOf<unknown>

intersection(): <A, B>(a, b) => AdapterOf<InferAdapter<A> & InferAdapter<B>>โ€‹

Creates an intersection adapter from two adapters.

Type Parametersโ€‹

A: A extends AdapterUnknownโ€‹
B: B extends AdapterUnknownโ€‹

a: A
b: B
Returns: AdapterOf<InferAdapter<A> & InferAdapter<B>>

lazy(): <T>(getSchema) => AdapterOf<T>โ€‹

Creates a lazy adapter for recursive schemas.

Type Parametersโ€‹

T: Tโ€‹

getSchema: () => AdapterOf<T>
Returns: AdapterOf<T>

promise(): <T>(schema) => AdapterOf<Awaited<T>>โ€‹

Creates a promise adapter that validates the resolved value.

Type Parametersโ€‹

T: Tโ€‹

schema: AdapterOf<T>
Returns: AdapterOf<Awaited<T>>

coerce: objectโ€‹

Namespace for coercion adapters that convert input before validating.

string(): () => AdapterOf<string>โ€‹

Coerces input to string before validating.

Returns: AdapterOf<string>โ€‹

number(): () => AdapterOf<number>โ€‹

Coerces input to number before validating.

Returns: AdapterOf<number>โ€‹

boolean(): () => AdapterOf<boolean>โ€‹

Coerces input to boolean before validating.

Returns: AdapterOf<boolean>โ€‹

bigint(): () => AdapterOf<bigint>โ€‹

Coerces input to bigint before validating.

Returns: AdapterOf<bigint>โ€‹

date(): () => AdapterOf<Date>โ€‹

Coerces input to Date before validating.

Returnsโ€‹

AdapterOf<Date>