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
TypeScript
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 };