Simplify data unpack logic

This commit is contained in:
Amish Shah
2017-04-30 11:40:16 +01:00
parent 007b1226c9
commit f20f49388d

View File

@@ -159,15 +159,11 @@ class WebSocketConnection extends EventEmitter {
* @returns {Object}
*/
unpack(data) {
if (erlpack && typeof data !== 'string') {
if (data instanceof ArrayBuffer) data = Buffer.from(new Uint8Array(data));
return erlpack.unpack(data);
} else if (data instanceof ArrayBuffer) {
data = Buffer.from(data);
}
if (data instanceof Buffer) {
data = zlib.inflateSync(data).toString();
}
if (data instanceof ArrayBuffer) data = Buffer.from(new Uint8Array(data));
if (erlpack && typeof data !== 'string') return erlpack.unpack(data);
else if (data instanceof Buffer) data = zlib.inflateSync(data).toString();
return JSON.parse(data);
}