react-native-macos/Libraries
Tim Yung e5c5dcd9e2 RN: Rewrite EventEmitter
Summary:
Rewrites `EventEmitter` as a simple, type-safe abstraction with a minimal interface.

The public interface of `EventEmitter` is unchanged. This rewrite was made possible only after deprecating and removing public methods that imposed restrictions on implementation details (e.g. deleting `removeListener`).

However, this includes a subtle breaking change that makes it behave the same as `EventEmitter` in Node.js and `EventTarget` in the DOM. The set of listeners being notified by `emit` will no longer be influenced by changes made during the course of notifying the existing listeners.

Changelog:
[General][Changed] - `EventEmitter#emit` now freezes the set of listeners before iterating over them, meaning listeners that are added or removed will not affect that iteration.

Reviewed By: javache

Differential Revision: D22153962

fbshipit-source-id: 81b87113590dee0296eff61374bf732171855453
2022-06-18 08:23:32 -07:00
..
ActionSheetIOS bump iOS and tvOS from 11.0 to 12.4 in cocoapods 2022-03-16 21:08:01 -07:00
Alert Added userInterfaceStyle to Alert to override user interface style for iOS 13+ (#33553) 2022-06-08 18:28:16 -07:00
Animated Use initial value of natively driven nodes on renders 2022-06-07 20:02:57 -07:00
AppState fix: remove deprecated removeListener methods (#33580) 2022-05-04 11:32:51 -07:00
BatchedBridge Add more information to JavaScript module not registered as callable error message 2022-05-25 13:21:08 -07:00
Blob fire: (FileReader) remove unused _subscriptions attribute (#33946) 2022-06-01 17:13:11 -07:00
BugReporting Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
Components Back out "TalkBack support for ScrollView accessibility announcements (list and grid) - Javascript Only Changes" 2022-06-17 22:08:57 -07:00
Core Bridgeless mode: Stop register JSTimers as callable JavaScript module 2022-06-16 17:59:40 -07:00
EventEmitter fix: remove deprecated removeListener methods (#33580) 2022-05-04 11:32:51 -07:00
Events CustomEvent and Event polyfills for React Native 2022-03-02 11:39:00 -08:00
FBLazyVector Fixup typo in pfh labels 2022-04-05 12:15:05 -07:00
HeapCapture Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
Image fixing more imports 2022-06-14 13:37:04 -07:00
Inspector Add annotations to empty objects that look like indexers in Xplat 2022-05-03 19:59:28 -07:00
Interaction Add annotations to unannotated variable declarations [manually-modified] 2022-04-27 19:15:55 -07:00
JSInspector Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
LayoutAnimation Refactor LayoutAnimation to use ReactNativeFeatureFlags 2022-02-18 18:23:00 -08:00
Linking fix: remove deprecated removeListener methods (#33580) 2022-05-04 11:32:51 -07:00
LinkingIOS bump iOS and tvOS from 11.0 to 12.4 in cocoapods 2022-03-16 21:08:01 -07:00
Lists Back out "TalkBack support for ScrollView accessibility announcements (list and grid) - Javascript Only Changes" 2022-06-17 22:08:57 -07:00
LogBox Presuppress xplat and upgrade to 0.178.1 2022-05-26 12:59:52 -07:00
Modal Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
NativeAnimation Batch Animated calls into one JSI call per frame 2022-05-17 16:42:41 -07:00
NativeComponent Add dispatch of pointerover/pointerout events 2022-06-07 16:08:50 -07:00
NativeModules/specs Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
Network Protect _handlers in RCTNetworking with mutex even if RCTNetworking has been deallocated 2022-06-05 11:02:11 -07:00
NewAppScreen Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
Performance Presuppress xplat and upgrade to 0.178.1 2022-05-26 12:59:52 -07:00
PermissionsAndroid Add `READ_VOICEMAIL` and `WRITE_VOICEMAIL` permissions (#33965) 2022-06-06 11:37:34 -07:00
Pressability Fill out w3c pointer event types 2022-05-19 18:48:24 -07:00
PushNotificationIOS Update RCTPushNotificationManager checkPermissions API to support iOS 10+ 2022-04-06 20:15:22 -07:00
RCTRequired Fixup typo in pfh labels 2022-04-05 12:15:05 -07:00
ReactNative Make LogBox render through SurfaceRegistry 2022-06-17 04:34:59 -07:00
ReactPrivate CustomEvent and Event polyfills for React Native 2022-03-02 11:39:00 -08:00
Reliability Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
Renderer Back out "React Native sync for revisions d300ceb...256aefb" 2022-06-17 03:13:14 -07:00
Settings bump iOS and tvOS from 11.0 to 12.4 in cocoapods 2022-03-16 21:08:01 -07:00
Share Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
Storage Add annotations to empty objects that look like indexers in Xplat 2022-05-03 19:59:28 -07:00
StyleSheet Presuppress xplat and upgrade to 0.178.1 2022-05-26 12:59:52 -07:00
SurfaceBackedComponent 5/n Allow CKComponents to embed Fabric surfaces 2022-03-29 11:52:49 -07:00
SurfaceHostingComponent 5/n Allow CKComponents to embed Fabric surfaces 2022-03-29 11:52:49 -07:00
Text Make Text use Android's "auto" focus by default instead of setting focus to true 2022-06-09 13:27:09 -07:00
TurboModule Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
TypeSafety Remove folly import in GenerateModuleObjCpp 2022-03-22 17:10:18 -07:00
Types Fill out w3c pointer event types 2022-05-19 18:48:24 -07:00
Utilities Move ReactNativeTestTools-test to github 2022-05-23 06:15:08 -07:00
Vibration bump iOS and tvOS from 11.0 to 12.4 in cocoapods 2022-03-16 21:08:01 -07:00
WebSocket Fixes to non-product code (e.g React Native) 2022-05-04 16:13:07 -07:00
Wrapper Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
YellowBox Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
__flowtests__ Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
vendor RN: Rewrite EventEmitter 2022-06-18 08:23:32 -07:00
.npmignore npmignore: ignore tests and fixtures 2018-02-27 08:42:14 -08:00
Promise.js Remove nonstandard Promise.prototype.done implementation 2022-05-05 03:55:10 -07:00
UTFSequence.js Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00
promiseRejectionTrackingOptions.js Update copyright headers from Facebook to Meta 2021-12-30 15:11:21 -08:00