@decorators/server
Version:
node decorators - decorators for express library
36 lines • 3.94 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContainerManager = void 0;
const di_1 = require("@decorators/di");
let ContainerManager = exports.ContainerManager = class ContainerManager {
constructor() {
this.containers = new Map();
}
create(module) {
const container = new di_1.Container();
this.containers.set(module, container);
return container;
}
get(module) {
return this.containers.get(module);
}
async scan(target, pickAll = false) {
const providers = [];
for (const container of [...this.containers.values()]) {
if (container.has(target)) {
providers.push(await container.get(target));
}
}
return pickAll ? providers : providers[0];
}
};
exports.ContainerManager = ContainerManager = __decorate([
(0, di_1.Injectable)()
], ContainerManager);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9oZWxwZXJzL2NvbnRhaW5lci1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHVDQUF1RTtBQUtoRSxJQUFNLGdCQUFnQiw4QkFBdEIsTUFBTSxnQkFBZ0I7SUFBdEI7UUFDRyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUF5QjlELENBQUM7SUF2QkMsTUFBTSxDQUFDLE1BQXdCO1FBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBUyxFQUFFLENBQUM7UUFFbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxHQUFHLENBQUMsTUFBd0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBSSxNQUF5QyxFQUFFLE9BQU8sR0FBRyxLQUFLO1FBQ3RFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVyQixLQUFLLE1BQU0sU0FBUyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDckQsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGLENBQUE7MkJBMUJZLGdCQUFnQjtJQUQ1QixJQUFBLGVBQVUsR0FBRTtHQUNBLGdCQUFnQixDQTBCNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGRlY29yYXRvcnMvZGknO1xuXG5pbXBvcnQgeyBDbGFzc0NvbnN0cnVjdG9yIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyTWFuYWdlciB7XG4gIHByaXZhdGUgY29udGFpbmVycyA9IG5ldyBNYXA8Q2xhc3NDb25zdHJ1Y3RvciwgQ29udGFpbmVyPigpO1xuXG4gIGNyZWF0ZShtb2R1bGU6IENsYXNzQ29uc3RydWN0b3IpIHtcbiAgICBjb25zdCBjb250YWluZXIgPSBuZXcgQ29udGFpbmVyKCk7XG5cbiAgICB0aGlzLmNvbnRhaW5lcnMuc2V0KG1vZHVsZSwgY29udGFpbmVyKTtcblxuICAgIHJldHVybiBjb250YWluZXI7XG4gIH1cblxuICBnZXQobW9kdWxlOiBDbGFzc0NvbnN0cnVjdG9yKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVycy5nZXQobW9kdWxlKTtcbiAgfVxuXG4gIGFzeW5jIHNjYW48VD4odGFyZ2V0OiBJbmplY3Rpb25Ub2tlbiB8IENsYXNzQ29uc3RydWN0b3IsIHBpY2tBbGwgPSBmYWxzZSk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IHByb3ZpZGVycyA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb250YWluZXIgb2YgWy4uLnRoaXMuY29udGFpbmVycy52YWx1ZXMoKV0pIHtcbiAgICAgIGlmIChjb250YWluZXIuaGFzKHRhcmdldCkpIHtcbiAgICAgICAgcHJvdmlkZXJzLnB1c2goYXdhaXQgY29udGFpbmVyLmdldCh0YXJnZXQpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGlja0FsbCA/IHByb3ZpZGVycyA6IHByb3ZpZGVyc1swXTtcbiAgfVxufVxuIl19