react-obsidian
Version:
Dependency injection framework for React and React Native applications
18 lines (16 loc) • 567 B
text/typescript
import { isNumber } from '../../utils/isNumber';
import InjectionMetadata from '../../injectors/class/InjectionMetadata';
export function Inject(name?: string) {
return (
target: Object | any,
_propertyKey?: string,
indexOrPropertyDescriptor?: number | PropertyDescriptor,
) => {
const metadata = new InjectionMetadata();
if (isNumber(indexOrPropertyDescriptor)) {
metadata.saveConstructorParamMetadata(target, name!, indexOrPropertyDescriptor);
} else {
metadata.savePropertyMetadata(target.constructor, name!);
}
};
}