The error on loading settings can occurs when the settings lose backward compatibility on version up, or the saved date is broken. The error is caught, then the script done fallback to default settings and notify it to user.
27 lines
789 B
TypeScript
27 lines
789 B
TypeScript
import { injectable } from 'tsyringe';
|
|
import TabPresenter from '../presenters/TabPresenter';
|
|
import NotifyPresenter from '../presenters/NotifyPresenter';
|
|
|
|
@injectable()
|
|
export default class VersionUseCase {
|
|
constructor(
|
|
private tabPresenter: TabPresenter,
|
|
private notifyPresenter: NotifyPresenter,
|
|
) {
|
|
}
|
|
|
|
notify(): Promise<void> {
|
|
let manifest = browser.runtime.getManifest();
|
|
let url = this.releaseNoteUrl(manifest.version);
|
|
return this.notifyPresenter.notifyUpdated(manifest.version, () => {
|
|
this.tabPresenter.create(url);
|
|
});
|
|
}
|
|
|
|
releaseNoteUrl(version?: string): string {
|
|
if (version) {
|
|
return `https://github.com/ueokande/vim-vixen/releases/tag/${version}`;
|
|
}
|
|
return 'https://github.com/ueokande/vim-vixen/releases/';
|
|
}
|
|
}
|