Extend getInspectorDataForInstance to return props

Summary:
This diff extends the FabricUIManager.getInspectorDataForInstance to return the props of the React Native component associated to the view passed as a parameter.

changelog: [internal] internal

Reviewed By: sammy-SC

Differential Revision: D30095406

fbshipit-source-id: 50fdba6636a1f5042dbc113e341c3cb2534a1b04
This commit is contained in:
David Vacca
2021-08-04 11:39:17 -07:00
committed by Facebook GitHub Bot
parent f1b49f7df8
commit 43a91d03eb
3 changed files with 6 additions and 1 deletions
@@ -251,6 +251,7 @@ Binding::getInspectorDataForInstance(
result["lineNumber"] = data.lineNumber;
result["columnNumber"] = data.columnNumber;
result["selectedIndex"] = data.selectedIndex;
result["props"] = data.props;
auto hierarchy = folly::dynamic::array();
for (auto hierarchyItem : data.hierarchy) {
hierarchy.push_back(hierarchyItem);
@@ -16,6 +16,8 @@ struct InspectorData {
std::string fileName;
int lineNumber;
int columnNumber;
// TODO T97216348: remove folly::dynamic from InspectorData struct
folly::dynamic props;
};
} // namespace react
@@ -206,7 +206,7 @@ InspectorData Scheduler::getInspectorDataForInstance(
auto value = uiManagerBinding->getInspectorDataForInstance(
runtime, eventEmitter);
// TODO: avoid transforming jsi
// TODO T97216348: avoid transforming jsi into folly::dynamic
auto dynamic = jsi::dynamicFromValue(runtime, value);
auto source = dynamic["source"];
@@ -216,6 +216,8 @@ InspectorData Scheduler::getInspectorDataForInstance(
result.lineNumber = (int)source["lineNumber"].getDouble();
result.columnNumber = (int)source["columnNumber"].getDouble();
result.selectedIndex = (int)dynamic["selectedIndex"].getDouble();
// TODO T97216348: remove folly::dynamic from InspectorData struct
result.props = dynamic["props"];
auto hierarchy = dynamic["hierarchy"];
for (size_t i = 0; i < hierarchy.size(); i++) {
auto viewHierarchyValue = hierarchy[i]["name"];