UNPKG

@sauce-api/core

Version:

Sauce API core functionality

36 lines (35 loc) 1.47 kB
import { Route } from "./Route"; import { SauceConfig } from "../resources/SauceConfig"; import { Application } from "express"; import { Sauce } from "../Sauce"; import { ObjectOfAnything } from "../resources/Common"; import { FormattedRoute, RouteGrouping } from "../@types/Routes.types"; interface BindRoutesArgs<custom> { app: Application; sauceCustom: Sauce<custom>["custom"]; } /** * Manages the application's route configurations. * * @property {Array} routesArray - * It's strongly recommended to utilize the RouteDefinitions * file to manage your defined routes. This will make your * configured routes far more manageable and readable */ export declare class Routes { private config; routesArray: Route[]; private controllerMap; constructor(config: SauceConfig); getFormattedRoutes(stripHidden?: boolean): Promise<(FormattedRoute | RouteGrouping)[]>; processRoutes(routeGroups: (FormattedRoute | RouteGrouping)[]): (FormattedRoute | RouteGrouping)[]; sortRoutes(routes: (FormattedRoute | RouteGrouping)[]): (FormattedRoute | RouteGrouping)[]; sortRouteGroups(routes: RouteGrouping[]): RouteGrouping[]; private formatRoutes; private cleanRouteParams; private addToControllerMap; private getControllerPathFromRoute; /** This should only run on startup so it's fine that it's not async */ bindRoutes<custom = ObjectOfAnything>({ app, sauceCustom }: BindRoutesArgs<custom>): void; } export {};