Home / Function/ validateIdentifierName() — react Function Reference

validateIdentifierName() — react Function Reference

Architecture documentation for the validateIdentifierName() function in HIR.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  9e5aefd1_7874_4324_24ab_a9f3d944decf["validateIdentifierName()"]
  18a78965_f593_105b_e5e8_07001321c2ec["HIR.ts"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|defined in| 18a78965_f593_105b_e5e8_07001321c2ec
  f214c28b_2f6d_b5a3_71e1_9a69d9b50455["lower()"]
  f214c28b_2f6d_b5a3_71e1_9a69d9b50455 -->|calls| 9e5aefd1_7874_4324_24ab_a9f3d944decf
  dcb26d23_8970_206b_e5d8_91b588c501b5["makeIdentifierName()"]
  dcb26d23_8970_206b_e5d8_91b588c501b5 -->|calls| 9e5aefd1_7874_4324_24ab_a9f3d944decf
  2f87801a_4b2a_468b_9a35_22dfdd2bfd83["isReservedWord()"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|calls| 2f87801a_4b2a_468b_9a35_22dfdd2bfd83
  02303def_636f_c5b3_a751_1cf138fcea69["pushDiagnostic()"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|calls| 02303def_636f_c5b3_a751_1cf138fcea69
  ac13f5c1_be17_dd7a_6bd3_66d91c46aadf["create()"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|calls| ac13f5c1_be17_dd7a_6bd3_66d91c46aadf
  1a2b7047_24c8_62d6_b328_5f07307d27ab["withDetails()"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|calls| 1a2b7047_24c8_62d6_b328_5f07307d27ab
  9217845a_d29d_c624_b607_e3b35cf604bc["Err()"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|calls| 9217845a_d29d_c624_b607_e3b35cf604bc
  9f0e6a52_ff9e_00f3_1760_5fddfd89b234["Ok()"]
  9e5aefd1_7874_4324_24ab_a9f3d944decf -->|calls| 9f0e6a52_ff9e_00f3_1760_5fddfd89b234
  style 9e5aefd1_7874_4324_24ab_a9f3d944decf fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts lines 1318–1355

export function validateIdentifierName(
  name: string,
): Result<ValidatedIdentifier, CompilerError> {
  if (isReservedWord(name)) {
    const error = new CompilerError();
    error.pushDiagnostic(
      CompilerDiagnostic.create({
        category: ErrorCategory.Syntax,
        reason: 'Expected a non-reserved identifier name',
        description: `\`${name}\` is a reserved word in JavaScript and cannot be used as an identifier name`,
        suggestions: null,
      }).withDetails({
        kind: 'error',
        loc: GeneratedSource,
        message: 'reserved word',
      }),
    );
    return Err(error);
  } else if (!t.isValidIdentifier(name)) {
    const error = new CompilerError();
    error.pushDiagnostic(
      CompilerDiagnostic.create({
        category: ErrorCategory.Syntax,
        reason: `Expected a valid identifier name`,
        description: `\`${name}\` is not a valid JavaScript identifier`,
        suggestions: null,
      }).withDetails({
        kind: 'error',
        loc: GeneratedSource,
        message: 'reserved word',
      }),
    );
  }
  return Ok({
    kind: 'named',
    value: name as ValidIdentifierName,
  });
}

Subdomains

Frequently Asked Questions

What does validateIdentifierName() do?
validateIdentifierName() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts.
Where is validateIdentifierName() defined?
validateIdentifierName() is defined in compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts at line 1318.
What does validateIdentifierName() call?
validateIdentifierName() calls 6 function(s): Err, Ok, create, isReservedWord, pushDiagnostic, withDetails.
What calls validateIdentifierName()?
validateIdentifierName() is called by 2 function(s): lower, makeIdentifierName.

Analyze Your Own Codebase

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

Try Supermodel Free