diff --git a/src/lib/remixd.js b/src/lib/remixd.js index d688fd52e9..db789fc994 100644 --- a/src/lib/remixd.js +++ b/src/lib/remixd.js @@ -1,145 +1,145 @@ -// 'use strict' -// var EventManager = require('../lib/events') -// var modalDialog = require('../app/ui/modaldialog') -// var yo = require('yo-yo') +'use strict' +var EventManager = require('../lib/events') +var modalDialog = require('../app/ui/modaldialog') +var yo = require('yo-yo') -// class Remixd { -// constructor (port) { -// this.event = new EventManager() -// this.port = port -// this.callbacks = {} -// this.callid = 0 -// this.socket = null -// this.connected = false -// this.receiveResponse() -// } +class Remixd { + constructor (port) { + this.event = new EventManager() + this.port = port + this.callbacks = {} + this.callid = 0 + this.socket = null + this.connected = false + this.receiveResponse() + } -// online () { -// return this.socket !== null -// } + online () { + return this.socket !== null + } -// close () { -// if (this.socket) { -// this.socket.close() -// this.socket = null -// } -// } + close () { + if (this.socket) { + this.socket.close() + this.socket = null + } + } -// start (cb) { -// if (this.socket) { -// try { -// this.socket.close() -// } catch (e) {} -// } -// this.event.trigger('connecting', []) -// this.socket = new WebSocket('ws://localhost:' + this.port, 'echo-protocol') // eslint-disable-line + start (cb) { + if (this.socket) { + try { + this.socket.close() + } catch (e) {} + } + this.event.trigger('connecting', []) + this.socket = new WebSocket('ws://localhost:' + this.port, 'echo-protocol') // eslint-disable-line -// this.socket.addEventListener('open', (event) => { -// this.connected = true -// this.event.trigger('connected', [event]) -// cb() -// }) + this.socket.addEventListener('open', (event) => { + this.connected = true + this.event.trigger('connected', [event]) + cb() + }) -// this.socket.addEventListener('message', (event) => { -// var data = JSON.parse(event.data) -// if (data.type === 'reply') { -// if (this.callbacks[data.id]) { -// this.callbacks[data.id](data.error, data.result) -// delete this.callbacks[data.id] -// } -// this.event.trigger('replied', [data]) -// } else if (data.type === 'notification') { -// this.event.trigger('notified', [data]) -// } else if (data.type === 'system') { -// if (data.error) { -// this.event.trigger('system', [{ -// error: data.error -// }]) -// } -// } -// }) + this.socket.addEventListener('message', (event) => { + var data = JSON.parse(event.data) + if (data.type === 'reply') { + if (this.callbacks[data.id]) { + this.callbacks[data.id](data.error, data.result) + delete this.callbacks[data.id] + } + this.event.trigger('replied', [data]) + } else if (data.type === 'notification') { + this.event.trigger('notified', [data]) + } else if (data.type === 'system') { + if (data.error) { + this.event.trigger('system', [{ + error: data.error + }]) + } + } + }) -// this.socket.addEventListener('error', (event) => { -// this.errored(event) -// cb(event) -// }) + this.socket.addEventListener('error', (event) => { + this.errored(event) + cb(event) + }) -// this.socket.addEventListener('close', (event) => { -// if (event.wasClean) { -// this.connected = false -// this.event.trigger('closed', [event]) -// } else { -// this.errored(event) -// } -// this.socket = null -// }) -// } + this.socket.addEventListener('close', (event) => { + if (event.wasClean) { + this.connected = false + this.event.trigger('closed', [event]) + } else { + this.errored(event) + } + this.socket = null + }) + } -// async receiveResponse (requestId) { -// return new Promise((resolve, reject) => { -// this.event.register('replied', (data) => { -// if (data.id === requestId) { -// if (data.error) reject(data.error) -// else resolve(data.result) -// } -// }) -// }) -// } + async receiveResponse (requestId) { + return new Promise((resolve, reject) => { + this.event.register('replied', (data) => { + if (data.id === requestId) { + if (data.error) reject(data.error) + else resolve(data.result) + } + }) + }) + } -// errored (event) { -// function remixdDialog () { -// return yo`