bupkis
    Preparing search index...

    Interface ZodFunction<Args, Returns>

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

    Type Parameters

    Hierarchy (View Summary)

    Index

    Properties

    Use .def instead.

    Use z.input<typeof schema> instead.

    Use z.output<typeof schema> instead.

    type: "function"
    spa: (
        data: unknown,
        params?: ParseContext<$ZodIssue>,
    ) => Promise<ZodSafeParseResult<$InferOuterFunctionType<Args, Returns>>>
    description?: string

    Methods

    • Parameters

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

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

          • Optionalwhen?: (payload: ParsePayload) => boolean

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

          • Optionalpath?: PropertyKey[]
          • Optionalparams?: Record<string, any>
          • Optionalerror?: string | $ZodErrorMap<NonNullable<$ZodIssue>>
          • Optionalmessage?: string

            This parameter is deprecated. Use error instead.

      Returns this

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

      Parameters

      • description: string

      Returns this

    • Returns the metadata associated with this instance in z.globalRegistry

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

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

      Parameters

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

      Returns this

    • 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 boolean

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

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