From f3a482a48ff29391830eb88f2d401ffd3d0c348c Mon Sep 17 00:00:00 2001 From: relrelb Date: Sat, 2 Oct 2021 00:04:01 +0300 Subject: [PATCH] extension: Prefer functions over methods TypeScript is more strict with functions. Fix 2 instances affected by this change. --- web/packages/extension/src/utils.ts | 35 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/web/packages/extension/src/utils.ts b/web/packages/extension/src/utils.ts index 4df89cd4d..23f8f851d 100644 --- a/web/packages/extension/src/utils.ts +++ b/web/packages/extension/src/utils.ts @@ -9,46 +9,46 @@ const DEFAULT_OPTIONS: Options = { }; export let i18n: { - getMessage(name: string): string; + getMessage: (name: string) => string; }; interface StorageArea { - get(keys?: string[]): Promise>; - remove(keys: string[]): Promise; - set(items: Record): Promise; + get: (keys?: string[]) => Promise>; + remove: (keys: string[]) => Promise; + set: (items: Record) => Promise; } export let storage: { local: StorageArea; sync: StorageArea; onChanged: { - addListener( + addListener: ( listener: ( changes: | Record | Record, areaName: string ) => void - ): void; + ) => void; }; }; export let tabs: { - reload(tabId: number): Promise; - query( + reload: (tabId: number) => Promise; + query: ( query: chrome.tabs.QueryInfo & browser.tabs._QueryQueryInfo - ): Promise; - sendMessage( + ) => Promise; + sendMessage: ( tabId: number, message: unknown, options?: chrome.tabs.MessageSendOptions & browser.tabs._SendMessageOptions - ): Promise; // eslint-disable-line @typescript-eslint/no-explicit-any + ) => Promise; // eslint-disable-line @typescript-eslint/no-explicit-any }; export let runtime: { onMessage: { - addListener( + addListener: ( listener: ( message: unknown, sender: @@ -56,9 +56,9 @@ export let runtime: { | browser.runtime.MessageSender, sendResponse: (response?: unknown) => void ) => void - ): void; + ) => void; }; - getURL(path: string): string; + getURL: (path: string) => string; }; export let openOptionsPage: () => Promise; @@ -82,7 +82,8 @@ function promisifyStorageArea( storage: chrome.storage.StorageArea ): StorageArea { return { - get: (keys: string[]) => promisify((cb) => storage.get(keys, cb)), + get: (keys?: string[]) => + promisify((cb) => storage.get(keys || null, cb)), remove: (keys: string[]) => promisify((cb) => storage.remove(keys, cb)), set: (items: Record) => promisify((cb) => storage.set(items, cb)), @@ -113,10 +114,10 @@ if (typeof chrome !== "undefined") { sendMessage: ( tabId: number, message: unknown, - options: chrome.tabs.MessageSendOptions + options?: chrome.tabs.MessageSendOptions ) => promisify((cb) => - chrome.tabs.sendMessage(tabId, message, options, cb) + chrome.tabs.sendMessage(tabId, message, options || {}, cb) ), };