Use TSyringe on background script
This commit is contained in:
parent
c7803e7c29
commit
cdfd54ed99
37 changed files with 212 additions and 202 deletions
|
@ -1,27 +1,21 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import IndicatorPresenter from '../presenters/IndicatorPresenter';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
import ContentMessageClient from '../infrastructures/ContentMessageClient';
|
||||
|
||||
@injectable()
|
||||
export default class AddonEnabledUseCase {
|
||||
private indicatorPresentor: IndicatorPresenter;
|
||||
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private contentMessageClient: ContentMessageClient;
|
||||
|
||||
constructor() {
|
||||
this.indicatorPresentor = new IndicatorPresenter();
|
||||
|
||||
constructor(
|
||||
private indicatorPresentor: IndicatorPresenter,
|
||||
private tabPresenter: TabPresenter,
|
||||
private contentMessageClient: ContentMessageClient,
|
||||
) {
|
||||
this.indicatorPresentor.onClick((tab) => {
|
||||
if (tab.id) {
|
||||
this.onIndicatorClick(tab.id);
|
||||
}
|
||||
});
|
||||
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.tabPresenter.onSelected(info => this.onTabSelected(info.tabId));
|
||||
|
||||
this.contentMessageClient = new ContentMessageClient();
|
||||
}
|
||||
|
||||
indicate(enabled: boolean): Promise<void> {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import * as parsers from './parsers';
|
||||
import * as urls from '../../shared/urls';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
|
@ -7,27 +8,16 @@ import BookmarkRepository from '../repositories/BookmarkRepository';
|
|||
import ConsoleClient from '../infrastructures/ConsoleClient';
|
||||
import ContentMessageClient from '../infrastructures/ContentMessageClient';
|
||||
|
||||
@injectable()
|
||||
export default class CommandIndicator {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private windowPresenter: WindowPresenter;
|
||||
|
||||
private settingRepository: SettingRepository;
|
||||
|
||||
private bookmarkRepository: BookmarkRepository;
|
||||
|
||||
private consoleClient: ConsoleClient;
|
||||
|
||||
private contentMessageClient: ContentMessageClient;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.windowPresenter = new WindowPresenter();
|
||||
this.settingRepository = new SettingRepository();
|
||||
this.bookmarkRepository = new BookmarkRepository();
|
||||
this.consoleClient = new ConsoleClient();
|
||||
|
||||
this.contentMessageClient = new ContentMessageClient();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private windowPresenter: WindowPresenter,
|
||||
private settingRepository: SettingRepository,
|
||||
private bookmarkRepository: BookmarkRepository,
|
||||
private consoleClient: ConsoleClient,
|
||||
private contentMessageClient: ContentMessageClient,
|
||||
) {
|
||||
}
|
||||
|
||||
async open(keywords: string): Promise<browser.tabs.Tab> {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import CompletionGroup from '../domains/CompletionGroup';
|
||||
import CommandDocs from '../domains/CommandDocs';
|
||||
import CompletionsRepository from '../repositories/CompletionsRepository';
|
||||
|
@ -11,17 +12,13 @@ const COMPLETION_ITEM_LIMIT = 10;
|
|||
type Tab = browser.tabs.Tab;
|
||||
type HistoryItem = browser.history.HistoryItem;
|
||||
|
||||
@injectable()
|
||||
export default class CompletionsUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private completionsRepository: CompletionsRepository;
|
||||
|
||||
private settingRepository: SettingRepository;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.completionsRepository = new CompletionsRepository();
|
||||
this.settingRepository = new SettingRepository();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private completionsRepository: CompletionsRepository,
|
||||
private settingRepository: SettingRepository,
|
||||
) {
|
||||
}
|
||||
|
||||
queryConsoleCommand(prefix: string): Promise<CompletionGroup[]> {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
import ConsoleClient from '../infrastructures/ConsoleClient';
|
||||
|
||||
@injectable()
|
||||
export default class ConsoleUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private consoleClient: ConsoleClient;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.consoleClient = new ConsoleClient();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private consoleClient: ConsoleClient,
|
||||
) {
|
||||
}
|
||||
|
||||
async showCommand(): Promise<any> {
|
||||
|
|
|
@ -1,18 +1,15 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import FindRepository from '../repositories/FindRepository';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
import ConsoleClient from '../infrastructures/ConsoleClient';
|
||||
|
||||
@injectable()
|
||||
export default class FindUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private findRepository: FindRepository;
|
||||
|
||||
private consoleClient: ConsoleClient;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.findRepository = new FindRepository();
|
||||
this.consoleClient = new ConsoleClient();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private findRepository: FindRepository,
|
||||
private consoleClient: ConsoleClient,
|
||||
) {
|
||||
}
|
||||
|
||||
getKeyword(): Promise<string> {
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
|
||||
@injectable()
|
||||
export default class LinkUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
) {
|
||||
}
|
||||
|
||||
openToTab(url: string, tabId: number): Promise<any> {
|
||||
|
|
|
@ -1,22 +1,17 @@
|
|||
import { 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 {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private markRepository: MarkRepository;
|
||||
|
||||
private consoleClient: ConsoleClient;
|
||||
|
||||
private contentMessageClient: ContentMessageClient;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.markRepository = new MarkRepository();
|
||||
this.consoleClient = new ConsoleClient();
|
||||
this.contentMessageClient = new ContentMessageClient();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private markRepository: MarkRepository,
|
||||
private consoleClient: ConsoleClient,
|
||||
private contentMessageClient: ContentMessageClient,
|
||||
) {
|
||||
}
|
||||
|
||||
async setGlobal(key: string, x: number, y: number): Promise<any> {
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
// eslint-disable-next-line max-len
|
||||
import PersistentSettingRepository from '../repositories/PersistentSettingRepository';
|
||||
import { injectable } from 'tsyringe';
|
||||
import PersistentSettingRepository
|
||||
from '../repositories/PersistentSettingRepository';
|
||||
import SettingRepository from '../repositories/SettingRepository';
|
||||
import { DefaultSettingData } from '../../shared/SettingData';
|
||||
import Settings from '../../shared/Settings';
|
||||
|
||||
@injectable()
|
||||
export default class SettingUseCase {
|
||||
private persistentSettingRepository: PersistentSettingRepository;
|
||||
|
||||
private settingRepository: SettingRepository;
|
||||
|
||||
constructor() {
|
||||
this.persistentSettingRepository = new PersistentSettingRepository();
|
||||
this.settingRepository = new SettingRepository();
|
||||
constructor(
|
||||
private persistentSettingRepository: PersistentSettingRepository,
|
||||
private settingRepository: SettingRepository,
|
||||
) {
|
||||
}
|
||||
|
||||
get(): Promise<Settings> {
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
|
||||
@injectable()
|
||||
export default class TabSelectUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
) {
|
||||
}
|
||||
|
||||
async selectPrev(count: number): Promise<any> {
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
import BrowserSettingRepository from '../repositories/BrowserSettingRepository';
|
||||
|
||||
@injectable()
|
||||
export default class TabUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private browserSettingRepository: BrowserSettingRepository;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.browserSettingRepository = new BrowserSettingRepository();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private browserSettingRepository: BrowserSettingRepository,
|
||||
) {
|
||||
}
|
||||
|
||||
async close(force: boolean): Promise<any> {
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
import NotifyPresenter from '../presenters/NotifyPresenter';
|
||||
|
||||
@injectable()
|
||||
export default class VersionUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
private notifyPresenter: NotifyPresenter;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
this.notifyPresenter = new NotifyPresenter();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
private notifyPresenter: NotifyPresenter,
|
||||
) {
|
||||
}
|
||||
|
||||
notify(): Promise<void> {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import TabPresenter from '../presenters/TabPresenter';
|
||||
|
||||
const ZOOM_SETTINGS: number[] = [
|
||||
|
@ -5,11 +6,11 @@ const ZOOM_SETTINGS: number[] = [
|
|||
1.10, 1.25, 1.50, 1.75, 2.00, 2.50, 3.00
|
||||
];
|
||||
|
||||
@injectable()
|
||||
export default class ZoomUseCase {
|
||||
private tabPresenter: TabPresenter;
|
||||
|
||||
constructor() {
|
||||
this.tabPresenter = new TabPresenter();
|
||||
constructor(
|
||||
private tabPresenter: TabPresenter,
|
||||
) {
|
||||
}
|
||||
|
||||
async zoomIn(): Promise<any> {
|
||||
|
|
Reference in a new issue