Introduce pluginKey

Summary: Exposed the `pluginKey` to sandy plugins (which we will use later for storing table preferences per plugin). And a little moving code around because circular deps problem roared its ugly head again.

Reviewed By: nikoant

Differential Revision: D27009721

fbshipit-source-id: 7ad29e72ff8028c9daae270c4749b657bd8ff049
This commit is contained in:
Michel Weststrate
2021-03-16 14:54:53 -07:00
committed by Facebook GitHub Bot
parent be25df6490
commit 2ca52f81d2
16 changed files with 63 additions and 36 deletions

View File

@@ -25,7 +25,6 @@ import {
PluginDefinition,
DevicePluginMap,
ClientPluginMap,
isSandyPlugin,
} from '../plugin';
import {default as BaseDevice} from '../devices/BaseDevice';
import {default as ArchivedDevice} from '../devices/ArchivedDevice';
@@ -46,7 +45,7 @@ import {setSelectPluginsToExportActiveSheet} from '../reducers/application';
import {deconstructClientId, deconstructPluginKey} from '../utils/clientUtils';
import {performance} from 'perf_hooks';
import {processMessageQueue} from './messageQueue';
import {getPluginTitle} from './pluginUtils';
import {getPluginTitle, isSandyPlugin} from './pluginUtils';
import {capture} from './screenshot';
import {uploadFlipperMedia} from '../fb-stubs/user';
import {Idler} from 'flipper-plugin';

View File

@@ -8,7 +8,7 @@
*/
import {PersistedStateReducer, FlipperDevicePlugin} from '../plugin';
import {State, MiddlewareAPI} from '../reducers/index';
import type {State, MiddlewareAPI} from '../reducers/index';
import {setPluginState} from '../reducers/pluginStates';
import {
clearMessageQueue,

View File

@@ -7,16 +7,15 @@
* @format
*/
import {Store} from '../reducers/index';
import {
import type {Store} from '../reducers/index';
import type {
ClientPluginMap,
DevicePluginMap,
PluginDefinition,
isSandyPlugin,
} from '../plugin';
import {setPluginState} from '../reducers/pluginStates';
import BaseDevice from '../devices/BaseDevice';
import {getPersistedState} from '../utils/pluginUtils';
import type BaseDevice from '../devices/BaseDevice';
import {getPersistedState, isSandyPlugin} from '../utils/pluginUtils';
export function registerDeviceCallbackOnPlugins(
store: Store,

View File

@@ -12,7 +12,6 @@ import {
FlipperBasePlugin,
PluginDefinition,
DevicePluginDefinition,
isSandyPlugin,
ClientPluginDefinition,
} from '../plugin';
import type {State} from '../reducers';
@@ -54,6 +53,12 @@ export function getPluginKey(
return `unknown#${pluginID}`;
}
export function isSandyPlugin(
plugin?: PluginDefinition | null,
): plugin is _SandyPluginDefinition {
return plugin instanceof _SandyPluginDefinition;
}
export function getPersistedState<PersistedState>(
pluginKey: string,
persistingPlugin: typeof FlipperBasePlugin | null,