UNPKG

@decorators/server

Version:

node decorators - decorators for express library

36 lines 3.94 kB
"use strict"; 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