diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-10-02 20:47:03 -0400 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-10-02 21:12:24 -0400 | 
| commit | 0d6177398d0a738430a555ce307ba0a61c15bf9a (patch) | |
| tree | ff5f8530e7755abca65d7b0e5b3e449a5c85e740 /ext/bg/js/api.js | |
| parent | 10458c63e71303f27888c3dfca7b3f59d5a0702b (diff) | |
Use static object for api command handlers
Diffstat (limited to 'ext/bg/js/api.js')
| -rw-r--r-- | ext/bg/js/api.js | 52 | 
1 files changed, 26 insertions, 26 deletions
| diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js index 474fe604..222e7ffe 100644 --- a/ext/bg/js/api.js +++ b/ext/bg/js/api.js @@ -126,35 +126,35 @@ async function apiTemplateRender(template, data, dynamic) {  }  async function apiCommandExec(command) { -    const handlers = { -        search: () => { -            chrome.tabs.create({url: chrome.extension.getURL('/bg/search.html')}); -        }, - -        help: () => { -            chrome.tabs.create({url: 'https://foosoft.net/projects/yomichan/'}); -        }, - -        options: () => { -            chrome.runtime.openOptionsPage(); -        }, - -        toggle: async () => { -            const optionsContext = { -                depth: 0, -                url: window.location.href -            }; -            const options = await apiOptionsGet(optionsContext); -            options.general.enable = !options.general.enable; -            await apiOptionsSave('popup'); -        } -    }; - -    const handler = handlers[command]; -    if (handler) { +    const handlers = apiCommandExec.handlers; +    if (handlers.hasOwnProperty(command)) { +        const handler = handlers[command];          handler();      }  } +apiCommandExec.handlers = { +    search: () => { +        chrome.tabs.create({url: chrome.extension.getURL('/bg/search.html')}); +    }, + +    help: () => { +        chrome.tabs.create({url: 'https://foosoft.net/projects/yomichan/'}); +    }, + +    options: () => { +        chrome.runtime.openOptionsPage(); +    }, + +    toggle: async () => { +        const optionsContext = { +            depth: 0, +            url: window.location.href +        }; +        const options = await apiOptionsGet(optionsContext); +        options.general.enable = !options.general.enable; +        await apiOptionsSave('popup'); +    } +};  async function apiAudioGetUrl(definition, source) {      return audioBuildUrl(definition, source); |