From 3e2d6ccc48889f4c417c122c9a5cf78cf245c72a Mon Sep 17 00:00:00 2001 From: Programmix Date: Sun, 9 Oct 2016 11:22:52 -0700 Subject: [PATCH] Convert disabledEvents Array to Object (#786) * Convert disabledEvents Array to Object Increased performance * Commit to please Lord Gawdl3y * Nitpick with chopsticks --- src/client/Client.js | 11 +++++++++++ .../websocket/packets/WebSocketPacketManager.js | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/client/Client.js b/src/client/Client.js index ce72ae6bb..c1b4e78f1 100644 --- a/src/client/Client.js +++ b/src/client/Client.js @@ -37,6 +37,17 @@ class Client extends EventEmitter { this.options.shardCount = Number(process.env.SHARD_COUNT); } + if (!(this.options.disabledEvents instanceof Array)) { + throw new TypeError('The disabledEvents client option must be an array.'); + } + + let disabledEvents = {}; + for (const event in this.options.disabledEvents) { + disabledEvents[event] = true; + } + + this.options.disabledEvents = disabledEvents; + /** * The REST manager of the client * @type {RESTManager} diff --git a/src/client/websocket/packets/WebSocketPacketManager.js b/src/client/websocket/packets/WebSocketPacketManager.js index 3295ef646..5ef060f0e 100644 --- a/src/client/websocket/packets/WebSocketPacketManager.js +++ b/src/client/websocket/packets/WebSocketPacketManager.js @@ -84,7 +84,9 @@ class WebSocketPacketManager { this.setSequence(packet.s); - if (this.ws.client.options.disabledEvents.includes(packet.t)) return false; + if (this.ws.client.options.disabledEvents[packet.t] !== undefined) { + return false; + } if (this.ws.status !== Constants.Status.READY) { if (BeforeReadyWhitelist.indexOf(packet.t) === -1) {