getBatchRange.js — react Source File
Architecture documentation for getBatchRange.js, a javascript file in the react codebase. 2 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR 8fb21ca8_170b_4b4c_4dd4_5e259db0c418["getBatchRange.js"] 20cc2065_4b5b_fd6b_be12_28f36b0ff4cf["types.js"] 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 --> 20cc2065_4b5b_fd6b_be12_28f36b0ff4cf d9faf0f1_af19_38f0_e86f_e255452e0539["memoize-one"] 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 --> d9faf0f1_af19_38f0_e86f_e255452e0539 e0a3b260_ea80_6b59_5c7d_18081c4333a6["CanvasPageContextMenu.js"] e0a3b260_ea80_6b59_5c7d_18081c4333a6 --> 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 57dc23c0_c74d_e09e_ad1f_116cb590a38c["EventTooltip.js"] 57dc23c0_c74d_e09e_ad1f_116cb590a38c --> 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 a3f7147d_da0b_56dc_ffc9_a9e2bbc4526a["preprocessData.js"] a3f7147d_da0b_56dc_ffc9_a9e2bbc4526a --> 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 style 8fb21ca8_170b_4b4c_4dd4_5e259db0c418 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 memoize from 'memoize-one';
import type {
BatchUID,
Milliseconds,
ReactMeasure,
TimelineData,
} from '../types';
function unmemoizedGetBatchRange(
batchUID: BatchUID,
data: TimelineData,
minStartTime?: number = 0,
): [Milliseconds, Milliseconds] {
const measures = data.batchUIDToMeasuresMap.get(batchUID);
if (measures == null || measures.length === 0) {
throw Error(`Could not find measures with batch UID "${batchUID}"`);
}
const lastMeasure = ((measures[measures.length - 1]: any): ReactMeasure);
const stopTime = lastMeasure.timestamp + lastMeasure.duration;
if (stopTime < minStartTime) {
return [0, 0];
}
let startTime = minStartTime;
for (let index = 0; index < measures.length; index++) {
const measure = measures[index];
if (measure.timestamp >= minStartTime) {
startTime = measure.timestamp;
break;
}
}
return [startTime, stopTime];
}
export const getBatchRange: (
batchUID: BatchUID,
data: TimelineData,
minStartTime?: number,
) => [Milliseconds, Milliseconds] = memoize(unmemoizedGetBatchRange);
Domain
Dependencies
- memoize-one
- types.js
Imported By
Source
Frequently Asked Questions
What does getBatchRange.js do?
getBatchRange.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does getBatchRange.js depend on?
getBatchRange.js imports 2 module(s): memoize-one, types.js.
What files import getBatchRange.js?
getBatchRange.js is imported by 3 file(s): CanvasPageContextMenu.js, EventTooltip.js, preprocessData.js.
Where is getBatchRange.js in the architecture?
getBatchRange.js is located at packages/react-devtools-timeline/src/utils/getBatchRange.js (domain: BabelCompiler, directory: packages/react-devtools-timeline/src/utils).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free