Home / Function/ lowerObjectPropertyKey() — react Function Reference

lowerObjectPropertyKey() — react Function Reference

Architecture documentation for the lowerObjectPropertyKey() function in BuildHIR.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  2e161d82_7d7b_025c_6019_853bed0b8f64["lowerObjectPropertyKey()"]
  e04c04d6_37a7_1dc3_7fae_7d07660d0af9["BuildHIR.ts"]
  2e161d82_7d7b_025c_6019_853bed0b8f64 -->|defined in| e04c04d6_37a7_1dc3_7fae_7d07660d0af9
  ace1177a_10b2_b870_31fd_da4aa845554c["lowerExpression()"]
  ace1177a_10b2_b870_31fd_da4aa845554c -->|calls| 2e161d82_7d7b_025c_6019_853bed0b8f64
  b98634fa_1f83_e1bb_1406_d07e28c93b41["lowerAssignment()"]
  b98634fa_1f83_e1bb_1406_d07e28c93b41 -->|calls| 2e161d82_7d7b_025c_6019_853bed0b8f64
  5bae3f87_1b76_e568_9b44_1d2fb59f73d8["lowerExpressionToTemporary()"]
  2e161d82_7d7b_025c_6019_853bed0b8f64 -->|calls| 5bae3f87_1b76_e568_9b44_1d2fb59f73d8
  073c81a5_c389_d108_5b8f_4d6dc6eece83["push()"]
  2e161d82_7d7b_025c_6019_853bed0b8f64 -->|calls| 073c81a5_c389_d108_5b8f_4d6dc6eece83
  style 2e161d82_7d7b_025c_6019_853bed0b8f64 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts lines 1508–1543

function lowerObjectPropertyKey(
  builder: HIRBuilder,
  property: NodePath<t.ObjectProperty | t.ObjectMethod>,
): ObjectPropertyKey | null {
  const key = property.get('key');
  if (key.isStringLiteral()) {
    return {
      kind: 'string',
      name: key.node.value,
    };
  } else if (property.node.computed && key.isExpression()) {
    const place = lowerExpressionToTemporary(builder, key);
    return {
      kind: 'computed',
      name: place,
    };
  } else if (key.isIdentifier()) {
    return {
      kind: 'identifier',
      name: key.node.name,
    };
  } else if (key.isNumericLiteral()) {
    return {
      kind: 'identifier',
      name: String(key.node.value),
    };
  }

  builder.errors.push({
    reason: `(BuildHIR::lowerExpression) Expected Identifier, got ${key.type} key in ObjectExpression`,
    category: ErrorCategory.Todo,
    loc: key.node.loc ?? null,
    suggestions: null,
  });
  return null;
}

Subdomains

Frequently Asked Questions

What does lowerObjectPropertyKey() do?
lowerObjectPropertyKey() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts.
Where is lowerObjectPropertyKey() defined?
lowerObjectPropertyKey() is defined in compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts at line 1508.
What does lowerObjectPropertyKey() call?
lowerObjectPropertyKey() calls 2 function(s): lowerExpressionToTemporary, push.
What calls lowerObjectPropertyKey()?
lowerObjectPropertyKey() is called by 2 function(s): lowerAssignment, lowerExpression.

Analyze Your Own Codebase

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

Try Supermodel Free