Use TSyringe on background script
This commit is contained in:
parent
c7803e7c29
commit
cdfd54ed99
37 changed files with 212 additions and 202 deletions
|
@ -1,3 +1,6 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
|
||||
@injectable()
|
||||
export default class BookmarkRepository {
|
||||
async create(
|
||||
title: string, url: string
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import * as urls from '../../shared/urls';
|
||||
|
||||
declare namespace browser.browserSettings.homepageOverride {
|
||||
|
@ -16,6 +17,7 @@ declare namespace browser.browserSettings.homepageOverride {
|
|||
function get(param: object): Promise<BrowserSettings>;
|
||||
}
|
||||
|
||||
@injectable()
|
||||
export default class BrowserSettingRepository {
|
||||
async getHomepageUrls(): Promise<string[]> {
|
||||
let { value } = await browser.browserSettings.homepageOverride.get({});
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
|
||||
type Tab = browser.tabs.Tab;
|
||||
type BookmarkTreeNode = browser.bookmarks.BookmarkTreeNode;
|
||||
|
||||
@injectable()
|
||||
export default class CompletionsRepository {
|
||||
async queryBookmarks(keywords: string): Promise<BookmarkTreeNode[]> {
|
||||
let items = await browser.bookmarks.search({ query: keywords });
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import MemoryStorage from '../infrastructures/MemoryStorage';
|
||||
|
||||
const FIND_KEYWORD_KEY = 'find-keyword';
|
||||
|
||||
@injectable()
|
||||
export default class FindRepository {
|
||||
private cache: MemoryStorage;
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import MemoryStorage from '../infrastructures/MemoryStorage';
|
||||
import GlobalMark from '../domains/GlobalMark';
|
||||
|
||||
const MARK_KEY = 'mark';
|
||||
|
||||
@injectable()
|
||||
export default class MarkRepository {
|
||||
private cache: MemoryStorage;
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import SettingData from '../../shared/SettingData';
|
||||
|
||||
@injectable()
|
||||
export default class SettingRepository {
|
||||
async load(): Promise<SettingData | null> {
|
||||
let { settings } = await browser.storage.local.get('settings');
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
import { injectable } from 'tsyringe';
|
||||
import MemoryStorage from '../infrastructures/MemoryStorage';
|
||||
import Settings from '../../shared/Settings';
|
||||
import * as PropertyDefs from '../../shared/property-defs';
|
||||
|
||||
const CACHED_SETTING_KEY = 'setting';
|
||||
|
||||
@injectable()
|
||||
export default class SettingRepository {
|
||||
private cache: MemoryStorage;
|
||||
|
||||
|
|
Reference in a new issue