UNPKG

@johnf/react-native-owl

Version:
32 lines (30 loc) 1.02 kB
"use strict"; import { WEBSOCKET_PORT } from "../constants.js"; import { ANDROID_WS_HOST, IOS_WS_HOST } from "./constants.js"; /** * Create a connection to the websocket server, * and call the onMessage callback when it receives any messages. */ export const initWebSocket = (logger, platform, onMessage) => { const ipAddress = platform === 'android' ? ANDROID_WS_HOST : IOS_WS_HOST; const ws = new WebSocket(`ws://${ipAddress}:${WEBSOCKET_PORT}`); return new Promise((resolve, reject) => { ws.onopen = () => { logger.info('[OWL - Websocket] onopen'); ws.send('OWL Client Connected!'); resolve(ws); }; ws.onmessage = e => { logger.info(`[OWL - Websocket] onmessage: ${e.data}`); onMessage(e.data.toString()); }; ws.onerror = e => { logger.info(`[OWL - Websocket] onerror: ${e.message}`); }; ws.onclose = e => { logger.info(`[OWL - Websocket] onclose: ${e.reason}`); reject(e); }; }); }; //# sourceMappingURL=websocket.js.map