UNPKG

next-connect

Version:

The method routing and middleware layer for Next.js (and many others)

23 lines (22 loc) 1.33 kB
import type { HandlerOptions, Nextable, RouteMatch, RouteShortcutMethod, ValueOrPromise } from "./types.js"; export type RequestHandler<Req extends Request, Ctx> = (req: Req, ctx: Ctx) => ValueOrPromise<Response | void>; export declare class EdgeRouter<Req extends Request = Request, Ctx = unknown> { private router; private add; all: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; get: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; head: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; post: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; put: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; patch: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; delete: RouteShortcutMethod<this, RequestHandler<Req, Ctx>>; use(base: RouteMatch | Nextable<RequestHandler<Req, Ctx>> | EdgeRouter<Req, Ctx>, ...fns: (Nextable<RequestHandler<Req, Ctx>> | EdgeRouter<Req, Ctx>)[]): this; private prepareRequest; clone(): EdgeRouter<Req, Ctx>; run(req: Req, ctx: Ctx): Promise<unknown>; handler(options?: HandlerOptions<RequestHandler<Req, Ctx>>): (req: Req, ctx: Ctx) => Promise<any>; } export declare function getPathname(req: Request & { nextUrl?: URL; }): string; export declare function createEdgeRouter<Req extends Request, Ctx>(): EdgeRouter<Req, Ctx>;