/* eslint-env browser */ import { Observable, Event } from "./Observable.js"; class GazeDataEvent extends Event { constructor(data) { super("gazeDataAvailable", data); } } class ConnectionEvent extends Event { constructor() { super("connected"); } } class WebSocketClient extends Observable { constructor() { super(); } connect(url) { this.ws = new WebSocket(url); this.ws.onopen = onOpen.bind(this); this.ws.onmessage = onMessage.bind(this); } } function onOpen() { let connectionEvent = new ConnectionEvent(); this.notifyAll(connectionEvent); } function onMessage(event) { let gazeEvent = new GazeDataEvent(event.data); this.notifyAll(gazeEvent); } export default WebSocketClient;