UNPKG

inversify

Version:

A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.

15 lines (14 loc) 744 B
import { UNDEFINED_INJECT_ANNOTATION } from '../constants/error_msgs'; import { Metadata } from '../planning/metadata'; import { createTaggedDecorator } from './decorator_utils'; export function injectBase(metadataKey) { return function (serviceIdentifier) { return function (target, targetKey, indexOrPropertyDescriptor) { if (serviceIdentifier === undefined) { var className = typeof target === 'function' ? target.name : target.constructor.name; throw new Error(UNDEFINED_INJECT_ANNOTATION(className)); } return createTaggedDecorator(new Metadata(metadataKey, serviceIdentifier))(target, targetKey, indexOrPropertyDescriptor); }; }; }