From abcb613223c132dcd0e09a6941c628a0177a1d7a Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Tue, 30 Apr 2019 09:23:11 -0700 Subject: [PATCH] Minor Bridge code tweaks: 1. Renamed a variable 2. Coerced undefined to null 3. Added a couple of console.warn() for unexpected paths --- src/bridge.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/bridge.js b/src/bridge.js index eb93462074..a839db5323 100644 --- a/src/bridge.js +++ b/src/bridge.js @@ -12,9 +12,9 @@ type Message = {| |}; export default class Bridge extends EventEmitter { + _isShutdown: boolean = false; _messageQueue: Array = []; _timeoutID: TimeoutID | null = null; - _destroyed: boolean = false; _wall: Wall; _wallUnlisten: Function | null = null; @@ -23,13 +23,17 @@ export default class Bridge extends EventEmitter { this._wall = wall; - this._wallUnlisten = wall.listen((message: Message) => { - this.emit(message.event, message.payload); - }); + this._wallUnlisten = + wall.listen((message: Message) => { + this.emit(message.event, message.payload); + }) || null; } send(event: string, payload: any, transferable?: Array) { - if (this._destroyed) { + if (this._isShutdown) { + console.warn( + `Cannot send message "${event}" through a Bridge that has been shutdown.` + ); return; } @@ -48,12 +52,13 @@ export default class Bridge extends EventEmitter { } shutdown() { - if (this._destroyed) { + if (this._isShutdown) { + console.warn('Bridge was already shutdown.'); return; } // Mark this bridge as destroyed, i.e. disable its public API. - this._destroyed = true; + this._isShutdown = true; // Disable the API inherited from EventEmitter that can add more listeners and send more messages. this.addListener = function() {};