UNPKG

@mark01/express-utils

Version:

npm package that contains utilities for express.js

20 lines (19 loc) 905 B
import { RequestHandler } from 'express'; import { Request, Response } from 'express'; import { z, ZodError } from 'zod'; export type RequestSchemas<TParams, TQuery, TBody, TResponse> = { params?: z.ZodType<TParams>; query?: z.ZodType<TQuery>; body?: z.ZodType<TBody>; response?: z.ZodType<TResponse>; }; export type ErrorListItem = { type: 'Params' | 'Body' | 'Query' | 'Response'; errors: ZodError; }; export type RequestCallback<TParams, TQuery, TBody, TResponse> = (data: { params: TParams; query: TQuery; body: TBody; }, req: Request, res: Response) => Promise<TResponse> | TResponse; export declare const promiseController: <TParams = unknown, TQuery = unknown, TBody = unknown, TResponse = unknown>(schemas: RequestSchemas<TParams, TQuery, TBody, TResponse>, cb: RequestCallback<TParams, TQuery, TBody, TResponse>, successStatusCode?: number) => RequestHandler;