doc-it-up
Version:
Generates automatic documentation for your code. Supports Express, Fastify, Koa, Hono, Elysia, and Hapi.
20 lines (19 loc) • 1.32 kB
TypeScript
import { Request, Response, NextFunction } from 'express';
interface ExtendableRequest extends Request {
files?: Express.Multer.File[] | {
[fieldname: string]: Express.Multer.File[];
} | undefined;
[key: string]: any;
}
interface ExtendableResponse extends Response {
[key: string]: any;
}
type GenericMiddleware<TReq extends ExtendableRequest = ExtendableRequest, TRes extends ExtendableResponse = ExtendableResponse> = (req: TReq, res: TRes, next: NextFunction) => void;
type GenericHandler<TReq extends ExtendableRequest = ExtendableRequest, TRes extends ExtendableResponse = ExtendableResponse> = (req: TReq, res: TRes) => Promise<void>;
interface AutoDocOptions {
docsDir?: string;
}
declare const initDocsDirectory: (customDocsDir?: string) => Promise<void>;
declare const autoDocMiddleware: <TReq extends ExtendableRequest = ExtendableRequest, TRes extends ExtendableResponse = ExtendableResponse>(options?: AutoDocOptions) => GenericMiddleware<TReq, TRes>;
declare const docsHandler: <TReq extends ExtendableRequest = ExtendableRequest, TRes extends ExtendableResponse = ExtendableResponse>() => GenericHandler<TReq, TRes>;
export { autoDocMiddleware, docsHandler, initDocsDirectory, type ExtendableRequest, type ExtendableResponse, type GenericMiddleware, type GenericHandler };