Home / Function/ describeFibers() — react Function Reference

describeFibers() — react Function Reference

Architecture documentation for the describeFibers() function in describeFibers.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  262ba8f3_80b7_8b5f_7c45_2f26996e1db4["describeFibers()"]
  9f77a4f1_bf64_57dc_5409_63c2a7e66547["describeFibers.js"]
  262ba8f3_80b7_8b5f_7c45_2f26996e1db4 -->|defined in| 9f77a4f1_bf64_57dc_5409_63c2a7e66547
  5c9ef2ce_d7a9_8544_cf96_131cfb2d5d1d["getFiberState()"]
  5c9ef2ce_d7a9_8544_cf96_131cfb2d5d1d -->|calls| 262ba8f3_80b7_8b5f_7c45_2f26996e1db4
  4ede4fc5_90b5_0e63_e351_bcac281a0dff["getFiberUniqueID()"]
  262ba8f3_80b7_8b5f_7c45_2f26996e1db4 -->|calls| 4ede4fc5_90b5_0e63_e351_bcac281a0dff
  c50e9f6b_8f27_b26d_ac97_7ad433bda98a["getFriendlyTag()"]
  262ba8f3_80b7_8b5f_7c45_2f26996e1db4 -->|calls| c50e9f6b_8f27_b26d_ac97_7ad433bda98a
  aaa6994f_cb11_d616_93d3_2810fcf227f5["getFriendlyEffect()"]
  262ba8f3_80b7_8b5f_7c45_2f26996e1db4 -->|calls| aaa6994f_cb11_d616_93d3_2810fcf227f5
  style 262ba8f3_80b7_8b5f_7c45_2f26996e1db4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

fixtures/fiber-debugger/src/describeFibers.js lines 57–111

export default function describeFibers(rootFiber, workInProgress) {
  let descriptions = {};
  function acknowledgeFiber(fiber) {
    if (!fiber) {
      return null;
    }
    if (!fiber.return && fiber.tag !== 3) {
      return null;
    }
    const id = getFiberUniqueID(fiber);
    if (descriptions[id]) {
      return id;
    }
    descriptions[id] = {};
    Object.assign(descriptions[id], {
      ...fiber,
      id: id,
      tag: getFriendlyTag(fiber.tag),
      flags: getFriendlyEffect(fiber.flags),
      type: fiber.type && '<' + (fiber.type.name || fiber.type) + '>',
      stateNode: `[${typeof fiber.stateNode}]`,
      return: acknowledgeFiber(fiber.return),
      child: acknowledgeFiber(fiber.child),
      sibling: acknowledgeFiber(fiber.sibling),
      nextEffect: acknowledgeFiber(fiber.nextEffect),
      firstEffect: acknowledgeFiber(fiber.firstEffect),
      lastEffect: acknowledgeFiber(fiber.lastEffect),
      alternate: acknowledgeFiber(fiber.alternate),
    });
    return id;
  }

  const rootID = acknowledgeFiber(rootFiber);
  const workInProgressID = acknowledgeFiber(workInProgress);

  let currentIDs = new Set();
  function markAsCurrent(id) {
    currentIDs.add(id);
    const fiber = descriptions[id];
    if (fiber.sibling) {
      markAsCurrent(fiber.sibling);
    }
    if (fiber.child) {
      markAsCurrent(fiber.child);
    }
  }
  markAsCurrent(rootID);

  return {
    descriptions,
    rootID,
    currentIDs: Array.from(currentIDs),
    workInProgressID,
  };
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does describeFibers() do?
describeFibers() is a function in the react codebase, defined in fixtures/fiber-debugger/src/describeFibers.js.
Where is describeFibers() defined?
describeFibers() is defined in fixtures/fiber-debugger/src/describeFibers.js at line 57.
What does describeFibers() call?
describeFibers() calls 3 function(s): getFiberUniqueID, getFriendlyEffect, getFriendlyTag.
What calls describeFibers()?
describeFibers() is called by 1 function(s): getFiberState.

Analyze Your Own Codebase

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

Try Supermodel Free