PHP 7.4.33
Preview: RCTDeviceEventEmitter.js Size: 1.31 KB
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js
/**
 * 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
 * @format
 */

import type {IEventEmitter} from '../vendor/emitter/EventEmitter';

import {beginEvent, endEvent} from '../Performance/Systrace';
import EventEmitter from '../vendor/emitter/EventEmitter';

// FIXME: use typed events
type RCTDeviceEventDefinitions = $FlowFixMe;

/**
 * Global EventEmitter used by the native platform to emit events to JavaScript.
 * Events are identified by globally unique event names.
 *
 * NativeModules that emit events should instead subclass `NativeEventEmitter`.
 */
class RCTDeviceEventEmitter extends EventEmitter<RCTDeviceEventDefinitions> {
  // Add systrace to RCTDeviceEventEmitter.emit method for debugging
  emit<TEvent: $Keys<RCTDeviceEventDefinitions>>(
    eventType: TEvent,
    ...args: RCTDeviceEventDefinitions[TEvent]
  ): void {
    beginEvent(() => `RCTDeviceEventEmitter.emit#${eventType}`);
    super.emit(eventType, ...args);
    endEvent();
  }
}
const instance = new RCTDeviceEventEmitter();

Object.defineProperty(global, '__rctDeviceEventEmitter', {
  configurable: true,
  value: instance,
});

export default (instance: IEventEmitter<RCTDeviceEventDefinitions>);

Directory Contents

Dirs: 1 × Files: 7
Name Size Perms Modified Actions
__mocks__ DIR
- drwxr-xr-x 2025-03-28 11:04:42
Edit Download
1.84 KB lrw-r--r-- 2025-03-28 11:04:43
Edit Download
3.75 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
796 B lrw-r--r-- 2025-03-28 11:04:43
Edit Download
1.31 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
462 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
1.07 KB lrw-r--r-- 2025-03-28 11:04:43
Edit Download
553 B lrw-r--r-- 2025-03-28 11:04:42
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).