Home / File/ ReactJSDOMUtils.js — react Source File

ReactJSDOMUtils.js — react Source File

Architecture documentation for ReactJSDOMUtils.js, a javascript file in the react codebase.

Entity Profile

Relationship Graph

Source Code

export function setupDocumentReadyState(
  document: Document,
  Event: typeof Event,
) {
  let readyState: 0 | 1 | 2 = 0;
  Object.defineProperty(document, 'readyState', {
    get() {
      switch (readyState) {
        case 0:
          return 'loading';
        case 1:
          return 'interactive';
        case 2:
          return 'complete';
      }
    },
    set(value) {
      if (value === 'interactive' && readyState < 1) {
        readyState = 1;
        document.dispatchEvent(new Event('readystatechange'));
      } else if (value === 'complete' && readyState < 2) {
        readyState = 2;
        document.dispatchEvent(new Event('readystatechange'));
        document.dispatchEvent(new Event('DOMContentLoaded'));
      } else if (value === 'loading') {
        // We allow resetting the readyState to loading mostly for pragamtism.
        // tests that use this environment don't reset the document between tests.
        readyState = 0;
      }
    },
    configurable: true,
  });
}

Domain

Subdomains

Frequently Asked Questions

What does ReactJSDOMUtils.js do?
ReactJSDOMUtils.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Optimization subdomain.
What functions are defined in ReactJSDOMUtils.js?
ReactJSDOMUtils.js defines 1 function(s): setupDocumentReadyState.
Where is ReactJSDOMUtils.js in the architecture?
ReactJSDOMUtils.js is located at packages/internal-test-utils/ReactJSDOMUtils.js (domain: BabelCompiler, subdomain: Optimization, directory: packages/internal-test-utils).

Analyze Your Own Codebase

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

Try Supermodel Free