UNPKG

express-ts-skeleton

Version:

This is a skeleton(boiler plate) for nodejs, express and typescript.

52 lines (51 loc) 2.53 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Routehelper = void 0; const express_1 = require("express"); const httpHandler_1 = require("./httpHandler"); //MARK: routerHelper class routerHelper extends httpHandler_1.httpHelper { constructor() { super(); /** * Assembles and configures routes on the router with specified controller, routes, * and optional middlewares for each route. * @param {object} controller - The controller containing route handlers. * @param {RouteFormat[]} routes - An array of route configurations. * @returns {Router} The configured Express router. */ this.assembleRouter = ( // eslint-disable-next-line @typescript-eslint/no-explicit-any controller, routes) => { const router = (0, express_1.Router)(); routes.forEach((route) => { const middlewares = route.middlewares || []; router[route.type](route.path, ...middlewares, this.valid(route.validate), this.handler(controller, route.handler)); }); return router; }; /** * Mounts an array of route configurations onto the router. * @param {Array<{ path: string, route: any }>} routes - An array of route configurations, * each containing a `path` (string) and a `route` (express.Router). * @returns {express.Router} The router with the routes mounted. */ this.mountRoutes = (routes) => { const router = (0, express_1.Router)(); routes.forEach((route) => __awaiter(this, void 0, void 0, function* () { router.use(route.path, route.route); })); return router; }; } } exports.Routehelper = new routerHelper();