Home / Function/ formatOwnerStack() — react Function Reference

formatOwnerStack() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  a8f4c31f_f504_975a_5ac7_bb83d1cf4164["formatOwnerStack()"]
  ca4a7497_d233_4d3d_e832_e2f96306e9ae["DevToolsOwnerStack.js"]
  a8f4c31f_f504_975a_5ac7_bb83d1cf4164 -->|defined in| ca4a7497_d233_4d3d_e832_e2f96306e9ae
  4107a6e9_e64c_c0f0_6fdd_b5fee354334b["getOwnerStackByFiberInDev()"]
  4107a6e9_e64c_c0f0_6fdd_b5fee354334b -->|calls| a8f4c31f_f504_975a_5ac7_bb83d1cf4164
  0d0f5eb3_f682_c269_a97f_22be22717aa0["getOwnerStackByComponentInfoInDev()"]
  0d0f5eb3_f682_c269_a97f_22be22717aa0 -->|calls| a8f4c31f_f504_975a_5ac7_bb83d1cf4164
  5bd02f8e_960a_28df_cd57_8c68e5d3f04f["attach()"]
  5bd02f8e_960a_28df_cd57_8c68e5d3f04f -->|calls| a8f4c31f_f504_975a_5ac7_bb83d1cf4164
  style a8f4c31f_f504_975a_5ac7_bb83d1cf4164 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js lines 12–46

export function formatOwnerStack(error: Error): string {
  const prevPrepareStackTrace = Error.prepareStackTrace;
  // $FlowFixMe[incompatible-type] It does accept undefined.
  Error.prepareStackTrace = undefined;
  let stack = error.stack;
  Error.prepareStackTrace = prevPrepareStackTrace;

  if (stack.startsWith('Error: react-stack-top-frame\n')) {
    // V8's default formatting prefixes with the error message which we
    // don't want/need.
    stack = stack.slice(29);
  }
  let idx = stack.indexOf('\n');
  if (idx !== -1) {
    // Pop the JSX frame.
    stack = stack.slice(idx + 1);
  }
  idx = stack.indexOf('react_stack_bottom_frame');
  if (idx === -1) {
    idx = stack.indexOf('react-stack-bottom-frame');
  }
  if (idx !== -1) {
    idx = stack.lastIndexOf('\n', idx);
  }
  if (idx !== -1) {
    // Cut off everything after the bottom frame since it'll be internals.
    stack = stack.slice(0, idx);
  } else {
    // We didn't find any internal callsite out to user space.
    // This means that this was called outside an owner or the owner is fully internal.
    // To keep things light we exclude the entire trace in this case.
    return '';
  }
  return stack;
}

Domain

Subdomains

Frequently Asked Questions

What does formatOwnerStack() do?
formatOwnerStack() is a function in the react codebase, defined in packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js.
Where is formatOwnerStack() defined?
formatOwnerStack() is defined in packages/react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js at line 12.
What calls formatOwnerStack()?
formatOwnerStack() is called by 3 function(s): attach, getOwnerStackByComponentInfoInDev, getOwnerStackByFiberInDev.

Analyze Your Own Codebase

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

Try Supermodel Free