UNPKG

@methodus/server

Version:
73 lines 3.09 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const uuidv1 = require('uuid/v1'); const _1 = require("../response/"); const Request_1 = require("../servers/express/Request"); class ServersList { constructor() { this.instances = {}; this.classes = {}; this.instances = {}; } addServer(server) { let id = uuidv1(); this.instances[id] = server; return id; } set(instanceId, serverType, instance) { this.instances[instanceId][serverType] = instance; return instance; } get(instanceId, serverType) { if (serverType) return this.instances[instanceId][serverType]; else return this.instances[instanceId]; } emit(methodEvent) { return __awaiter(this, void 0, void 0, function* () { for (let instanceKey in this.instances) { if (this.instances[instanceKey][methodEvent.serverType]) { const result = this.instances[instanceKey][methodEvent.serverType]._sendEvent(methodEvent); return result; } } }); } send(server, functionArgs, methodus, paramsMap, securityContext) { if (this.instances && Object.keys(this.instances).length) { for (let instanceKey in this.instances) { if (this.instances[instanceKey][server]) { const result = this.instances[instanceKey][server]._send(functionArgs, methodus, paramsMap, securityContext); return result; } } } else { if (server === "express" /* Express */ || server === "express" /* ExpressPartial */) { const request = new Request_1.Request(); let baseUrl = methodus.resolver(); if (baseUrl) { return request.sendRequest(methodus.verb, baseUrl + methodus.route, functionArgs, paramsMap, securityContext); } else { return new _1.MethodError('no server found for this method' + methodus.route, 302); } } } } } exports.ServersList = ServersList; if (!global.METHODUS_BRIDGE) { global.METHODUS_BRIDGE = new ServersList(); } exports.Servers = global.METHODUS_BRIDGE; //# sourceMappingURL=serversList.js.map