mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
## Summary Exposes the APIs needed by React Native DevTools (Fusebox) to implement the "view element source" and "view attribute source" features. ## How did you test this change? 1. `yarn build` in `react-devtools-fusebox` 2. Copy artifacts to rn-chrome-devtools-frontend 3. Write some additional glue code to implement `viewElementSourceFunction` in our CDT fork. 4. Test the feature manually. https://github.com/facebook/react/assets/2246565/12667018-100a-4b3f-957a-06c07f2af41a
54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
/**
|
|
* 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.
|
|
*/
|
|
|
|
export type MessagePayload = null | string | number | boolean | { [key: string]: MessagePayload } | MessagePayload[];
|
|
export type Message = { event: string, payload?: MessagePayload };
|
|
|
|
export type WallListener = (message: Message) => void;
|
|
export type Wall = {
|
|
listen: (fn: WallListener) => Function,
|
|
send: (event: string, payload?: MessagePayload) => void,
|
|
};
|
|
|
|
export type Bridge = {
|
|
shutdown: () => void,
|
|
};
|
|
export type Store = Object;
|
|
export type BrowserTheme = 'dark' | 'light';
|
|
|
|
export function createBridge(wall: Wall): Bridge;
|
|
export function createStore(bridge: Bridge): Store;
|
|
|
|
export type Source = {
|
|
sourceURL: string,
|
|
line: number,
|
|
column: number,
|
|
};
|
|
export type ViewElementSource = (
|
|
source: Source,
|
|
symbolicatedSource: Source | null,
|
|
) => void;
|
|
export type ViewAttributeSource = (
|
|
id: number,
|
|
path: Array<string | number>,
|
|
) => void;
|
|
export type CanViewElementSource = (
|
|
source: Source,
|
|
symbolicatedSource: Source | null,
|
|
) => boolean;
|
|
|
|
export type InitializationOptions = {
|
|
bridge: Bridge,
|
|
store: Store,
|
|
theme?: BrowserTheme,
|
|
viewAttributeSourceFunction?: ViewAttributeSource,
|
|
viewElementSourceFunction?: ViewElementSource,
|
|
canViewElementSourceFunction?: CanViewElementSource,
|
|
};
|
|
|
|
export function initialize(node: Element | Document, options: InitializationOptions): void;
|