diff --git a/extension/src/background/index.ts b/extension/src/background/index.ts index 417e246a..c34b4a54 100644 --- a/extension/src/background/index.ts +++ b/extension/src/background/index.ts @@ -1,7 +1,7 @@ import configureStore from './store/backgroundStore'; import openDevToolsWindow, { DevToolsPosition } from './openWindow'; import { createMenu, removeMenu } from './contextMenus'; -import syncOptions from '../options/syncOptions'; +import createSyncOptions from '../options/syncOptions'; // Expose the extension's store globally to access it from the windows // via chrome.runtime.getBackgroundPage @@ -16,7 +16,7 @@ chrome.commands.onCommand.addListener((shortcut) => { chrome.runtime.onInstalled.addListener(() => { chrome.action.disable(); - syncOptions().get((option) => { + createSyncOptions().get((option) => { if (option.showContextMenus) createMenu(); }); }); diff --git a/extension/src/background/store/apiMiddleware.ts b/extension/src/background/store/apiMiddleware.ts index 52ac84d8..12764e6e 100644 --- a/extension/src/background/store/apiMiddleware.ts +++ b/extension/src/background/store/apiMiddleware.ts @@ -11,7 +11,7 @@ import { TOGGLE_PERSIST, UPDATE_STATE, } from '@redux-devtools/app'; -import syncOptions, { +import createSyncOptions, { Options, OptionsMessage, } from '../../options/syncOptions'; @@ -420,6 +420,8 @@ function toAllTabs(msg: TabMessage) { }); } +const syncOptions = createSyncOptions(toAllTabs); + function monitorInstances(shouldMonitor: boolean, id?: string) { if (!id && isMonitored === shouldMonitor) return; const action = { @@ -497,7 +499,7 @@ function messaging>( return; } if (request.type === 'GET_OPTIONS') { - syncOptionsToAllTabs.get((options) => { + syncOptions.get((options) => { sendResponse!({ options }); }); return; @@ -664,8 +666,6 @@ chrome.notifications.onClicked.addListener((id) => { openDevToolsWindow('devtools-right'); }); -const syncOptionsToAllTabs = syncOptions(toAllTabs); // Expose to the options page - const api: Middleware<{}, BackgroundState, Dispatch> = (store) => (next) => (untypedAction) => { const action = untypedAction as BackgroundAction; diff --git a/extension/src/options/syncOptions.ts b/extension/src/options/syncOptions.ts index 4b51685f..17324ffc 100644 --- a/extension/src/options/syncOptions.ts +++ b/extension/src/options/syncOptions.ts @@ -154,7 +154,7 @@ export interface SyncOptions { readonly subscribe: (callback: (options: Options) => void) => void; } -export default function syncOptions(toAllTabs?: ToAllTabs): SyncOptions { +export default function createSyncOptions(toAllTabs?: ToAllTabs): SyncOptions { if (toAllTabs && !options) get(() => {}); // Initialize return { save: save(toAllTabs),