Skip to content

Commit fa3f8bd

Browse files
committed
refactor[renderer]: expose getInspectorDataForInstance in rendererConfig
1 parent 9100456 commit fa3f8bd

File tree

3 files changed

+7
-26
lines changed

3 files changed

+7
-26
lines changed

packages/react-native-renderer/src/ReactFabric.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ injectIntoDevTools({
137137
version: ReactVersion,
138138
rendererPackageName: 'react-native-renderer',
139139
rendererConfig: {
140+
getInspectorDataForInstance,
140141
getInspectorDataForViewTag: getInspectorDataForViewTag,
141142
getInspectorDataForViewAtPoint: getInspectorDataForViewAtPoint.bind(
142143
null,

packages/react-native-renderer/src/ReactNativeFiberInspector.js

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,11 @@ function getInspectorDataForInstance(
117117
selectedIndex,
118118
source,
119119
};
120-
} else {
121-
return (null: any);
122120
}
121+
122+
throw new Error(
123+
'getInspectorDataForInstance() is not available in production',
124+
);
123125
}
124126

125127
function getOwnerHierarchy(instance: any) {
@@ -157,30 +159,7 @@ function getInspectorDataForViewTag(viewTag: number): Object {
157159
if (__DEV__) {
158160
const closestInstance = getClosestInstanceFromNode(viewTag);
159161

160-
// Handle case where user clicks outside of ReactNative
161-
if (!closestInstance) {
162-
return {
163-
hierarchy: [],
164-
props: emptyObject,
165-
selectedIndex: null,
166-
source: null,
167-
};
168-
}
169-
170-
const fiber = findCurrentFiberUsingSlowPath(closestInstance);
171-
const fiberHierarchy = getOwnerHierarchy(fiber);
172-
const instance = lastNonHostInstance(fiberHierarchy);
173-
const hierarchy = createHierarchy(fiberHierarchy);
174-
const props = getHostProps(instance);
175-
const source = instance._debugSource;
176-
const selectedIndex = fiberHierarchy.indexOf(instance);
177-
178-
return {
179-
hierarchy,
180-
props,
181-
selectedIndex,
182-
source,
183-
};
162+
return getInspectorDataForInstance(closestInstance);
184163
} else {
185164
throw new Error(
186165
'getInspectorDataForViewTag() is not available in production',

packages/react-native-renderer/src/ReactNativeRenderer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ injectIntoDevTools({
145145
version: ReactVersion,
146146
rendererPackageName: 'react-native-renderer',
147147
rendererConfig: {
148+
getInspectorDataForInstance,
148149
getInspectorDataForViewTag: getInspectorDataForViewTag,
149150
getInspectorDataForViewAtPoint: getInspectorDataForViewAtPoint.bind(
150151
null,

0 commit comments

Comments
 (0)