Home / Function/ returnsNonNode() — react Function Reference

returnsNonNode() — react Function Reference

Architecture documentation for the returnsNonNode() function in Program.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  2148cf00_8996_be31_be94_747fe87bb264["returnsNonNode()"]
  9aa4477d_960b_1ea1_b6d9_36076aaa70bd["Program.ts"]
  2148cf00_8996_be31_be94_747fe87bb264 -->|defined in| 9aa4477d_960b_1ea1_b6d9_36076aaa70bd
  2bfe28c2_c730_2f65_86db_f782c4b5a3e5["getComponentOrHookLike()"]
  2bfe28c2_c730_2f65_86db_f782c4b5a3e5 -->|calls| 2148cf00_8996_be31_be94_747fe87bb264
  64f8dbd3_ed74_54d9_6779_23be345f8709["isNonNode()"]
  2148cf00_8996_be31_be94_747fe87bb264 -->|calls| 64f8dbd3_ed74_54d9_6779_23be345f8709
  eb9e4057_3a68_9f01_6ae9_6ed1c436a831["skipNestedFunctions()"]
  2148cf00_8996_be31_be94_747fe87bb264 -->|calls| eb9e4057_3a68_9f01_6ae9_6ed1c436a831
  style 2148cf00_8996_be31_be94_747fe87bb264 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Program.ts lines 1274–1300

function returnsNonNode(
  node: NodePath<
    t.FunctionDeclaration | t.ArrowFunctionExpression | t.FunctionExpression
  >,
): boolean {
  let returnsNonNode = false;
  if (
    // node.traverse#ArrowFunctionExpression isn't called for the root node
    node.type === 'ArrowFunctionExpression' &&
    node.node.body.type !== 'BlockStatement'
  ) {
    returnsNonNode = isNonNode(node.node.body);
  }

  node.traverse({
    ReturnStatement(ret) {
      returnsNonNode = isNonNode(ret.node.argument);
    },
    // Skip traversing all nested functions and their return statements
    ArrowFunctionExpression: skipNestedFunctions(node),
    FunctionExpression: skipNestedFunctions(node),
    FunctionDeclaration: skipNestedFunctions(node),
    ObjectMethod: node => node.skip(),
  });

  return returnsNonNode;
}

Domain

Subdomains

Frequently Asked Questions

What does returnsNonNode() do?
returnsNonNode() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Program.ts.
Where is returnsNonNode() defined?
returnsNonNode() is defined in compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Program.ts at line 1274.
What does returnsNonNode() call?
returnsNonNode() calls 2 function(s): isNonNode, skipNestedFunctions.
What calls returnsNonNode()?
returnsNonNode() is called by 1 function(s): getComponentOrHookLike.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free