z
constz: 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โ
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โ
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โ
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โ
promise(): <T>(schema) => AdapterOf<Awaited<T>>โ
Creates a promise adapter that validates the resolved value.
Type Parametersโ
T: 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>