Home / Function/ makeSuggestions() — react Function Reference

makeSuggestions() — react Function Reference

Architecture documentation for the makeSuggestions() function in ReactCompilerRule.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  02c364ac_a9af_1b49_1a58_fc16375d1f3d["makeSuggestions()"]
  cc8eb92a_b0c5_c461_8a5e_7435585bbc6e["ReactCompilerRule.ts"]
  02c364ac_a9af_1b49_1a58_fc16375d1f3d -->|defined in| cc8eb92a_b0c5_c461_8a5e_7435585bbc6e
  1d0413ae_726c_b2fe_86f8_a676db384257["makeRule()"]
  1d0413ae_726c_b2fe_86f8_a676db384257 -->|calls| 02c364ac_a9af_1b49_1a58_fc16375d1f3d
  82cff55e_c62f_83e0_0695_7a9f132d4b4e["push()"]
  02c364ac_a9af_1b49_1a58_fc16375d1f3d -->|calls| 82cff55e_c62f_83e0_0695_7a9f132d4b4e
  7a124286_83f3_d336_7b0f_804a9beb43db["assertExhaustive()"]
  02c364ac_a9af_1b49_1a58_fc16375d1f3d -->|calls| 7a124286_83f3_d336_7b0f_804a9beb43db
  style 02c364ac_a9af_1b49_1a58_fc16375d1f3d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/eslint-plugin-react-compiler/src/rules/ReactCompilerRule.ts lines 27–78

function makeSuggestions(
  detail: CompilerErrorDetailOptions | CompilerDiagnosticOptions,
): Array<Rule.SuggestionReportDescriptor> {
  const suggest: Array<Rule.SuggestionReportDescriptor> = [];
  if (Array.isArray(detail.suggestions)) {
    for (const suggestion of detail.suggestions) {
      switch (suggestion.op) {
        case CompilerSuggestionOperation.InsertBefore:
          suggest.push({
            desc: suggestion.description,
            fix(fixer) {
              return fixer.insertTextBeforeRange(
                suggestion.range,
                suggestion.text,
              );
            },
          });
          break;
        case CompilerSuggestionOperation.InsertAfter:
          suggest.push({
            desc: suggestion.description,
            fix(fixer) {
              return fixer.insertTextAfterRange(
                suggestion.range,
                suggestion.text,
              );
            },
          });
          break;
        case CompilerSuggestionOperation.Replace:
          suggest.push({
            desc: suggestion.description,
            fix(fixer) {
              return fixer.replaceTextRange(suggestion.range, suggestion.text);
            },
          });
          break;
        case CompilerSuggestionOperation.Remove:
          suggest.push({
            desc: suggestion.description,
            fix(fixer) {
              return fixer.removeRange(suggestion.range);
            },
          });
          break;
        default:
          assertExhaustive(suggestion, 'Unhandled suggestion operation');
      }
    }
  }
  return suggest;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does makeSuggestions() do?
makeSuggestions() is a function in the react codebase, defined in compiler/packages/eslint-plugin-react-compiler/src/rules/ReactCompilerRule.ts.
Where is makeSuggestions() defined?
makeSuggestions() is defined in compiler/packages/eslint-plugin-react-compiler/src/rules/ReactCompilerRule.ts at line 27.
What does makeSuggestions() call?
makeSuggestions() calls 2 function(s): assertExhaustive, push.
What calls makeSuggestions()?
makeSuggestions() is called by 1 function(s): makeRule.

Analyze Your Own Codebase

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

Try Supermodel Free