ReactFabricEventEmitter.js — react Source File
Architecture documentation for ReactFabricEventEmitter.js, a javascript file in the react codebase. 14 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 846f0667_39ae_eb6e_55fe_26d3acf81e44["ReactFabricEventEmitter.js"] e7f91ff9_eaf6_39c4_5463_6f4e0e1c075f["PluginModuleType.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> e7f91ff9_eaf6_39c4_5463_6f4e0e1c075f b2f450b6_f67a_153d_5efb_a03735431450["ReactSyntheticEventType.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> b2f450b6_f67a_153d_5efb_a03735431450 304edd67_bb4f_7b82_bbee_3b770742ef97["TopLevelEventTypes.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 304edd67_bb4f_7b82_bbee_3b770742ef97 6b52f26d_d341_6500_ecb0_54a0747596f4["EventPluginRegistry.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 6b52f26d_d341_6500_ecb0_54a0747596f4 cb0565f2_ac6f_4c74_0235_a8c5f28c4334["ReactGenericBatching.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> cb0565f2_ac6f_4c74_0235_a8c5f28c4334 b7455b38_0a5f_98b8_80f7_72b10f1f60c9["batchedUpdates"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> b7455b38_0a5f_98b8_80f7_72b10f1f60c9 c55ef19d_ffff_0be0_ac25_e6d6c8520cd6["accumulateInto.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> c55ef19d_ffff_0be0_ac25_e6d6c8520cd6 5f61475e_65e9_53ee_1eeb_f357a8fb2b93["ReactNativeGetListener.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 5f61475e_65e9_53ee_1eeb_f357a8fb2b93 2d91c4ed_9a58_6013_5118_49d8f98f9453["getListener"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 2d91c4ed_9a58_6013_5118_49d8f98f9453 501868ac_ed82_decd_b0b4_e77c7390f910["EventBatching.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 501868ac_ed82_decd_b0b4_e77c7390f910 206d6e15_9f6a_1db1_9586_33b342b6cf24["runEventsInBatch"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 206d6e15_9f6a_1db1_9586_33b342b6cf24 948a0d34_693c_c158_f23e_d41306507c72["ReactFiberConfigFabric.js"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 948a0d34_693c_c158_f23e_d41306507c72 42892443_e223_3da0_aeb9_e1b32a408fb0["ReactInternalTypes"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 42892443_e223_3da0_aeb9_e1b32a408fb0 94a68304_3047_524d_e604_af34f5a80eaf["ReactNativePrivateInterface"] 846f0667_39ae_eb6e_55fe_26d3acf81e44 --> 94a68304_3047_524d_e604_af34f5a80eaf style 846f0667_39ae_eb6e_55fe_26d3acf81e44 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 type {
AnyNativeEvent,
LegacyPluginModule,
} from './legacy-events/PluginModuleType';
import type {Fiber} from 'react-reconciler/src/ReactInternalTypes';
import type {ReactSyntheticEvent} from './legacy-events/ReactSyntheticEventType';
import type {
RNTopLevelEventType,
TopLevelType,
} from './legacy-events/TopLevelEventTypes';
import {
registrationNameModules,
plugins,
} from './legacy-events/EventPluginRegistry';
import {batchedUpdates} from './legacy-events/ReactGenericBatching';
import accumulateInto from './legacy-events/accumulateInto';
import getListener from './ReactNativeGetListener';
import {runEventsInBatch} from './legacy-events/EventBatching';
import {RawEventEmitter} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
import {getPublicInstance} from './ReactFiberConfigFabric';
export {getListener, registrationNameModules as registrationNames};
/**
* Allows registered plugins an opportunity to extract events from top-level
* native browser events.
*
* @return {*} An accumulation of synthetic events.
* @internal
*/
function extractPluginEvents(
topLevelType: TopLevelType,
targetInst: null | Fiber,
nativeEvent: AnyNativeEvent,
nativeEventTarget: null | EventTarget,
): Array<ReactSyntheticEvent> | ReactSyntheticEvent | null {
let events: Array<ReactSyntheticEvent> | ReactSyntheticEvent | null = null;
const legacyPlugins = ((plugins: any): Array<LegacyPluginModule<Event>>);
for (let i = 0; i < legacyPlugins.length; i++) {
// Not every plugin in the ordering may be loaded at runtime.
const possiblePlugin: LegacyPluginModule<AnyNativeEvent> = legacyPlugins[i];
if (possiblePlugin) {
const extractedEvents = possiblePlugin.extractEvents(
topLevelType,
targetInst,
nativeEvent,
nativeEventTarget,
);
// ... (80 more lines)
Domain
Dependencies
Source
Frequently Asked Questions
What does ReactFabricEventEmitter.js do?
ReactFabricEventEmitter.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does ReactFabricEventEmitter.js depend on?
ReactFabricEventEmitter.js imports 14 module(s): EventBatching.js, EventPluginRegistry.js, PluginModuleType.js, ReactFiberConfigFabric.js, ReactGenericBatching.js, ReactInternalTypes, ReactNativeGetListener.js, ReactNativePrivateInterface, and 6 more.
What files import ReactFabricEventEmitter.js?
ReactFabricEventEmitter.js is imported by 1 file(s): ReactFiberConfigFabric.js.
Where is ReactFabricEventEmitter.js in the architecture?
ReactFabricEventEmitter.js is located at packages/react-native-renderer/src/ReactFabricEventEmitter.js (domain: BabelCompiler, directory: packages/react-native-renderer/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free