alapa
Version:
A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.
46 lines (45 loc) • 2.41 kB
TypeScript
import { RequestHandler } from "../interface/general";
import { Router as ExpressRouter, RequestHandler as ExpressRequestHandler } from "express";
import { RouteChain } from "../interface/route-chain";
import { IRouter } from "../interface/router";
import { RouterOptions } from "express";
import { MethodList } from "../interface/method";
import { ResourcefulOptions } from "../interface/resourceful";
import { StringObject } from "../../../interface/object";
export declare class Router implements IRouter {
private routeChain;
private expressRouter;
private routesNames;
private middleware;
private resourceHandlers;
constructor(options?: RouterOptions);
getNames: () => StringObject;
get(path: string, ...handlers: RequestHandler[]): RouteChain;
post(path: string, ...handlers: RequestHandler[]): RouteChain;
put(path: string, ...handlers: RequestHandler[]): RouteChain;
delete(path: string, ...handlers: RequestHandler[]): RouteChain;
patch(path: string, ...handlers: RequestHandler[]): RouteChain;
options(path: string, ...handlers: RequestHandler[]): RouteChain;
head(path: string, ...handlers: RequestHandler[]): RouteChain;
resource(path: string, controller: any, option?: ResourcefulOptions): RouteChain;
restfulResource(path: string, controller: any, option?: ResourcefulOptions): RouteChain;
apiResource(path: string, controller: any, option?: ResourcefulOptions): RouteChain;
resources(resources: {
[route: string]: any;
}, options: ResourcefulOptions): RouteChain;
restfulResources(resources: {
[route: string]: any;
}, options: ResourcefulOptions): RouteChain;
apiResources(resources: {
[route: string]: any;
}, options: ResourcefulOptions): RouteChain;
view(path: string, view: string, data?: object): RouteChain;
toExpressRoutes(): ExpressRouter;
addExpressRoute(method: MethodList, path: string, ...handlers: ExpressRequestHandler[]): void;
private addRoute;
private getRoutes;
private addMethod;
use(pathOrHandler: string | RequestHandler | Router | IRouter, ...handlers: RequestHandler[] | Router[] | IRouter[]): RouteChain;
all(path: string, ...handlers: RequestHandler[]): RouteChain;
protected processUse(pathOrHandler: string | RequestHandler | Router | IRouter, ...handlers: RequestHandler[] | Router[] | IRouter[]): RouteChain;
}