Home / File/ Scheduler.js — react Source File

Scheduler.js — react Source File

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

File javascript BabelCompiler 4 imports 1 dependents

Entity Profile

Dependency Diagram

graph LR
  ddd23dfb_c95d_b046_b4f3_3904daada6f0["Scheduler.js"]
  0c4003c2_7bcb_0f8f_2e9c_0802d60fa754["SchedulerPriorities.js"]
  ddd23dfb_c95d_b046_b4f3_3904daada6f0 --> 0c4003c2_7bcb_0f8f_2e9c_0802d60fa754
  e9a9f488_f0d1_a417_639a_de1cacedce2a["SchedulerFeatureFlags.js"]
  ddd23dfb_c95d_b046_b4f3_3904daada6f0 --> e9a9f488_f0d1_a417_639a_de1cacedce2a
  d32b29cd_e18f_f9ff_fb54_a90a72a01a18["SchedulerMinHeap.js"]
  ddd23dfb_c95d_b046_b4f3_3904daada6f0 --> d32b29cd_e18f_f9ff_fb54_a90a72a01a18
  9e15a95e_7c6b_d823_cd2d_9868d5c3ee4e["SchedulerProfiling.js"]
  ddd23dfb_c95d_b046_b4f3_3904daada6f0 --> 9e15a95e_7c6b_d823_cd2d_9868d5c3ee4e
  c975b17f_0019_cb5f_37d9_561988e04ee9["SchedulerNative.js"]
  c975b17f_0019_cb5f_37d9_561988e04ee9 --> ddd23dfb_c95d_b046_b4f3_3904daada6f0
  style ddd23dfb_c95d_b046_b4f3_3904daada6f0 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
 */

/* eslint-disable no-var */

import type {PriorityLevel} from '../SchedulerPriorities';

import {
  enableProfiling,
  frameYieldMs,
  userBlockingPriorityTimeout,
  lowPriorityTimeout,
  normalPriorityTimeout,
  enableRequestPaint,
  enableAlwaysYieldScheduler,
} from '../SchedulerFeatureFlags';

import {push, pop, peek} from '../SchedulerMinHeap';

// TODO: Use symbols?
import {
  ImmediatePriority,
  UserBlockingPriority,
  NormalPriority,
  LowPriority,
  IdlePriority,
} from '../SchedulerPriorities';
import {
  markTaskRun,
  markTaskYield,
  markTaskCompleted,
  markTaskCanceled,
  markTaskErrored,
  markSchedulerSuspended,
  markSchedulerUnsuspended,
  markTaskStart,
  stopLoggingProfilingEvents,
  startLoggingProfilingEvents,
} from '../SchedulerProfiling';

export type Callback = boolean => ?Callback;

export opaque type Task = {
  id: number,
  callback: Callback | null,
  priorityLevel: PriorityLevel,
  startTime: number,
  expirationTime: number,
  sortIndex: number,
  isQueued?: boolean,
};

let getCurrentTime: () => number | DOMHighResTimeStamp;
const hasPerformanceNow =
// ... (539 more lines)

Domain

Frequently Asked Questions

What does Scheduler.js do?
Scheduler.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does Scheduler.js depend on?
Scheduler.js imports 4 module(s): SchedulerFeatureFlags.js, SchedulerMinHeap.js, SchedulerPriorities.js, SchedulerProfiling.js.
What files import Scheduler.js?
Scheduler.js is imported by 1 file(s): SchedulerNative.js.
Where is Scheduler.js in the architecture?
Scheduler.js is located at packages/scheduler/src/forks/Scheduler.js (domain: BabelCompiler, directory: packages/scheduler/src/forks).

Analyze Your Own Codebase

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

Try Supermodel Free