UNPKG

@grace-js/grace

Version:

An opinionated API framework

9 lines 1.01 kB
import { AnyRoute, InferContext, Route as RouteSchema } from "./route.js"; import { RateLimitOptions } from "../plugins/rate-limit.js"; export type ContextExtra = any; export type BeforeRoute<Route extends AnyRoute> = (context: InferContext<Route>) => Promise<any | void>; export type AfterRoute<Route extends AnyRoute> = (context: InferContext<Route>, response: any) => Promise<void>; export declare function createBeforeRoute<ContextExtras extends ContextExtra = {}>(): <Route extends RouteSchema<any, any, any, any, any, any, Record<string, string>, ContextExtras>>(handler: BeforeRoute<Route>) => BeforeRoute<Route>; export declare function createAfterRoute<ContextExtras extends ContextExtra = {}>(): <Route extends RouteSchema<any, any, any, any, any, any, Record<string, string>, ContextExtras>>(handler: AfterRoute<Route>) => AfterRoute<Route>; export declare function rateLimitRoute({ windowMs, max, message, statusCode }: RateLimitOptions): BeforeRoute<AnyRoute>; //# sourceMappingURL=middleware.d.ts.map