/** * 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. * * @format * @flow strict-local */ import type { EventSubscription, IEventEmitter, } from '../../vendor/emitter/EventEmitter'; import RCTDeviceEventEmitter from '../RCTDeviceEventEmitter'; /** * Mock `NativeEventEmitter` to ignore Native Modules. */ export default class NativeEventEmitter implements IEventEmitter { addListener>( eventType: TEvent, listener: (...args: $ElementType) => mixed, context?: mixed, ): EventSubscription { return RCTDeviceEventEmitter.addListener(eventType, listener, context); } emit>( eventType: TEvent, ...args: $ElementType ): void { RCTDeviceEventEmitter.emit(eventType, ...args); } removeAllListeners>( eventType?: ?TEvent, ): void { RCTDeviceEventEmitter.removeAllListeners(eventType); } listenerCount>(eventType: TEvent): number { return RCTDeviceEventEmitter.listenerCount(eventType); } }