@nova-ts/context
Version:
A TypeScript library for Dependency Injection
24 lines (22 loc) • 698 B
JavaScript
import {
ApplicationContext
} from "./chunk-WIUZQ3FQ.js";
// src/Decorators/Bean.ts
function Bean(key) {
return function(target, propertyKey, descriptor) {
const method = descriptor.value;
const beanInstance = method.apply(null);
if (!beanInstance || typeof beanInstance !== "object") {
throw new Error(`@Bean: Method '${String(propertyKey)}' did not return an object`);
}
const clazzType = key || beanInstance.constructor.name;
if (ApplicationContext.isBound(clazzType)) {
ApplicationContext.unbind(clazzType);
}
ApplicationContext.bind(clazzType).toConstantValue(beanInstance);
};
}
export {
Bean
};
//# sourceMappingURL=chunk-SFN6VJYL.js.map