diff options
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/api.js | 64 | ||||
-rw-r--r-- | ext/fg/js/util.js | 46 |
2 files changed, 46 insertions, 64 deletions
diff --git a/ext/fg/js/api.js b/ext/fg/js/api.js index 92330d9c..f881b23d 100644 --- a/ext/fg/js/api.js +++ b/ext/fg/js/api.js @@ -18,73 +18,101 @@ function apiOptionsGet(optionsContext) { - return utilInvoke('optionsGet', {optionsContext}); + return _apiInvoke('optionsGet', {optionsContext}); } function apiOptionsSet(changedOptions, optionsContext, source) { - return utilInvoke('optionsSet', {changedOptions, optionsContext, source}); + return _apiInvoke('optionsSet', {changedOptions, optionsContext, source}); } function apiTermsFind(text, details, optionsContext) { - return utilInvoke('termsFind', {text, details, optionsContext}); + return _apiInvoke('termsFind', {text, details, optionsContext}); } function apiTextParse(text, optionsContext) { - return utilInvoke('textParse', {text, optionsContext}); + return _apiInvoke('textParse', {text, optionsContext}); } function apiTextParseMecab(text, optionsContext) { - return utilInvoke('textParseMecab', {text, optionsContext}); + return _apiInvoke('textParseMecab', {text, optionsContext}); } function apiKanjiFind(text, optionsContext) { - return utilInvoke('kanjiFind', {text, optionsContext}); + return _apiInvoke('kanjiFind', {text, optionsContext}); } function apiDefinitionAdd(definition, mode, context, optionsContext) { - return utilInvoke('definitionAdd', {definition, mode, context, optionsContext}); + return _apiInvoke('definitionAdd', {definition, mode, context, optionsContext}); } function apiDefinitionsAddable(definitions, modes, optionsContext) { - return utilInvoke('definitionsAddable', {definitions, modes, optionsContext}).catch(() => null); + return _apiInvoke('definitionsAddable', {definitions, modes, optionsContext}).catch(() => null); } function apiNoteView(noteId) { - return utilInvoke('noteView', {noteId}); + return _apiInvoke('noteView', {noteId}); } function apiTemplateRender(template, data, dynamic) { - return utilInvoke('templateRender', {data, template, dynamic}); + return _apiInvoke('templateRender', {data, template, dynamic}); } function apiAudioGetUrl(definition, source, optionsContext) { - return utilInvoke('audioGetUrl', {definition, source, optionsContext}); + return _apiInvoke('audioGetUrl', {definition, source, optionsContext}); } function apiCommandExec(command, params) { - return utilInvoke('commandExec', {command, params}); + return _apiInvoke('commandExec', {command, params}); } function apiScreenshotGet(options) { - return utilInvoke('screenshotGet', {options}); + return _apiInvoke('screenshotGet', {options}); } function apiForward(action, params) { - return utilInvoke('forward', {action, params}); + return _apiInvoke('forward', {action, params}); } function apiFrameInformationGet() { - return utilInvoke('frameInformationGet'); + return _apiInvoke('frameInformationGet'); } function apiInjectStylesheet(css) { - return utilInvoke('injectStylesheet', {css}); + return _apiInvoke('injectStylesheet', {css}); } function apiGetEnvironmentInfo() { - return utilInvoke('getEnvironmentInfo'); + return _apiInvoke('getEnvironmentInfo'); } function apiClipboardGet() { - return utilInvoke('clipboardGet'); + return _apiInvoke('clipboardGet'); +} + +function _apiInvoke(action, params={}) { + const data = {action, params}; + return new Promise((resolve, reject) => { + try { + chrome.runtime.sendMessage(data, (response) => { + _apiCheckLastError(chrome.runtime.lastError); + if (response !== null && typeof response === 'object') { + if (typeof response.error !== 'undefined') { + reject(jsonToError(response.error)); + } else { + resolve(response.result); + } + } else { + const message = response === null ? 'Unexpected null response' : `Unexpected response of type ${typeof response}`; + reject(new Error(`${message} (${JSON.stringify(data)})`)); + } + }); + } catch (e) { + window.yomichan_orphaned = true; + reject(e); + } + }); +} + +function _apiCheckLastError(e) { + // NOP } diff --git a/ext/fg/js/util.js b/ext/fg/js/util.js deleted file mode 100644 index f28bd636..00000000 --- a/ext/fg/js/util.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2016-2017 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - - -function utilInvoke(action, params={}) { - const data = {action, params}; - return new Promise((resolve, reject) => { - try { - chrome.runtime.sendMessage(data, (response) => { - utilCheckLastError(chrome.runtime.lastError); - if (response !== null && typeof response === 'object') { - if (typeof response.error !== 'undefined') { - reject(jsonToError(response.error)); - } else { - resolve(response.result); - } - } else { - const message = response === null ? 'Unexpected null response' : `Unexpected response of type ${typeof response}`; - reject(new Error(`${message} (${JSON.stringify(data)})`)); - } - }); - } catch (e) { - window.yomichan_orphaned = true; - reject(e); - } - }); -} - -function utilCheckLastError(e) { - // NOP -} |