import { inject, injectable } from "tsyringe"; import TabPresenter from "../presenters/TabPresenter"; @injectable() export default class LinkUseCase { constructor(@inject("TabPresenter") private tabPresenter: TabPresenter) {} openToTab(url: string, tabId: number): Promise { return this.tabPresenter.open(url, tabId); } async openNewTab( url: string, openerId: number, background: boolean ): Promise { const properties: any = { active: !background }; const platform = await browser.runtime.getPlatformInfo(); if (platform.os !== "android") { // openerTabId not supported on Android properties.openerTabId = openerId; } return this.tabPresenter.create(url, properties); } }