zod-server-actions
Version:
Simple utility library to create server actions in Next.js
20 lines (19 loc) • 1 kB
TypeScript
import { Config } from "./config";
import { ZodValidator } from "./validators";
import { z, ZodTypeAny } from "zod";
import { HandlerFn, QueryFn } from "../types";
import { HandlerReturn } from "./handler";
import { QueryReturn } from "./query";
import { RetriesConfig } from "./handler-factory";
export declare class ActionHandler<C extends object, I extends ZodTypeAny = any, O extends ZodTypeAny = any> {
private readonly validator;
private readonly config?;
constructor(validator: ZodValidator, config?: Config<C> | undefined);
input<S extends ZodTypeAny>(schema: S): ActionHandler<C, S, O>;
output<S extends ZodTypeAny>(schema: S): ActionHandler<C, I, S>;
retry(config: RetriesConfig): ActionHandler<C, any, any>;
handler<R extends O>(cb: HandlerFn<I, C, R>): HandlerReturn<I, R>;
handler<R>(cb: HandlerFn<I, C, R>): HandlerReturn<I, z.infer<O>>;
query<R extends O>(cb: QueryFn<R, C>): QueryReturn<R>;
query<R>(cb: QueryFn<R, C>): QueryReturn<z.infer<O>>;
}