mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
271b9132bc
Summary: This event listener does nothing by default and will do nothing if (developer) users don't explicitly create some telemetry system for their own app. This EventEmitter makes that easier but isn't necessarily tied to telemetry, especially since it does nothing at all by default. Changelog: [Internal] Reviewed By: yungsters Differential Revision: D34060116 fbshipit-source-id: 9345a52f502e0225358fdaa1431c052a70fa54ce
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
/**
|
|
* 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 strict-local
|
|
* @format
|
|
*/
|
|
|
|
import EventEmitter from '../vendor/emitter/EventEmitter';
|
|
import type {IEventEmitter} from '../vendor/emitter/EventEmitter';
|
|
|
|
export type RawEventEmitterEvent = $ReadOnly<{|
|
|
eventName: string,
|
|
// We expect, but do not/cannot require, that nativeEvent is an object
|
|
// with the properties: key, elementType (string), type (string), tag (numeric),
|
|
// and a stateNode of the native element/Fiber the event was emitted to.
|
|
nativeEvent: {[string]: mixed},
|
|
|}>;
|
|
|
|
type RawEventDefinitions = {
|
|
[eventChannel: string]: [RawEventEmitterEvent],
|
|
};
|
|
|
|
const RawEventEmitter: IEventEmitter<RawEventDefinitions> =
|
|
new EventEmitter<RawEventDefinitions>();
|
|
|
|
// See the React renderer / react repo for how this is used.
|
|
// Raw events are emitted here when they are received in JS
|
|
// and before any event Plugins process them or before components
|
|
// have a chance to respond to them. This allows you to implement
|
|
// app-specific perf monitoring, which is unimplemented by default,
|
|
// making this entire RawEventEmitter do nothing by default until
|
|
// *you* add listeners for your own app.
|
|
// Besides perf monitoring and maybe debugging, this RawEventEmitter
|
|
// should not be used.
|
|
export default RawEventEmitter;
|