@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
20 lines • 3.42 kB
JavaScript
;
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