UNPKG

@methodus/server

Version:
53 lines 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const config_1 = require("./config"); const log_1 = require("./log/"); const server_1 = require("./server"); const events_1 = require("events"); let ConfiguredServer = class ConfiguredServer extends events_1.EventEmitter { constructor(target) { super(); if (target) { this.target = target; } this.init(); } async init() { const options = this.target.prototype.options; const server = new server_1.Server(); this.server = server; server.config = new config_1.MethodusConfig(); options.servers.forEach((element) => { if (server.config) { server.config.run(element.serverType, element.options); } }); options.classes.forEach((element) => { if (server.config) { server.config.use(element.controller, element.methodType, element.serverType); } }); options.clients.forEach((element) => { if (server.config) { server.config.useClient(element.controller, element.transportType, element.resolver); } }); if (options.plugins) { server.plugins(options.plugins); } await server.start(); this.emit('ready'); } kill() { if (this.server) { this.server.kill(); } } }; ConfiguredServer = tslib_1.__decorate([ log_1.LogClass(log_1.logger), tslib_1.__metadata("design:paramtypes", [Object]) ], ConfiguredServer); exports.ConfiguredServer = ConfiguredServer; //# sourceMappingURL=server.configured.js.map