UNPKG

@nodearch/express

Version:
49 lines 2.06 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Service } from '@nodearch/core'; import { ErrorRegistry } from '../errors/error-registry.js'; let MiddlewareFactory = class MiddlewareFactory { constructor(errorRegistry) { this.errorRegistry = errorRegistry; } createExpressMiddleware(middlewareInfo) { return middlewareInfo.map(mw => { return this.createMiddlewareHandler(mw); }); } defaultRouterMiddleware(componentInfo) { return (req, res, next) => { req.nodearch = { controller: componentInfo.getInstance() }; next(); }; } createMiddlewareHandler(middlewareInfo) { return (req, res, next) => { const middlewareHandler = req.nodearch.controller[middlewareInfo.dependencyKey]; middlewareHandler .handler({ args: { req, res }, options: middlewareInfo.options }) .then(() => next()) .catch((err) => { this.errorRegistry.handleError(err, res); }); }; } }; MiddlewareFactory = __decorate([ Service(), __metadata("design:paramtypes", [ErrorRegistry]) ], MiddlewareFactory); export { MiddlewareFactory }; //# sourceMappingURL=middleware-factory.js.map