UNPKG

@tsclean/core

Version:

Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.

20 lines 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MiddlewareResolver = void 0; const injector_1 = require("../core/injector/injector"); class MiddlewareResolver { constructor(middlewareContainer) { this.middlewareContainer = middlewareContainer; this.instanceLoader = new injector_1.Injector(); } async resolveInstances(moduleRef, moduleName) { const middleware = this.middlewareContainer.getMiddlewareCollection(moduleName); const resolveInstance = async (wrapper) => this.resolveMiddlewareInstance(wrapper, middleware, moduleRef); await Promise.all([...middleware.values()].map(resolveInstance)); } async resolveMiddlewareInstance(wrapper, middleware, moduleRef) { await this.instanceLoader.loadMiddleware(wrapper, middleware, moduleRef); } } exports.MiddlewareResolver = MiddlewareResolver; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlkZGxld2FyZS9yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBcUQ7QUFNckQsTUFBYSxrQkFBa0I7SUFHN0IsWUFBNkIsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFGcEQsbUJBQWMsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztJQUV1QixDQUFDO0lBRWxFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLFVBQWtCO1FBQ2pFLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsT0FBd0IsRUFBRSxFQUFFLENBQ3pELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLEtBQUssQ0FBQyx5QkFBeUIsQ0FDckMsT0FBd0IsRUFDeEIsVUFBbUQsRUFDbkQsU0FBaUI7UUFFakIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQXBCRCxnREFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJy4uL2NvcmUvaW5qZWN0b3IvaW5qZWN0b3InO1xuaW1wb3J0IHsgSW5zdGFuY2VXcmFwcGVyIH0gZnJvbSAnLi4vY29yZS9pbmplY3Rvci9pbnN0YW5jZS13cmFwcGVyJztcbmltcG9ydCB7IE1vZHVsZSB9IGZyb20gJy4uL2NvcmUvaW5qZWN0b3IvbW9kdWxlJztcbmltcG9ydCB7IE1pZGRsZXdhcmVDb250YWluZXIgfSBmcm9tICcuL2NvbnRhaW5lcic7XG5pbXBvcnQge0luc3RhbmNlVG9rZW5UeXBlfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIE1pZGRsZXdhcmVSZXNvbHZlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VMb2FkZXIgPSBuZXcgSW5qZWN0b3IoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1pZGRsZXdhcmVDb250YWluZXI6IE1pZGRsZXdhcmVDb250YWluZXIpIHt9XG5cbiAgcHVibGljIGFzeW5jIHJlc29sdmVJbnN0YW5jZXMobW9kdWxlUmVmOiBNb2R1bGUsIG1vZHVsZU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG1pZGRsZXdhcmUgPVxuICAgICAgdGhpcy5taWRkbGV3YXJlQ29udGFpbmVyLmdldE1pZGRsZXdhcmVDb2xsZWN0aW9uKG1vZHVsZU5hbWUpO1xuICAgIGNvbnN0IHJlc29sdmVJbnN0YW5jZSA9IGFzeW5jICh3cmFwcGVyOiBJbnN0YW5jZVdyYXBwZXIpID0+XG4gICAgICB0aGlzLnJlc29sdmVNaWRkbGV3YXJlSW5zdGFuY2Uod3JhcHBlciwgbWlkZGxld2FyZSwgbW9kdWxlUmVmKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChbLi4ubWlkZGxld2FyZS52YWx1ZXMoKV0ubWFwKHJlc29sdmVJbnN0YW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNvbHZlTWlkZGxld2FyZUluc3RhbmNlKFxuICAgIHdyYXBwZXI6IEluc3RhbmNlV3JhcHBlcixcbiAgICBtaWRkbGV3YXJlOiBNYXA8SW5zdGFuY2VUb2tlblR5cGUsIEluc3RhbmNlV3JhcHBlcj4sXG4gICAgbW9kdWxlUmVmOiBNb2R1bGUsXG4gICkge1xuICAgIGF3YWl0IHRoaXMuaW5zdGFuY2VMb2FkZXIubG9hZE1pZGRsZXdhcmUod3JhcHBlciwgbWlkZGxld2FyZSwgbW9kdWxlUmVmKTtcbiAgfVxufVxuIl19