|
4 | 4 | * This source code is licensed under the MIT license found in the
|
5 | 5 | * LICENSE file in the root directory of this source tree.
|
6 | 6 | *
|
| 7 | + * @flow strict |
7 | 8 | * @format
|
8 |
| - * @flow |
9 | 9 | */
|
10 | 10 |
|
11 |
| -import EventEmitter from '../vendor/emitter/EventEmitter'; |
12 |
| -import type EmitterSubscription from '../vendor/emitter/_EmitterSubscription'; |
13 |
| -import EventSubscriptionVendor from '../vendor/emitter/_EventSubscriptionVendor'; |
14 |
| - |
15 |
| -/** |
16 |
| - * Deprecated - subclass NativeEventEmitter to create granular event modules instead of |
17 |
| - * adding all event listeners directly to RCTDeviceEventEmitter. |
18 |
| - */ |
19 |
| -class RCTDeviceEventEmitter< |
20 |
| - EventDefinitions: {...}, |
21 |
| -> extends EventEmitter<EventDefinitions> { |
22 |
| - sharedSubscriber: EventSubscriptionVendor<EventDefinitions>; |
23 |
| - |
24 |
| - constructor() { |
25 |
| - const sharedSubscriber = new EventSubscriptionVendor<EventDefinitions>(); |
26 |
| - super(sharedSubscriber); |
27 |
| - this.sharedSubscriber = sharedSubscriber; |
28 |
| - } |
29 |
| - |
30 |
| - removeSubscription<K: $Keys<EventDefinitions>>( |
31 |
| - subscription: EmitterSubscription<EventDefinitions, K>, |
32 |
| - ): void { |
33 |
| - if (subscription.emitter !== this) { |
34 |
| - subscription.emitter.removeSubscription(subscription); |
35 |
| - } else { |
36 |
| - super.removeSubscription(subscription); |
37 |
| - } |
38 |
| - } |
39 |
| -} |
| 11 | +import EventEmitter, {type IEventEmitter} from '../vendor/emitter/EventEmitter'; |
40 | 12 |
|
41 | 13 | // FIXME: use typed events
|
42 | 14 | type RCTDeviceEventDefinitions = $FlowFixMe;
|
43 | 15 |
|
44 |
| -export default (new RCTDeviceEventEmitter(): RCTDeviceEventEmitter<RCTDeviceEventDefinitions>); |
| 16 | +/** |
| 17 | + * Global EventEmitter used by the native platform to emit events to JavaScript. |
| 18 | + * Events are identified by globally unique event names. |
| 19 | + * |
| 20 | + * NativeModules that emit events should instead subclass `NativeEventEmitter`. |
| 21 | + */ |
| 22 | +export default (new EventEmitter(): IEventEmitter<RCTDeviceEventDefinitions>); |
0 commit comments