UNPKG

@nodeboot/di

Version:

Dependency Injection plugin for Node-Boot

47 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decorateInjection = decorateInjection; /** * Apply proper @Inject decorator if dependency injection framework is available * */ function decorateInjection(target, propertyName, index, options) { return decorateTypeDi(target, propertyName, index, options) || decorateInversify(target, propertyName, index); } /** * Apply @Inject decorator if TypeDI framework is available * */ function decorateTypeDi(target, propertyName, index, options) { let decorated; try { const { Inject } = require("typedi"); Inject(options)(target, propertyName, index); decorated = true; } catch (error) { if (error.name === "CannotInjectValueError") { throw error; } // TypeDi is not available console.warn("@Service decorator is only applied if 'TypeDi' dependency is available!"); decorated = false; } return decorated; } /** * Apply @inject decorator if Inversify framework is available * */ function decorateInversify(target, propertyName, index, options) { let decorated; try { const { inject } = require("inversify"); inject(options)(target, propertyName, index); decorated = true; } catch (error) { // Inversify is not available console.warn("@inject decorator is only applied if 'Inversify' dependency is available!"); decorated = false; } return decorated; } //# sourceMappingURL=makeInjectionDecoration.js.map