From b3ddbbd298019c6d81abd8d138858c9a7911765e Mon Sep 17 00:00:00 2001 From: Sam Zhou Date: Wed, 4 Sep 2024 13:04:32 -0700 Subject: [PATCH] Replace $ObjMap in EventEmitter with mapped type Summary: Changelog: [Internal] Differential Revision: D62199703 --- .../Libraries/vendor/emitter/EventEmitter.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-native/Libraries/vendor/emitter/EventEmitter.js b/packages/react-native/Libraries/vendor/emitter/EventEmitter.js index 6aaad2ea4db146..1087654ea57827 100644 --- a/packages/react-native/Libraries/vendor/emitter/EventEmitter.js +++ b/packages/react-native/Libraries/vendor/emitter/EventEmitter.js @@ -35,11 +35,9 @@ interface Registration { +remove: () => void; } -// $FlowFixMe[deprecated-type] -type Registry = $ObjMap< - TEventToArgsMap, - (TArgs) => Set>, ->; +type Registry = { + [K in keyof TEventToArgsMap]: Set>, +}; /** * EventEmitter manages listeners and publishes events to them. @@ -64,6 +62,7 @@ type Registry = $ObjMap< export default class EventEmitter implements IEventEmitter { + // $FlowFixMe[incompatible-type] #registry: Registry = {}; /** @@ -126,6 +125,7 @@ export default class EventEmitter eventType?: ?TEvent, ): void { if (eventType == null) { + // $FlowFixMe[incompatible-type] this.#registry = {}; } else { delete this.#registry[eventType];