From 06b5c6e9e015b9a97f905c2c87a3eb504f6ededc Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Tue, 12 Sep 2023 05:23:30 -0700 Subject: [PATCH] RN: Use a Private Property in `EventEmitter` (#39395) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/39395 Switches `EventEmitter` to use a private property. Support for private properties was [only recently added](https://github.com/facebook/react-native/pull/39318), so this will be the first end-to-end validation of support in the `facebook/react-native` project. Changelog: [Internal] Reviewed By: voideanvalue Differential Revision: D49167908 fbshipit-source-id: 6a496ed130bfe5671663166626b1acbd80b0e9c3 --- .../Libraries/vendor/emitter/EventEmitter.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/react-native/Libraries/vendor/emitter/EventEmitter.js b/packages/react-native/Libraries/vendor/emitter/EventEmitter.js index 904b77a3226..e638309de87 100644 --- a/packages/react-native/Libraries/vendor/emitter/EventEmitter.js +++ b/packages/react-native/Libraries/vendor/emitter/EventEmitter.js @@ -63,7 +63,7 @@ type Registry = $ObjMap< export default class EventEmitter implements IEventEmitter { - _registry: Registry = {}; + #registry: Registry = {}; /** * Registers a listener that is called when the supplied event is emitted. @@ -83,7 +83,7 @@ export default class EventEmitter TEventToArgsMap, TEvent, TEventToArgsMap[TEvent], - >(this._registry, eventType); + >(this.#registry, eventType); const registration: Registration = { context, listener, @@ -107,7 +107,7 @@ export default class EventEmitter ...args: TEventToArgsMap[TEvent] ): void { const registrations: ?Set> = - this._registry[eventType]; + this.#registry[eventType]; if (registrations != null) { for (const registration of [...registrations]) { registration.listener.apply(registration.context, args); @@ -122,9 +122,9 @@ export default class EventEmitter eventType?: ?TEvent, ): void { if (eventType == null) { - this._registry = {}; + this.#registry = {}; } else { - delete this._registry[eventType]; + delete this.#registry[eventType]; } } @@ -132,7 +132,7 @@ export default class EventEmitter * Returns the number of registered listeners for the supplied event. */ listenerCount>(eventType: TEvent): number { - const registrations: ?Set> = this._registry[eventType]; + const registrations: ?Set> = this.#registry[eventType]; return registrations == null ? 0 : registrations.size; } }