1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const injector_1 = require("../injector/injector");
|
4 | class MiddlewareResolver {
|
5 | constructor(middlewareContainer) {
|
6 | this.middlewareContainer = middlewareContainer;
|
7 | this.instanceLoader = new injector_1.Injector();
|
8 | }
|
9 | async resolveInstances(module, moduleName) {
|
10 | const middleware = this.middlewareContainer.getMiddlewareCollection(moduleName);
|
11 | const resolveInstance = async (wrapper) => this.resolveMiddlewareInstance(wrapper, middleware, module);
|
12 | await Promise.all([...middleware.values()].map(resolveInstance));
|
13 | }
|
14 | async resolveMiddlewareInstance(wrapper, middleware, module) {
|
15 | await this.instanceLoader.loadMiddleware(wrapper, middleware, module);
|
16 | }
|
17 | }
|
18 | exports.MiddlewareResolver = MiddlewareResolver;
|