From d44fd5d76ac2d1ed348f011f3bb06e75c44da000 Mon Sep 17 00:00:00 2001 From: Pedro Lopez Date: Mon, 10 Feb 2020 21:51:58 -0400 Subject: [PATCH] new event on connection state changed --- src/Client.js | 9 +++++++++ src/util/Constants.js | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Client.js b/src/Client.js index ec30cb0..c1283bd 100644 --- a/src/Client.js +++ b/src/Client.js @@ -27,6 +27,7 @@ const Location = require('./structures/Location'); * @fires Client#message_revoke_me * @fires Client#message_revoke_everyone * @fires Client#disconnected + * @fires Client#change_state */ class Client extends EventEmitter { constructor(options = {}) { @@ -201,6 +202,14 @@ class Client extends EventEmitter { }); await page.exposeFunction('onAppStateChangedEvent', (_AppState, state) => { + + /** + * Emitted when the connection state changes + * @event Client#change_state + * @param {WAState} state the new connection state + */ + this.emit(Events.STATE_CHANGED, state); + const ACCEPTED_STATES = [WAState.CONNECTED, WAState.OPENING, WAState.PAIRING, WAState.TIMEOUT]; if (!ACCEPTED_STATES.includes(state)) { /** diff --git a/src/util/Constants.js b/src/util/Constants.js index 97725e2..55c30ae 100644 --- a/src/util/Constants.js +++ b/src/util/Constants.js @@ -36,7 +36,8 @@ exports.Events = { MESSAGE_REVOKED_EVERYONE: 'message_revoke_everyone', MESSAGE_REVOKED_ME: 'message_revoke_me', QR_RECEIVED: 'qr', - DISCONNECTED: 'disconnected' + DISCONNECTED: 'disconnected', + STATE_CHANGED: 'change_state' }; /**