UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge

19 lines (18 loc) 847 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const injector_1 = require("../injector/injector"); class MiddlewareResolver { constructor(middlewareContainer) { this.middlewareContainer = middlewareContainer; this.instanceLoader = new injector_1.Injector(); } async resolveInstances(module, moduleName) { const middleware = this.middlewareContainer.getMiddlewareCollection(moduleName); const resolveInstance = async (wrapper) => this.resolveMiddlewareInstance(wrapper, middleware, module); await Promise.all([...middleware.values()].map(resolveInstance)); } async resolveMiddlewareInstance(wrapper, middleware, module) { await this.instanceLoader.loadMiddleware(wrapper, middleware, module); } } exports.MiddlewareResolver = MiddlewareResolver;