Class ZodObject<T, UnknownKeys, Catchall, Output, Input>

Type Parameters

Hierarchy (View Summary)

Constructors

Properties

_input: Input
_output: Output
_type: Output
augment: <Augmentation extends z.ZodRawShape>(
    augmentation: Augmentation,
) => z.ZodObject<
    z.objectUtil.extendShape<T, Augmentation>,
    UnknownKeys,
    Catchall,
    z.objectOutputType<
        z.objectUtil.extendShape<T, Augmentation>,
        Catchall,
        UnknownKeys,
    >,
    z.objectInputType<
        z.objectUtil.extendShape<T, Augmentation>,
        Catchall,
        UnknownKeys,
    >,
>

Use .extend instead

nonstrict: () => z.ZodObject<
    T,
    "passthrough",
    Catchall,
    z.objectOutputType<T, Catchall, "passthrough">,
    z.objectInputType<T, Catchall, "passthrough">,
>

In most cases, this is no longer needed - unknown properties are now silently stripped. If you want to pass through unknown properties, use .passthrough() instead.

spa: (
    data: unknown,
    params?: Partial<z.ParseParams>,
) => Promise<z.SafeParseReturnType<Input, Output>>

Alias of safeParseAsync

create: <T_1 extends z.ZodRawShape>(
    shape: T_1,
    params?: z.RawCreateParams,
) => z.ZodObject<
    T_1,
    "strip",
    z.ZodTypeAny,
    {
        [k in string
        | number
        | symbol]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T_1>, any>[k]
    },
    { [k_1 in string
    | number
    | symbol]: z.baseObjectInputType<T_1>[k_1] },
>
lazycreate: <T_1 extends z.ZodRawShape>(
    shape: () => T_1,
    params?: z.RawCreateParams,
) => z.ZodObject<
    T_1,
    "strip",
    z.ZodTypeAny,
    {
        [k in string
        | number
        | symbol]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T_1>, any>[k]
    },
    { [k_1 in string
    | number
    | symbol]: z.baseObjectInputType<T_1>[k_1] },
>
strictCreate: <T_1 extends z.ZodRawShape>(
    shape: T_1,
    params?: z.RawCreateParams,
) => z.ZodObject<
    T_1,
    "strict",
    z.ZodTypeAny,
    {
        [k in string
        | number
        | symbol]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T_1>, any>[k]
    },
    { [k_1 in string
    | number
    | symbol]: z.baseObjectInputType<T_1>[k_1] },
>

Accessors

  • get description(): undefined | string
  • Returns undefined | string

  • get shape(): T
  • Returns T

Methods

  • Returns { keys: string[]; shape: T }

  • Parameters

    Returns string

  • Parameters

    • description: string

    Returns this

  • Returns boolean

  • Returns boolean

  • Returns z.ZodEnum<CastToStringTuple<UnionToTuple<keyof T, []>>>

  • Parameters

    Returns Promise<Output>

  • Returns z.ZodObject<
        { [k in string
        | number
        | symbol]: z.ZodOptional<T[k]> },
        UnknownKeys,
        Catchall,
        z.objectOutputType<
            { [k in string
            | number
            | symbol]: z.ZodOptional<T[k]> },
            Catchall,
            UnknownKeys,
        >,
        z.objectInputType<
            { [k in string
            | number
            | symbol]: z.ZodOptional<T[k]> },
            Catchall,
            UnknownKeys,
        >,
    >

  • Type Parameters

    Parameters

    Returns z.ZodObject<
        {
            [k in string
            | number
            | symbol]: k extends keyof T
                ? {
                    [k in string | number | symbol]: k extends keyof Mask
                        ? z.ZodOptional<T[k<k>]>
                        : T[k]
                }[k<k>]
                : never
        },
        UnknownKeys,
        Catchall,
        z.objectOutputType<
            {
                [k in string
                | number
                | symbol]: k extends keyof T
                    ? {
                        [k in string | number | symbol]: k extends keyof Mask
                            ? z.ZodOptional<T[k<k>]>
                            : T[k]
                    }[k<k>]
                    : never
            },
            Catchall,
            UnknownKeys,
        >,
        z.objectInputType<
            {
                [k in string
                | number
                | symbol]: k extends keyof T
                    ? {
                        [k in string | number | symbol]: k extends keyof Mask
                            ? z.ZodOptional<T[k<k>]>
                            : T[k]
                    }[k<k>]
                    : never
            },
            Catchall,
            UnknownKeys,
        >,
    >

  • Returns z.ZodObject<
        { [k in string
        | number
        | symbol]: z.deoptional<T[k]> },
        UnknownKeys,
        Catchall,
        z.objectOutputType<
            { [k in string
            | number
            | symbol]: z.deoptional<T[k]> },
            Catchall,
            UnknownKeys,
        >,
        z.objectInputType<
            { [k in string
            | number
            | symbol]: z.deoptional<T[k]> },
            Catchall,
            UnknownKeys,
        >,
    >

  • Type Parameters

    Parameters

    Returns z.ZodObject<
        {
            [k in string
            | number
            | symbol]: k extends keyof T
                ? {
                    [k in string | number | symbol]: k extends keyof Mask
                        ? z.deoptional<T[k<k>]>
                        : T[k]
                }[k<k>]
                : never
        },
        UnknownKeys,
        Catchall,
        z.objectOutputType<
            {
                [k in string
                | number
                | symbol]: k extends keyof T
                    ? {
                        [k in string | number | symbol]: k extends keyof Mask
                            ? z.deoptional<T[k<k>]>
                            : T[k]
                    }[k<k>]
                    : never
            },
            Catchall,
            UnknownKeys,
        >,
        z.objectInputType<
            {
                [k in string
                | number
                | symbol]: k extends keyof T
                    ? {
                        [k in string | number | symbol]: k extends keyof Mask
                            ? z.deoptional<T[k<k>]>
                            : T[k]
                    }[k<k>]
                    : never
            },
            Catchall,
            UnknownKeys,
        >,
    >