summaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/anki-connect.js2
-rw-r--r--ext/bg/js/translator.js2
-rw-r--r--ext/bg/js/util.js40
-rw-r--r--ext/bg/js/yomichan.js8
4 files changed, 10 insertions, 42 deletions
diff --git a/ext/bg/js/anki-connect.js b/ext/bg/js/anki-connect.js
index a4d8ba3f..567e8d3f 100644
--- a/ext/bg/js/anki-connect.js
+++ b/ext/bg/js/anki-connect.js
@@ -64,6 +64,6 @@ class AnkiConnect {
}
ankiInvoke(action, params) {
- return jsonRequest(this.server, 'POST', {action, params, version: this.localVersion});
+ return requestJson(this.server, 'POST', {action, params, version: this.localVersion});
}
}
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js
index 9232e529..1be485c7 100644
--- a/ext/bg/js/translator.js
+++ b/ext/bg/js/translator.js
@@ -31,7 +31,7 @@ class Translator {
if (!this.deinflector) {
const url = chrome.extension.getURL('/bg/lang/deinflect.json');
- const reasons = await jsonRequest(url, 'GET');
+ const reasons = await requestJson(url, 'GET');
this.deinflector = new Deinflector(reasons);
}
}
diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js
index 6e86c2a6..c7ebbb0e 100644
--- a/ext/bg/js/util.js
+++ b/ext/bg/js/util.js
@@ -18,19 +18,6 @@
/*
- * Promise
- */
-
-function promiseCallback(promise, callback) {
- return promise.then(result => {
- callback({result});
- }).catch(error => {
- callback({error});
- });
-}
-
-
-/*
* Commands
*/
@@ -71,30 +58,3 @@ function fgBroadcast(action, params) {
function fgOptionsSet(options) {
fgBroadcast('optionsSet', options);
}
-
-
-/*
- * JSON
- */
-
-function jsonRequest(url, action, params) {
- return new Promise((resolve, reject) => {
- const xhr = new XMLHttpRequest();
- xhr.overrideMimeType('application/json');
- xhr.addEventListener('load', () => resolve(xhr.responseText));
- xhr.addEventListener('error', () => reject('failed to execute network request'));
- xhr.open(action, url);
- if (params) {
- xhr.send(JSON.stringify(params));
- } else {
- xhr.send();
- }
- }).then(responseText => {
- try {
- return JSON.parse(responseText);
- }
- catch (e) {
- return Promise.reject('invalid JSON response');
- }
- });
-}
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js
index acc560ce..eb083396 100644
--- a/ext/bg/js/yomichan.js
+++ b/ext/bg/js/yomichan.js
@@ -195,6 +195,14 @@ window.yomichan = new class {
}
onMessage({action, params}, sender, callback) {
+ const promiseCallback = (promise, callback) => {
+ return promise.then(result => {
+ callback({result});
+ }).catch(error => {
+ callback({error});
+ });
+ };
+
const handlers = {
optionsGet: ({callback}) => {
promiseCallback(optionsLoad(), callback);