|
1 | 1 | const bane = require("bane"); |
2 | | -const when = require("when"); |
3 | 2 | const WebSocket = require("isomorphic-ws"); |
4 | 3 |
|
5 | 4 | class Mopidy { |
@@ -130,25 +129,29 @@ class Mopidy { |
130 | 129 | _send(message) { |
131 | 130 | switch (this._webSocket.readyState) { |
132 | 131 | case Mopidy.WebSocket.CONNECTING: |
133 | | - return when.reject( |
| 132 | + return Promise.reject( |
134 | 133 | new Mopidy.ConnectionError("WebSocket is still connecting") |
135 | 134 | ); |
136 | 135 | case Mopidy.WebSocket.CLOSING: |
137 | | - return when.reject(new Mopidy.ConnectionError("WebSocket is closing")); |
| 136 | + return Promise.reject( |
| 137 | + new Mopidy.ConnectionError("WebSocket is closing") |
| 138 | + ); |
138 | 139 | case Mopidy.WebSocket.CLOSED: |
139 | | - return when.reject(new Mopidy.ConnectionError("WebSocket is closed")); |
| 140 | + return Promise.reject( |
| 141 | + new Mopidy.ConnectionError("WebSocket is closed") |
| 142 | + ); |
140 | 143 | default: |
141 | 144 | } |
142 | 145 | const jsonRpcMessage = { |
143 | 146 | ...message, |
144 | 147 | jsonrpc: "2.0", |
145 | 148 | id: this._nextRequestId(), |
146 | 149 | }; |
147 | | - const deferred = when.defer(); |
148 | | - this._pendingRequests[jsonRpcMessage.id] = deferred.resolver; |
149 | | - this._webSocket.send(JSON.stringify(jsonRpcMessage)); |
150 | | - this.emit("websocket:outgoingMessage", jsonRpcMessage); |
151 | | - return deferred.promise; |
| 150 | + return new Promise((resolve, reject) => { |
| 151 | + this._pendingRequests[jsonRpcMessage.id] = { resolve, reject }; |
| 152 | + this._webSocket.send(JSON.stringify(jsonRpcMessage)); |
| 153 | + this.emit("websocket:outgoingMessage", jsonRpcMessage); |
| 154 | + }); |
152 | 155 | } |
153 | 156 |
|
154 | 157 | _handleMessage(message) { |
@@ -233,14 +236,14 @@ class Mopidy { |
233 | 236 | return this._send(message); |
234 | 237 | } |
235 | 238 | if (args.length > 1) { |
236 | | - return when.reject( |
| 239 | + return Promise.reject( |
237 | 240 | new Error( |
238 | 241 | "Expected zero arguments, a single array, or a single object." |
239 | 242 | ) |
240 | 243 | ); |
241 | 244 | } |
242 | 245 | if (!Array.isArray(args[0]) && args[0] !== Object(args[0])) { |
243 | | - return when.reject(new TypeError("Expected an array or an object.")); |
| 246 | + return Promise.reject(new TypeError("Expected an array or an object.")); |
244 | 247 | } |
245 | 248 | [message.params] = args; |
246 | 249 | return this._send(message); |
@@ -314,8 +317,6 @@ Mopidy.ServerError = ServerError; |
314 | 317 |
|
315 | 318 | Mopidy.WebSocket = WebSocket; |
316 | 319 |
|
317 | | -Mopidy.when = when; |
318 | | - |
319 | 320 | Mopidy.prototype._nextRequestId = (() => { |
320 | 321 | let lastUsed = -1; |
321 | 322 | return () => { |
|
0 commit comments