Skip to content

Instantly share code, notes, and snippets.

@Sawtaytoes
Created December 12, 2019 08:04
Show Gist options
  • Save Sawtaytoes/20077f528555bea11e842356fa8a52dc to your computer and use it in GitHub Desktop.
Save Sawtaytoes/20077f528555bea11e842356fa8a52dc to your computer and use it in GitHub Desktop.
const WebSocket = require('ws')
const { webSocket } = require('rxjs/webSocket')
const createWebSocketConnection = ({
protocol,
url,
}) => (
webSocket({
protocol,
url,
WebSocketCtor: WebSocket,
})
)
module.exports = createWebSocketConnection
const { timer } = require('rxjs')
const createWebSocketConnection = require('./createWebSocketConnection')
const listenToWebSocketConnection = ({
callback,
connectionInfo,
reconnectTimeout = 5000,
}) => (
createWebSocketConnection(
connectionInfo
)
.subscribe({
error: (
timer(
reconnectTimeout,
)
.subscribe(() => (
listenToWebSocketConnection(
callback
)
))
),
next: callback,
})
)
module.exports = listenToWebSocketConnection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment