Home / File/ ReactCapturedValue.js — react Source File

ReactCapturedValue.js — react Source File

Architecture documentation for ReactCapturedValue.js, a javascript file in the react codebase. 2 imports, 10 dependents.

File javascript BabelCompiler 2 imports 10 dependents

Entity Profile

Dependency Diagram

graph LR
  3c1744da_8f82_b464_9a56_73fd7302132b["ReactCapturedValue.js"]
  6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f["ReactInternalTypes.js"]
  3c1744da_8f82_b464_9a56_73fd7302132b --> 6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f
  7ae9fa3a_48d9_66c9_fa52_cf05d4024c2b["ReactFiberComponentStack.js"]
  3c1744da_8f82_b464_9a56_73fd7302132b --> 7ae9fa3a_48d9_66c9_fa52_cf05d4024c2b
  6d56a395_c0fc_55d6_55fd_16373ba2eeee["ReactFiberActivityComponent.js"]
  6d56a395_c0fc_55d6_55fd_16373ba2eeee --> 3c1744da_8f82_b464_9a56_73fd7302132b
  0be70812_cc0c_b210_f84f_8e61dd5f831c["ReactFiberBeginWork.js"]
  0be70812_cc0c_b210_f84f_8e61dd5f831c --> 3c1744da_8f82_b464_9a56_73fd7302132b
  270d2932_6cca_c1c4_3f30_496c0c886bb5["ReactFiberCallUserSpace.js"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  21a48769_5be6_7eac_e581_a4faa269674e["ReactFiberErrorLogger.js"]
  21a48769_5be6_7eac_e581_a4faa269674e --> 3c1744da_8f82_b464_9a56_73fd7302132b
  4bc7109f_638d_d9f7_bf47_6ec55b2fa128["ReactFiberHydrationContext.js"]
  4bc7109f_638d_d9f7_bf47_6ec55b2fa128 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  d7440987_975b_87e1_1856_1f2dfc018509["ReactFiberPerformanceTrack.js"]
  d7440987_975b_87e1_1856_1f2dfc018509 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  24334744_4c44_225b_6923_5be11133f949["ReactFiberSuspenseComponent.js"]
  24334744_4c44_225b_6923_5be11133f949 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  2945bdb1_d075_d792_a028_13eee518c9d4["ReactFiberThrow.js"]
  2945bdb1_d075_d792_a028_13eee518c9d4 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  d73e9290_2d2e_5d3f_97dd_84929f205c77["ReactFiberWorkLoop.js"]
  d73e9290_2d2e_5d3f_97dd_84929f205c77 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  e054b9c7_41f1_c7f7_97bb_98b6a445e94b["ReactProfilerTimer.js"]
  e054b9c7_41f1_c7f7_97bb_98b6a445e94b --> 3c1744da_8f82_b464_9a56_73fd7302132b
  style 3c1744da_8f82_b464_9a56_73fd7302132b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

import type {Fiber} from './ReactInternalTypes';

import {getStackByFiberInDevAndProd} from './ReactFiberComponentStack';

const CapturedStacks: WeakMap<any, CapturedValue<any>> = new WeakMap();

export type CapturedValue<+T> = {
  +value: T,
  source: Fiber | null,
  stack: string | null,
};

export function createCapturedValueAtFiber<T>(
  value: T,
  source: Fiber,
): CapturedValue<T> {
  // If the value is an error, call this function immediately after it is thrown
  // so the stack is accurate.
  if (typeof value === 'object' && value !== null) {
    const existing = CapturedStacks.get(value);
    if (existing !== undefined) {
      return existing;
    }
    const captured: CapturedValue<T> = {
      value,
      source,
      stack: getStackByFiberInDevAndProd(source),
    };
    CapturedStacks.set(value, captured);
    return captured;
  } else {
    return {
      value,
      source,
      stack: getStackByFiberInDevAndProd(source),
    };
  }
}

export function createCapturedValueFromError(
  value: Error,
  stack: null | string,
): CapturedValue<Error> {
  const captured = {
    value,
    source: null,
    stack: stack,
  };
  if (typeof stack === 'string') {
    CapturedStacks.set(value, captured);
  }
  return captured;
}

Domain

Frequently Asked Questions

What does ReactCapturedValue.js do?
ReactCapturedValue.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does ReactCapturedValue.js depend on?
ReactCapturedValue.js imports 2 module(s): ReactFiberComponentStack.js, ReactInternalTypes.js.
What files import ReactCapturedValue.js?
ReactCapturedValue.js is imported by 10 file(s): ReactFiberActivityComponent.js, ReactFiberBeginWork.js, ReactFiberCallUserSpace.js, ReactFiberErrorLogger.js, ReactFiberHydrationContext.js, ReactFiberPerformanceTrack.js, ReactFiberSuspenseComponent.js, ReactFiberThrow.js, and 2 more.
Where is ReactCapturedValue.js in the architecture?
ReactCapturedValue.js is located at packages/react-reconciler/src/ReactCapturedValue.js (domain: BabelCompiler, directory: packages/react-reconciler/src).

Analyze Your Own Codebase

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

Try Supermodel Free