UNPKG

@clawject/di

Version:

<p align="center"> <a href="https://clawject.com/" target="_blank"><img src="https://clawject.com/img/logo.svg" align="center" alt="Clawject Logo" width="120" height="120" /></a> </p>

23 lines (22 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApplicationBeanFinder = void 0; const RuntimeErrors_1 = require("../api/RuntimeErrors"); class ApplicationBeanFinder { constructor(configurationIdToBeanClassPropertyToApplicationBean, applicationConfigurationFactory) { this.configurationIdToBeanClassPropertyToApplicationBean = configurationIdToBeanClassPropertyToApplicationBean; this.applicationConfigurationFactory = applicationConfigurationFactory; } find(configurationIndex, beanClassProperty) { const configuration = this.applicationConfigurationFactory.getConfigurationByIndex(configurationIndex); const beanClassPropertyToApplicationBean = this.configurationIdToBeanClassPropertyToApplicationBean.get(configuration.id); if (!beanClassPropertyToApplicationBean) { throw new RuntimeErrors_1.RuntimeErrors.IllegalStateError('No instantiated configuration found by index'); } if (!beanClassPropertyToApplicationBean.has(beanClassProperty)) { throw new RuntimeErrors_1.RuntimeErrors.IllegalStateError('No application bean found by class property'); } return beanClassPropertyToApplicationBean.get(beanClassProperty); } } exports.ApplicationBeanFinder = ApplicationBeanFinder;