Update RCTDeviceEventEmitter singleton instantiation (#49085)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49085

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D68953499

fbshipit-source-id: ea469813593cc4bcb746345a78c68dc7b0b4d56d
This commit is contained in:
Jakub Piasecki
2025-02-11 05:42:24 -08:00
committed by Facebook GitHub Bot
parent 7dbfc1099c
commit f1a3ff0dd1
2 changed files with 8 additions and 4 deletions
@@ -23,7 +23,7 @@ type RCTDeviceEventDefinitions = {[name: string]: Array<any>};
*
* NativeModules that emit events should instead subclass `NativeEventEmitter`.
*/
class RCTDeviceEventEmitter extends EventEmitter<RCTDeviceEventDefinitions> {
class RCTDeviceEventEmitterImpl extends EventEmitter<RCTDeviceEventDefinitions> {
// Add systrace to RCTDeviceEventEmitter.emit method for debugging
emit<TEvent: $Keys<RCTDeviceEventDefinitions>>(
eventType: TEvent,
@@ -34,11 +34,12 @@ class RCTDeviceEventEmitter extends EventEmitter<RCTDeviceEventDefinitions> {
endEvent();
}
}
const instance = new RCTDeviceEventEmitter();
const RCTDeviceEventEmitter: IEventEmitter<RCTDeviceEventDefinitions> =
new RCTDeviceEventEmitterImpl();
Object.defineProperty(global, '__rctDeviceEventEmitter', {
configurable: true,
value: instance,
value: RCTDeviceEventEmitter,
});
export default (instance: IEventEmitter<RCTDeviceEventDefinitions>);
export default (RCTDeviceEventEmitter: IEventEmitter<RCTDeviceEventDefinitions>);
+3
View File
@@ -29,6 +29,9 @@ const ENTRY_POINTS = [
// 'packages/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js',
// 'packages/react-native/Libraries/Share/Share.js',
'packages/react-native/Libraries/Alert/Alert.js',
'packages/react-native/Libraries/EventEmitter/NativeEventEmitter.js',
'packages/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js',
'packages/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js',
'packages/react-native/Libraries/Components/ToastAndroid/ToastAndroid.js',
'packages/react-native/Libraries/Settings/Settings.js',
'packages/react-native/Libraries/Performance/Systrace.js',