main.js 777 B

123456789101112131415161718192021222324252627282930313233343536
  1. function main() {
  2. let root = window.document.getElementById("main");
  3. if (root != null) {
  4. // create a new ipc
  5. window.ipc = new IPC(root);
  6. window.ipc.postMessage(serializeIpcMessage("initialize"));
  7. }
  8. }
  9. class IPC {
  10. constructor(root) {
  11. // connect to the websocket
  12. window.interpreter = new Interpreter(root);
  13. this.ws = new WebSocket(WS_ADDR);
  14. this.ws.onopen = () => {
  15. console.log("Connected to the websocket");
  16. };
  17. this.ws.onerror = (err) => {
  18. console.error("Error: ", err);
  19. };
  20. this.ws.onmessage = (event) => {
  21. console.log("Received message: ", event.data);
  22. let edits = JSON.parse(event.data);
  23. window.interpreter.handleEdits(edits);
  24. };
  25. }
  26. postMessage(msg) {
  27. this.ws.send(msg);
  28. }
  29. }