Home / Function/ registerDevToolsEventLogger() — react Function Reference

registerDevToolsEventLogger() — react Function Reference

Architecture documentation for the registerDevToolsEventLogger() function in registerDevToolsEventLogger.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  0dc415bc_e40e_1f6a_61aa_99bf7bf258df["registerDevToolsEventLogger()"]
  9fcc0f85_da91_af3b_b9f1_df70d15dc6a8["registerDevToolsEventLogger.js"]
  0dc415bc_e40e_1f6a_61aa_99bf7bf258df -->|defined in| 9fcc0f85_da91_af3b_b9f1_df70d15dc6a8
  style 0dc415bc_e40e_1f6a_61aa_99bf7bf258df fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-devtools-shared/src/registerDevToolsEventLogger.js lines 23–63

export function registerDevToolsEventLogger(
  surface: string,
  fetchAdditionalContext?:
    | (() => LoggerContext)
    | (() => Promise<LoggerContext>),
): void {
  async function logEvent(event: LoggerEvent) {
    if (enableLogger) {
      if (currentLoggingIFrame != null && currentSessionId != null) {
        const {metadata, ...eventWithoutMetadata} = event;
        const additionalContext: LoggerContext | {} =
          fetchAdditionalContext != null ? await fetchAdditionalContext() : {};

        currentLoggingIFrame?.contentWindow?.postMessage(
          {
            source: 'react-devtools-logging',
            event: eventWithoutMetadata,
            context: {
              ...additionalContext,
              metadata: metadata != null ? JSON.stringify(metadata) : '',
              session_id: currentSessionId,
              surface,
              version: process.env.DEVTOOLS_VERSION,
            },
          },
          '*',
        );
      } else {
        missedEvents.push(event);
      }
    }
  }

  function handleLoggingIFrameLoaded(iframe: HTMLIFrameElement) {
    currentLoggingIFrame = iframe;

    if (missedEvents.length > 0) {
      missedEvents.forEach(event => logEvent(event));
      missedEvents = [];
    }
  }

Domain

Subdomains

Frequently Asked Questions

What does registerDevToolsEventLogger() do?
registerDevToolsEventLogger() is a function in the react codebase, defined in packages/react-devtools-shared/src/registerDevToolsEventLogger.js.
Where is registerDevToolsEventLogger() defined?
registerDevToolsEventLogger() is defined in packages/react-devtools-shared/src/registerDevToolsEventLogger.js at line 23.

Analyze Your Own Codebase

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

Try Supermodel Free