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