exports types
This commit is contained in:
30
types.ts
Normal file
30
types.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
export interface RouterContext {
|
||||
url: URL;
|
||||
params: Record<string, string | undefined>;
|
||||
state: Record<string, unknown>;
|
||||
pattern: URLPattern;
|
||||
request: Request;
|
||||
}
|
||||
|
||||
export type Handler = (req: Request, ctx: RouterContext) => Promise<Response> | Response;
|
||||
export type Middleware = (ctx: RouterContext, next: () => Promise<Response>) => Promise<Response>;
|
||||
|
||||
export interface RouteConfig {
|
||||
pattern: URLPattern;
|
||||
handlers: { [method: string]: Handler };
|
||||
}
|
||||
|
||||
export interface MiddlewareConfig {
|
||||
pattern: URLPattern;
|
||||
handler: Middleware;
|
||||
path: string;
|
||||
}
|
||||
|
||||
export interface RouteConfigurator {
|
||||
get(handler: Handler): RouteConfigurator;
|
||||
post(handler: Handler): RouteConfigurator;
|
||||
put(handler: Handler): RouteConfigurator;
|
||||
delete(handler: Handler): RouteConfigurator;
|
||||
patch(handler: Handler): RouteConfigurator;
|
||||
options(handler: Handler): RouteConfigurator;
|
||||
}
|
Reference in New Issue
Block a user