]> git.r.bdr.sh - rbdr/forum/blobdiff - app/socket_coordinator.js
Remove server
[rbdr/forum] / app / socket_coordinator.js
diff --git a/app/socket_coordinator.js b/app/socket_coordinator.js
new file mode 100644 (file)
index 0000000..d6768ac
--- /dev/null
@@ -0,0 +1,23 @@
+import { socketServer } from './config/config';
+
+const internals = {
+
+  socket: null, // stores the socket connection
+
+  connect() {
+
+    internals.socket = new WebSocket(socketServer);
+  }
+};
+
+export const onMessage = function (listener) {
+
+  if (!internals.socket) {
+    internals.connect();
+  }
+
+  internals.socket.addEventListener('message', (message) => {
+
+    listener(JSON.parse(message.data));
+  });
+};