diff options
Diffstat (limited to 'src/background/usecases')
-rw-r--r-- | src/background/usecases/command.js | 3 | ||||
-rw-r--r-- | src/background/usecases/parsers.js | 26 |
2 files changed, 3 insertions, 26 deletions
diff --git a/src/background/usecases/command.js b/src/background/usecases/command.js index 3dbf768..7fd2e57 100644 --- a/src/background/usecases/command.js +++ b/src/background/usecases/command.js @@ -1,4 +1,5 @@ import * as parsers from './parsers'; +import * as urls from '../../shared/urls'; import TabPresenter from '../presenters/tab'; import WindowPresenter from '../presenters/window'; import SettingRepository from '../repositories/setting'; @@ -103,6 +104,6 @@ export default class CommandIndicator { async urlOrSearch(keywords) { let settings = await this.settingRepository.get(); - return parsers.normalizeUrl(keywords, settings.search); + return urls.normalizeUrl(keywords, settings.search); } } diff --git a/src/background/usecases/parsers.js b/src/background/usecases/parsers.js index cda26c3..43c8177 100644 --- a/src/background/usecases/parsers.js +++ b/src/background/usecases/parsers.js @@ -1,27 +1,3 @@ -const trimStart = (str) => { - // NOTE String.trimStart is available on Firefox 61 - return str.replace(/^\s+/, ''); -}; - -const normalizeUrl = (keywords, searchSettings) => { - try { - return new URL(keywords).href; - } catch (e) { - if (keywords.includes('.') && !keywords.includes(' ')) { - return 'http://' + keywords; - } - let template = searchSettings.engines[searchSettings.default]; - let query = keywords; - - let first = trimStart(keywords).split(' ')[0]; - if (Object.keys(searchSettings.engines).includes(first)) { - template = searchSettings.engines[first]; - query = trimStart(trimStart(keywords).slice(first.length)); - } - return template.replace('{}', encodeURIComponent(query)); - } -}; - const mustNumber = (v) => { let num = Number(v); if (isNaN(num)) { @@ -52,4 +28,4 @@ const parseSetOption = (word, types) => { } }; -export { normalizeUrl, parseSetOption }; +export { parseSetOption }; |