diff options
| -rw-r--r-- | ext/bg/js/backend.js | 4 | ||||
| -rw-r--r-- | ext/bg/js/translator.js | 23 | 
2 files changed, 7 insertions, 20 deletions
| diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index ebdd2cda..65df0d49 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -186,7 +186,9 @@ class Backend {              } catch (e) {                  yomichan.logError(e);              } -            await this._translator.prepare(); + +            const deinflectionReasions = await this._fetchAsset('/bg/lang/deinflect.json', true); +            this._translator.prepare(deinflectionReasions);              await this._optionsUtil.prepare();              this._defaultAnkiFieldTemplates = (await this._fetchAsset('/bg/data/default-anki-field-templates.handlebars')).trim(); diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 7af3f61f..3dbae411 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -38,11 +38,11 @@ class Translator {      /**       * Initializes the instance for use. The public API should not be used until -     * this function has been called and await'd. +     * this function has been called. +     * @param deinflectionReasons The raw deinflections reasons data that the Deinflector uses.       */ -    async prepare() { -        const reasons = await this._fetchJsonAsset('/bg/lang/deinflect.json'); -        this._deinflector = new Deinflector(reasons); +    prepare(deinflectionReasons) { +        this._deinflector = new Deinflector(deinflectionReasons);      }      /** @@ -747,21 +747,6 @@ class Translator {          return newText;      } -    async _fetchJsonAsset(url) { -        const response = await fetch(chrome.runtime.getURL(url), { -            method: 'GET', -            mode: 'no-cors', -            cache: 'default', -            credentials: 'omit', -            redirect: 'follow', -            referrerPolicy: 'no-referrer' -        }); -        if (!response.ok) { -            throw new Error(`Failed to fetch ${url}: ${response.status}`); -        } -        return await response.json(); -    } -      _getSecondarySearchDictionaryMap(enabledDictionaryMap) {          const secondarySearchDictionaryMap = new Map();          for (const [title, dictionary] of enabledDictionaryMap.entries()) { |