Skip to content

Commit b11d6ec

Browse files
yungstersfacebook-github-bot
authored andcommitted
EventEmitter: Replace listeners() with listenerCount()
Summary: Replaces the `listeners()` method on `EventEmitter` with a `listenerCount()` method. Changelog: [General][Removed] - Removed `listeners()` from `DeviceEventEmitter` and `NativeEventEmitter`. [General][Added] - Added `listenerCount()` to `DeviceEventEmitter` and `NativeEventEmitter`. Reviewed By: cpojer Differential Revision: D22204156 fbshipit-source-id: 15029525aeef55de9934a4f319910e666ecbe1d8
1 parent b265561 commit b11d6ec

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

Libraries/EventEmitter/NativeEventEmitter.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export default class NativeEventEmitter extends EventEmitter {
5050

5151
removeAllListeners(eventType: string) {
5252
invariant(eventType, 'eventType argument is required.');
53-
const count = this.listeners(eventType).length;
53+
const count = this.listenerCount(eventType);
5454
if (this._nativeModule != null) {
5555
this._nativeModule.removeListeners(count);
5656
}

Libraries/vendor/emitter/_EventEmitter.js

+9-11
Original file line numberDiff line numberDiff line change
@@ -93,23 +93,21 @@ class EventEmitter {
9393
}
9494

9595
/**
96-
* Returns an array of listeners that are currently registered for the given
96+
* Returns the number of listeners that are currently registered for the given
9797
* event.
9898
*
9999
* @param {string} eventType - Name of the event to query
100-
* @returns {array}
100+
* @returns {number}
101101
*/
102-
listeners(eventType: string): [EmitterSubscription] {
102+
listenerCount(eventType: string): number {
103103
const subscriptions = this._subscriber.getSubscriptionsForType(eventType);
104104
return subscriptions
105-
? subscriptions
106-
// We filter out missing entries because the array is sparse.
107-
// "callbackfn is called only for elements of the array which actually
108-
// exist; it is not called for missing elements of the array."
109-
// https://www.ecma-international.org/ecma-262/9.0/index.html#sec-array.prototype.filter
110-
.filter(sparseFilterPredicate)
111-
.map(subscription => subscription.listener)
112-
: [];
105+
? // We filter out missing entries because the array is sparse.
106+
// "callbackfn is called only for elements of the array which actually
107+
// exist; it is not called for missing elements of the array."
108+
// https://www.ecma-international.org/ecma-262/9.0/index.html#sec-array.prototype.filter
109+
subscriptions.filter(sparseFilterPredicate).length
110+
: 0;
113111
}
114112

115113
/**

0 commit comments

Comments
 (0)