keiro
Version:
A filesystem routing middleware
23 lines • 1.28 kB
TypeScript
import type { RequestHandler, Middleware } from "./types";
export declare const EXTENSIONS: readonly string[];
export declare const HTTP_METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"];
export type HttpMethod = (typeof HTTP_METHODS)[number];
type RouteHttpMethodHandler = {
[M in HttpMethod]?: RequestHandler;
};
export type Route = RouteHttpMethodHandler & {
default?: RequestHandler;
};
export declare function importRoute(filePath: string): Promise<Route>;
export declare function importMiddleware(filePath: string): Promise<Middleware>;
export declare function importHandler(filePath: string): Promise<RequestHandler>;
export declare function getRouteHandler(request: Request, route: Route): RequestHandler | undefined;
export declare function normalizePath(p: string): string;
export declare function headersToObject(headers: Headers): Record<string, string[]>;
export declare function objectToHeaders(obj: Record<string, string[]>): Headers;
export type DeepFreezed<T> = T extends Record<string, unknown> ? {
readonly [K in keyof T]: DeepFreezed<T[K]>;
} : T extends any[] ? ReadonlyArray<DeepFreezed<T[number]>> : T;
export declare function deepFreeze<T>(value: T): DeepFreezed<T>;
export {};
//# sourceMappingURL=utils.d.ts.map