@methodus/server
Version:
Server components for @methodus workflow
53 lines • 2.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const log_1 = require("../log");
const class_config_1 = require("./class-config");
const client_config_1 = require("./client-config");
const server_config_1 = require("./server-config");
let MethodusConfig = class MethodusConfig {
constructor(servers, map) {
this.classes = new Map();
this.clients = new Map();
this.port = 0;
if (servers) {
this.servers = servers;
}
if (map) {
this.classes = map;
}
}
useClient(classType, transportType, resolver) {
if (transportType === "Http" && !resolver) {
throw (new Error('Http transport requires a resolver, pass in a string or a promise'));
}
const configEntry = new client_config_1.MethodusClientConfig(classType, transportType, resolver);
this.clients.set(classType.name, configEntry);
}
use(classType, methodType, serverType, resolver) {
if (methodType === "Http" && !resolver) {
throw (new Error('Http transport requires a resolver, pass in a string or a promise'));
}
const configEntry = new class_config_1.MethodusClassConfig(classType, methodType, serverType, resolver);
this.classes.set(classType.name, configEntry);
}
run(serverType, configuration) {
this.servers = this.servers || [];
this.servers.push(new server_config_1.ServerConfig(serverType, configuration));
}
};
MethodusConfig = tslib_1.__decorate([
log_1.LogClass(log_1.logger),
tslib_1.__metadata("design:paramtypes", [Array, Map])
], MethodusConfig);
exports.MethodusConfig = MethodusConfig;
class MethodusConfigurations {
static add(configurationInstance) {
this._configurations = configurationInstance;
}
static get() {
return this._configurations;
}
}
exports.MethodusConfigurations = MethodusConfigurations;
//# sourceMappingURL=config.js.map