UNPKG

reactant-di

Version:

A dependency injection lib for Reactant

18 lines (15 loc) 802 B
import 'reflect-metadata'; import { decorate, optional } from 'inversify'; import { multiInject } from './multiInject.js'; import { METADATA_KEY } from '../constants.js'; import { setMetadata } from '../util.js'; function multiOptional(serviceIdentifier) { return function (target, key, index) { var paramtypes = Reflect.getMetadata(METADATA_KEY.paramtypes, target); setMetadata(METADATA_KEY.optional, paramtypes === null || paramtypes === void 0 ? void 0 : paramtypes[index], serviceIdentifier); setMetadata(METADATA_KEY.multiple, paramtypes === null || paramtypes === void 0 ? void 0 : paramtypes[index], serviceIdentifier); decorate(multiInject(serviceIdentifier), target, index); decorate(optional(), target, index); }; } export { multiOptional };