react-native
Version:
A framework for building native apps using React
59 lines (51 loc) • 1.65 kB
JavaScript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
* @oncall react_native
*/
import type {NativeMethods} from '../Renderer/shims/ReactNativeTypes';
type PublicInstance = {
...NativeMethods,
};
export type InstanceFromReactDevTools =
| PublicInstance
| {
canonical?:
| PublicInstance // TODO: remove this variant when syncing the new version of the renderer from React to React Native.
| {
publicInstance?: PublicInstance,
},
};
export type ReactDevToolsAgentEvents = {
drawTraceUpdates: [Array<{node: InstanceFromReactDevTools, color: string}>],
disableTraceUpdates: [],
showNativeHighlight: [nodes: Array<InstanceFromReactDevTools>],
hideNativeHighlight: [],
shutdown: [],
startInspectingNative: [],
stopInspectingNative: [],
};
export type ReactDevToolsAgent = {
selectNode(node: mixed): void,
stopInspectingNative(value: boolean): void,
addListener<Event: $Keys<ReactDevToolsAgentEvents>>(
event: Event,
listener: (...ReactDevToolsAgentEvents[Event]) => void,
): void,
removeListener(
event: $Keys<ReactDevToolsAgentEvents>,
listener: () => void,
): void,
};
export type ReactDevToolsGlobalHook = {
on: (eventName: string, (agent: ReactDevToolsAgent) => void) => void,
off: (eventName: string, (agent: ReactDevToolsAgent) => void) => void,
reactDevtoolsAgent?: ReactDevToolsAgent,
resolveRNStyle?: mixed,
nativeStyleEditorValidAttributes?: Array<string>,
};