(schema: ZodObject<$ZodLooseShape, $strip>): ZodFieldInfo[] import {zod_extract_fields} from '@fuzdev/fuz_util/zod.js'; Extract field metadata from a Zod object schema.
schema
ZodObject<$ZodLooseShape, $strip>returns
ZodFieldInfo[] Zod schema introspection utilities.
Generic helpers for walking, unwrapping, and extracting metadata from Zod schemas. Used by CLI argument parsing, adversarial input testing, and surface generation.
22 declarations
(schema: ZodObject<$ZodLooseShape, $strip>): ZodFieldInfo[] import {zod_extract_fields} from '@fuzdev/fuz_util/zod.js'; Extract field metadata from a Zod object schema.
schemaZodObject<$ZodLooseShape, $strip>ZodFieldInfo[] (value: unknown): string import {zod_format_value} from '@fuzdev/fuz_util/zod.js'; Format a value for display in help text.
valueunknownstring (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): string import {zod_get_base_type} from '@fuzdev/fuz_util/zod.js'; Get the base type name for a Zod schema, unwrapping all wrappers.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>string base type name (e.g. 'string', 'object', 'uuid')
(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, key: string): ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> import {zod_get_field_schema} from '@fuzdev/fuz_util/zod.js'; Get the field schema for a key in an object schema.
schemaZod schema (typically a ZodObject with possible wrappers)
ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>keystringZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> Error - if the schema is not an object or the key is missing(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> import {zod_get_innermost_type} from '@fuzdev/fuz_util/zod.js'; Unwrap a schema through every wrapper type (optional, nullable, default,
transform, pipe, prefault) to reach the innermost schema. Like zod_unwrap_def
but returns the schema (so callers can .shape, instanceof-check, etc.)
instead of the def.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> the innermost non-wrapper schema
<T extends z.ZodType>(schema: T): (keyof output<T> & string)[] import {zod_get_schema_keys} from '@fuzdev/fuz_util/zod.js'; Get all property keys from an object schema, unwrapping wrappers. Returns an empty array if the innermost type is not an object.
schemaZod schema (typically a ZodObject with possible wrappers)
T(keyof output<T> & string)[] zod_get_schema_keys<T extends z.ZodType>Tz.ZodType(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): boolean import {zod_has_default} from '@fuzdev/fuz_util/zod.js'; Check if a schema has a default value at any wrapping level.
Unlike zod_to_schema_default (which returns the value), this returns a boolean. Distinguishes "no default" from "default is undefined".
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>boolean (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): boolean import {zod_is_nullable} from '@fuzdev/fuz_util/zod.js'; Check if a schema accepts null at any wrapping level.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>boolean (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): boolean import {zod_is_optional} from '@fuzdev/fuz_util/zod.js'; Check if a schema is optional at the outermost level.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>boolean (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, key: string): ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> | undefined import {zod_maybe_get_field_schema} from '@fuzdev/fuz_util/zod.js'; Get the field schema for a key in an object schema, returning undefined if
the schema is not an object or the key is missing.
schemaZod schema (typically a ZodObject with possible wrappers)
ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>keythe property name
stringZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> | undefined the field's schema, or undefined
(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): string[] import {zod_to_schema_aliases} from '@fuzdev/fuz_util/zod.js'; Get aliases from a schema's metadata, unwrapping if needed.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>string[] (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): unknown import {zod_to_schema_default} from '@fuzdev/fuz_util/zod.js'; Get the default value from a schema, unwrapping if needed.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>unknown default value or undefined
(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): string | null import {zod_to_schema_description} from '@fuzdev/fuz_util/zod.js'; Get the description from a schema's metadata, unwrapping if needed.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>string | null description string or null if not found
(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): Set<string> import {zod_to_schema_names_with_aliases} from '@fuzdev/fuz_util/zod.js'; Get all property names and their aliases from an object schema.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>Set<string> (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): ZodSchemaProperty[] import {zod_to_schema_properties} from '@fuzdev/fuz_util/zod.js'; Extract properties from a Zod object schema.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>ZodSchemaProperty[] (schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): string import {zod_to_schema_type_string} from '@fuzdev/fuz_util/zod.js'; Get the type string for a schema, suitable for display.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>string human-readable type string
(def: $ZodTypeDef): ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> | undefined import {zod_to_subschema} from '@fuzdev/fuz_util/zod.js'; Unwrap nested schema types (optional, default, nullable, etc).
def$ZodTypeDefZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> | undefined inner schema if wrapped, undefined otherwise
(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): $ZodTypeDef import {zod_unwrap_def} from '@fuzdev/fuz_util/zod.js'; Unwrap Zod wrappers (optional, default, nullable, pipe, transform) to get the base type definition.
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>$ZodTypeDef the innermost non-wrapper type definition
(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>): ZodObject<$ZodLooseShape, $strip> | null import {zod_unwrap_to_object} from '@fuzdev/fuz_util/zod.js'; Unwrap a schema to find the inner ZodObject, or null if not an object schema.
Handles wrappers like z.strictObject({...}).default({...}).
schemaZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>ZodObject<$ZodLooseShape, $strip> | null Set<string> import {ZOD_WRAPPER_TYPES} from '@fuzdev/fuz_util/zod.js'; Zod wrapper type names that zod_unwrap_def traverses through.
ZodFieldInfo import type {ZodFieldInfo} from '@fuzdev/fuz_util/zod.js'; Metadata extracted from a single field of a Zod object schema.
nametype string
base_typetype string
requiredtype boolean
has_defaulttype boolean
nullabletype boolean
ZodSchemaProperty import type {ZodSchemaProperty} from '@fuzdev/fuz_util/zod.js'; Property extracted from an object schema.
nametype string
typetype string
descriptiontype string
defaulttype unknown
aliasestype Array<string>