summaryrefslogtreecommitdiff
path: root/ext/bg/js/yomichan.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js/yomichan.js')
-rw-r--r--ext/bg/js/yomichan.js32
1 files changed, 8 insertions, 24 deletions
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js
index 4ba44588..3091e503 100644
--- a/ext/bg/js/yomichan.js
+++ b/ext/bg/js/yomichan.js
@@ -235,27 +235,15 @@ class Yomichan {
}
api_getOptions({callback}) {
- loadOptions().then(result => {
- callback({result});
- }).catch(error => {
- callback({error});
- });
+ promiseCallback(loadOptions(), callback);
}
api_findKanji({text, callback}) {
- this.translator.findKanji(text).then(result => {
- callback({result});
- }).catch(error => {
- callback({error});
- });
+ promiseCallback(this.translator.findKanji(text), callback);
}
api_findTerm({text, callback}) {
- this.translator.findTerm(text).then(result => {
- callback({result});
- }).catch(error => {
- callback({error});
- });
+ promiseCallback(this.translator.findTerm(text), callback);
}
api_renderText({template, data, callback}) {
@@ -264,11 +252,7 @@ class Yomichan {
api_addDefinition({definition, mode, callback}) {
const note = this.formatNote(definition, mode);
- this.anki.addNote(note).then(result => {
- callback({result});
- }).catch(error => {
- callback({error});
- });
+ promiseCallback(this.anki.addNote(note), callback);
}
api_canAddDefinitions({definitions, modes, callback}) {
@@ -279,7 +263,7 @@ class Yomichan {
}
}
- this.anki.canAddNotes(notes).then(raw => {
+ const promise = this.anki.canAddNotes(notes).then(raw => {
const states = [];
for (let resultBase = 0; resultBase < raw.length; resultBase += modes.length) {
const state = {};
@@ -290,10 +274,10 @@ class Yomichan {
states.push(state);
}
- callback({result: states});
- }).catch(error => {
- callback({error});
+ return states;
});
+
+ promiseCallback(promise, callback);
}
}