findHookNames() — react Function Reference
Architecture documentation for the findHookNames() function in parseSourceAndMetadata.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD 8fcd4639_43fc_b147_7c26_e198696286ab["findHookNames()"] 76da1f28_5fe1_2c37_5657_67756acc6f55["parseSourceAndMetadata.js"] 8fcd4639_43fc_b147_7c26_e198696286ab -->|defined in| 76da1f28_5fe1_2c37_5657_67756acc6f55 fba84d46_f44f_7ea7_9af3_a0121e3e1415["parseSourceAndMetadata()"] fba84d46_f44f_7ea7_9af3_a0121e3e1415 -->|calls| 8fcd4639_43fc_b147_7c26_e198696286ab 53395c34_7472_4850_0d26_5722d5c6d970["hookNameFor()"] 8fcd4639_43fc_b147_7c26_e198696286ab -->|calls| 53395c34_7472_4850_0d26_5722d5c6d970 ae74fc61_22de_3ac9_6314_d002de1a11ab["getHookName()"] 8fcd4639_43fc_b147_7c26_e198696286ab -->|calls| ae74fc61_22de_3ac9_6314_d002de1a11ab style 8fcd4639_43fc_b147_7c26_e198696286ab fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-devtools-shared/src/hooks/parseHookNames/parseSourceAndMetadata.js lines 123–195
function findHookNames(
hooksList: HooksList,
locationKeyToHookParsedMetadata: LocationKeyToHookParsedMetadata,
): HookNames {
const map: HookNames = new Map();
hooksList.map(hook => {
// We already guard against a null HookSource in parseHookNames()
const hookSource = ((hook.hookSource: any): HookSource);
const fileName = hookSource.fileName;
if (!fileName) {
return null; // Should not be reachable.
}
const locationKey = getHookSourceLocationKey(hookSource);
const hookParsedMetadata = locationKeyToHookParsedMetadata.get(locationKey);
if (!hookParsedMetadata) {
return null; // Should not be reachable.
}
const {lineNumber, columnNumber} = hookSource;
if (!lineNumber || !columnNumber) {
return null; // Should not be reachable.
}
const {
originalSourceURL,
originalSourceColumnNumber,
originalSourceLineNumber,
} = hookParsedMetadata;
if (
originalSourceLineNumber == null ||
originalSourceColumnNumber == null ||
originalSourceURL == null
) {
return null; // Should not be reachable.
}
let name;
const {metadataConsumer} = hookParsedMetadata;
if (metadataConsumer != null) {
name = withSyncPerfMeasurements('metadataConsumer.hookNameFor()', () =>
metadataConsumer.hookNameFor({
line: originalSourceLineNumber,
column: originalSourceColumnNumber,
source: originalSourceURL,
}),
);
}
if (name == null) {
name = withSyncPerfMeasurements('getHookName()', () =>
getHookName(
hook,
hookParsedMetadata.originalSourceAST,
((hookParsedMetadata.originalSourceCode: any): string),
((originalSourceLineNumber: any): number),
originalSourceColumnNumber,
),
);
}
if (__DEBUG__) {
console.log(`findHookNames() Found name "${name || '-'}"`);
}
const key = getHookSourceLocationKey(hookSource);
map.set(key, name);
});
return map;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does findHookNames() do?
findHookNames() is a function in the react codebase, defined in packages/react-devtools-shared/src/hooks/parseHookNames/parseSourceAndMetadata.js.
Where is findHookNames() defined?
findHookNames() is defined in packages/react-devtools-shared/src/hooks/parseHookNames/parseSourceAndMetadata.js at line 123.
What does findHookNames() call?
findHookNames() calls 2 function(s): getHookName, hookNameFor.
What calls findHookNames()?
findHookNames() is called by 1 function(s): parseSourceAndMetadata.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free