Home / Function/ recomputePluginOrdering() — react Function Reference

recomputePluginOrdering() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  3b29f8fc_9a36_ab97_6c1f_364a7a40d192["recomputePluginOrdering()"]
  6b52f26d_d341_6500_ecb0_54a0747596f4["EventPluginRegistry.js"]
  3b29f8fc_9a36_ab97_6c1f_364a7a40d192 -->|defined in| 6b52f26d_d341_6500_ecb0_54a0747596f4
  96cfac07_c416_a503_e81a_af2679f87155["injectEventPluginOrder()"]
  96cfac07_c416_a503_e81a_af2679f87155 -->|calls| 3b29f8fc_9a36_ab97_6c1f_364a7a40d192
  f55c8d49_9eb4_cbc0_cf86_70427ca10470["injectEventPluginsByName()"]
  f55c8d49_9eb4_cbc0_cf86_70427ca10470 -->|calls| 3b29f8fc_9a36_ab97_6c1f_364a7a40d192
  9ec49b43_49aa_a060_cf73_319f3806fbec["publishEventForPlugin()"]
  3b29f8fc_9a36_ab97_6c1f_364a7a40d192 -->|calls| 9ec49b43_49aa_a060_cf73_319f3806fbec
  style 3b29f8fc_9a36_ab97_6c1f_364a7a40d192 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js lines 38–82

function recomputePluginOrdering(): void {
  if (!eventPluginOrder) {
    // Wait until an `eventPluginOrder` is injected.
    return;
  }
  for (const pluginName in namesToPlugins) {
    const pluginModule = namesToPlugins[pluginName];
    // $FlowFixMe[incompatible-use] found when upgrading Flow
    const pluginIndex = eventPluginOrder.indexOf(pluginName);

    if (pluginIndex <= -1) {
      throw new Error(
        'EventPluginRegistry: Cannot inject event plugins that do not exist in ' +
          `the plugin ordering, \`${pluginName}\`.`,
      );
    }

    if (plugins[pluginIndex]) {
      continue;
    }

    if (!pluginModule.extractEvents) {
      throw new Error(
        'EventPluginRegistry: Event plugins must implement an `extractEvents` ' +
          `method, but \`${pluginName}\` does not.`,
      );
    }

    plugins[pluginIndex] = pluginModule;
    const publishedEvents = pluginModule.eventTypes;
    for (const eventName in publishedEvents) {
      if (
        !publishEventForPlugin(
          publishedEvents[eventName],
          pluginModule,
          eventName,
        )
      ) {
        throw new Error(
          `EventPluginRegistry: Failed to publish event \`${eventName}\` for plugin \`${pluginName}\`.`,
        );
      }
    }
  }
}

Domain

Subdomains

Frequently Asked Questions

What does recomputePluginOrdering() do?
recomputePluginOrdering() is a function in the react codebase, defined in packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js.
Where is recomputePluginOrdering() defined?
recomputePluginOrdering() is defined in packages/react-native-renderer/src/legacy-events/EventPluginRegistry.js at line 38.
What does recomputePluginOrdering() call?
recomputePluginOrdering() calls 1 function(s): publishEventForPlugin.
What calls recomputePluginOrdering()?
recomputePluginOrdering() is called by 2 function(s): injectEventPluginOrder, injectEventPluginsByName.

Analyze Your Own Codebase

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

Try Supermodel Free