ws = ({ url, onConnectEmit, parser = JSON.parse }) =>
Generators.observe(notify => {
const socket = io(url);
socket.on("message", message => {
notify(parser(message));
});
socket.on("connect", function() {
console.log(`Connected to ${url}.`);
onConnectEmit && socket.emit.apply(this, onConnectEmit);
});
socket.on("disconnect", () => console.log(`Disconnected from ${url}.`));
return () => socket.close();
})