@o-galaxy/ether
Version:
Rest Api Framework
31 lines • 938 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
class Injector {
static create() {
return new Injector();
}
constructor() { }
resolve(target, tokens) {
let metaTokens;
// tokens are required dependencies, while injections are resolved tokens from the Injector
if (!target) {
return;
}
if (arguments.length == 2 && tokens != undefined && tokens != null && Array.isArray(tokens)) {
metaTokens = tokens;
}
else {
metaTokens = Reflect.getMetadata('design:paramtypes', target) || [];
}
const injections = metaTokens.map(token => this.resolve(token));
try {
return new target(...injections);
}
catch (error) {
throw error;
}
}
}
exports.Injector = Injector;
//# sourceMappingURL=injector.js.map