UNPKG

@mvx/mvc

Version:

@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks

66 lines (64 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MiddlewareRegister = void 0; var tslib_1 = require("tslib"); var ioc_1 = require("@tsdi/ioc"); var MvcMiddlewares_1 = require("./MvcMiddlewares"); /** * middleware register. * * @export * @class MiddlewareRegister */ var MiddlewareRegister = /** @class */ (function () { function MiddlewareRegister() { this.map = new Map(); } MiddlewareRegister.prototype.set = function (key, val) { this.map.set(key, val); }; /** * setup middleware. * * @param {ICoreInjector} injector * @memberof MiddlewareRegister */ MiddlewareRegister.prototype.setup = function (injector) { this.map.forEach(function (meta, middle) { var middlewares = injector.getInstance(MvcMiddlewares_1.MvcMiddlewares); if (meta.regIn) { var comp = meta.regIn; if (!injector.has(comp)) { injector.register(comp); } middlewares = injector.get(comp); } if (meta.before) { middlewares.useBefore(middle, meta.before); } else if (meta.after) { middlewares.useAfter(middle, meta.after); } else { middlewares.use(middle); } }); }; MiddlewareRegisterAnn = function () { return { "name": "MiddlewareRegister", "params": { "set": ["key", "val"], "setup": ["injector"] } }; }; MiddlewareRegisterNPT = true; tslib_1.__decorate([ tslib_1.__param(0, ioc_1.Inject(ioc_1.INJECTOR)), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Object]), tslib_1.__metadata("design:returntype", void 0) ], MiddlewareRegister.prototype, "setup", null); MiddlewareRegister = tslib_1.__decorate([ ioc_1.Singleton(), tslib_1.__metadata("design:paramtypes", []) ], MiddlewareRegister); return MiddlewareRegister; }()); exports.MiddlewareRegister = MiddlewareRegister; //# sourceMappingURL=../sourcemaps/middlewares/MiddlewareRegister.js.map