UNPKG

tsyringe

Version:

Lightweight dependency injection container for JavaScript/TypeScript

20 lines (19 loc) 668 B
import { getParamInfo } from "../reflection-helpers"; import { typeInfo } from "../dependency-container"; import { instance as globalContainer } from "../dependency-container"; function injectable(options) { return function (target) { typeInfo.set(target, getParamInfo(target)); if (options && options.token) { if (!Array.isArray(options.token)) { globalContainer.register(options.token, target); } else { options.token.forEach(token => { globalContainer.register(token, target); }); } } }; } export default injectable;