diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2020-04-13 20:37:36 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2020-04-13 20:37:36 +0900 |
commit | e1dac618a8b8929f601c7ec8aca3842c5ebf9d03 (patch) | |
tree | 6a914a8243c8c02e7752a83667a54d3fa832955c /src/background/usecases | |
parent | 685f2b7b69218b06b5bb676069e35f79c5048c9b (diff) |
Use plugin:prettier/recommended
Diffstat (limited to 'src/background/usecases')
-rw-r--r-- | src/background/usecases/AddonEnabledUseCase.ts | 12 | ||||
-rw-r--r-- | src/background/usecases/CommandUseCase.ts | 54 | ||||
-rw-r--r-- | src/background/usecases/ConsoleUseCase.ts | 34 | ||||
-rw-r--r-- | src/background/usecases/FindUseCase.ts | 15 | ||||
-rw-r--r-- | src/background/usecases/LinkUseCase.ts | 15 | ||||
-rw-r--r-- | src/background/usecases/MarkUseCase.ts | 26 | ||||
-rw-r--r-- | src/background/usecases/NavigateUseCase.ts | 21 | ||||
-rw-r--r-- | src/background/usecases/RepeatUseCase.ts | 55 | ||||
-rw-r--r-- | src/background/usecases/SettingUseCase.ts | 29 | ||||
-rw-r--r-- | src/background/usecases/TabSelectUseCase.ts | 15 | ||||
-rw-r--r-- | src/background/usecases/TabUseCase.ts | 29 | ||||
-rw-r--r-- | src/background/usecases/VersionUseCase.ts | 15 | ||||
-rw-r--r-- | src/background/usecases/ZoomUseCase.ts | 31 | ||||
-rw-r--r-- | src/background/usecases/parsers.ts | 35 |
14 files changed, 198 insertions, 188 deletions
diff --git a/src/background/usecases/AddonEnabledUseCase.ts b/src/background/usecases/AddonEnabledUseCase.ts index 51f02e1..f563ab0 100644 --- a/src/background/usecases/AddonEnabledUseCase.ts +++ b/src/background/usecases/AddonEnabledUseCase.ts @@ -1,21 +1,21 @@ -import { inject, injectable } from 'tsyringe'; -import IndicatorPresenter from '../presenters/IndicatorPresenter'; -import TabPresenter from '../presenters/TabPresenter'; -import ContentMessageClient from '../infrastructures/ContentMessageClient'; +import { inject, injectable } from "tsyringe"; +import IndicatorPresenter from "../presenters/IndicatorPresenter"; +import TabPresenter from "../presenters/TabPresenter"; +import ContentMessageClient from "../infrastructures/ContentMessageClient"; @injectable() export default class AddonEnabledUseCase { constructor( private indicatorPresentor: IndicatorPresenter, @inject("TabPresenter") private tabPresenter: TabPresenter, - private contentMessageClient: ContentMessageClient, + private contentMessageClient: ContentMessageClient ) { this.indicatorPresentor.onClick((tab) => { if (tab.id) { this.onIndicatorClick(tab.id); } }); - this.tabPresenter.onSelected(info => this.onTabSelected(info.tabId)); + this.tabPresenter.onSelected((info) => this.onTabSelected(info.tabId)); } indicate(enabled: boolean): Promise<void> { diff --git a/src/background/usecases/CommandUseCase.ts b/src/background/usecases/CommandUseCase.ts index d2d707e..811ec77 100644 --- a/src/background/usecases/CommandUseCase.ts +++ b/src/background/usecases/CommandUseCase.ts @@ -1,29 +1,29 @@ -import { injectable, inject } from 'tsyringe'; -import * as operations from '../../shared/operations'; -import * as parsers from './parsers'; -import * as urls from '../../shared/urls'; -import TabPresenter from '../presenters/TabPresenter'; -import WindowPresenter from '../presenters/WindowPresenter'; -import HelpPresenter from '../presenters/HelpPresenter'; -import CachedSettingRepository from '../repositories/CachedSettingRepository'; -import BookmarkRepository from '../repositories/BookmarkRepository'; -import ConsoleClient from '../infrastructures/ConsoleClient'; -import ContentMessageClient from '../infrastructures/ContentMessageClient'; -import RepeatUseCase from '../usecases/RepeatUseCase'; +import { injectable, inject } from "tsyringe"; +import * as operations from "../../shared/operations"; +import * as parsers from "./parsers"; +import * as urls from "../../shared/urls"; +import TabPresenter from "../presenters/TabPresenter"; +import WindowPresenter from "../presenters/WindowPresenter"; +import HelpPresenter from "../presenters/HelpPresenter"; +import CachedSettingRepository from "../repositories/CachedSettingRepository"; +import BookmarkRepository from "../repositories/BookmarkRepository"; +import ConsoleClient from "../infrastructures/ConsoleClient"; +import ContentMessageClient from "../infrastructures/ContentMessageClient"; +import RepeatUseCase from "../usecases/RepeatUseCase"; @injectable() export default class CommandIndicator { constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, + @inject("TabPresenter") private tabPresenter: TabPresenter, private windowPresenter: WindowPresenter, private helpPresenter: HelpPresenter, - @inject("CachedSettingRepository") private cachedSettingRepository: CachedSettingRepository, + @inject("CachedSettingRepository") + private cachedSettingRepository: CachedSettingRepository, private bookmarkRepository: BookmarkRepository, private consoleClient: ConsoleClient, private contentMessageClient: ContentMessageClient, - private repeatUseCase: RepeatUseCase, - ) { - } + private repeatUseCase: RepeatUseCase + ) {} async open(keywords: string): Promise<browser.tabs.Tab> { const url = await this.urlOrSearch(keywords); @@ -67,14 +67,14 @@ export default class CommandIndicator { throw new RangeError(`tab ${index + 1} does not exist`); } return this.tabPresenter.select(tabs[index].id as number); - } else if (keywords.trim() === '%') { + } else if (keywords.trim() === "%") { // Select current window return; - } else if (keywords.trim() === '#') { + } else if (keywords.trim() === "#") { // Select last selected window const lastId = await this.tabPresenter.getLastSelectedId(); - if (typeof lastId === 'undefined' || lastId === null) { - throw new Error('No last selected tab'); + if (typeof lastId === "undefined" || lastId === null) { + throw new Error("No last selected tab"); } return this.tabPresenter.select(lastId); } @@ -82,7 +82,7 @@ export default class CommandIndicator { const current = await this.tabPresenter.getCurrent(); const tabs = await this.tabPresenter.getByKeyword(keywords, false); if (tabs.length === 0) { - throw new RangeError('No matching buffer for ' + keywords); + throw new RangeError("No matching buffer for " + keywords); } for (const tab of tabs) { if (tab.index > current.index) { @@ -96,9 +96,9 @@ export default class CommandIndicator { const excludePinned = !force; const tabs = await this.tabPresenter.getByKeyword(keywords, excludePinned); if (tabs.length === 0) { - throw new Error('No matching buffer for ' + keywords); + throw new Error("No matching buffer for " + keywords); } else if (tabs.length > 1) { - throw new Error('More than one match for ' + keywords); + throw new Error("More than one match for " + keywords); } return this.tabPresenter.remove([tabs[0].id as number]); } @@ -106,7 +106,7 @@ export default class CommandIndicator { async bdeletes(force: boolean, keywords: string): Promise<any> { const excludePinned = !force; const tabs = await this.tabPresenter.getByKeyword(keywords, excludePinned); - const ids = tabs.map(tab => tab.id as number); + const ids = tabs.map((tab) => tab.id as number); return this.tabPresenter.remove(ids); } @@ -117,14 +117,14 @@ export default class CommandIndicator { async quitAll(): Promise<any> { const tabs = await this.tabPresenter.getAll(); - const ids = tabs.map(tab => tab.id as number); + const ids = tabs.map((tab) => tab.id as number); this.tabPresenter.remove(ids); } async addbookmark(title: string): Promise<any> { const tab = await this.tabPresenter.getCurrent(); const item = await this.bookmarkRepository.create(title, tab.url as string); - const message = 'Saved current page: ' + item.url; + const message = "Saved current page: " + item.url; return this.consoleClient.showInfo(tab.id as number, message); } diff --git a/src/background/usecases/ConsoleUseCase.ts b/src/background/usecases/ConsoleUseCase.ts index 2de5bc1..195c70f 100644 --- a/src/background/usecases/ConsoleUseCase.ts +++ b/src/background/usecases/ConsoleUseCase.ts @@ -1,59 +1,57 @@ -import { inject, injectable } from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; -import ConsoleClient from '../infrastructures/ConsoleClient'; +import { inject, injectable } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; +import ConsoleClient from "../infrastructures/ConsoleClient"; @injectable() export default class ConsoleUseCase { - constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, - private consoleClient: ConsoleClient, - ) { - } + @inject("TabPresenter") private tabPresenter: TabPresenter, + private consoleClient: ConsoleClient + ) {} async showCommand(): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - return this.consoleClient.showCommand(tab.id as number, ''); + return this.consoleClient.showCommand(tab.id as number, ""); } async showOpenCommand(alter: boolean): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - let command = 'open '; + let command = "open "; if (alter) { - command += tab.url || ''; + command += tab.url || ""; } return this.consoleClient.showCommand(tab.id as number, command); } async showTabopenCommand(alter: boolean): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - let command = 'tabopen '; + let command = "tabopen "; if (alter) { - command += tab.url || ''; + command += tab.url || ""; } return this.consoleClient.showCommand(tab.id as number, command); } async showWinopenCommand(alter: boolean): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - let command = 'winopen '; + let command = "winopen "; if (alter) { - command += tab.url || ''; + command += tab.url || ""; } return this.consoleClient.showCommand(tab.id as number, command); } async showBufferCommand(): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - const command = 'buffer '; + const command = "buffer "; return this.consoleClient.showCommand(tab.id as number, command); } async showAddbookmarkCommand(alter: boolean): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - let command = 'addbookmark '; + let command = "addbookmark "; if (alter) { - command += tab.title || ''; + command += tab.title || ""; } return this.consoleClient.showCommand(tab.id as number, command); } diff --git a/src/background/usecases/FindUseCase.ts b/src/background/usecases/FindUseCase.ts index cb41cd5..facc461 100644 --- a/src/background/usecases/FindUseCase.ts +++ b/src/background/usecases/FindUseCase.ts @@ -1,16 +1,15 @@ -import { inject, injectable } from 'tsyringe'; -import FindRepository from '../repositories/FindRepository'; -import TabPresenter from '../presenters/TabPresenter'; -import ConsoleClient from '../infrastructures/ConsoleClient'; +import { inject, injectable } from "tsyringe"; +import FindRepository from "../repositories/FindRepository"; +import TabPresenter from "../presenters/TabPresenter"; +import ConsoleClient from "../infrastructures/ConsoleClient"; @injectable() export default class FindUseCase { constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, + @inject("TabPresenter") private tabPresenter: TabPresenter, private findRepository: FindRepository, - private consoleClient: ConsoleClient, - ) { - } + private consoleClient: ConsoleClient + ) {} getKeyword(): Promise<string> { return this.findRepository.getKeyword(); diff --git a/src/background/usecases/LinkUseCase.ts b/src/background/usecases/LinkUseCase.ts index be076c7..d2cd464 100644 --- a/src/background/usecases/LinkUseCase.ts +++ b/src/background/usecases/LinkUseCase.ts @@ -1,24 +1,23 @@ -import { inject, injectable } from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; +import { inject, injectable } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; @injectable() export default class LinkUseCase { - constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, - ) { - } + constructor(@inject("TabPresenter") private tabPresenter: TabPresenter) {} openToTab(url: string, tabId: number): Promise<any> { return this.tabPresenter.open(url, tabId); } async openNewTab( - url: string, openerId: number, background: boolean, + url: string, + openerId: number, + background: boolean ): Promise<any> { const properties: any = { active: !background }; const platform = await browser.runtime.getPlatformInfo(); - if (platform.os !== 'android') { + if (platform.os !== "android") { // openerTabId not supported on Android properties.openerTabId = openerId; } diff --git a/src/background/usecases/MarkUseCase.ts b/src/background/usecases/MarkUseCase.ts index 2c0bc13..9da9a21 100644 --- a/src/background/usecases/MarkUseCase.ts +++ b/src/background/usecases/MarkUseCase.ts @@ -1,18 +1,17 @@ -import { inject, injectable } from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; -import MarkRepository from '../repositories/MarkRepository'; -import ConsoleClient from '../infrastructures/ConsoleClient'; -import ContentMessageClient from '../infrastructures/ContentMessageClient'; +import { inject, injectable } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; +import MarkRepository from "../repositories/MarkRepository"; +import ConsoleClient from "../infrastructures/ConsoleClient"; +import ContentMessageClient from "../infrastructures/ContentMessageClient"; @injectable() export default class MarkUseCase { constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, + @inject("TabPresenter") private tabPresenter: TabPresenter, private markRepository: MarkRepository, private consoleClient: ConsoleClient, - private contentMessageClient: ContentMessageClient, - ) { - } + private contentMessageClient: ContentMessageClient + ) {} async setGlobal(key: string, x: number, y: number): Promise<any> { const tab = await this.tabPresenter.getCurrent(); @@ -26,7 +25,9 @@ export default class MarkUseCase { const mark = await this.markRepository.getMark(key); if (!mark) { return this.consoleClient.showError( - current.id as number, 'Mark is not set'); + current.id as number, + "Mark is not set" + ); } try { await this.contentMessageClient.scrollTo(mark.tabId, mark.x, mark.y); @@ -34,7 +35,10 @@ export default class MarkUseCase { } catch (e) { const tab = await this.tabPresenter.create(mark.url); return this.markRepository.setMark(key, { - tabId: tab.id as number, url: mark.url, x: mark.x, y: mark.y, + tabId: tab.id as number, + url: mark.url, + x: mark.x, + y: mark.y, }); } } diff --git a/src/background/usecases/NavigateUseCase.ts b/src/background/usecases/NavigateUseCase.ts index 3aa1ed6..2e887e7 100644 --- a/src/background/usecases/NavigateUseCase.ts +++ b/src/background/usecases/NavigateUseCase.ts @@ -1,14 +1,13 @@ -import { inject, injectable } from 'tsyringe'; -import NavigateClient from '../clients/NavigateClient'; -import TabPresenter from '../presenters/TabPresenter'; +import { inject, injectable } from "tsyringe"; +import NavigateClient from "../clients/NavigateClient"; +import TabPresenter from "../presenters/TabPresenter"; @injectable() export default class NavigateUseCase { constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, - private navigateClient: NavigateClient, - ) { - } + @inject("TabPresenter") private tabPresenter: TabPresenter, + private navigateClient: NavigateClient + ) {} async openHistoryNext(): Promise<void> { const tab = await this.tabPresenter.getCurrent(); @@ -34,16 +33,16 @@ export default class NavigateUseCase { const tab = await this.tabPresenter.getCurrent(); const url = new URL(tab.url!!); if (url.hash.length > 0) { - url.hash = ''; + url.hash = ""; } else if (url.search.length > 0) { - url.search = ''; + url.search = ""; } else { const basenamePattern = /\/[^/]+$/; const lastDirPattern = /\/[^/]+\/$/; if (basenamePattern.test(url.pathname)) { - url.pathname = url.pathname.replace(basenamePattern, '/'); + url.pathname = url.pathname.replace(basenamePattern, "/"); } else if (lastDirPattern.test(url.pathname)) { - url.pathname = url.pathname.replace(lastDirPattern, '/'); + url.pathname = url.pathname.replace(lastDirPattern, "/"); } } await this.tabPresenter.open(url.href); diff --git a/src/background/usecases/RepeatUseCase.ts b/src/background/usecases/RepeatUseCase.ts index d78de34..d7235ee 100644 --- a/src/background/usecases/RepeatUseCase.ts +++ b/src/background/usecases/RepeatUseCase.ts @@ -1,15 +1,12 @@ -import { injectable } from 'tsyringe'; -import * as operations from '../../shared/operations'; -import RepeatRepository from '../repositories/RepeatRepository'; +import { injectable } from "tsyringe"; +import * as operations from "../../shared/operations"; +import RepeatRepository from "../repositories/RepeatRepository"; type Operation = operations.Operation; @injectable() export default class RepeatUseCase { - constructor( - private repeatRepository: RepeatRepository, - ) { - } + constructor(private repeatRepository: RepeatRepository) {} storeLastOperation(op: Operation): void { this.repeatRepository.setLastOperation(op); @@ -22,28 +19,28 @@ export default class RepeatUseCase { // eslint-disable-next-line complexity isRepeatable(op: Operation): boolean { switch (op.type) { - case operations.NAVIGATE_HISTORY_PREV: - case operations.NAVIGATE_HISTORY_NEXT: - case operations.NAVIGATE_LINK_PREV: - case operations.NAVIGATE_LINK_NEXT: - case operations.NAVIGATE_PARENT: - case operations.NAVIGATE_ROOT: - case operations.PAGE_SOURCE: - case operations.PAGE_HOME: - case operations.TAB_CLOSE: - case operations.TAB_CLOSE_FORCE: - case operations.TAB_CLOSE_RIGHT: - case operations.TAB_REOPEN: - case operations.TAB_RELOAD: - case operations.TAB_PIN: - case operations.TAB_UNPIN: - case operations.TAB_TOGGLE_PINNED: - case operations.TAB_DUPLICATE: - case operations.ZOOM_IN: - case operations.ZOOM_OUT: - case operations.ZOOM_NEUTRAL: - case operations.INTERNAL_OPEN_URL: - return true; + case operations.NAVIGATE_HISTORY_PREV: + case operations.NAVIGATE_HISTORY_NEXT: + case operations.NAVIGATE_LINK_PREV: + case operations.NAVIGATE_LINK_NEXT: + case operations.NAVIGATE_PARENT: + case operations.NAVIGATE_ROOT: + case operations.PAGE_SOURCE: + case operations.PAGE_HOME: + case operations.TAB_CLOSE: + case operations.TAB_CLOSE_FORCE: + case operations.TAB_CLOSE_RIGHT: + case operations.TAB_REOPEN: + case operations.TAB_RELOAD: + case operations.TAB_PIN: + case operations.TAB_UNPIN: + case operations.TAB_TOGGLE_PINNED: + case operations.TAB_DUPLICATE: + case operations.ZOOM_IN: + case operations.ZOOM_OUT: + case operations.ZOOM_NEUTRAL: + case operations.INTERNAL_OPEN_URL: + return true; } return false; } diff --git a/src/background/usecases/SettingUseCase.ts b/src/background/usecases/SettingUseCase.ts index 69b4572..ccee227 100644 --- a/src/background/usecases/SettingUseCase.ts +++ b/src/background/usecases/SettingUseCase.ts @@ -1,20 +1,21 @@ -import {inject, injectable} from 'tsyringe'; -import CachedSettingRepository from '../repositories/CachedSettingRepository'; -import SettingData, {DefaultSettingData} from '../../shared/SettingData'; -import Settings from '../../shared/settings/Settings'; -import Notifier from '../presenters/Notifier'; +import { inject, injectable } from "tsyringe"; +import CachedSettingRepository from "../repositories/CachedSettingRepository"; +import SettingData, { DefaultSettingData } from "../../shared/SettingData"; +import Settings from "../../shared/settings/Settings"; +import Notifier from "../presenters/Notifier"; import SettingRepository from "../repositories/SettingRepository"; @injectable() export default class SettingUseCase { - constructor( - @inject("LocalSettingRepository") private localSettingRepository: SettingRepository, - @inject("SyncSettingRepository") private syncSettingRepository: SettingRepository, - @inject("CachedSettingRepository") private cachedSettingRepository: CachedSettingRepository, - @inject("Notifier") private notifier: Notifier, - ) { - } + @inject("LocalSettingRepository") + private localSettingRepository: SettingRepository, + @inject("SyncSettingRepository") + private syncSettingRepository: SettingRepository, + @inject("CachedSettingRepository") + private cachedSettingRepository: CachedSettingRepository, + @inject("Notifier") private notifier: Notifier + ) {} getCached(): Promise<Settings> { return this.cachedSettingRepository.get(); @@ -42,7 +43,7 @@ export default class SettingUseCase { private async loadSettings(): Promise<SettingData> { const sync = await this.syncSettingRepository.load(); if (sync) { - return sync; + return sync; } const local = await this.localSettingRepository.load(); if (local) { @@ -52,7 +53,7 @@ export default class SettingUseCase { } private showUnableToLoad(e: Error) { - console.error('unable to load settings', e); + console.error("unable to load settings", e); this.notifier.notifyInvalidSettings(() => { browser.runtime.openOptionsPage(); }); diff --git a/src/background/usecases/TabSelectUseCase.ts b/src/background/usecases/TabSelectUseCase.ts index 271bb6c..663ceb8 100644 --- a/src/background/usecases/TabSelectUseCase.ts +++ b/src/background/usecases/TabSelectUseCase.ts @@ -1,19 +1,16 @@ -import { inject, injectable } from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; +import { inject, injectable } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; @injectable() export default class TabSelectUseCase { - constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, - ) { - } + constructor(@inject("TabPresenter") private tabPresenter: TabPresenter) {} async selectPrev(count: number): Promise<any> { const tabs = await this.tabPresenter.getAll(); if (tabs.length < 2) { return; } - const tab = tabs.find(t => t.active); + const tab = tabs.find((t) => t.active); if (!tab) { return; } @@ -26,7 +23,7 @@ export default class TabSelectUseCase { if (tabs.length < 2) { return; } - const tab = tabs.find(t => t.active); + const tab = tabs.find((t) => t.active); if (!tab) { return; } @@ -46,7 +43,7 @@ export default class TabSelectUseCase { async selectPrevSelected(): Promise<any> { const tabId = await this.tabPresenter.getLastSelectedId(); - if (tabId === null || typeof tabId === 'undefined') { + if (tabId === null || typeof tabId === "undefined") { return Promise.resolve(); } return this.tabPresenter.select(tabId); diff --git a/src/background/usecases/TabUseCase.ts b/src/background/usecases/TabUseCase.ts index 418dde5..1439107 100644 --- a/src/background/usecases/TabUseCase.ts +++ b/src/background/usecases/TabUseCase.ts @@ -1,16 +1,15 @@ -import {inject, injectable} from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; -import WindowPresenter from '../presenters/WindowPresenter'; -import BrowserSettingRepository from '../repositories/BrowserSettingRepository'; +import { inject, injectable } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; +import WindowPresenter from "../presenters/WindowPresenter"; +import BrowserSettingRepository from "../repositories/BrowserSettingRepository"; @injectable() export default class TabUseCase { constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, + @inject("TabPresenter") private tabPresenter: TabPresenter, private windowPresenter: WindowPresenter, - private browserSettingRepository: BrowserSettingRepository, - ) { - } + private browserSettingRepository: BrowserSettingRepository + ) {} async close(force: boolean, selectLeft = false): Promise<any> { const tab = await this.tabPresenter.getCurrent(); @@ -27,7 +26,7 @@ export default class TabUseCase { async closeRight(): Promise<any> { const tabs = await this.tabPresenter.getAll(); tabs.sort((t1, t2) => t1.index - t2.index); - const index = tabs.findIndex(t => t.active); + const index = tabs.findIndex((t) => t.active); if (index < 0) { return; } @@ -65,16 +64,18 @@ export default class TabUseCase { async openPageSource(): Promise<any> { const tab = await this.tabPresenter.getCurrent(); - const url = 'view-source:' + tab.url; + const url = "view-source:" + tab.url; return this.tabPresenter.create(url); } async openHome(newTab: boolean): Promise<any> { const tab = await this.tabPresenter.getCurrent(); const urls = await this.browserSettingRepository.getHomepageUrls(); - if (urls.length === 1 && urls[0] === 'about:home') { + if (urls.length === 1 && urls[0] === "about:home") { // eslint-disable-next-line max-len - throw new Error('Cannot open Firefox Home (about:home) by WebExtensions, set your custom URLs'); + throw new Error( + "Cannot open Firefox Home (about:home) by WebExtensions, set your custom URLs" + ); } if (urls.length === 1 && !newTab) { return this.tabPresenter.open(urls[0], tab.id); @@ -85,7 +86,9 @@ export default class TabUseCase { } async openURL( - url: string, newTab?: boolean, newWindow?: boolean, + url: string, + newTab?: boolean, + newWindow?: boolean ): Promise<void> { if (newWindow) { await this.windowPresenter.create(url); diff --git a/src/background/usecases/VersionUseCase.ts b/src/background/usecases/VersionUseCase.ts index 21a5e2c..74df8a8 100644 --- a/src/background/usecases/VersionUseCase.ts +++ b/src/background/usecases/VersionUseCase.ts @@ -1,14 +1,13 @@ -import { injectable, inject } from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; -import Notifier from '../presenters/Notifier'; +import { injectable, inject } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; +import Notifier from "../presenters/Notifier"; @injectable() export default class VersionUseCase { constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, - @inject("Notifier") private notifier: Notifier, - ) { - } + @inject("TabPresenter") private tabPresenter: TabPresenter, + @inject("Notifier") private notifier: Notifier + ) {} notify(): Promise<void> { const manifest = browser.runtime.getManifest(); @@ -22,6 +21,6 @@ export default class VersionUseCase { if (version) { return `https://github.com/ueokande/vim-vixen/releases/tag/${version}`; } - return 'https://github.com/ueokande/vim-vixen/releases/'; + return "https://github.com/ueokande/vim-vixen/releases/"; } } diff --git a/src/background/usecases/ZoomUseCase.ts b/src/background/usecases/ZoomUseCase.ts index ca1368d..173e4d7 100644 --- a/src/background/usecases/ZoomUseCase.ts +++ b/src/background/usecases/ZoomUseCase.ts @@ -1,23 +1,32 @@ -import { inject, injectable } from 'tsyringe'; -import TabPresenter from '../presenters/TabPresenter'; +import { inject, injectable } from "tsyringe"; +import TabPresenter from "../presenters/TabPresenter"; const ZOOM_SETTINGS: number[] = [ - 0.33, 0.50, 0.66, 0.75, 0.80, 0.90, 1.00, - 1.10, 1.25, 1.50, 1.75, 2.00, 2.50, 3.00 + 0.33, + 0.5, + 0.66, + 0.75, + 0.8, + 0.9, + 1.0, + 1.1, + 1.25, + 1.5, + 1.75, + 2.0, + 2.5, + 3.0, ]; @injectable() export default class ZoomUseCase { - constructor( - @inject('TabPresenter') private tabPresenter: TabPresenter, - ) { - } + constructor(@inject("TabPresenter") private tabPresenter: TabPresenter) {} async zoomIn(): Promise<any> { const tab = await this.tabPresenter.getCurrent(); const tabId = tab.id as number; const current = await this.tabPresenter.getZoom(tabId); - const factor = ZOOM_SETTINGS.find(f => f > current); + const factor = ZOOM_SETTINGS.find((f) => f > current); if (factor) { return this.tabPresenter.setZoom(tabId as number, factor); } @@ -27,7 +36,9 @@ export default class ZoomUseCase { const tab = await this.tabPresenter.getCurrent(); const tabId = tab.id as number; const current = await this.tabPresenter.getZoom(tabId); - const factor = ZOOM_SETTINGS.slice(0).reverse().find(f => f < current); + const factor = ZOOM_SETTINGS.slice(0) + .reverse() + .find((f) => f < current); if (factor) { return this.tabPresenter.setZoom(tabId as number, factor); } diff --git a/src/background/usecases/parsers.ts b/src/background/usecases/parsers.ts index 99ff2eb..23a6193 100644 --- a/src/background/usecases/parsers.ts +++ b/src/background/usecases/parsers.ts @@ -1,36 +1,39 @@ -import Properties from '../../shared/settings/Properties'; +import Properties from "../../shared/settings/Properties"; const mustNumber = (v: any): number => { const num = Number(v); if (isNaN(num)) { - throw new Error('Not number: ' + v); + throw new Error("Not number: " + v); } return num; }; -const parseSetOption = ( - args: string, -): any[] => { - let [key, value]: any[] = args.split('='); +const parseSetOption = (args: string): any[] => { + let [key, value]: any[] = args.split("="); if (value === undefined) { - value = !key.startsWith('no'); + value = !key.startsWith("no"); key = value ? key : key.slice(2); } const def = Properties.def(key); if (!def) { - throw new Error('Unknown property: ' + key); + throw new Error("Unknown property: " + key); } - if (def.type === 'boolean' && typeof value !== 'boolean' || - def.type !== 'boolean' && typeof value === 'boolean') { - throw new Error('Invalid argument: ' + args); + if ( + (def.type === "boolean" && typeof value !== "boolean") || + (def.type !== "boolean" && typeof value === "boolean") + ) { + throw new Error("Invalid argument: " + args); } switch (def.type) { - case 'string': return [key, value]; - case 'number': return [key, mustNumber(value)]; - case 'boolean': return [key, value]; - default: - throw new Error('Unknown property type: ' + def.type); + case "string": + return [key, value]; + case "number": + return [key, mustNumber(value)]; + case "boolean": + return [key, value]; + default: + throw new Error("Unknown property type: " + def.type); } }; |