tedi
Version:
Express wrappper written in typescript with dependency injection capabilities
41 lines (40 loc) • 1.18 kB
TypeScript
import { Filter } from "./filter";
import { ErrorHandler } from "./error-handler";
import { Module } from "./module";
import { TediError } from "./tedi-error";
import { HttpMethods } from "./utils";
export interface RouteAction {
controller: Object;
controllerMethod: string;
}
export interface RouteActions extends HttpMethods<RouteAction> {
}
export declare const ROUTE_ACTIONS_BUILDER = "ROUTE_ACTIONS_BUILDER";
export interface RouteActionsBuilder {
build(jsonRoute: any, module: Module): RouteActions;
}
export interface RouteFilter {
token: any;
filter: Filter<any>;
}
export interface RouteErrorHandler {
token: any;
errorHandler: ErrorHandler;
}
export interface Route {
path: string;
filters: RouteFilter[];
errorHandlers: RouteErrorHandler[];
actions: RouteActions;
children: Route[];
}
export declare const ROUTER = "ROUTER";
export interface Router {
getRootRoute(jsonRoutes: any, module: Module): Route;
}
export declare class RouteError extends TediError {
constructor(route: Route, msg: string, error?: any);
}
export declare class RouterError extends TediError {
constructor(msg: string, error?: any);
}