Home / Function/ getRuleForCategoryImpl() — react Function Reference

getRuleForCategoryImpl() — react Function Reference

Architecture documentation for the getRuleForCategoryImpl() function in CompilerError.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  f9aa782b_e682_94c0_04d8_45997eeae085["getRuleForCategoryImpl()"]
  e96f281e_f381_272d_2359_3e6a091c9a1d["CompilerError.ts"]
  f9aa782b_e682_94c0_04d8_45997eeae085 -->|defined in| e96f281e_f381_272d_2359_3e6a091c9a1d
  95e65dcd_d1d7_5d80_ec47_fc32c898209f["getRuleForCategory()"]
  95e65dcd_d1d7_5d80_ec47_fc32c898209f -->|calls| f9aa782b_e682_94c0_04d8_45997eeae085
  d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive()"]
  f9aa782b_e682_94c0_04d8_45997eeae085 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6
  style f9aa782b_e682_94c0_04d8_45997eeae085 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts lines 791–1097

function getRuleForCategoryImpl(category: ErrorCategory): LintRule {
  switch (category) {
    case ErrorCategory.AutomaticEffectDependencies: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'automatic-effect-dependencies',
        description:
          'Verifies that automatic effect dependencies are compiled if opted-in',
        preset: LintRulePreset.Off,
      };
    }
    case ErrorCategory.CapitalizedCalls: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'capitalized-calls',
        description:
          'Validates against calling capitalized functions/methods instead of using JSX',
        preset: LintRulePreset.Off,
      };
    }
    case ErrorCategory.Config: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'config',
        description: 'Validates the compiler configuration options',
        preset: LintRulePreset.Recommended,
      };
    }
    case ErrorCategory.EffectDependencies: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'memoized-effect-dependencies',
        description: 'Validates that effect dependencies are memoized',
        preset: LintRulePreset.Off,
      };
    }
    case ErrorCategory.EffectExhaustiveDependencies: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'exhaustive-effect-dependencies',
        description:
          'Validates that effect dependencies are exhaustive and without extraneous values',
        preset: LintRulePreset.Off,
      };
    }
    case ErrorCategory.EffectDerivationsOfState: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'no-deriving-state-in-effects',
        description:
          'Validates against deriving values from state in an effect',
        preset: LintRulePreset.Off,
      };
    }
    case ErrorCategory.EffectSetState: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'set-state-in-effect',
        description:
          'Validates against calling setState synchronously in an effect. ' +
          'This can indicate non-local derived data, a derived event pattern, or ' +
          'improper external data synchronization.',
        preset: LintRulePreset.Recommended,
      };
    }
    case ErrorCategory.ErrorBoundaries: {
      return {
        category,
        severity: ErrorSeverity.Error,
        name: 'error-boundaries',
        description:
          'Validates usage of error boundaries instead of try/catch for errors in child components',
        preset: LintRulePreset.Recommended,
      };

Domain

Subdomains

Frequently Asked Questions

What does getRuleForCategoryImpl() do?
getRuleForCategoryImpl() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts.
Where is getRuleForCategoryImpl() defined?
getRuleForCategoryImpl() is defined in compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts at line 791.
What does getRuleForCategoryImpl() call?
getRuleForCategoryImpl() calls 1 function(s): assertExhaustive.
What calls getRuleForCategoryImpl()?
getRuleForCategoryImpl() is called by 1 function(s): getRuleForCategory.

Analyze Your Own Codebase

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

Try Supermodel Free