BUPKIS
    Preparing search index...

    Interface ZodOptional<T>

    interface ZodOptional<T extends SomeType = z.core.$ZodType> {
        _def: $ZodOptionalDef<T>;
        _input: z.core.input<T> | undefined;
        _output: z.core.output<T> | undefined;
        _zod: $ZodOptionalInternals;
        "~standard": $ZodStandardSchema<z.ZodOptional<T>>;
        def: $ZodOptionalDef<T>;
        description?: string;
        spa: (
            data: unknown,
            params?: ParseContext<$ZodIssue>,
        ) => Promise<ZodSafeParseResult<z.core.output<T> | undefined>>;
        type: "optional";
        and<T extends SomeType>(
            incoming: T,
        ): z.ZodIntersection<z.ZodOptional<T>, T>;
        array(): z.ZodArray<z.ZodOptional<T>>;
        brand<T extends PropertyKey = PropertyKey>(
            value?: T,
        ): PropertyKey extends T
            ? z.ZodOptional<T>
            : $ZodBranded<z.ZodOptional<T>, T>;
        catch(def: z.core.output<T> | undefined): z.ZodCatch<z.ZodOptional<T>>;
        catch(
            def: (ctx: $ZodCatchCtx) => z.core.output<T> | undefined,
        ): z.ZodCatch<z.ZodOptional<T>>;
        check(
            ...checks: (
                | CheckFn<z.core.output<T> | undefined>
                | z.core.$ZodCheck<z.core.output<T> | undefined>
            )[],
        ): this;
        clone(def?: $ZodOptionalDef<T>, params?: { parent: boolean }): this;
        decode(
            data: z.core.input<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): z.core.output<T> | undefined;
        decodeAsync(
            data: z.core.input<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): Promise<z.core.output<T> | undefined>;
        default(def: NoUndefined<z.core.output<T>>): z.ZodDefault<z.ZodOptional<T>>;
        default(
            def: () => NoUndefined<z.core.output<T>>,
        ): z.ZodDefault<z.ZodOptional<T>>;
        describe(description: string): this;
        encode(
            data: z.core.output<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): z.core.input<T> | undefined;
        encodeAsync(
            data: z.core.output<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): Promise<z.core.input<T> | undefined>;
        isNullable(): boolean;
        isOptional(): boolean;
        meta(): | {
            deprecated?: boolean;
            description?: string;
            id?: string;
            title?: string;
            [key: string]: unknown;
        }
        | undefined;
        meta(
            data: {
                deprecated?: boolean;
                description?: string;
                id?: string;
                title?: string;
                [key: string]: unknown;
            },
        ): this;
        nonoptional(
            params?:
                | string
                | {
                    error?: string
                    | $ZodErrorMap<$ZodIssueInvalidType<unknown>>;
                    message?: string;
                },
        ): z.ZodNonOptional<z.ZodOptional<T>>;
        nullable(): z.ZodNullable<z.ZodOptional<T>>;
        nullish(): z.ZodOptional<z.ZodNullable<z.ZodOptional<T>>>;
        optional(): z.ZodOptional<z.ZodOptional<T>>;
        or<T extends SomeType>(option: T): z.ZodUnion<[z.ZodOptional<T>, T]>;
        overwrite(
            fn: (x: z.core.output<T> | undefined) => z.core.output<T> | undefined,
        ): this;
        parse(
            data: unknown,
            params?: ParseContext<$ZodIssue>,
        ): z.core.output<T> | undefined;
        parseAsync(
            data: unknown,
            params?: ParseContext<$ZodIssue>,
        ): Promise<z.core.output<T> | undefined>;
        pipe<
            T extends
                z.core.$ZodType<
                    any,
                    z.core.output<T>
                    | undefined,
                    $ZodTypeInternals<any, z.core.output<T> | undefined>,
                >,
        >(
            target:
                | T
                | z.core.$ZodType<
                    any,
                    z.core.output<T>
                    | undefined,
                    $ZodTypeInternals<any, z.core.output<T> | undefined>,
                >,
        ): z.ZodPipe<z.ZodOptional<T>, T>;
        prefault(
            def: () => z.core.input<T> | undefined,
        ): z.ZodPrefault<z.ZodOptional<T>>;
        prefault(def: z.core.input<T> | undefined): z.ZodPrefault<z.ZodOptional<T>>;
        readonly(): z.ZodReadonly<z.ZodOptional<T>>;
        refine(
            check: (arg: z.core.output<T> | undefined) => unknown,
            params?:
                | string
                | {
                    abort?: boolean;
                    error?: string
                    | $ZodErrorMap<NonNullable<$ZodIssue>>;
                    message?: string;
                    params?: Record<string, any>;
                    path?: PropertyKey[];
                    when?: (payload: ParsePayload) => boolean;
                },
        ): this;
        register<
            R extends
                $ZodRegistry<
                    MetadataType,
                    z.core.$ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>,
                >,
        >(
            registry: R,
            ...meta: z.ZodOptional<T> extends R["_schema"]
                ? undefined extends R["_meta"]
                    ? [$replace<R["_meta"], R["_schema"] & z.ZodOptional<T>>?]
                    : [$replace<R["_meta"], R["_schema"] & z.ZodOptional<T>>]
                : ["Incompatible schema"],
        ): this;
        safeDecode(
            data: z.core.input<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): ZodSafeParseResult<z.core.output<T> | undefined>;
        safeDecodeAsync(
            data: z.core.input<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): Promise<ZodSafeParseResult<z.core.output<T> | undefined>>;
        safeEncode(
            data: z.core.output<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): ZodSafeParseResult<z.core.input<T> | undefined>;
        safeEncodeAsync(
            data: z.core.output<T> | undefined,
            params?: ParseContext<$ZodIssue>,
        ): Promise<ZodSafeParseResult<z.core.input<T> | undefined>>;
        safeParse(
            data: unknown,
            params?: ParseContext<$ZodIssue>,
        ): ZodSafeParseResult<z.core.output<T> | undefined>;
        safeParseAsync(
            data: unknown,
            params?: ParseContext<$ZodIssue>,
        ): Promise<ZodSafeParseResult<z.core.output<T> | undefined>>;
        superRefine(
            refinement: (
                arg: z.core.output<T> | undefined,
                ctx: $RefinementCtx<z.core.output<T> | undefined>,
            ) => void | Promise<void>,
        ): this;
        transform<NewOut>(
            transform: (
                arg: z.core.output<T> | undefined,
                ctx: $RefinementCtx<z.core.output<T> | undefined>,
            ) => NewOut | Promise<NewOut>,
        ): z.ZodPipe<
            z.ZodOptional<T>,
            z.ZodTransform<Awaited<NewOut>, z.core.output<T> | undefined>,
        >;
        unwrap(): T;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index

    Methods

    • Parameters

      Returns this

    • Returns a new instance that has been registered in z.globalRegistry with the specified description

      Parameters

      • description: string

      Returns this

    • Returns boolean

      Try safe-parsing null (this is what isNullable does internally):

      const schema = z.string().nullable();
      const isNullable = schema.safeParse(null).success; // true
    • Returns boolean

      Try safe-parsing undefined (this is what isOptional does internally):

      const schema = z.string().optional();
      const isOptional = schema.safeParse(undefined).success; // true
    • Returns the metadata associated with this instance in z.globalRegistry

      Returns
          | {
              deprecated?: boolean;
              description?: string;
              id?: string;
              title?: string;
              [key: string]: unknown;
          }
          | undefined

    • Returns a new instance that has been registered in z.globalRegistry with the specified metadata

      Parameters

      • data: {
            deprecated?: boolean;
            description?: string;
            id?: string;
            title?: string;
            [key: string]: unknown;
        }

      Returns this

    • Parameters

      • check: (arg: z.core.output<T> | undefined) => unknown
      • Optionalparams:
            | string
            | {
                abort?: boolean;
                error?: string
                | $ZodErrorMap<NonNullable<$ZodIssue>>;
                message?: string;
                params?: Record<string, any>;
                path?: PropertyKey[];
                when?: (payload: ParsePayload) => boolean;
            }
        • string
        • {
              abort?: boolean;
              error?: string | $ZodErrorMap<NonNullable<$ZodIssue>>;
              message?: string;
              params?: Record<string, any>;
              path?: PropertyKey[];
              when?: (payload: ParsePayload) => boolean;
          }
          • Optionalabort?: boolean

            If true, no later checks will be executed if this check fails. Default false.

          • Optionalerror?: string | $ZodErrorMap<NonNullable<$ZodIssue>>
          • Optionalmessage?: string

            This parameter is deprecated. Use error instead.

          • Optionalparams?: Record<string, any>
          • Optionalpath?: PropertyKey[]
          • Optionalwhen?: (payload: ParsePayload) => boolean

            If provided, this check will only be executed if the function returns true. Defaults to payload => z.util.isAborted(payload).

      Returns this

    • Returns T

    Properties

    Use .def instead.

    _input: z.core.input<T> | undefined

    Use z.input<typeof schema> instead.

    _output: z.core.output<T> | undefined

    Use z.output<typeof schema> instead.

    description?: string
    spa: (
        data: unknown,
        params?: ParseContext<$ZodIssue>,
    ) => Promise<ZodSafeParseResult<z.core.output<T> | undefined>>
    type: "optional"