RouteInjector/route-injector

View on GitHub
lib/app/internals/MiddlewareRegistry.js

Summary

Maintainability
A
1 hr
Test Coverage
"use strict";
///<reference path='../../../typings/index.d.ts'/>
var FSUtils = require("../../utils/FSUtils");
'use strict';
var Logger = require("./Logger");
var MiddlewareRegistry = /** @class */ (function () {
    function MiddlewareRegistry(config) {
        this._middlewares = {};
        this.config = config;
        MiddlewareRegistry.logger.trace("Creating MiddlewareRegistry instance");
        config.routes = config.routes || {};
        this.customMiddlewareDirs = config.routes.customMiddlewares || [];
    }
    MiddlewareRegistry.create = function (config) {
        return new MiddlewareRegistry(config);
    };
    MiddlewareRegistry.prototype.forEachMiddleware = function (callback) {
        var _this = this;
        this.customMiddlewareDirs.forEach(function (dir) {
            var absFolder = FSUtils.join(_this.config.appPath, dir);
            var files = FSUtils.getFiles(absFolder);
            files.forEach(function (file) {
                var middleware = require(FSUtils.join(absFolder, file));
                callback(middleware.middleware);
            });
        });
    };
    MiddlewareRegistry.prototype.get = function (name) {
        return this._middlewares[name];
    };
    Object.defineProperty(MiddlewareRegistry.prototype, "middlewares", {
        get: function () {
            return this._middlewares;
        },
        enumerable: true,
        configurable: true
    });
    MiddlewareRegistry.logger = Logger.getLogger(__filename);
    return MiddlewareRegistry;
}());
module.exports = MiddlewareRegistry;
//# sourceMappingURL=MiddlewareRegistry.js.map