diff options
Diffstat (limited to 'src/background/repositories/CompletionsRepository.ts')
-rw-r--r-- | src/background/repositories/CompletionsRepository.ts | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/background/repositories/CompletionsRepository.ts b/src/background/repositories/CompletionsRepository.ts deleted file mode 100644 index dfecff0..0000000 --- a/src/background/repositories/CompletionsRepository.ts +++ /dev/null @@ -1,40 +0,0 @@ -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[]> { - const items = await browser.bookmarks.search({ query: keywords }); - return items.filter((item) => { - if (!item.url) { - return false; - } - let url = undefined; - try { - url = new URL(item.url); - } catch (e) { - return false; - } - return item.type === 'bookmark' && url.protocol !== 'place:'; - }); - } - - queryHistories(keywords: string): Promise<browser.history.HistoryItem[]> { - return browser.history.search({ - text: keywords, - startTime: 0, - }); - } - - async queryTabs(keywords: string, excludePinned: boolean): Promise<Tab[]> { - const tabs = await browser.tabs.query({ currentWindow: true }); - return tabs.filter((t) => { - return t.url && t.url.toLowerCase().includes(keywords.toLowerCase()) || - t.title && t.title.toLowerCase().includes(keywords.toLowerCase()); - }).filter((t) => { - return !(excludePinned && t.pinned); - }); - } -} |