@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
JavaScript
;
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;