git.iko.soy/rowtype-yoga/purescript-prospero
on v0.1.0 help sign in
16 lines 613 B history raw
1export const connectImpl = (url) => (onOpen) => (onMessage) => (onClose) => (onError) => () => {
2 const ws = new WebSocket(url, ["graphql-transport-ws"]);
3 ws.addEventListener("open", () => onOpen(ws)());
4 ws.addEventListener("message", (event) => onMessage(typeof event.data === "string" ? event.data : event.data.toString())());
5 ws.addEventListener("close", () => onClose());
6 ws.addEventListener("error", (err) => onError(err.message || "WebSocket error")());
7 return ws;
8};
10export const sendImpl = (ws) => (msg) => () => {
11 ws.send(msg);
12};
14export const closeImpl = (ws) => () => {
15 ws.close();
16};