UNPKG

@dechamp/express-auto-route

Version:

An express auto route module which allows routes and middleware to be configured via config file.

33 lines (26 loc) 654 B
const joi = require("@hapi/joi"); export default class AutoRoutePluginCallback { private readonly middlewares: any[]; constructor(middlewares: any[] = []) { if (middlewares) { joi.assert(middlewares, joi.array().items( joi.func() )); } this.middlewares = middlewares; } buildCallback(route) { if (this.middlewares) { return this.middlewares.map(middleware => { return async (req, res, next) => { req.config = { route, }; return await middleware(req, res, next); }; }, ); } return []; } }