Remove instanceof checks
Summary: Replaced `instanceof` checks with `isSandyPlugin` utility. That is cleaner to read and makes it easier to find places where we make exceptions for Sandy plugins Reviewed By: jknoxville Differential Revision: D22206707 fbshipit-source-id: b44a1b585424f3b9bf0d7ce200c34107f03ed55e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1dc9e899b8
commit
04a29315e2
@@ -26,6 +26,7 @@ import {
|
||||
PluginDefinition,
|
||||
DevicePluginMap,
|
||||
ClientPluginMap,
|
||||
isSandyPlugin,
|
||||
} from '../plugin';
|
||||
import {default as BaseDevice} from '../devices/BaseDevice';
|
||||
import {default as ArchivedDevice} from '../devices/ArchivedDevice';
|
||||
@@ -49,7 +50,6 @@ import {processMessageQueue} from './messageQueue';
|
||||
import {getPluginTitle} from './pluginUtils';
|
||||
import {capture} from './screenshot';
|
||||
import {uploadFlipperMedia} from '../fb-stubs/user';
|
||||
import {SandyPluginDefinition} from 'flipper-plugin';
|
||||
|
||||
export const IMPORT_FLIPPER_TRACE_EVENT = 'import-flipper-trace';
|
||||
export const EXPORT_FLIPPER_TRACE_EVENT = 'export-flipper-trace';
|
||||
@@ -223,7 +223,7 @@ const serializePluginStates = async (
|
||||
const pluginsMap: Map<string, typeof FlipperBasePlugin> = new Map([]);
|
||||
clientPlugins.forEach((val, key) => {
|
||||
// TODO: Support Sandy T68683449 and use ClientPluginsMap
|
||||
if (!(val instanceof SandyPluginDefinition)) {
|
||||
if (!isSandyPlugin(val)) {
|
||||
pluginsMap.set(key, val);
|
||||
}
|
||||
});
|
||||
@@ -260,7 +260,7 @@ const deserializePluginStates = (
|
||||
const pluginsMap: Map<string, typeof FlipperBasePlugin> = new Map([]);
|
||||
clientPlugins.forEach((val, key) => {
|
||||
// TODO: Support Sandy T68683449
|
||||
if (!(val instanceof SandyPluginDefinition)) pluginsMap.set(key, val);
|
||||
if (!isSandyPlugin(val)) pluginsMap.set(key, val);
|
||||
});
|
||||
devicePlugins.forEach((val, key) => {
|
||||
pluginsMap.set(key, val);
|
||||
@@ -522,10 +522,7 @@ async function processQueues(
|
||||
pluginClass,
|
||||
} of pluginsToProcess) {
|
||||
// TODO: Support Sandy T68683449
|
||||
if (
|
||||
!(pluginClass instanceof SandyPluginDefinition) &&
|
||||
pluginClass.persistedStateReducer
|
||||
) {
|
||||
if (!isSandyPlugin(pluginClass) && pluginClass.persistedStateReducer) {
|
||||
const processQueueMarker = `${EXPORT_FLIPPER_TRACE_EVENT}:process-queue-per-plugin`;
|
||||
performance.mark(processQueueMarker);
|
||||
|
||||
|
||||
@@ -19,8 +19,7 @@ import {
|
||||
import {deserializeObject} from './serialization';
|
||||
import {deconstructPluginKey} from './clientUtils';
|
||||
import {pluginsClassMap} from './pluginUtils';
|
||||
import {PluginDefinition} from '../plugin';
|
||||
import {SandyPluginDefinition} from 'flipper-plugin';
|
||||
import {PluginDefinition, isSandyPlugin} from '../plugin';
|
||||
|
||||
export type MetricType = {[metricName: string]: number};
|
||||
type MetricPluginType = {[pluginID: string]: MetricType};
|
||||
@@ -48,7 +47,7 @@ async function exportMetrics(
|
||||
const metricsReducer:
|
||||
| (<U>(persistedState: U) => Promise<MetricType>)
|
||||
| undefined =
|
||||
pluginClass && !(pluginClass instanceof SandyPluginDefinition)
|
||||
pluginClass && !isSandyPlugin(pluginClass)
|
||||
? pluginClass.metricsReducer
|
||||
: undefined;
|
||||
if (pluginsMap.has(pluginName) && metricsReducer) {
|
||||
|
||||
@@ -7,7 +7,11 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
import {PersistedStateReducer, FlipperDevicePlugin} from '../plugin';
|
||||
import {
|
||||
PersistedStateReducer,
|
||||
FlipperDevicePlugin,
|
||||
isSandyPlugin,
|
||||
} from '../plugin';
|
||||
import {State, MiddlewareAPI} from '../reducers/index';
|
||||
import {setPluginState} from '../reducers/pluginStates';
|
||||
import {flipperRecorderAddEvent} from './pluginStateRecorder';
|
||||
@@ -200,7 +204,8 @@ export function processMessagesLater(
|
||||
| SandyPluginDefinition,
|
||||
messages: Message[],
|
||||
) {
|
||||
if (plugin instanceof SandyPluginDefinition) {
|
||||
// @ts-ignore
|
||||
if (isSandyPlugin(plugin)) {
|
||||
// TODO:
|
||||
throw new Error(
|
||||
'Receiving messages is not yet supported for Sandy plugins',
|
||||
|
||||
@@ -8,11 +8,15 @@
|
||||
*/
|
||||
|
||||
import {Store} from '../reducers/index';
|
||||
import {ClientPluginMap, DevicePluginMap, PluginDefinition} from '../plugin';
|
||||
import {
|
||||
ClientPluginMap,
|
||||
DevicePluginMap,
|
||||
PluginDefinition,
|
||||
isSandyPlugin,
|
||||
} from '../plugin';
|
||||
import {setPluginState} from '../reducers/pluginStates';
|
||||
import BaseDevice from '../devices/BaseDevice';
|
||||
import {getPersistedState} from '../utils/pluginUtils';
|
||||
import {SandyPluginDefinition} from 'flipper-plugin';
|
||||
|
||||
export function registerDeviceCallbackOnPlugins(
|
||||
store: Store,
|
||||
@@ -22,7 +26,7 @@ export function registerDeviceCallbackOnPlugins(
|
||||
) {
|
||||
const callRegisterDeviceHook = (plugin: PluginDefinition) => {
|
||||
// This hook is not registered for Sandy plugins, let's see in the future if it is needed
|
||||
if (!(plugin instanceof SandyPluginDefinition) && plugin.onRegisterDevice) {
|
||||
if (!isSandyPlugin(plugin) && plugin.onRegisterDevice) {
|
||||
plugin.onRegisterDevice(
|
||||
store,
|
||||
device,
|
||||
|
||||
@@ -12,7 +12,7 @@ import fs from 'fs';
|
||||
import {Store, State} from '../reducers';
|
||||
import {getPluginKey} from './pluginUtils';
|
||||
import {serialize} from './serialization';
|
||||
import {SandyPluginDefinition} from 'flipper-plugin';
|
||||
import {isSandyPlugin} from '../plugin';
|
||||
|
||||
let pluginRecordingState: {
|
||||
recording: string;
|
||||
@@ -69,9 +69,7 @@ async function flipperStartPluginRecording(state: State) {
|
||||
// device state, and is used for creating Flipper Exports.
|
||||
pluginRecordingState.startState = await serialize(
|
||||
state.pluginStates[pluginKey] ||
|
||||
(plugin instanceof SandyPluginDefinition
|
||||
? {}
|
||||
: plugin.defaultPersistedState),
|
||||
(isSandyPlugin(plugin) ? {} : plugin.defaultPersistedState),
|
||||
);
|
||||
|
||||
console.log(
|
||||
|
||||
@@ -12,13 +12,13 @@ import {
|
||||
FlipperBasePlugin,
|
||||
PluginDefinition,
|
||||
DevicePluginDefinition,
|
||||
isSandyPlugin,
|
||||
} from '../plugin';
|
||||
import {State as PluginStatesState} from '../reducers/pluginStates';
|
||||
import {State as PluginsState} from '../reducers/plugins';
|
||||
import {State as PluginMessageQueueState} from '../reducers/pluginMessageQueue';
|
||||
import {PluginDetails} from 'flipper-plugin-lib';
|
||||
import {deconstructPluginKey, deconstructClientId} from './clientUtils';
|
||||
import {SandyPluginDefinition} from 'flipper-plugin';
|
||||
|
||||
type Client = import('../Client').default;
|
||||
|
||||
@@ -205,7 +205,7 @@ export function getPersistentPlugins(plugins: PluginsState): Array<string> {
|
||||
plugin == 'DeviceLogs' ||
|
||||
(pluginClass &&
|
||||
// TODO: support Sandy plugin T68683449
|
||||
!(pluginClass instanceof SandyPluginDefinition) &&
|
||||
!isSandyPlugin(pluginClass) &&
|
||||
(pluginClass.defaultPersistedState != undefined ||
|
||||
pluginClass.exportPersistedState != undefined))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user