@nodeboot/di
Version:
Dependency Injection plugin for Node-Boot
44 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.decorateDi = decorateDi;
/**
* Apply dependency injection decorator if dependency injection framework is available
* */
function decorateDi(target, options) {
return decorateTypeDi(target, options) || decorateInversify(target);
}
/**
* Apply @Service decorator if TypeDI framework is available
* */
function decorateTypeDi(target, options) {
let decorated;
try {
const { Service } = require("typedi");
Service(options)(target);
decorated = true;
}
catch (error) {
// TypeDi is not available
console.warn("@Service decorator is only applied if 'TypeDi' dependency is available!");
decorated = false;
}
return decorated;
}
/**
* Apply @injectable decorator if Inversify framework is available
* */
function decorateInversify(target) {
let decorated;
try {
const { injectable } = require("inversify");
injectable()(target);
decorated = true;
}
catch (error) {
// Inversify is not available
console.warn("'Inversify' dependency is not available! Please install it first");
decorated = false;
}
return decorated;
}
//# sourceMappingURL=makeDiDecoration.js.map