Home / Function/ isMutableEffect() — react Function Reference

isMutableEffect() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  5d049649_b557_97d4_1320_627cfe79576d["isMutableEffect()"]
  18a78965_f593_105b_e5e8_07001321c2ec["HIR.ts"]
  5d049649_b557_97d4_1320_627cfe79576d -->|defined in| 18a78965_f593_105b_e5e8_07001321c2ec
  5f0939bb_76eb_1279_d295_dacefad72c8a["computeMemoizationInputs()"]
  5f0939bb_76eb_1279_d295_dacefad72c8a -->|calls| 5d049649_b557_97d4_1320_627cfe79576d
  041ca752_10c1_3cda_1f5c_02f44a01310e["invariant()"]
  5d049649_b557_97d4_1320_627cfe79576d -->|calls| 041ca752_10c1_3cda_1f5c_02f44a01310e
  d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive()"]
  5d049649_b557_97d4_1320_627cfe79576d -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6
  style 5d049649_b557_97d4_1320_627cfe79576d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts lines 1549–1576

export function isMutableEffect(
  effect: Effect,
  location: SourceLocation,
): boolean {
  switch (effect) {
    case Effect.Capture:
    case Effect.Store:
    case Effect.ConditionallyMutate:
    case Effect.ConditionallyMutateIterator:
    case Effect.Mutate: {
      return true;
    }

    case Effect.Unknown: {
      CompilerError.invariant(false, {
        reason: 'Unexpected unknown effect',
        loc: location,
      });
    }
    case Effect.Read:
    case Effect.Freeze: {
      return false;
    }
    default: {
      assertExhaustive(effect, `Unexpected effect \`${effect}\``);
    }
  }
}

Subdomains

Frequently Asked Questions

What does isMutableEffect() do?
isMutableEffect() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts.
Where is isMutableEffect() defined?
isMutableEffect() is defined in compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts at line 1549.
What does isMutableEffect() call?
isMutableEffect() calls 2 function(s): assertExhaustive, invariant.
What calls isMutableEffect()?
isMutableEffect() is called by 1 function(s): computeMemoizationInputs.

Analyze Your Own Codebase

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

Try Supermodel Free