@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
text/typescript
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 [];
}
}