From 83e3b89b421d185553865533481762fb61f097ce Mon Sep 17 00:00:00 2001 From: Juan Tejada Date: Wed, 11 Aug 2021 10:32:57 -0400 Subject: [PATCH] Add extra comments about extension fields --- .../src/__tests__/updateMockSourceMaps.js | 5 +++++ .../src/parseHookNames/parseHookNames.js | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/packages/react-devtools-extensions/src/__tests__/updateMockSourceMaps.js b/packages/react-devtools-extensions/src/__tests__/updateMockSourceMaps.js index 8e47140811429..6e8b8bdff596e 100644 --- a/packages/react-devtools-extensions/src/__tests__/updateMockSourceMaps.js +++ b/packages/react-devtools-extensions/src/__tests__/updateMockSourceMaps.js @@ -133,10 +133,15 @@ function compile(fileName) { const encodedHookMap = generateEncodedHookMap(parsed); const fbSourcesExtendedSourceMap = { ...sourceMap, + // When using the x_fb_sources extension field, the first item + // for a given source is reserved for the Function Map, and the + // Hook Map is added as the second item. x_fb_sources: [[null, encodedHookMap]], }; const reactSourcesExtendedSourceMap = { ...sourceMap, + // When using the x_react_sources extension field, the first item + // for a given source is reserved for the Hook Map. x_react_sources: [[encodedHookMap]], }; diff --git a/packages/react-devtools-extensions/src/parseHookNames/parseHookNames.js b/packages/react-devtools-extensions/src/parseHookNames/parseHookNames.js index 9386bd632001b..78e0b7ef66f25 100644 --- a/packages/react-devtools-extensions/src/parseHookNames/parseHookNames.js +++ b/packages/react-devtools-extensions/src/parseHookNames/parseHookNames.js @@ -667,8 +667,15 @@ function extractHookMapFromSourceMap( ): HookMap | null { let hookMap; if (sourcemap.hasOwnProperty(REACT_SOURCES_EXTENSION_KEY)) { + // When using the x_react_sources extension field, the first item + // for a given source is reserved for the Hook Map, which is why + // we look up the index at position 0. hookMap = sourcemap[REACT_SOURCES_EXTENSION_KEY][sourceIndex][0]; } else if (sourcemap.hasOwnProperty(FB_SOURCES_EXTENSION_KEY)) { + // When using the x_fb_sources extension field, the first item + // for a given source is reserved for the Function Map, and the + // Hook Map is added as the second item, which is why we look up + // the index at position 1. hookMap = sourcemap[FB_SOURCES_EXTENSION_KEY][sourceIndex][1]; } if (hookMap != null) {