UNPKG

api-morph

Version:

A modern TypeScript-first OpenAPI document generator that analyzes your code and JSDoc comments to automatically generate comprehensive and accurate API documentation.

44 lines (43 loc) 1.93 kB
import { GenerateSwaggerUIHTMLOptions } from "./swagger-CGaHMoKZ.js"; import { ZodError, ZodType, z as z$1 } from "zod/v4"; import { Express, NextFunction, Request, RequestHandler, Response } from "express"; //#region src/express/middlewares/zodValidator.d.ts /** * 校验配置选项 */ interface ValidationOptions<TParams extends ZodType = ZodType, TQuery extends ZodType = ZodType, TBody extends ZodType = ZodType, THeaders extends ZodType = ZodType> { /** 请求体 schema */ body?: TBody; /** 查询参数 schema */ query?: TQuery; /** 路径参数 schema */ params?: TParams; /** 请求头 schema */ headers?: THeaders; /** 自定义错误处理函数 */ onError?: ErrorRequestHandler; } /** * 错误请求处理函数 */ type ErrorRequestHandler<P = unknown, ResBody = unknown, ReqBody = unknown, ReqQuery = unknown, Locals extends Record<string, unknown> = Record<string, unknown>> = (err: ZodError, req: Request<P, ResBody, ReqBody, ReqQuery, Locals>, res: Response<ResBody, Locals>, next: NextFunction) => void | Promise<void>; /** * 创建类型安全的 Zod 校验中间件 * * @param options 校验配置选项 * @returns 类型化的Express中间件,提供对应schema字段的类型提示 */ declare function zodValidator<TParams extends ZodType, TQuery extends ZodType, TBody extends ZodType, THeaders extends ZodType>(options: ValidationOptions<TParams, TQuery, TBody, THeaders>): RequestHandler<z$1.output<TParams>, unknown, z$1.output<TBody>, z$1.output<TQuery>>; //#endregion //#region src/express/swagger.d.ts /** * 设置 SwaggerUI 的静态资源和路由 * @param path SwaggerUI 路径 * @param app Express 应用实例 * @param options 选项 * * @category Express */ declare function setupSwaggerUI(path: string, app: Express, options?: GenerateSwaggerUIHTMLOptions): void; //#endregion export { ErrorRequestHandler, ValidationOptions, setupSwaggerUI, zodValidator };