OwnersListContext.js — react Source File
Architecture documentation for OwnersListContext.js, a javascript file in the react codebase. 8 imports, 4 dependents.
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
Dependencies
- ReactTypes
- TreeContext.js
- cache.js
- context.js
- react
- types
- types
- utils
Imported By
Source
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