Home / File/ OwnersListContext.js — react Source File

OwnersListContext.js — react Source File

Architecture documentation for OwnersListContext.js, a javascript file in the react codebase. 8 imports, 4 dependents.

File javascript BabelCompiler Validation 8 imports 4 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  fd0c3251_3b74_cf9d_8897_18f7e16e765e["OwnersListContext.js"]
  7c3a162e_3c18_db78_b0f1_47504f41bf48["cache.js"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> 7c3a162e_3c18_db78_b0f1_47504f41bf48
  913bb343_55ea_f1b8_08f5_b75cb0a92b76["context.js"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> 913bb343_55ea_f1b8_08f5_b75cb0a92b76
  2d59b0f9_9ad6_da4d_0264_d98f193ab3fd["TreeContext.js"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> 2d59b0f9_9ad6_da4d_0264_d98f193ab3fd
  d8f20c67_f5fa_0f0a_c967_c41fd9ffce07["ReactTypes"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> d8f20c67_f5fa_0f0a_c967_c41fd9ffce07
  ac587885_e294_a1e9_b13f_5e7b920fdb42["react"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> ac587885_e294_a1e9_b13f_5e7b920fdb42
  627bb742_21aa_b4fd_fe2d_4a963a1f9278["utils"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> 627bb742_21aa_b4fd_fe2d_4a963a1f9278
  40bf6909_04ae_bfb6_965f_14cfe98b94de["types"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> 40bf6909_04ae_bfb6_965f_14cfe98b94de
  aec7978f_0a19_ba93_de9e_ac8cf5ddc74b["types"]
  fd0c3251_3b74_cf9d_8897_18f7e16e765e --> aec7978f_0a19_ba93_de9e_ac8cf5ddc74b
  a2fac529_5caa_fd15_61d0_e5b11d75bdd2["Components.js"]
  a2fac529_5caa_fd15_61d0_e5b11d75bdd2 --> fd0c3251_3b74_cf9d_8897_18f7e16e765e
  9930e8cf_03b4_86c0_be04_47b410246b71["Element.js"]
  9930e8cf_03b4_86c0_be04_47b410246b71 --> fd0c3251_3b74_cf9d_8897_18f7e16e765e
  4e5b4a1f_694c_f426_36e2_a03da99b38d5["OwnersStack.js"]
  4e5b4a1f_694c_f426_36e2_a03da99b38d5 --> fd0c3251_3b74_cf9d_8897_18f7e16e765e
  80ad5569_a221_98e5_daec_ede1bea33ee0["Tree.js"]
  80ad5569_a221_98e5_daec_ede1bea33ee0 --> fd0c3251_3b74_cf9d_8897_18f7e16e765e
  style fd0c3251_3b74_cf9d_8897_18f7e16e765e 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 {ReactContext} from 'shared/ReactTypes';

import * as React from 'react';
import {createContext, useCallback, useContext, useEffect} from 'react';
import {createResource} from '../../cache';
import {BridgeContext, StoreContext} from '../context';
import {TreeDispatcherContext, TreeStateContext} from './TreeContext';
import {backendToFrontendSerializedElementMapper} from 'react-devtools-shared/src/utils';

import type {OwnersList} from 'react-devtools-shared/src/backend/types';
import type {
  Element,
  SerializedElement,
} from 'react-devtools-shared/src/frontend/types';
import type {Resource, Thenable} from '../../cache';

type Context = (id: number) => Array<SerializedElement> | null;

const OwnersListContext: ReactContext<Context> = createContext<Context>(
  ((null: any): Context),
);
OwnersListContext.displayName = 'OwnersListContext';

type ResolveFn = (ownersList: Array<SerializedElement> | null) => void;
type InProgressRequest = {
  promise: Thenable<Array<SerializedElement>>,
  resolveFn: ResolveFn,
};

const inProgressRequests: WeakMap<Element, InProgressRequest> = new WeakMap();
const resource: Resource<
  Element,
  Element,
  Array<SerializedElement>,
> = createResource(
  (element: Element) => {
    const request = inProgressRequests.get(element);
    if (request != null) {
      return request.promise;
    }

    let resolveFn:
      | ResolveFn
      | ((
          result: Promise<Array<SerializedElement>> | Array<SerializedElement>,
        ) => void) = ((null: any): ResolveFn);
    const promise = new Promise(resolve => {
      resolveFn = resolve;
    });

    // $FlowFixMe[incompatible-call] found when upgrading Flow
// ... (108 more lines)

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does OwnersListContext.js do?
OwnersListContext.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in OwnersListContext.js?
OwnersListContext.js defines 2 function(s): Context, promise.
What does OwnersListContext.js depend on?
OwnersListContext.js imports 8 module(s): ReactTypes, TreeContext.js, cache.js, context.js, react, types, types, utils.
What files import OwnersListContext.js?
OwnersListContext.js is imported by 4 file(s): Components.js, Element.js, OwnersStack.js, Tree.js.
Where is OwnersListContext.js in the architecture?
OwnersListContext.js is located at packages/react-devtools-shared/src/devtools/views/Components/OwnersListContext.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-devtools-shared/src/devtools/views/Components).

Analyze Your Own Codebase

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

Try Supermodel Free