From 4fc461c2f932709f51efd65a401d943a7efcec12 Mon Sep 17 00:00:00 2001 From: iCrawl Date: Sun, 8 Sep 2019 11:47:46 +0200 Subject: [PATCH] fix: browser-compatability Fix #3453 --- src/client/websocket/WebSocketShard.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/client/websocket/WebSocketShard.js b/src/client/websocket/WebSocketShard.js index 9663052c6..f77635b0f 100644 --- a/src/client/websocket/WebSocketShard.js +++ b/src/client/websocket/WebSocketShard.js @@ -2,19 +2,24 @@ const EventEmitter = require('events'); const WebSocket = require('../../WebSocket'); -const { Status, Events, ShardEvents, OPCodes, WSEvents } = require('../../util/Constants'); +const { browser, Status, Events, ShardEvents, OPCodes, WSEvents } = require('../../util/Constants'); let zstd; let zlib; -try { - zstd = require('zucc'); -} catch (e) { +if (browser) { + zlib = require('pako'); +} else { try { - zlib = require('zlib-sync'); - if (!zlib.Inflate) zlib = require('pako'); - } catch (err) { - zlib = require('pako'); + zstd = require('zucc'); + if (!zstd.DecompressStream) zstd = null; + } catch (e) { + try { + zlib = require('zlib-sync'); + if (!zlib.Inflate) zlib = require('pako'); + } catch (err) { + zlib = require('pako'); + } } }