@eryx/schema/optional Module

Optional schema primitives. Wraps child schemas so nil is accepted and optional defaults can be applied. Useful for patch/update payloads and backward-compatible input evolution.

Summary

Functions

schema:default<T>(value: T)OptionalSchema<T>

API Reference

Functions

schema:default

Attach a default value used when an optional input is nil. Defaults are materialized during parsing. This is especially useful for struct fields that should always exist in parsed output.

schema:default<T>(value: T)OptionalSchema<T>

Parameters

value: T

Default value returned when parsed input is nil.

Returns

A new optional schema with default handling.

Types

OptionalSchema<T>

type OptionalSchema<T> = t.Schema<T?> & { _type: { type: "optional", metadata: OptionalMetadata<T> }, default: ((self: OptionalSchema<T>, value: T) → OptionalSchema<T>) }
Implements: t.Schema
OptionalSchema:default(value: T)OptionalSchema<T>