UNPKG

@iotize/cli

Version:
50 lines 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const impl_1 = require("@iotize/device-client.js/relay/impl"); const device_com_socket_node_1 = require("@iotize/device-com-socket.node"); const relay_1 = require("@iotize/device-com-socket.node/relay"); const device_com_websocket_js_1 = require("@iotize/device-com-websocket.js"); const relay_2 = require("@iotize/device-com-websocket.js/relay"); const url_1 = require("url"); class RelayServerFactory { static fromProtocol(comProtocol, options) { let serverType = ''; if (comProtocol instanceof device_com_websocket_js_1.WebSocketProtocol) { serverType = 'websocket'; if (!options) { options = { port: parseInt(url_1.parse(comProtocol.params.url).port) }; } } else if (comProtocol instanceof device_com_socket_node_1.SocketProtocol) { serverType = 'socket'; if (!options) { options = { port: comProtocol.socketOptions.port }; } } else { throw new Error(`Not relay server factory from this protocol`); } return RelayServerFactory.fromType(serverType, options); } static fromType(type, options) { let serverAdapter; switch (type) { case 'websocket': serverAdapter = new relay_2.WebSocketAdapter.Server(); //TODO break; case 'socket': serverAdapter = new relay_1.SocketAdapter.Server(); //TODO break; default: throw new Error(`Server type ${type} not implemented yet`); } let relayServer = new impl_1.RelayServer(serverAdapter, options); return relayServer; } } exports.RelayServerFactory = RelayServerFactory; //# sourceMappingURL=relay-server-factory.js.map