aboutsummaryrefslogtreecommitdiff
path: root/ext/jp
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2016-03-24 20:56:47 -0700
committerAlex Yatskov <alex@foosoft.net>2016-03-24 20:56:47 -0700
commit059b2eb4f229f9669709520a5c88d041b3b64590 (patch)
tree9f53547aa6dd0ade22372dfc9f6c1298087a04b7 /ext/jp
parentac012b26b37f6c01a80c1faa98fbe43913e47b6e (diff)
Improved messaging
Diffstat (limited to 'ext/jp')
-rw-r--r--ext/jp/api.js26
1 files changed, 19 insertions, 7 deletions
diff --git a/ext/jp/api.js b/ext/jp/api.js
index 3f15056a..95c2f7e3 100644
--- a/ext/jp/api.js
+++ b/ext/jp/api.js
@@ -17,11 +17,22 @@
*/
+function onFindTerm({term}) {
+ return window.trans.findTerm(term);
+}
+
function onMessage(request, sender, callback) {
- switch (request.action.toLowerCase()) {
- case 'define':
- callback(window.trans.findTerm(request.text));
- break;
+ const {action, data} = request;
+
+ const handler = {
+ findTerm: onFindTerm
+ }[action];
+
+ if (handler !== null) {
+ const result = handler(data);
+ if (callback !== null) {
+ callback(result);
+ }
}
}
@@ -33,7 +44,8 @@ function onMessage(request, sender, callback) {
kanjidic: 'jp/data/kanjidic.json'
};
- window.trans = new Translator(res, function() {
- chrome.runtime.onMessage.addListener(onMessage);
- });
+ window.trans = new Translator(
+ res,
+ () => chrome.runtime.onMessage.addListener(onMessage)
+ );
})();