diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-12-11 21:59:38 -0500 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-12-13 23:11:56 -0500 |
commit | 573f83b65a8a0f87def6f4200ce503d957464f0d (patch) | |
tree | 5b8c3b68a599fbc22e532df0a5fb25dd15550ae8 /ext/fg/js/frontend-api-receiver.js | |
parent | b7144ed879a59b89ee11aa13702e89a6fdaa0e35 (diff) |
Update frontend API receiver handlers
Diffstat (limited to 'ext/fg/js/frontend-api-receiver.js')
-rw-r--r-- | ext/fg/js/frontend-api-receiver.js | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/ext/fg/js/frontend-api-receiver.js b/ext/fg/js/frontend-api-receiver.js index 7d38ddd5..8d5e52ee 100644 --- a/ext/fg/js/frontend-api-receiver.js +++ b/ext/fg/js/frontend-api-receiver.js @@ -18,9 +18,9 @@ class FrontendApiReceiver { - constructor(source='', handlers={}) { - this.source = source; - this.handlers = handlers; + constructor(source='', handlers=new Map()) { + this._source = source; + this._handlers = handlers; chrome.runtime.onConnect.addListener(this.onConnect.bind(this)); } @@ -32,16 +32,13 @@ class FrontendApiReceiver { } onMessage(port, {id, action, params, target, senderId}) { - if ( - target !== this.source || - !hasOwn(this.handlers, action) - ) { - return; - } + if (target !== this._source) { return; } + + const handler = this._handlers.get(action); + if (typeof handler !== 'function') { return; } this.sendAck(port, id, senderId); - const handler = this.handlers[action]; handler(params).then( (result) => { this.sendResult(port, id, senderId, {result}); |