Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 7x 3x 3x 1x 3x 7x 7x 3x | import Container from '../../utils/container/index';
function InjectTypePrivate<T>(Type) {
const currentType = new Type();
if (!Container.has(currentType.name)) {
Container.set(currentType.name, currentType);
}
return Container.get<T>(currentType.name);
}
// Beta type injector not working in this moment
export function TypeInjector<T, K extends keyof T>(Type): Function {
return function (target: Function, propertyName: string, index?: number) {
target[propertyName] = InjectTypePrivate(Type);
target.constructor.prototype[propertyName] = InjectTypePrivate(Type);
};
}
export function InjectType<T, K extends keyof T>(Service): T {
return InjectTypePrivate<T>(Service);
}
|