summaryrefslogtreecommitdiff
path: root/ext/fg/js/frontend-api-receiver.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2019-12-11 21:59:38 -0500
committertoasted-nutbread <toasted-nutbread@users.noreply.github.com>2019-12-13 23:11:56 -0500
commit573f83b65a8a0f87def6f4200ce503d957464f0d (patch)
tree5b8c3b68a599fbc22e532df0a5fb25dd15550ae8 /ext/fg/js/frontend-api-receiver.js
parentb7144ed879a59b89ee11aa13702e89a6fdaa0e35 (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.js17
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});