aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bg/js/translator.js22
-rw-r--r--ext/bg/js/util.js26
2 files changed, 21 insertions, 27 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js
index 84a6e1d7..dfe54623 100644
--- a/ext/bg/js/translator.js
+++ b/ext/bg/js/translator.js
@@ -30,7 +30,8 @@ class Translator {
}
if (!this.deinflector) {
- const reasons = await jsonLoadInt('/bg/lang/deinflect.json');
+ const url = chrome.extension.getURL('/bg/lang/deinflect.json');
+ const reasons = await Translator.loadRules(url);
this.deinflector = new Deinflector(reasons);
}
}
@@ -127,4 +128,23 @@ class Translator {
return definitions;
}
+
+
+ static loadRules(url) {
+ 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('GET', url);
+ xhr.send();
+ }).then(responseText => {
+ try {
+ return JSON.parse(responseText);
+ }
+ catch (e) {
+ return Promise.reject('invalid JSON response');
+ }
+ });
+ }
}
diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js
index 1954e83b..b8a60217 100644
--- a/ext/bg/js/util.js
+++ b/ext/bg/js/util.js
@@ -430,32 +430,6 @@ function dictFieldFormat(field, definition, mode, options) {
/*
- * Json
- */
-
-function jsonLoad(url) {
- 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('GET', url);
- xhr.send();
- }).then(responseText => {
- try {
- return JSON.parse(responseText);
- }
- catch (e) {
- return Promise.reject('invalid JSON response');
- }
- });
-}
-
-function jsonLoadInt(url) {
- return jsonLoad(chrome.extension.getURL(url));
-}
-
-/*
* Helpers
*/