UNPKG

next-connect

Version:

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

22 lines (21 loc) 884 B
import type { FindResult, FunctionLike, HttpMethod, Nextable, RouteMatch } from "./types.js"; export type Route<H> = { method: HttpMethod | ""; fns: (H | Router<H extends FunctionLike ? H : never>)[]; isMiddle: boolean; } & ({ keys: string[] | false; pattern: RegExp; } | { matchAll: true; }); export declare class Router<H extends FunctionLike> { base: string; routes: Route<Nextable<H>>[]; constructor(base?: string, routes?: Route<Nextable<H>>[]); add(method: HttpMethod | "", route: RouteMatch | Nextable<H>, ...fns: Nextable<H>[]): this; use(base: RouteMatch | Nextable<H> | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this; clone(base?: string): Router<H>; static exec<H extends FunctionLike>(fns: Nextable<H>[], ...args: Parameters<H>): Promise<unknown>; find(method: HttpMethod, pathname: string): FindResult<H>; }