react-native 0.70.4 → 0.71.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1522) hide show
  1. package/CHANGELOG.md +351 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  4. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  5. package/Libraries/Alert/Alert.d.ts +90 -0
  6. package/Libraries/Alert/Alert.js +7 -1
  7. package/Libraries/Alert/Alert.js.flow +49 -0
  8. package/Libraries/Alert/NativeAlertManager.js +2 -0
  9. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  10. package/Libraries/Animated/Animated.d.ts +587 -0
  11. package/Libraries/Animated/Animated.js +13 -11
  12. package/Libraries/Animated/AnimatedEvent.js +12 -17
  13. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  14. package/Libraries/Animated/AnimatedMock.js +11 -13
  15. package/Libraries/Animated/AnimatedWeb.js +2 -2
  16. package/Libraries/Animated/Easing.d.ts +37 -0
  17. package/Libraries/Animated/Easing.js +2 -2
  18. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  19. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  21. package/Libraries/Animated/SpringConfig.js +2 -7
  22. package/Libraries/Animated/animations/Animation.js +3 -4
  23. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  24. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  25. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  26. package/Libraries/Animated/bezier.js +2 -2
  27. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  28. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  29. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  30. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  31. package/Libraries/Animated/components/AnimatedText.js +5 -6
  32. package/Libraries/Animated/components/AnimatedView.js +5 -6
  33. package/Libraries/Animated/createAnimatedComponent.js +11 -25
  34. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  35. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  36. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  37. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  38. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  39. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  40. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  41. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  42. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  43. package/Libraries/Animated/nodes/AnimatedProps.js +12 -28
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  45. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  46. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  47. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  48. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  49. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  50. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  51. package/Libraries/Animated/useAnimatedProps.js +8 -16
  52. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  53. package/Libraries/Animated/useAnimatedValue.js +25 -0
  54. package/Libraries/AppDelegate/RCTAppDelegate.h +130 -0
  55. package/Libraries/AppDelegate/RCTAppDelegate.mm +164 -0
  56. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +73 -0
  57. package/Libraries/AppState/AppState.d.ts +58 -0
  58. package/Libraries/AppState/AppState.js +3 -7
  59. package/Libraries/AppState/NativeAppState.js +1 -0
  60. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  61. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  62. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  63. package/Libraries/Blob/BlobManager.js +5 -3
  64. package/Libraries/Blob/File.js +2 -3
  65. package/Libraries/Blob/FileReader.js +6 -5
  66. package/Libraries/Blob/NativeBlobModule.js +1 -0
  67. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  68. package/Libraries/Blob/RCTBlobCollector.h +0 -2
  69. package/Libraries/Blob/RCTBlobCollector.mm +27 -23
  70. package/Libraries/Blob/RCTBlobManager.h +1 -1
  71. package/Libraries/Blob/RCTBlobManager.mm +34 -28
  72. package/Libraries/Blob/RCTFileReaderModule.mm +24 -17
  73. package/Libraries/Blob/React-RCTBlob.podspec +0 -1
  74. package/Libraries/Blob/URL.js +11 -9
  75. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  76. package/Libraries/BugReporting/getReactData.js +1 -1
  77. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  78. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +16 -16
  79. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +9 -7
  80. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  81. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -0
  82. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  83. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  84. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  85. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  86. package/Libraries/Components/Button.d.ts +42 -0
  87. package/Libraries/Components/Button.flow.js +265 -0
  88. package/Libraries/Components/Button.js +62 -18
  89. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  90. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  91. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  92. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  93. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  94. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  95. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  96. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  97. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  98. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  99. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  100. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  101. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  102. package/Libraries/Components/Keyboard/Keyboard.js +7 -5
  103. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  104. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +16 -9
  105. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  106. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  107. package/Libraries/Components/Pressable/Pressable.js +73 -15
  108. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  109. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  110. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  111. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  112. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  113. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  114. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  115. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  116. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  117. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  118. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  119. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  120. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  121. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  122. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  123. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  124. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  125. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  126. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  127. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  128. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  129. package/Libraries/Components/ScrollView/ScrollView.js +77 -38
  130. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  131. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  132. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  133. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  134. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  135. package/Libraries/Components/Slider/Slider.js +9 -9
  136. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  137. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  138. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  139. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  140. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  141. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  142. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  143. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  144. package/Libraries/Components/Switch/Switch.js +7 -7
  145. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  146. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  147. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  148. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  149. package/Libraries/Components/TextInput/InputAccessoryView.js.flow +25 -0
  150. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  151. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  152. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  153. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  154. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  155. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  156. package/Libraries/Components/TextInput/TextInput.js +344 -36
  157. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  158. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  159. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  160. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  161. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  162. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  163. package/Libraries/Components/Touchable/Touchable.js +12 -12
  164. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  165. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  166. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  167. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  168. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  169. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  170. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  171. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  172. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  173. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  174. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  175. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
  176. package/Libraries/Components/View/View.d.ts +29 -0
  177. package/Libraries/Components/View/View.js +91 -8
  178. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  179. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  180. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  181. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  182. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  183. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  184. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  185. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  186. package/Libraries/Core/ExceptionsManager.js +8 -0
  187. package/Libraries/Core/ExtendedError.js +11 -8
  188. package/Libraries/Core/InitializeCore.js +2 -1
  189. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  190. package/Libraries/Core/RawEventEmitter.js +2 -1
  191. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  192. package/Libraries/Core/ReactNativeVersion.js +3 -3
  193. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  194. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  195. package/Libraries/Core/Timers/JSTimers.js +13 -11
  196. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  197. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  198. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  199. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  200. package/Libraries/Core/setUpTimers.js +1 -1
  201. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  202. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  203. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  204. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  205. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  206. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  207. package/Libraries/Events/EventPolyfill.js +1 -1
  208. package/Libraries/FBLazyVector/BUCK +2 -1
  209. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +9 -12
  210. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +9 -6
  211. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  212. package/Libraries/Image/AssetSourceResolver.js +4 -6
  213. package/Libraries/Image/Image.android.js +63 -45
  214. package/Libraries/Image/Image.d.ts +322 -0
  215. package/Libraries/Image/Image.flow.js +64 -0
  216. package/Libraries/Image/Image.ios.js +55 -28
  217. package/Libraries/Image/ImageBackground.js +18 -7
  218. package/Libraries/Image/ImageBackground.js.flow +17 -0
  219. package/Libraries/Image/ImageInjection.js +2 -1
  220. package/Libraries/Image/ImagePickerIOS.d.ts +48 -0
  221. package/Libraries/Image/ImageProps.js +88 -5
  222. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  223. package/Libraries/Image/ImageSource.d.ts +76 -0
  224. package/Libraries/Image/ImageSourceUtils.js +80 -0
  225. package/Libraries/Image/ImageUtils.js +21 -0
  226. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  227. package/Libraries/Image/ImageViewNativeComponent.js.flow +45 -0
  228. package/Libraries/Image/NativeImageEditor.js +1 -0
  229. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  230. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  231. package/Libraries/Image/NativeImagePickerIOS.js +1 -0
  232. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  233. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  234. package/Libraries/Image/RCTAnimatedImage.m +5 -2
  235. package/Libraries/Image/RCTDisplayWeakRefreshable.m +4 -2
  236. package/Libraries/Image/RCTGIFImageDecoder.mm +7 -4
  237. package/Libraries/Image/RCTImageBlurUtils.m +22 -17
  238. package/Libraries/Image/RCTImageCache.h +7 -7
  239. package/Libraries/Image/RCTImageCache.m +16 -21
  240. package/Libraries/Image/RCTImageDataDecoder.h +1 -1
  241. package/Libraries/Image/RCTImageEditingManager.mm +53 -44
  242. package/Libraries/Image/RCTImageLoader.h +7 -7
  243. package/Libraries/Image/RCTImageLoader.mm +415 -378
  244. package/Libraries/Image/RCTImageLoaderProtocol.h +14 -17
  245. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +2 -2
  246. package/Libraries/Image/RCTImageStoreManager.mm +30 -25
  247. package/Libraries/Image/RCTImageURLLoader.h +11 -8
  248. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +6 -4
  249. package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +3 -1
  250. package/Libraries/Image/RCTImageUtils.h +19 -18
  251. package/Libraries/Image/RCTImageUtils.m +61 -67
  252. package/Libraries/Image/RCTImageView.h +2 -2
  253. package/Libraries/Image/RCTImageView.mm +50 -43
  254. package/Libraries/Image/RCTImageViewManager.mm +45 -41
  255. package/Libraries/Image/RCTLocalAssetImageLoader.mm +12 -10
  256. package/Libraries/Image/RCTResizeMode.h +1 -1
  257. package/Libraries/Image/RCTResizeMode.m +12 -8
  258. package/Libraries/Image/RCTUIImageViewAnimated.m +21 -13
  259. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  260. package/Libraries/Image/TextInlineImageNativeComponent.js.flow +27 -0
  261. package/Libraries/Image/nativeImageSource.js +2 -2
  262. package/Libraries/Image/resolveAssetSource.js +5 -5
  263. package/Libraries/Inspector/BorderBox.js +1 -1
  264. package/Libraries/Inspector/BoxInspector.js +3 -4
  265. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  266. package/Libraries/Inspector/ElementBox.js +4 -5
  267. package/Libraries/Inspector/ElementProperties.js +10 -11
  268. package/Libraries/Inspector/Inspector.js +22 -108
  269. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  270. package/Libraries/Inspector/InspectorPanel.js +12 -10
  271. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  272. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  273. package/Libraries/Inspector/StyleInspector.js +2 -2
  274. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  275. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  276. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  277. package/Libraries/Interaction/InteractionManager.js +8 -8
  278. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  279. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  280. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  281. package/Libraries/Interaction/PanResponder.js +4 -3
  282. package/Libraries/JSInspector/JSInspector.js +0 -3
  283. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  284. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  285. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  286. package/Libraries/Linking/Linking.d.ts +61 -0
  287. package/Libraries/Linking/Linking.js +3 -2
  288. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  289. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  290. package/Libraries/LinkingIOS/RCTLinkingManager.h +5 -5
  291. package/Libraries/LinkingIOS/RCTLinkingManager.mm +75 -63
  292. package/Libraries/Lists/CellRenderMask.js +13 -3
  293. package/Libraries/Lists/ChildListCollection.js +72 -0
  294. package/Libraries/Lists/FillRateHelper.js +28 -17
  295. package/Libraries/Lists/FlatList.d.ts +292 -0
  296. package/Libraries/Lists/FlatList.js +70 -70
  297. package/Libraries/Lists/FlatList.js.flow +115 -0
  298. package/Libraries/Lists/SectionList.d.ts +300 -0
  299. package/Libraries/Lists/SectionList.js +5 -5
  300. package/Libraries/Lists/SectionListModern.js +6 -6
  301. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  302. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  303. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  304. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  305. package/Libraries/Lists/VirtualizedList.js +548 -890
  306. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  307. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  308. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  309. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  310. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  311. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  312. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  313. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  314. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  315. package/Libraries/LogBox/LogBox.d.ts +28 -0
  316. package/Libraries/LogBox/LogBox.js +11 -11
  317. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  318. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  319. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  320. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  321. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  322. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  323. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  324. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  325. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  326. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  327. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  328. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  329. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  330. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  331. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  332. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  333. package/Libraries/Modal/Modal.d.ts +104 -0
  334. package/Libraries/Modal/Modal.js +14 -14
  335. package/Libraries/Modal/NativeModalManager.js +1 -0
  336. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  337. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +1 -1
  338. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +6 -9
  339. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +1 -2
  340. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m +2 -4
  341. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +1 -1
  342. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +14 -21
  343. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +1 -1
  344. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +8 -22
  345. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m +1 -2
  346. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +2 -3
  347. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m +3 -5
  348. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +2 -4
  349. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m +7 -4
  350. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m +1 -2
  351. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +14 -20
  352. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m +1 -2
  353. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +13 -16
  354. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +5 -7
  355. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +0 -1
  356. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m +1 -3
  357. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +0 -1
  358. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m +3 -8
  359. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m +4 -6
  360. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +1 -2
  361. package/Libraries/NativeAnimation/RCTAnimationUtils.h +14 -12
  362. package/Libraries/NativeAnimation/RCTAnimationUtils.m +15 -19
  363. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +6 -1
  364. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +80 -72
  365. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +11 -20
  366. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +55 -64
  367. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +5 -1
  368. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +68 -78
  369. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  370. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  371. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  372. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  373. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  374. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  375. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  376. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  377. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  378. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  379. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  380. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  381. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  382. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  383. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  384. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  385. package/Libraries/Network/RCTDataRequestHandler.mm +8 -11
  386. package/Libraries/Network/RCTFileRequestHandler.mm +10 -16
  387. package/Libraries/Network/RCTHTTPRequestHandler.h +4 -3
  388. package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -23
  389. package/Libraries/Network/RCTNetworkTask.mm +2 -3
  390. package/Libraries/Network/RCTNetworking.android.js +4 -3
  391. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  392. package/Libraries/Network/RCTNetworking.mm +172 -157
  393. package/Libraries/Network/convertRequestBody.js +1 -2
  394. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  395. package/Libraries/NewAppScreen/components/Header.js +6 -2
  396. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  397. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  398. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  399. package/Libraries/NewAppScreen/index.js +1 -1
  400. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  401. package/Libraries/Performance/PerformanceObserver.js +124 -0
  402. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  403. package/Libraries/Performance/Systrace.d.ts +66 -0
  404. package/Libraries/Performance/Systrace.js +110 -195
  405. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  406. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  407. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  408. package/Libraries/Pressability/Pressability.js +12 -10
  409. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  410. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  411. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  412. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  413. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +2 -1
  414. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +142 -103
  415. package/Libraries/RCTRequired/BUCK +2 -1
  416. package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +31 -18
  417. package/Libraries/ReactNative/AppContainer.js +17 -7
  418. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  419. package/Libraries/ReactNative/AppRegistry.js +11 -14
  420. package/Libraries/ReactNative/BridgelessUIManager.js +3 -2
  421. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  422. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  423. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  424. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  425. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  426. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  427. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  428. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  429. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  430. package/Libraries/ReactNative/RendererProxy.js +26 -0
  431. package/Libraries/ReactNative/RootTag.js +0 -1
  432. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  433. package/Libraries/ReactNative/UIManager.js +1 -1
  434. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  435. package/Libraries/ReactNative/renderApplication.js +38 -20
  436. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  437. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  438. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  439. package/Libraries/Renderer/README.md +1 -1
  440. package/Libraries/Renderer/REVISION +1 -1
  441. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  442. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  443. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  444. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  445. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  446. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  447. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  448. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  449. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  450. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  451. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  452. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  453. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  454. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  455. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  456. package/Libraries/Settings/RCTSettingsManager.mm +10 -12
  457. package/Libraries/Settings/Settings.d.ts +18 -0
  458. package/Libraries/Share/NativeShareModule.js +1 -0
  459. package/Libraries/Share/Share.d.ts +80 -0
  460. package/Libraries/Share/Share.js +7 -5
  461. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  462. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  463. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  464. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  465. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  466. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  467. package/Libraries/StyleSheet/StyleSheet.js +9 -10
  468. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  469. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  470. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  471. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  472. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  473. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  474. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  475. package/Libraries/StyleSheet/processColor.js +3 -4
  476. package/Libraries/StyleSheet/processColorArray.js +1 -0
  477. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  478. package/Libraries/StyleSheet/processTransform.js +114 -105
  479. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  480. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +9 -12
  481. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +1 -1
  482. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +9 -14
  483. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +16 -12
  484. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +1 -1
  485. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +2 -3
  486. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +3 -8
  487. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +4 -2
  488. package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +13 -12
  489. package/Libraries/Text/BaseText/RCTBaseTextViewManager.m +1 -0
  490. package/Libraries/Text/RCTConvert+Text.m +16 -14
  491. package/Libraries/Text/RCTTextAttributes.h +1 -0
  492. package/Libraries/Text/RCTTextAttributes.m +67 -54
  493. package/Libraries/Text/RawText/RCTRawTextShadowView.m +2 -1
  494. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +22 -42
  495. package/Libraries/Text/Text/RCTTextShadowView.m +152 -175
  496. package/Libraries/Text/Text/RCTTextView.m +38 -40
  497. package/Libraries/Text/Text/RCTTextViewManager.m +7 -8
  498. package/Libraries/Text/Text.d.ts +192 -0
  499. package/Libraries/Text/Text.js +94 -12
  500. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m +10 -23
  501. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m +1 -1
  502. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -1
  503. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +18 -12
  504. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +10 -6
  505. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -1
  506. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +22 -14
  507. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -2
  508. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +37 -47
  509. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -3
  510. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +177 -155
  511. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +19 -17
  512. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +1 -1
  513. package/Libraries/Text/TextInput/RCTInputAccessoryView.m +2 -3
  514. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +1 -2
  515. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m +3 -4
  516. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +1 -2
  517. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -1
  518. package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +7 -5
  519. package/Libraries/Text/TextNativeComponent.js +48 -41
  520. package/Libraries/Text/TextProps.js +47 -7
  521. package/{React/Views/RCTMaskedViewManager.h → Libraries/TurboModule/RCTExport.d.ts} +6 -6
  522. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  523. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  524. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  525. package/Libraries/TypeSafety/RCTConvertHelpers.h +22 -12
  526. package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
  527. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +7 -5
  528. package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +6 -4
  529. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  530. package/Libraries/Types/CoreEventTypes.js +2 -1
  531. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  532. package/Libraries/Utilities/Appearance.d.ts +43 -0
  533. package/Libraries/Utilities/Appearance.js +3 -3
  534. package/Libraries/Utilities/BackHandler.android.js +3 -5
  535. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  536. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  537. package/Libraries/Utilities/DevSettings.js +4 -2
  538. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  539. package/Libraries/Utilities/Dimensions.js +2 -2
  540. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  541. package/Libraries/Utilities/HMRClient.js +23 -8
  542. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  543. package/Libraries/Utilities/NativeAppearance.js +1 -0
  544. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  545. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  546. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  547. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  548. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  549. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  550. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  551. package/Libraries/Utilities/PixelRatio.js.flow +21 -0
  552. package/Libraries/Utilities/Platform.android.js +11 -5
  553. package/Libraries/Utilities/Platform.d.ts +102 -0
  554. package/Libraries/Utilities/Platform.ios.js +12 -5
  555. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  556. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  557. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  558. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  559. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  560. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  561. package/Libraries/Utilities/groupByEveryN.js +1 -1
  562. package/Libraries/Utilities/stringifySafe.js +3 -1
  563. package/Libraries/Utilities/useColorScheme.js +3 -2
  564. package/Libraries/Utilities/useRefEffect.js +1 -1
  565. package/Libraries/Vibration/NativeVibration.js +1 -0
  566. package/Libraries/Vibration/RCTVibration.mm +5 -5
  567. package/Libraries/Vibration/Vibration.d.ts +43 -0
  568. package/Libraries/Vibration/Vibration.js +1 -0
  569. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  570. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +5 -2
  571. package/Libraries/WebSocket/RCTSRWebSocket.h +20 -16
  572. package/Libraries/WebSocket/RCTSRWebSocket.m +293 -187
  573. package/Libraries/WebSocket/WebSocket.js +11 -3
  574. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  575. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +5 -12
  576. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +2 -1
  577. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -5
  578. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +2 -3
  579. package/Libraries/Wrapper/RCTWrapper.h +50 -48
  580. package/Libraries/Wrapper/RCTWrapperShadowView.m +9 -8
  581. package/Libraries/Wrapper/RCTWrapperView.m +1 -4
  582. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +1 -2
  583. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  584. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  585. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  586. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  587. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  588. package/README.md +2 -2
  589. package/React/AppSetup/RCTAppSetupUtils.h +6 -2
  590. package/React/AppSetup/RCTAppSetupUtils.mm +10 -8
  591. package/React/Base/RCTAssert.h +4 -4
  592. package/React/Base/RCTBridge.h +3 -107
  593. package/React/Base/RCTBridge.m +0 -18
  594. package/React/Base/RCTBridgeConstants.h +71 -0
  595. package/React/Base/RCTBridgeConstants.m +18 -0
  596. package/React/Base/RCTBridgeModule.h +4 -47
  597. package/React/Base/RCTBundleManager.h +23 -0
  598. package/React/Base/RCTBundleManager.m +1 -1
  599. package/React/Base/RCTConstants.h +52 -4
  600. package/React/Base/RCTConstants.m +24 -13
  601. package/React/Base/RCTConvert.h +3 -0
  602. package/React/Base/RCTConvert.m +29 -1
  603. package/React/Base/RCTKeyCommands.m +1 -1
  604. package/React/Base/RCTModuleData.mm +1 -0
  605. package/React/Base/RCTModuleMethod.mm +1 -1
  606. package/React/Base/RCTModuleRegistry.m +3 -1
  607. package/React/Base/RCTTurboModuleRegistry.h +29 -0
  608. package/React/Base/RCTVersion.m +3 -3
  609. package/React/Base/Surface/RCTSurface.mm +1 -0
  610. package/React/CoreModules/BUCK +6 -5
  611. package/React/CoreModules/CoreModulesPlugins.h +0 -1
  612. package/React/CoreModules/CoreModulesPlugins.mm +0 -1
  613. package/React/CoreModules/RCTAlertController.m +5 -0
  614. package/React/CoreModules/RCTAlertManager.mm +32 -26
  615. package/React/CoreModules/RCTDevLoadingView.mm +1 -0
  616. package/React/CoreModules/RCTDevSettings.mm +1 -0
  617. package/React/CoreModules/RCTEventDispatcher.mm +6 -2
  618. package/React/CoreModules/RCTExceptionsManager.h +4 -1
  619. package/React/CoreModules/RCTExceptionsManager.mm +4 -12
  620. package/React/CoreModules/RCTRedBox.mm +7 -1
  621. package/React/CxxBridge/RCTCxxBridge.mm +2 -1
  622. package/React/CxxModule/RCTNativeModule.mm +15 -0
  623. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  624. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  625. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +0 -1
  626. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +7 -2
  627. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +23 -5
  628. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +15 -0
  629. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -5
  630. package/React/Fabric/Mounting/RCTComponentViewRegistry.h +0 -5
  631. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +0 -39
  632. package/React/Fabric/Mounting/RCTMountingManager.mm +1 -4
  633. package/React/Fabric/RCTScheduler.mm +0 -9
  634. package/React/Fabric/RCTSurfacePresenter.h +2 -1
  635. package/React/Fabric/RCTSurfacePresenter.mm +17 -12
  636. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -1
  637. package/React/Fabric/RCTSurfaceTouchHandler.mm +290 -105
  638. package/React/Fabric/Utils/RCTReactTaggedView.h +34 -0
  639. package/React/Fabric/Utils/RCTReactTaggedView.mm +55 -0
  640. package/React/Profiler/RCTProfile.h +20 -0
  641. package/React/Tests/Mounting/RCTComponentViewRegistryTests.mm +1 -0
  642. package/React/Views/RCTBorderCurve.h +13 -0
  643. package/React/Views/RCTComponentData.m +1 -0
  644. package/React/Views/RCTFont.mm +80 -0
  645. package/React/Views/RCTShadowView.h +3 -0
  646. package/React/Views/RCTShadowView.m +14 -0
  647. package/React/Views/RCTView.h +6 -0
  648. package/React/Views/RCTView.m +18 -2
  649. package/React/Views/RCTViewManager.m +18 -0
  650. package/React/Views/RCTViewUtils.h +1 -0
  651. package/React-Core.podspec +22 -6
  652. package/ReactAndroid/Android-prebuilt.mk +10 -2
  653. package/ReactAndroid/build.gradle +239 -105
  654. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +75 -17
  655. package/ReactAndroid/cmake-utils/default-app-setup/CMakeLists.txt +31 -0
  656. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +79 -0
  657. package/ReactAndroid/cmake-utils/folly-flags.cmake +22 -0
  658. package/ReactAndroid/external-artifacts/.npmignore +3 -0
  659. package/ReactAndroid/external-artifacts/build.gradle +41 -0
  660. package/ReactAndroid/gradle.properties +6 -9
  661. package/ReactAndroid/hermes-engine/build.gradle +6 -29
  662. package/ReactAndroid/publish.gradle +87 -0
  663. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +0 -1
  664. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +0 -1
  665. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -30
  666. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +2 -22
  667. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -2
  668. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +0 -2
  669. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.java +18 -0
  670. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +31 -31
  671. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +15 -39
  672. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +8 -12
  673. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +66 -3
  674. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +3 -1
  675. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +0 -2
  676. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +6 -1
  677. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -24
  678. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +43 -38
  679. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +0 -4
  680. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -11
  681. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +1 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +0 -2
  683. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +1 -3
  684. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +10 -0
  685. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +22 -1
  686. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +2 -0
  687. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +0 -1
  688. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +0 -1
  689. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +12 -32
  690. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +35 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultJSIModulePackage.kt +58 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +49 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +46 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +71 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +33 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +0 -4
  697. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +1 -3
  698. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +24 -2
  699. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +1 -2
  700. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppComponentRegistry.java +28 -0
  701. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppViewMutationsWrapper.java +47 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +14 -7
  703. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +4 -8
  704. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +18 -54
  705. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +19 -5
  706. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -25
  707. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +0 -1
  708. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +0 -1
  709. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +0 -1
  710. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +0 -1
  711. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +0 -2
  712. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +0 -2
  713. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +0 -1
  714. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +0 -1
  715. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -3
  716. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +0 -2
  717. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +0 -2
  718. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +0 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +0 -1
  720. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +0 -2
  721. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +0 -3
  722. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +0 -2
  723. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +0 -2
  724. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +0 -1
  725. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +0 -2
  726. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +0 -2
  727. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +0 -2
  728. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +0 -2
  729. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +0 -2
  730. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +12 -21
  731. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +0 -1
  732. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +0 -1
  733. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +0 -2
  734. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +0 -2
  735. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +2 -0
  736. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +0 -4
  737. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  738. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +0 -1
  739. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +0 -1
  740. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +0 -2
  741. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +11 -3
  742. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +0 -2
  743. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +0 -1
  744. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -2
  745. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -3
  746. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  747. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +0 -2
  748. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +0 -2
  749. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +1 -3
  750. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +0 -2
  751. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +1 -7
  752. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +48 -15
  753. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +3 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +3 -14
  755. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +277 -252
  756. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +24 -0
  757. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +6 -3
  758. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +6 -0
  759. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +16 -0
  760. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -25
  761. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +3 -31
  762. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +6 -0
  763. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +0 -2
  764. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +0 -2
  765. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +18 -0
  766. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +172 -45
  767. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +101 -44
  768. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +0 -2
  769. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +0 -1
  770. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +3 -3
  771. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +0 -2
  772. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +0 -2
  773. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +12 -0
  774. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +1 -4
  775. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +30 -30
  776. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +0 -4
  777. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +9 -4
  778. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +0 -2
  779. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +12 -5
  780. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +0 -2
  781. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +0 -2
  782. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +1 -0
  783. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +22 -12
  784. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +0 -11
  785. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +0 -2
  786. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +1 -1
  787. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +0 -2
  788. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +12 -0
  789. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +0 -2
  790. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -2
  791. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +3 -7
  792. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +60 -0
  793. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +60 -0
  794. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +2 -25
  795. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +7 -25
  796. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +0 -2
  797. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +9 -5
  798. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +42 -12
  799. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +76 -21
  800. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +0 -2
  801. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +0 -2
  802. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +25 -1
  803. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +4 -4
  804. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -3
  805. package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +4 -1
  806. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +22 -8
  807. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +61 -8
  808. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +2 -0
  809. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +2 -0
  810. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +2 -0
  811. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +2 -0
  812. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +2 -0
  813. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +2 -0
  814. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +2 -0
  815. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +35 -0
  816. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +3 -2
  817. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +2 -0
  818. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +2 -0
  819. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +3 -1
  820. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
  821. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
  822. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +2 -0
  823. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +2 -0
  824. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +2 -0
  825. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +2 -0
  826. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +2 -0
  827. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +2 -0
  828. package/ReactAndroid/src/main/jni/CMakeLists.txt +20 -11
  829. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +23 -0
  830. package/ReactAndroid/src/main/jni/react/cxxcomponents/BUCK +44 -0
  831. package/ReactAndroid/src/main/jni/react/cxxcomponents/CMakeLists.txt +22 -0
  832. package/ReactAndroid/src/main/jni/react/cxxcomponents/Component.h +66 -0
  833. package/ReactAndroid/src/main/jni/react/cxxcomponents/ComponentManager.h +26 -0
  834. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.cpp +0 -0
  835. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.h +0 -0
  836. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/BUCK +3 -3
  837. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.cpp +37 -59
  838. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.h +5 -9
  839. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CMakeLists.txt +1 -0
  840. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.cpp +0 -0
  841. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.h +0 -0
  842. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.cpp +51 -0
  843. package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.h +47 -0
  844. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.cpp +0 -0
  845. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.h +0 -0
  846. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.cpp +73 -0
  847. package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.h +64 -0
  848. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.cpp +100 -0
  849. package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.h +39 -0
  850. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.cpp +0 -0
  851. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.h +0 -0
  852. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.cpp +0 -0
  853. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.h +0 -0
  854. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.cpp +4 -2
  855. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.h +4 -1
  856. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.cpp +93 -55
  857. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.h +3 -4
  858. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JBackgroundExecutor.cpp +0 -0
  859. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JBackgroundExecutor.h +0 -0
  860. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.cpp +0 -0
  861. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.h +0 -0
  862. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/OnLoad.cpp +2 -0
  863. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.cpp +0 -0
  864. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.h +0 -0
  865. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.cpp +0 -0
  866. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.h +0 -0
  867. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.cpp +0 -0
  868. package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.h +0 -0
  869. package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +215 -0
  870. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/.clang-tidy +1 -0
  871. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +27 -0
  872. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/CMakeLists.txt +0 -0
  873. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesMemoryDumper.h +0 -0
  874. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.cpp +0 -0
  875. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.h +0 -0
  876. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/OnLoad.cpp +0 -0
  877. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/BUCK +19 -0
  878. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/CMakeLists.txt +0 -0
  879. package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/OnLoad.cpp +0 -0
  880. package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -3
  881. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +11 -25
  882. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -10
  883. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +7 -0
  884. package/ReactAndroid/src/main/jni/react/jscexecutor/BUCK +22 -0
  885. package/ReactAndroid/src/main/{java/com/facebook → jni}/react/jscexecutor/CMakeLists.txt +0 -0
  886. package/ReactAndroid/src/main/{java/com/facebook → jni}/react/jscexecutor/OnLoad.cpp +0 -0
  887. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/BUCK +0 -1
  888. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/CMakeLists.txt +0 -0
  889. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/.clang-tidy +0 -0
  890. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.cpp +0 -0
  891. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.h +0 -0
  892. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.cpp +0 -0
  893. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.h +0 -0
  894. package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/OnLoad.cpp +0 -0
  895. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +22 -0
  896. package/{template/android/app/src/main/jni/MainComponentsRegistry.cpp → ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp} +21 -16
  897. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +47 -0
  898. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +51 -0
  899. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +48 -0
  900. package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +18 -0
  901. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -1
  902. package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BUCK +0 -1
  903. package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.cpp +0 -0
  904. package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.h +0 -0
  905. package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/CMakeLists.txt +0 -0
  906. package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/OnLoad.cpp +0 -0
  907. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/BUCK +0 -1
  908. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/CMakeLists.txt +0 -0
  909. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/.clang-tidy +1 -0
  910. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/JNativeModulePerfLogger.h +0 -0
  911. package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/OnLoad.cpp +0 -0
  912. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/BUCK +1 -3
  913. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/CMakeLists.txt +0 -0
  914. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.cpp +0 -0
  915. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.h +0 -0
  916. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -0
  917. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -0
  918. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/OnLoad.cpp +0 -0
  919. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.cpp +0 -0
  920. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.h +0 -0
  921. package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManagerDelegate.h +0 -0
  922. package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/BUCK +0 -2
  923. package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/CMakeLists.txt +0 -0
  924. package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.cpp +0 -0
  925. package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.h +0 -0
  926. package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/OnLoad.cpp +0 -0
  927. package/ReactAndroid/src/main/libraries/fbjni/BUCK +1 -1
  928. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +1 -1
  929. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +13 -22
  930. package/ReactCommon/React-Fabric.podspec +17 -4
  931. package/ReactCommon/React-bridging.podspec +3 -2
  932. package/ReactCommon/ReactCommon.podspec +4 -2
  933. package/ReactCommon/butter/BUCK +4 -3
  934. package/ReactCommon/butter/CMakeLists.txt +3 -1
  935. package/ReactCommon/callinvoker/BUCK +1 -1
  936. package/ReactCommon/callinvoker/CMakeLists.txt +7 -1
  937. package/ReactCommon/cxxreact/BUCK +17 -11
  938. package/ReactCommon/cxxreact/CxxNativeModule.cpp +33 -25
  939. package/ReactCommon/cxxreact/JSBundleType.h +7 -4
  940. package/ReactCommon/cxxreact/JSExecutor.h +1 -2
  941. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +2 -2
  942. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  943. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  944. package/ReactCommon/cxxreact/SampleCxxModule.cpp +1 -1
  945. package/ReactCommon/cxxreact/SystraceSection.h +11 -1
  946. package/ReactCommon/hermes/React-hermes.podspec +9 -6
  947. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +11 -21
  948. package/ReactCommon/hermes/inspector/BUCK +4 -5
  949. package/ReactCommon/hermes/inspector/Inspector.cpp +1 -1
  950. package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +3 -8
  951. package/ReactCommon/hermes/inspector/RuntimeAdapter.h +4 -9
  952. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +87 -20
  953. package/ReactCommon/hermes/inspector/chrome/Connection.h +1 -1
  954. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +8 -19
  955. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +3 -2
  956. package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +10 -0
  957. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +106 -1
  958. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
  959. package/ReactCommon/hermes/inspector/chrome/Registration.cpp +4 -4
  960. package/ReactCommon/hermes/inspector/chrome/Registration.h +9 -5
  961. package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +5 -3
  962. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +3 -5
  963. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +48 -0
  964. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +1 -3
  965. package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +1 -3
  966. package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
  967. package/ReactCommon/hermes/inspector/tools/run_msggen +3 -1
  968. package/ReactCommon/jserrorhandler/BUCK +30 -0
  969. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +107 -0
  970. package/ReactCommon/jserrorhandler/JsErrorHandler.h +39 -0
  971. package/ReactCommon/jsi/BUCK +3 -4
  972. package/ReactCommon/jsi/JSCRuntime.cpp +59 -0
  973. package/ReactCommon/jsi/React-jsc.podspec +41 -0
  974. package/ReactCommon/jsi/React-jsi.podspec +18 -23
  975. package/ReactCommon/jsi/React-jsidynamic.podspec +42 -0
  976. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +7 -2
  977. package/ReactCommon/jsi/jsi/decorator.h +38 -0
  978. package/ReactCommon/jsi/jsi/jsi-inl.h +27 -0
  979. package/ReactCommon/jsi/jsi/jsi.cpp +18 -0
  980. package/ReactCommon/jsi/jsi/jsi.h +107 -0
  981. package/ReactCommon/jsiexecutor/BUCK +1 -2
  982. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -0
  983. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -5
  984. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +0 -2
  985. package/ReactCommon/jsinspector/BUCK +1 -1
  986. package/ReactCommon/logger/BUCK +1 -1
  987. package/ReactCommon/logger/React-logger.podspec +1 -1
  988. package/ReactCommon/react/bridging/Array.h +19 -0
  989. package/ReactCommon/react/bridging/BUCK +2 -2
  990. package/ReactCommon/react/bridging/Base.h +1 -2
  991. package/ReactCommon/react/bridging/CMakeLists.txt +8 -1
  992. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +113 -0
  993. package/ReactCommon/react/config/BUCK +1 -3
  994. package/ReactCommon/react/config/CMakeLists.txt +2 -0
  995. package/ReactCommon/react/debug/BUCK +3 -4
  996. package/ReactCommon/react/debug/CMakeLists.txt +2 -0
  997. package/ReactCommon/react/nativemodule/core/BUCK +1 -3
  998. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +8 -1
  999. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +2 -2
  1000. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +1 -0
  1001. package/ReactCommon/react/nativemodule/samples/BUCK +1 -1
  1002. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +9 -1
  1003. package/ReactCommon/react/renderer/.clang-tidy +144 -0
  1004. package/ReactCommon/react/renderer/animations/BUCK +1 -6
  1005. package/ReactCommon/react/renderer/animations/CMakeLists.txt +8 -1
  1006. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +4 -6
  1007. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +26 -35
  1008. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +4 -6
  1009. package/ReactCommon/react/renderer/animations/utils.cpp +2 -4
  1010. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +22 -5
  1011. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +13 -1
  1012. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +2 -4
  1013. package/ReactCommon/react/renderer/attributedstring/BUCK +3 -5
  1014. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +8 -1
  1015. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -4
  1016. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +8 -4
  1017. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  1018. package/ReactCommon/react/renderer/attributedstring/conversions.h +56 -0
  1019. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  1020. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +2 -4
  1021. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +2 -4
  1022. package/ReactCommon/react/renderer/componentregistry/BUCK +1 -8
  1023. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +8 -1
  1024. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +3 -5
  1025. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -1
  1026. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -13
  1027. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +3 -2
  1028. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -4
  1029. package/ReactCommon/react/renderer/componentregistry/native/BUCK +1 -7
  1030. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +8 -1
  1031. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +5 -7
  1032. package/ReactCommon/react/renderer/components/image/BUCK +1 -4
  1033. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +8 -1
  1034. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -4
  1035. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +82 -41
  1036. package/ReactCommon/react/renderer/components/image/ImageProps.h +13 -7
  1037. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +2 -4
  1038. package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -4
  1039. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  1040. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
  1041. package/ReactCommon/react/renderer/components/modal/BUCK +2 -4
  1042. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +8 -1
  1043. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp +2 -4
  1044. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +2 -4
  1045. package/ReactCommon/react/renderer/components/progressbar/BUCK +2 -5
  1046. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +8 -1
  1047. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -4
  1048. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +3 -5
  1049. package/ReactCommon/react/renderer/components/root/BUCK +1 -5
  1050. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +8 -1
  1051. package/ReactCommon/react/renderer/components/root/RootProps.cpp +4 -6
  1052. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -4
  1053. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  1054. package/ReactCommon/react/renderer/components/scrollview/BUCK +2 -5
  1055. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +8 -1
  1056. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -4
  1057. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +180 -163
  1058. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +2 -4
  1059. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +2 -4
  1060. package/ReactCommon/react/renderer/components/slider/BUCK +2 -4
  1061. package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +8 -1
  1062. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +3 -5
  1063. package/ReactCommon/react/renderer/components/slider/SliderState.cpp +2 -4
  1064. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +2 -4
  1065. package/ReactCommon/react/renderer/components/switch/BUCK +1 -9
  1066. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +2 -0
  1067. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +2 -4
  1068. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +3 -5
  1069. package/ReactCommon/react/renderer/components/text/BUCK +1 -6
  1070. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +17 -24
  1071. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +0 -2
  1072. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +4 -6
  1073. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +8 -1
  1074. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +2 -4
  1075. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +84 -21
  1076. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +3 -3
  1077. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +5 -6
  1078. package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +2 -4
  1079. package/ReactCommon/react/renderer/components/text/ParagraphState.h +9 -0
  1080. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +2 -4
  1081. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +2 -4
  1082. package/ReactCommon/react/renderer/components/text/TextProps.cpp +2 -4
  1083. package/ReactCommon/react/renderer/components/text/TextShadowNode.cpp +2 -4
  1084. package/ReactCommon/react/renderer/components/text/conversions.h +1 -9
  1085. package/ReactCommon/react/renderer/components/textinput/BUCK +2 -6
  1086. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +8 -1
  1087. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +214 -66
  1088. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +59 -59
  1089. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +9 -11
  1090. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +24 -4
  1091. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +1 -3
  1092. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -10
  1093. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.cpp +2 -4
  1094. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.h +2 -2
  1095. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +2 -4
  1096. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +2 -4
  1097. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.cpp +4 -6
  1098. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +20 -0
  1099. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +10 -2
  1100. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +4 -4
  1101. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +1 -9
  1102. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +8 -1
  1103. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +2 -4
  1104. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +2 -4
  1105. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +2 -4
  1106. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +134 -123
  1107. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  1108. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +168 -0
  1109. package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +33 -0
  1110. package/ReactCommon/react/renderer/components/view/BUCK +3 -4
  1111. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +8 -1
  1112. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +9 -5
  1113. package/ReactCommon/react/renderer/components/view/PointerEvent.h +26 -0
  1114. package/ReactCommon/react/renderer/components/view/Touch.cpp +3 -5
  1115. package/ReactCommon/react/renderer/components/view/Touch.h +1 -1
  1116. package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +3 -5
  1117. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +8 -4
  1118. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +2 -4
  1119. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +195 -179
  1120. package/ReactCommon/react/renderer/components/view/ViewProps.h +6 -0
  1121. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +202 -0
  1122. package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.h +56 -0
  1123. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +8 -26
  1124. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +8 -9
  1125. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +38 -20
  1126. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +6 -1
  1127. package/ReactCommon/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +87 -0
  1128. package/ReactCommon/{hermes/inspector/chrome/AutoAttachUtils.h → react/renderer/components/view/YogaStylablePropsMapBuffer.h} +11 -11
  1129. package/ReactCommon/react/renderer/components/view/conversions.h +18 -0
  1130. package/ReactCommon/react/renderer/components/view/primitives.h +10 -0
  1131. package/ReactCommon/react/renderer/components/view/propsConversions.h +37 -17
  1132. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +2 -4
  1133. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +2 -4
  1134. package/ReactCommon/react/renderer/components/view/viewPropConversions.h +198 -0
  1135. package/ReactCommon/react/renderer/core/BUCK +8 -9
  1136. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -4
  1137. package/ReactCommon/react/renderer/core/CMakeLists.txt +9 -1
  1138. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +2 -4
  1139. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -1
  1140. package/ReactCommon/react/renderer/core/CoreFeatures.cpp +17 -0
  1141. package/ReactCommon/react/renderer/core/CoreFeatures.h +31 -0
  1142. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +2 -4
  1143. package/ReactCommon/react/renderer/core/EventBeat.cpp +2 -4
  1144. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +2 -4
  1145. package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -5
  1146. package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -5
  1147. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -4
  1148. package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -5
  1149. package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +2 -4
  1150. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +3 -5
  1151. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +96 -18
  1152. package/ReactCommon/react/renderer/core/Props.cpp +12 -15
  1153. package/ReactCommon/react/renderer/core/Props.h +8 -11
  1154. package/ReactCommon/react/renderer/core/PropsMacros.h +20 -6
  1155. package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +37 -0
  1156. package/ReactCommon/react/renderer/core/PropsMapBuffer.h +23 -0
  1157. package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -4
  1158. package/ReactCommon/react/renderer/core/RawProps.cpp +5 -6
  1159. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  1160. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +4 -6
  1161. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +2 -4
  1162. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +3 -5
  1163. package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -2
  1164. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -1
  1165. package/ReactCommon/react/renderer/core/RawValue.h +10 -14
  1166. package/ReactCommon/react/renderer/core/Sealable.cpp +4 -6
  1167. package/ReactCommon/react/renderer/core/ShadowNode.cpp +6 -4
  1168. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -0
  1169. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +3 -5
  1170. package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +2 -4
  1171. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +2 -4
  1172. package/ReactCommon/react/renderer/core/ShadowNodeTraits.cpp +1 -3
  1173. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +18 -13
  1174. package/ReactCommon/react/renderer/core/State.cpp +2 -4
  1175. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +2 -4
  1176. package/ReactCommon/react/renderer/core/propsConversions.h +17 -35
  1177. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -3
  1178. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +372 -0
  1179. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
  1180. package/ReactCommon/react/renderer/core/tests/TestComponent.h +4 -2
  1181. package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +2 -4
  1182. package/ReactCommon/react/renderer/debug/BUCK +1 -4
  1183. package/ReactCommon/react/renderer/debug/CMakeLists.txt +8 -1
  1184. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +6 -8
  1185. package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.cpp +2 -4
  1186. package/ReactCommon/react/renderer/element/BUCK +1 -1
  1187. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +2 -4
  1188. package/ReactCommon/react/renderer/graphics/BUCK +2 -5
  1189. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +8 -1
  1190. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  1191. package/ReactCommon/react/renderer/graphics/Transform.cpp +43 -17
  1192. package/ReactCommon/react/renderer/graphics/Transform.h +20 -5
  1193. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +4 -6
  1194. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +7 -0
  1195. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -4
  1196. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +8 -1
  1197. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +1 -1
  1198. package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +2 -4
  1199. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +2 -4
  1200. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +2 -4
  1201. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +6 -7
  1202. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +2 -4
  1203. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +14 -16
  1204. package/ReactCommon/react/renderer/leakchecker/BUCK +1 -1
  1205. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +8 -1
  1206. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +4 -6
  1207. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -1
  1208. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +3 -6
  1209. package/ReactCommon/react/renderer/mapbuffer/BUCK +5 -6
  1210. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +8 -1
  1211. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +28 -5
  1212. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
  1213. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +35 -4
  1214. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +5 -0
  1215. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +25 -0
  1216. package/ReactCommon/react/renderer/mounting/BUCK +2 -5
  1217. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +8 -1
  1218. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -92
  1219. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -6
  1220. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -1
  1221. package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +2 -4
  1222. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -8
  1223. package/ReactCommon/react/renderer/mounting/ShadowTree.h +4 -4
  1224. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +2 -4
  1225. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +5 -6
  1226. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +8 -9
  1227. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +4 -3
  1228. package/ReactCommon/react/renderer/mounting/StubView.cpp +4 -6
  1229. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +2 -4
  1230. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +2 -4
  1231. package/ReactCommon/react/renderer/mounting/stubs.cpp +2 -4
  1232. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +2 -4
  1233. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +2 -4
  1234. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -4
  1235. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -6
  1236. package/ReactCommon/react/renderer/runtimescheduler/BUCK +2 -1
  1237. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +8 -1
  1238. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +5 -6
  1239. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -6
  1240. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +2 -4
  1241. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +6 -8
  1242. package/ReactCommon/react/renderer/runtimescheduler/Task.h +1 -1
  1243. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +45 -45
  1244. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -1
  1245. package/ReactCommon/react/renderer/scheduler/BUCK +1 -5
  1246. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +8 -1
  1247. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +16 -36
  1248. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -4
  1249. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +0 -8
  1250. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  1251. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +10 -9
  1252. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -1
  1253. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -4
  1254. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +3 -5
  1255. package/ReactCommon/react/renderer/telemetry/BUCK +1 -5
  1256. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +8 -1
  1257. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +2 -4
  1258. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +2 -4
  1259. package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -5
  1260. package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +8 -1
  1261. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +2 -4
  1262. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +2 -2
  1263. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +8 -9
  1264. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +1 -5
  1265. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +8 -1
  1266. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -4
  1267. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +1 -1
  1268. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -72
  1269. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +1 -2
  1270. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +8 -1
  1271. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextPrimitivesConversions.h +46 -23
  1272. package/ReactCommon/react/renderer/timeline/BUCK +2 -5
  1273. package/ReactCommon/react/renderer/timeline/Timeline.cpp +7 -8
  1274. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +3 -5
  1275. package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +2 -4
  1276. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +3 -5
  1277. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +2 -2
  1278. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +2 -4
  1279. package/ReactCommon/react/renderer/uimanager/BUCK +2 -5
  1280. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +8 -1
  1281. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +13 -16
  1282. package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
  1283. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +50 -54
  1284. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -7
  1285. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +0 -9
  1286. package/ReactCommon/react/test_utils/BUCK +1 -1
  1287. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +6 -0
  1288. package/ReactCommon/react/utils/BUCK +2 -6
  1289. package/ReactCommon/react/utils/CMakeLists.txt +2 -0
  1290. package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
  1291. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +1 -3
  1292. package/ReactCommon/reactperflogger/BUCK +1 -1
  1293. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -1
  1294. package/ReactCommon/runtimeexecutor/BUCK +1 -1
  1295. package/ReactCommon/runtimeexecutor/CMakeLists.txt +7 -1
  1296. package/ReactCommon/yoga/CMakeLists.txt +7 -1
  1297. package/ReactCommon/yoga/yoga/CompactValue.h +49 -29
  1298. package/ReactCommon/yoga/yoga/Utils.cpp +4 -0
  1299. package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -0
  1300. package/ReactCommon/yoga/yoga/YGEnums.h +31 -52
  1301. package/ReactCommon/yoga/yoga/YGMacros.h +43 -0
  1302. package/ReactCommon/yoga/yoga/YGNode.cpp +33 -0
  1303. package/ReactCommon/yoga/yoga/YGNode.h +11 -0
  1304. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +14 -0
  1305. package/ReactCommon/yoga/yoga/YGStyle.cpp +1 -1
  1306. package/ReactCommon/yoga/yoga/YGStyle.h +5 -0
  1307. package/ReactCommon/yoga/yoga/Yoga.cpp +57 -19
  1308. package/ReactCommon/yoga/yoga/Yoga.h +7 -0
  1309. package/ReactCommon/yoga/yoga/event/event.h +3 -0
  1310. package/flow/jest.js +2 -2
  1311. package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
  1312. package/flow-typed/npm/yargs_v17.x.x.js +341 -0
  1313. package/index.js +73 -44
  1314. package/interface.js +8 -0
  1315. package/jest/react-native-env.js +16 -0
  1316. package/jest/renderer.js +2 -2
  1317. package/jest/setup.js +5 -8
  1318. package/jest-preset.js +1 -1
  1319. package/package.json +56 -44
  1320. package/react.gradle +20 -2
  1321. package/scripts/cocoapods/codegen.rb +5 -1
  1322. package/scripts/cocoapods/codegen_utils.rb +40 -5
  1323. package/scripts/cocoapods/fabric.rb +8 -11
  1324. package/scripts/cocoapods/flipper.rb +1 -1
  1325. package/scripts/cocoapods/jsengine.rb +56 -0
  1326. package/scripts/cocoapods/new_architecture.rb +39 -1
  1327. package/scripts/cocoapods/utils.rb +8 -0
  1328. package/scripts/codegen/generate-artifacts-executor.js +1 -1
  1329. package/scripts/{generate-artifacts.js → generate-codegen-artifacts.js} +0 -0
  1330. package/scripts/hermes/hermes-utils.js +139 -60
  1331. package/scripts/hermes/prepare-hermes-for-build.js +9 -8
  1332. package/scripts/native_modules.rb +6 -0
  1333. package/scripts/packager.sh +1 -1
  1334. package/scripts/react-native-xcode.sh +19 -6
  1335. package/scripts/react_native_pods.rb +68 -13
  1336. package/scripts/react_native_pods_utils/script_phases.sh +1 -1
  1337. package/sdks/.hermesversion +1 -1
  1338. package/sdks/hermes-engine/hermes-engine.podspec +94 -40
  1339. package/sdks/hermes-engine/hermes-utils.rb +26 -0
  1340. package/sdks/hermes-engine/utils/build-apple-framework.sh +84 -44
  1341. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +65 -0
  1342. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +22 -0
  1343. package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -1
  1344. package/sdks/hermes-engine/utils/build-mac-framework.sh +2 -1
  1345. package/sdks/hermes-engine/utils/copy-hermes-xcode.sh +14 -0
  1346. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1347. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1348. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1349. package/template/{App.js → App.tsx} +9 -8
  1350. package/template/Gemfile +2 -2
  1351. package/template/__tests__/{App-test.js → App-test.tsx} +0 -0
  1352. package/template/_eslintrc.js +2 -0
  1353. package/template/_gitignore +5 -6
  1354. package/template/_ruby-version +1 -1
  1355. package/template/android/app/build.gradle +65 -208
  1356. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +4 -2
  1357. package/template/android/app/src/main/AndroidManifest.xml +1 -2
  1358. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +13 -26
  1359. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +18 -47
  1360. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
  1361. package/template/android/build.gradle +4 -18
  1362. package/template/android/gradle.properties +4 -0
  1363. package/template/android/settings.gradle +0 -7
  1364. package/template/ios/HelloWorld/AppDelegate.h +2 -4
  1365. package/template/ios/HelloWorld/AppDelegate.mm +9 -110
  1366. package/template/ios/HelloWorld/Info.plist +2 -2
  1367. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  1368. package/template/ios/Podfile +7 -5
  1369. package/template/package.json +17 -10
  1370. package/template/tsconfig.json +3 -0
  1371. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  1372. package/third-party-podspecs/boost.podspec +1 -1
  1373. package/types/.npmignore +1 -0
  1374. package/types/index.d.ts +213 -0
  1375. package/types/modules/BatchedBridge.d.ts +32 -0
  1376. package/types/modules/Codegen.d.ts +74 -0
  1377. package/types/modules/Devtools.d.ts +31 -0
  1378. package/types/modules/LaunchScreen.d.ts +18 -0
  1379. package/types/modules/globals.d.ts +577 -0
  1380. package/types/private/TimerMixin.d.ts +19 -0
  1381. package/{React/Views/RCTMaskedView.h → types/private/Utilities.d.ts} +4 -8
  1382. package/types/public/DeprecatedPropertiesAlias.d.ts +205 -0
  1383. package/types/public/Insets.d.ts +15 -0
  1384. package/types/public/ReactNativeRenderer.d.ts +149 -0
  1385. package/types/public/ReactNativeTypes.d.ts +141 -0
  1386. package/types/tsconfig.json +15 -0
  1387. package/types/tslint.json +23 -0
  1388. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  1389. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  1390. package/Libraries/Core/setUpSystrace.js +0 -21
  1391. package/Libraries/Storage/AsyncStorage.js +0 -385
  1392. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  1393. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  1394. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  1395. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  1396. package/React/CoreModules/RCTAsyncLocalStorage.h +0 -41
  1397. package/React/CoreModules/RCTAsyncLocalStorage.mm +0 -470
  1398. package/React/Views/RCTMaskedView.m +0 -34
  1399. package/React/Views/RCTMaskedViewManager.m +0 -26
  1400. package/ReactAndroid/cmake-utils/Android-prebuilt.cmake +0 -231
  1401. package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +0 -18
  1402. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +0 -103
  1403. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +0 -540
  1404. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +0 -125
  1405. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +0 -38
  1406. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +0 -433
  1407. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +0 -27
  1408. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +0 -163
  1409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +0 -72
  1410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +0 -242
  1411. package/ReactAndroid/src/main/jni/first-party/fbjni/.gitignore +0 -2
  1412. package/ReactAndroid/src/main/jni/first-party/fbjni/Android.mk +0 -14
  1413. package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +0 -15
  1414. package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.cpp +0 -151
  1415. package/ReactCommon/hermes/inspector/tools/msggen/.babelrc +0 -8
  1416. package/ReactCommon/hermes/inspector/tools/msggen/.gitignore +0 -3
  1417. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +0 -62
  1418. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +0 -47
  1419. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +0 -78
  1420. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +0 -128
  1421. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +0 -171
  1422. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +0 -131
  1423. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +0 -50
  1424. package/ReactCommon/hermes/inspector/tools/msggen/package.json +0 -41
  1425. package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -79
  1426. package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -39
  1427. package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -57
  1428. package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +0 -16
  1429. package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -90
  1430. package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -323
  1431. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -421
  1432. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +0 -219
  1433. package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +0 -40
  1434. package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -98
  1435. package/ReactCommon/hermes/inspector/tools/msggen/src/custom.json +0 -26
  1436. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +0 -251
  1437. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +0 -6088
  1438. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug-sources.jar +0 -0
  1439. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug-sources.jar.md5 +0 -1
  1440. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug-sources.jar.sha1 +0 -1
  1441. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug-sources.jar.sha256 +0 -1
  1442. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug-sources.jar.sha512 +0 -1
  1443. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug.aar +0 -0
  1444. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug.aar.md5 +0 -1
  1445. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug.aar.sha1 +0 -1
  1446. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug.aar.sha256 +0 -1
  1447. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-debug.aar.sha512 +0 -1
  1448. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release-sources.jar +0 -0
  1449. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release-sources.jar.md5 +0 -1
  1450. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release-sources.jar.sha1 +0 -1
  1451. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release-sources.jar.sha256 +0 -1
  1452. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release-sources.jar.sha512 +0 -1
  1453. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release.aar +0 -0
  1454. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release.aar.md5 +0 -1
  1455. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release.aar.sha1 +0 -1
  1456. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release.aar.sha256 +0 -1
  1457. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4-release.aar.sha512 +0 -1
  1458. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.module +0 -204
  1459. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.module.md5 +0 -1
  1460. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.module.sha1 +0 -1
  1461. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.module.sha256 +0 -1
  1462. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.module.sha512 +0 -1
  1463. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.pom +0 -44
  1464. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.pom.md5 +0 -1
  1465. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.pom.sha1 +0 -1
  1466. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.pom.sha256 +0 -1
  1467. package/android/com/facebook/react/hermes-engine/0.70.4/hermes-engine-0.70.4.pom.sha512 +0 -1
  1468. package/android/com/facebook/react/hermes-engine/maven-metadata.xml +0 -13
  1469. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +0 -1
  1470. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +0 -1
  1471. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +0 -1
  1472. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +0 -1
  1473. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug-sources.jar +0 -0
  1474. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug-sources.jar.md5 +0 -1
  1475. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug-sources.jar.sha1 +0 -1
  1476. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug-sources.jar.sha256 +0 -1
  1477. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug-sources.jar.sha512 +0 -1
  1478. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug.aar +0 -0
  1479. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug.aar.md5 +0 -1
  1480. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug.aar.sha1 +0 -1
  1481. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug.aar.sha256 +0 -1
  1482. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-debug.aar.sha512 +0 -1
  1483. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release-sources.jar +0 -0
  1484. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release-sources.jar.md5 +0 -1
  1485. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release-sources.jar.sha1 +0 -1
  1486. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release-sources.jar.sha256 +0 -1
  1487. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release-sources.jar.sha512 +0 -1
  1488. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release.aar +0 -0
  1489. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release.aar.md5 +0 -1
  1490. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release.aar.sha1 +0 -1
  1491. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release.aar.sha256 +0 -1
  1492. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4-release.aar.sha512 +0 -1
  1493. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.module +0 -628
  1494. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.module.md5 +0 -1
  1495. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.module.sha1 +0 -1
  1496. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.module.sha256 +0 -1
  1497. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.module.sha512 +0 -1
  1498. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.pom +0 -156
  1499. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.pom.md5 +0 -1
  1500. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.pom.sha1 +0 -1
  1501. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.pom.sha256 +0 -1
  1502. package/android/com/facebook/react/react-native/0.70.4/react-native-0.70.4.pom.sha512 +0 -1
  1503. package/android/com/facebook/react/react-native/maven-metadata.xml +0 -13
  1504. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +0 -1
  1505. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +0 -1
  1506. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +0 -1
  1507. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +0 -1
  1508. package/scripts/cocoapods/hermes.rb +0 -20
  1509. package/template/_buckconfig +0 -6
  1510. package/template/_flowconfig +0 -66
  1511. package/template/android/app/_BUCK +0 -55
  1512. package/template/android/app/build_defs.bzl +0 -19
  1513. package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +0 -116
  1514. package/template/android/app/src/main/java/com/helloworld/newarchitecture/components/MainComponentsRegistry.java +0 -36
  1515. package/template/android/app/src/main/java/com/helloworld/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +0 -48
  1516. package/template/android/app/src/main/jni/CMakeLists.txt +0 -7
  1517. package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -32
  1518. package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
  1519. package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
  1520. package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +0 -38
  1521. package/template/android/app/src/main/jni/MainComponentsRegistry.h +0 -32
  1522. package/template/android/app/src/main/jni/OnLoad.cpp +0 -11
@@ -24,7 +24,7 @@
24
24
  #import <React/RCTAssert.h>
25
25
  #import <React/RCTLog.h>
26
26
 
27
- typedef NS_ENUM(NSInteger, RCTSROpCode) {
27
+ typedef NS_ENUM(NSInteger, RCTSROpCode) {
28
28
  RCTSROpCodeTextFrame = 0x1,
29
29
  RCTSROpCodeBinaryFrame = 0x2,
30
30
  // 3-7 reserved.
@@ -50,7 +50,9 @@ static NSString *const RCTSRWebSocketAppendToSecKeyString = @"258EAFA5-E914-47DA
50
50
  #ifdef RCTSR_ENABLE_LOG
51
51
  #define RCTSRLog(format...) RCTLogInfo(format)
52
52
  #else
53
- #define RCTSRLog(...) do { } while (0)
53
+ #define RCTSRLog(...) \
54
+ do { \
55
+ } while (0)
54
56
  #endif
55
57
 
56
58
  // This is a hack, and probably not optimal
@@ -59,7 +61,10 @@ static inline int32_t validate_dispatch_data_partial_string(NSData *data)
59
61
  static const int maxCodepointSize = 3;
60
62
 
61
63
  for (int i = 0; i < maxCodepointSize; i++) {
62
- NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes length:data.length - i encoding:NSUTF8StringEncoding freeWhenDone:NO];
64
+ NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes
65
+ length:data.length - i
66
+ encoding:NSUTF8StringEncoding
67
+ freeWhenDone:NO];
63
68
  if (str) {
64
69
  return (int32_t)data.length - i;
65
70
  }
@@ -74,14 +79,12 @@ static inline int32_t validate_dispatch_data_partial_string(NSData *data)
74
79
 
75
80
  @end
76
81
 
77
-
78
82
  @interface NSString (RCTSRWebSocket)
79
83
 
80
84
  @property (nonatomic, readonly, copy) NSString *stringBySHA1ThenBase64Encoding;
81
85
 
82
86
  @end
83
87
 
84
-
85
88
  @interface NSURL (RCTSRWebSocket)
86
89
 
87
90
  // The origin isn't really applicable for a native application.
@@ -90,14 +93,12 @@ static inline int32_t validate_dispatch_data_partial_string(NSData *data)
90
93
 
91
94
  @end
92
95
 
93
-
94
96
  @interface _RCTSRRunLoopThread : NSThread
95
97
 
96
98
  @property (nonatomic, readonly) NSRunLoop *runLoop;
97
99
 
98
100
  @end
99
101
 
100
-
101
102
  static NSString *newSHA1String(const char *bytes, size_t length)
102
103
  {
103
104
  uint8_t md[CC_SHA1_DIGEST_LENGTH];
@@ -119,7 +120,6 @@ static NSString *newSHA1String(const char *bytes, size_t length)
119
120
 
120
121
  @end
121
122
 
122
-
123
123
  @implementation NSString (RCTSRWebSocket)
124
124
 
125
125
  - (NSString *)stringBySHA1ThenBase64Encoding
@@ -136,7 +136,7 @@ NSString *const RCTSRHTTPResponseErrorKey = @"HTTPResponseStatusCode";
136
136
  // Sends bytes to callback handler;
137
137
  typedef size_t (^stream_scanner)(NSData *collected_data);
138
138
 
139
- typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
139
+ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
140
140
 
141
141
  @interface RCTSRIOConsumer : NSObject
142
142
 
@@ -153,12 +153,16 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
153
153
 
154
154
  - (instancetype)initWithBufferCapacity:(NSUInteger)poolSize NS_DESIGNATED_INITIALIZER;
155
155
 
156
- - (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes;
156
+ - (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
157
+ handler:(data_callback)handler
158
+ bytesNeeded:(size_t)bytesNeeded
159
+ readToCurrentFrame:(BOOL)readToCurrentFrame
160
+ unmaskBytes:(BOOL)unmaskBytes;
157
161
  - (void)returnConsumer:(RCTSRIOConsumer *)consumer;
158
162
 
159
163
  @end
160
164
 
161
- @interface RCTSRWebSocket () <NSStreamDelegate>
165
+ @interface RCTSRWebSocket () <NSStreamDelegate>
162
166
 
163
167
  @property (nonatomic, assign) RCTSRReadyState readyState;
164
168
 
@@ -167,8 +171,7 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
167
171
 
168
172
  @end
169
173
 
170
- @implementation RCTSRWebSocket
171
- {
174
+ @implementation RCTSRWebSocket {
172
175
  NSInteger _webSocketVersion;
173
176
 
174
177
  NSOperationQueue *_delegateOperationQueue;
@@ -216,7 +219,7 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
216
219
  int _closeCode;
217
220
 
218
221
  BOOL _isPumping;
219
-
222
+
220
223
  BOOL _cleanupScheduled;
221
224
 
222
225
  NSMutableSet<NSArray *> *_scheduledRunloops;
@@ -243,7 +246,7 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
243
246
  return self;
244
247
  }
245
248
 
246
- RCT_NOT_IMPLEMENTED(- (instancetype)init)
249
+ RCT_NOT_IMPLEMENTED(-(instancetype)init)
247
250
 
248
251
  - (instancetype)initWithURLRequest:(NSURLRequest *)request
249
252
  {
@@ -280,7 +283,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
280
283
  - (void)_RCTSR_commonInit
281
284
  {
282
285
  NSString *scheme = _url.scheme.lowercaseString;
283
- assert([scheme isEqualToString:@"ws"] || [scheme isEqualToString:@"http"] || [scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]);
286
+ assert(
287
+ [scheme isEqualToString:@"ws"] || [scheme isEqualToString:@"http"] || [scheme isEqualToString:@"wss"] ||
288
+ [scheme isEqualToString:@"https"]);
284
289
 
285
290
  if ([scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]) {
286
291
  _secure = YES;
@@ -325,7 +330,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
325
330
 
326
331
  [_inputStream close];
327
332
  [_outputStream close];
328
-
333
+
329
334
  if (_receivedHTTPHeaders) {
330
335
  CFRelease(_receivedHTTPHeaders);
331
336
  _receivedHTTPHeaders = NULL;
@@ -372,7 +377,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
372
377
 
373
378
  - (BOOL)_checkHandshake:(CFHTTPMessageRef)httpMessage
374
379
  {
375
- NSString *acceptHeader = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept")));
380
+ NSString *acceptHeader =
381
+ CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept")));
376
382
 
377
383
  if (acceptHeader == nil) {
378
384
  return NO;
@@ -390,20 +396,39 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
390
396
 
391
397
  if (responseCode >= 400) {
392
398
  RCTSRLog(@"Request failed with response code %ld", responseCode);
393
- [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain code:2132 userInfo:@{NSLocalizedDescriptionKey:[NSString stringWithFormat:@"received bad response code from server %ld", (long)responseCode], RCTSRHTTPResponseErrorKey:@(responseCode)}]];
399
+ [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
400
+ code:2132
401
+ userInfo:@{
402
+ NSLocalizedDescriptionKey :
403
+ [NSString stringWithFormat:@"received bad response code from server %ld",
404
+ (long)responseCode],
405
+ RCTSRHTTPResponseErrorKey : @(responseCode)
406
+ }]];
394
407
  return;
395
408
  }
396
409
 
397
410
  if (![self _checkHandshake:_receivedHTTPHeaders]) {
398
- [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain code:2133 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Invalid Sec-WebSocket-Accept response"]}]];
411
+ [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
412
+ code:2133
413
+ userInfo:@{
414
+ NSLocalizedDescriptionKey :
415
+ [NSString stringWithFormat:@"Invalid Sec-WebSocket-Accept response"]
416
+ }]];
399
417
  return;
400
418
  }
401
419
 
402
- NSString *negotiatedProtocol = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(_receivedHTTPHeaders, CFSTR("Sec-WebSocket-Protocol")));
420
+ NSString *negotiatedProtocol =
421
+ CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(_receivedHTTPHeaders, CFSTR("Sec-WebSocket-Protocol")));
403
422
  if (negotiatedProtocol) {
404
423
  // Make sure we requested the protocol
405
424
  if ([_requestedProtocols indexOfObject:negotiatedProtocol] == NSNotFound) {
406
- [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain code:2133 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Server specified Sec-WebSocket-Protocol that wasn't requested"]}]];
425
+ [self _failWithError:
426
+ [NSError errorWithDomain:RCTSRWebSocketErrorDomain
427
+ code:2133
428
+ userInfo:@{
429
+ NSLocalizedDescriptionKey : [NSString
430
+ stringWithFormat:@"Server specified Sec-WebSocket-Protocol that wasn't requested"]
431
+ }]];
407
432
  return;
408
433
  }
409
434
 
@@ -429,11 +454,12 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
429
454
  _receivedHTTPHeaders = CFHTTPMessageCreateEmpty(NULL, NO);
430
455
  }
431
456
 
432
- [self _readUntilHeaderCompleteWithCallback:^(RCTSRWebSocket *socket, NSData *data) {
457
+ [self _readUntilHeaderCompleteWithCallback:^(RCTSRWebSocket *socket, NSData *data) {
433
458
  CFHTTPMessageAppendBytes(self->_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length);
434
459
 
435
460
  if (CFHTTPMessageIsHeaderComplete(self->_receivedHTTPHeaders)) {
436
- RCTSRLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(_receivedHTTPHeaders)));
461
+ RCTSRLog(
462
+ @"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(_receivedHTTPHeaders)));
437
463
  [socket _HTTPHeadersDidFinish];
438
464
  } else {
439
465
  [socket _readHTTPHeader];
@@ -447,7 +473,10 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
447
473
  CFHTTPMessageRef request = CFHTTPMessageCreateRequest(NULL, CFSTR("GET"), (__bridge CFURLRef)_url, kCFHTTPVersion1_1);
448
474
 
449
475
  // Set host first so it defaults
450
- CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Host"), (__bridge CFStringRef)(_url.port ? [NSString stringWithFormat:@"%@:%@", _url.host, _url.port] : _url.host));
476
+ CFHTTPMessageSetHeaderFieldValue(
477
+ request,
478
+ CFSTR("Host"),
479
+ (__bridge CFStringRef)(_url.port ? [NSString stringWithFormat:@"%@:%@", _url.host, _url.port] : _url.host));
451
480
 
452
481
  NSMutableData *keyBytes = [[NSMutableData alloc] initWithLength:16];
453
482
  int result __unused = SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);
@@ -458,12 +487,18 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
458
487
  CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Upgrade"), CFSTR("websocket"));
459
488
  CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Connection"), CFSTR("Upgrade"));
460
489
  CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Key"), (__bridge CFStringRef)_secKey);
461
- CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Version"), (__bridge CFStringRef)[NSString stringWithFormat:@"%ld", (long)_webSocketVersion]);
490
+ CFHTTPMessageSetHeaderFieldValue(
491
+ request,
492
+ CFSTR("Sec-WebSocket-Version"),
493
+ (__bridge CFStringRef)[NSString stringWithFormat:@"%ld", (long)_webSocketVersion]);
462
494
 
463
495
  CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Origin"), (__bridge CFStringRef)_url.RCTSR_origin);
464
496
 
465
497
  if (_requestedProtocols && _requestedProtocols.count > 0) {
466
- CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Protocol"), (__bridge CFStringRef)[_requestedProtocols componentsJoinedByString:@", "]);
498
+ CFHTTPMessageSetHeaderFieldValue(
499
+ request,
500
+ CFSTR("Sec-WebSocket-Protocol"),
501
+ (__bridge CFStringRef)[_requestedProtocols componentsJoinedByString:@", "]);
467
502
  }
468
503
 
469
504
  [_urlRequest.allHTTPHeaderFields enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
@@ -499,11 +534,11 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
499
534
  _outputStream = CFBridgingRelease(writeStream);
500
535
  _inputStream = CFBridgingRelease(readStream);
501
536
 
502
-
503
537
  if (_secure) {
504
538
  NSMutableDictionary<NSString *, id> *SSLOptions = [NSMutableDictionary new];
505
539
 
506
- [_outputStream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
540
+ [_outputStream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL
541
+ forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
507
542
 
508
543
  // If we're using pinned certs, don't validate the certificate chain
509
544
  if (_urlRequest.RCTSR_SSLPinnedCertificates.count) {
@@ -515,8 +550,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
515
550
  RCTLogInfo(@"SocketRocket: In debug mode. Allowing connection to any root cert");
516
551
  #endif
517
552
 
518
- [_outputStream setProperty:SSLOptions
519
- forKey:(__bridge id)kCFStreamPropertySSLSettings];
553
+ [_outputStream setProperty:SSLOptions forKey:(__bridge id)kCFStreamPropertySSLSettings];
520
554
  }
521
555
 
522
556
  _inputStream.delegate = self;
@@ -538,7 +572,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
538
572
  [_outputStream scheduleInRunLoop:aRunLoop forMode:mode];
539
573
  [_inputStream scheduleInRunLoop:aRunLoop forMode:mode];
540
574
 
541
- [_scheduledRunloops addObject:@[aRunLoop, mode]];
575
+ [_scheduledRunloops addObject:@[ aRunLoop, mode ]];
542
576
  }
543
577
 
544
578
  - (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode
@@ -546,7 +580,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
546
580
  [_outputStream removeFromRunLoop:aRunLoop forMode:mode];
547
581
  [_inputStream removeFromRunLoop:aRunLoop forMode:mode];
548
582
 
549
- [_scheduledRunloops removeObject:@[aRunLoop, mode]];
583
+ [_scheduledRunloops removeObject:@[ aRunLoop, mode ]];
550
584
  }
551
585
 
552
586
  - (void)close
@@ -584,7 +618,13 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
584
618
 
585
619
  NSUInteger usedLength = 0;
586
620
 
587
- BOOL success __unused = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t) maxLength:payload.length - sizeof(uint16_t) usedLength:&usedLength encoding:NSUTF8StringEncoding options:NSStringEncodingConversionExternalRepresentation range:NSMakeRange(0, reason.length) remainingRange:&remainingRange];
621
+ BOOL success __unused = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t)
622
+ maxLength:payload.length - sizeof(uint16_t)
623
+ usedLength:&usedLength
624
+ encoding:NSUTF8StringEncoding
625
+ options:NSStringEncodingConversionExternalRepresentation
626
+ range:NSMakeRange(0, reason.length)
627
+ remainingRange:&remainingRange];
588
628
 
589
629
  assert(success);
590
630
  assert(remainingRange.length == 0);
@@ -621,7 +661,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
621
661
  }];
622
662
 
623
663
  self.readyState = RCTSR_CLOSED;
624
-
664
+
625
665
  RCTSRLog(@"Failing with error %@", error.localizedDescription);
626
666
 
627
667
  [self _disconnect];
@@ -705,9 +745,7 @@ static inline BOOL closeCodeIsValid(int closeCode)
705
745
  }
706
746
 
707
747
  if (closeCode >= 1000 && closeCode <= 1011) {
708
- if (closeCode == 1004 ||
709
- closeCode == 1005 ||
710
- closeCode == 1006) {
748
+ if (closeCode == 1004 || closeCode == 1005 || closeCode == 1006) {
711
749
  return NO;
712
750
  }
713
751
  return YES;
@@ -752,7 +790,8 @@ static inline BOOL closeCodeIsValid(int closeCode)
752
790
  return;
753
791
  }
754
792
  if (dataSize > 2) {
755
- _closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)] encoding:NSUTF8StringEncoding];
793
+ _closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)]
794
+ encoding:NSUTF8StringEncoding];
756
795
  if (!_closeReason) {
757
796
  [self _closeWithProtocolError:@"Close reason MUST be valid UTF-8"];
758
797
  return;
@@ -788,7 +827,8 @@ static inline BOOL closeCodeIsValid(int closeCode)
788
827
 
789
828
  // Check that the current data is valid UTF8
790
829
 
791
- BOOL isControlFrame = (opcode == RCTSROpCodePing || opcode == RCTSROpCodePong || opcode == RCTSROpCodeConnectionClose);
830
+ BOOL isControlFrame =
831
+ (opcode == RCTSROpCodePing || opcode == RCTSROpCodePong || opcode == RCTSROpCodeConnectionClose);
792
832
  if (!isControlFrame) {
793
833
  [self _readFrameNew];
794
834
  } else {
@@ -838,7 +878,9 @@ static inline BOOL closeCodeIsValid(int closeCode)
838
878
  return;
839
879
  }
840
880
 
841
- BOOL isControlFrame = (frame_header.opcode == RCTSROpCodePing || frame_header.opcode == RCTSROpCodePong || frame_header.opcode == RCTSROpCodeConnectionClose);
881
+ BOOL isControlFrame =
882
+ (frame_header.opcode == RCTSROpCodePing || frame_header.opcode == RCTSROpCodePong ||
883
+ frame_header.opcode == RCTSROpCodeConnectionClose);
842
884
 
843
885
  if (isControlFrame && !frame_header.fin) {
844
886
  [self _closeWithProtocolError:@"Fragmented control frames not allowed"];
@@ -868,19 +910,21 @@ static inline BOOL closeCodeIsValid(int closeCode)
868
910
  }
869
911
  } else {
870
912
  assert(frame_header.payload_length <= SIZE_T_MAX);
871
- [self _addConsumerWithDataLength:(size_t)frame_header.payload_length callback:^(RCTSRWebSocket *socket, NSData *newData) {
872
- if (isControlFrame) {
873
- [socket _handleFrameWithData:newData opCode:frame_header.opcode];
874
- } else {
875
- if (frame_header.fin) {
876
- [socket _handleFrameWithData:socket->_currentFrameData opCode:frame_header.opcode];
877
- } else {
878
- // TODO: add assert that opcode is not a control;
879
- [socket _readFrameContinue];
880
- }
881
-
882
- }
883
- } readToCurrentFrame:!isControlFrame unmaskBytes:frame_header.masked];
913
+ [self _addConsumerWithDataLength:(size_t)frame_header.payload_length
914
+ callback:^(RCTSRWebSocket *socket, NSData *newData) {
915
+ if (isControlFrame) {
916
+ [socket _handleFrameWithData:newData opCode:frame_header.opcode];
917
+ } else {
918
+ if (frame_header.fin) {
919
+ [socket _handleFrameWithData:socket->_currentFrameData opCode:frame_header.opcode];
920
+ } else {
921
+ // TODO: add assert that opcode is not a control;
922
+ [socket _readFrameContinue];
923
+ }
924
+ }
925
+ }
926
+ readToCurrentFrame:!isControlFrame
927
+ unmaskBytes:frame_header.masked];
884
928
  }
885
929
  }
886
930
 
@@ -906,93 +950,110 @@ static inline BOOL closeCodeIsValid(int closeCode)
906
950
  +---------------------------------------------------------------+
907
951
  */
908
952
 
909
- static const uint8_t RCTSRFinMask = 0x80;
910
- static const uint8_t RCTSROpCodeMask = 0x0F;
911
- static const uint8_t RCTSRRsvMask = 0x70;
912
- static const uint8_t RCTSRMaskMask = 0x80;
913
- static const uint8_t RCTSRPayloadLenMask = 0x7F;
953
+ static const uint8_t RCTSRFinMask = 0x80;
954
+ static const uint8_t RCTSROpCodeMask = 0x0F;
955
+ static const uint8_t RCTSRRsvMask = 0x70;
956
+ static const uint8_t RCTSRMaskMask = 0x80;
957
+ static const uint8_t RCTSRPayloadLenMask = 0x7F;
914
958
 
915
959
  - (void)_readFrameContinue
916
960
  {
917
961
  assert((_currentFrameCount == 0 && _currentFrameOpcode == 0) || (_currentFrameCount > 0 && _currentFrameOpcode > 0));
918
962
 
919
- [self _addConsumerWithDataLength:2 callback:^(RCTSRWebSocket *socket, NSData *data) {
920
- __block frame_header header = {0};
921
-
922
- const uint8_t *headerBuffer = data.bytes;
923
- assert(data.length >= 2);
924
-
925
- if (headerBuffer[0] & RCTSRRsvMask) {
926
- [socket _closeWithProtocolError:@"Server used RSV bits"];
927
- return;
928
- }
929
-
930
- uint8_t receivedOpcode = (RCTSROpCodeMask &headerBuffer[0]);
931
-
932
- BOOL isControlFrame = (receivedOpcode == RCTSROpCodePing || receivedOpcode == RCTSROpCodePong || receivedOpcode == RCTSROpCodeConnectionClose);
933
-
934
- if (!isControlFrame && receivedOpcode != 0 && socket->_currentFrameCount > 0) {
935
- [socket _closeWithProtocolError:@"all data frames after the initial data frame must have opcode 0"];
936
- return;
937
- }
938
-
939
- if (receivedOpcode == 0 && socket->_currentFrameCount == 0) {
940
- [socket _closeWithProtocolError:@"cannot continue a message"];
941
- return;
942
- }
943
-
944
- header.opcode = receivedOpcode == 0 ? socket->_currentFrameOpcode : receivedOpcode;
945
-
946
- header.fin = !!(RCTSRFinMask &headerBuffer[0]);
947
-
948
-
949
- header.masked = !!(RCTSRMaskMask &headerBuffer[1]);
950
- header.payload_length = RCTSRPayloadLenMask & headerBuffer[1];
951
-
952
- headerBuffer = NULL;
953
-
954
- if (header.masked) {
955
- [socket _closeWithProtocolError:@"Client must receive unmasked data"];
956
- }
957
-
958
- size_t extra_bytes_needed = header.masked ? sizeof(self->_currentReadMaskKey) : 0;
959
-
960
- if (header.payload_length == 126) {
961
- extra_bytes_needed += sizeof(uint16_t);
962
- } else if (header.payload_length == 127) {
963
- extra_bytes_needed += sizeof(uint64_t);
964
- }
965
-
966
- if (extra_bytes_needed == 0) {
967
- [socket _handleFrameHeader:header curData:socket->_currentFrameData];
968
- } else {
969
- [socket _addConsumerWithDataLength:extra_bytes_needed callback:^(RCTSRWebSocket *_socket, NSData *_data) {
970
- size_t mapped_size __unused = _data.length;
971
- const void *mapped_buffer = _data.bytes;
972
- size_t offset = 0;
973
-
974
- if (header.payload_length == 126) {
975
- assert(mapped_size >= sizeof(uint16_t));
976
- uint16_t newLen = NSSwapBigShortToHost(*(uint16_t *)(mapped_buffer));
977
- header.payload_length = newLen;
978
- offset += sizeof(uint16_t);
979
- } else if (header.payload_length == 127) {
980
- assert(mapped_size >= sizeof(uint64_t));
981
- header.payload_length = NSSwapBigLongLongToHost(*(uint64_t *)(mapped_buffer));
982
- offset += sizeof(uint64_t);
983
- } else {
984
- assert(header.payload_length < 126 && header.payload_length >= 0);
985
- }
986
-
987
- if (header.masked) {
988
- assert(mapped_size >= sizeof(self->_currentReadMaskOffset) + offset);
989
- memcpy(_socket->_currentReadMaskKey, ((uint8_t *)mapped_buffer) + offset, sizeof(_socket->_currentReadMaskKey));
990
- }
991
-
992
- [_socket _handleFrameHeader:header curData:_socket->_currentFrameData];
993
- } readToCurrentFrame:NO unmaskBytes:NO];
994
- }
995
- } readToCurrentFrame:NO unmaskBytes:NO];
963
+ [self
964
+ _addConsumerWithDataLength:2
965
+ callback:^(RCTSRWebSocket *socket, NSData *data) {
966
+ __block frame_header header = {0};
967
+
968
+ const uint8_t *headerBuffer = data.bytes;
969
+ assert(data.length >= 2);
970
+
971
+ if (headerBuffer[0] & RCTSRRsvMask) {
972
+ [socket _closeWithProtocolError:@"Server used RSV bits"];
973
+ return;
974
+ }
975
+
976
+ uint8_t receivedOpcode = (RCTSROpCodeMask & headerBuffer[0]);
977
+
978
+ BOOL isControlFrame =
979
+ (receivedOpcode == RCTSROpCodePing || receivedOpcode == RCTSROpCodePong ||
980
+ receivedOpcode == RCTSROpCodeConnectionClose);
981
+
982
+ if (!isControlFrame && receivedOpcode != 0 && socket->_currentFrameCount > 0) {
983
+ [socket _closeWithProtocolError:
984
+ @"all data frames after the initial data frame must have opcode 0"];
985
+ return;
986
+ }
987
+
988
+ if (receivedOpcode == 0 && socket->_currentFrameCount == 0) {
989
+ [socket _closeWithProtocolError:@"cannot continue a message"];
990
+ return;
991
+ }
992
+
993
+ header.opcode = receivedOpcode == 0 ? socket->_currentFrameOpcode : receivedOpcode;
994
+
995
+ header.fin = !!(RCTSRFinMask & headerBuffer[0]);
996
+
997
+ header.masked = !!(RCTSRMaskMask & headerBuffer[1]);
998
+ header.payload_length = RCTSRPayloadLenMask & headerBuffer[1];
999
+
1000
+ headerBuffer = NULL;
1001
+
1002
+ if (header.masked) {
1003
+ [socket _closeWithProtocolError:@"Client must receive unmasked data"];
1004
+ }
1005
+
1006
+ size_t extra_bytes_needed = header.masked ? sizeof(self->_currentReadMaskKey) : 0;
1007
+
1008
+ if (header.payload_length == 126) {
1009
+ extra_bytes_needed += sizeof(uint16_t);
1010
+ } else if (header.payload_length == 127) {
1011
+ extra_bytes_needed += sizeof(uint64_t);
1012
+ }
1013
+
1014
+ if (extra_bytes_needed == 0) {
1015
+ [socket _handleFrameHeader:header curData:socket->_currentFrameData];
1016
+ } else {
1017
+ [socket
1018
+ _addConsumerWithDataLength:extra_bytes_needed
1019
+ callback:^(RCTSRWebSocket *_socket, NSData *_data) {
1020
+ size_t mapped_size __unused = _data.length;
1021
+ const void *mapped_buffer = _data.bytes;
1022
+ size_t offset = 0;
1023
+
1024
+ if (header.payload_length == 126) {
1025
+ assert(mapped_size >= sizeof(uint16_t));
1026
+ uint16_t newLen =
1027
+ NSSwapBigShortToHost(*(uint16_t *)(mapped_buffer));
1028
+ header.payload_length = newLen;
1029
+ offset += sizeof(uint16_t);
1030
+ } else if (header.payload_length == 127) {
1031
+ assert(mapped_size >= sizeof(uint64_t));
1032
+ header.payload_length =
1033
+ NSSwapBigLongLongToHost(*(uint64_t *)(mapped_buffer));
1034
+ offset += sizeof(uint64_t);
1035
+ } else {
1036
+ assert(header.payload_length < 126 && header.payload_length >= 0);
1037
+ }
1038
+
1039
+ if (header.masked) {
1040
+ assert(
1041
+ mapped_size >= sizeof(self->_currentReadMaskOffset) + offset);
1042
+ memcpy(
1043
+ _socket->_currentReadMaskKey,
1044
+ ((uint8_t *)mapped_buffer) + offset,
1045
+ sizeof(_socket->_currentReadMaskKey));
1046
+ }
1047
+
1048
+ [_socket _handleFrameHeader:header
1049
+ curData:_socket->_currentFrameData];
1050
+ }
1051
+ readToCurrentFrame:NO
1052
+ unmaskBytes:NO];
1053
+ }
1054
+ }
1055
+ readToCurrentFrame:NO
1056
+ unmaskBytes:NO];
996
1057
  }
997
1058
 
998
1059
  - (void)_readFrameNew
@@ -1015,24 +1076,26 @@ static const uint8_t RCTSRPayloadLenMask = 0x7F;
1015
1076
 
1016
1077
  NSUInteger dataLength = _outputBuffer.length;
1017
1078
  if (dataLength - _outputBufferOffset > 0 && _outputStream.hasSpaceAvailable) {
1018
- NSInteger bytesWritten = [_outputStream write:_outputBuffer.bytes + _outputBufferOffset maxLength:dataLength - _outputBufferOffset];
1079
+ NSInteger bytesWritten = [_outputStream write:_outputBuffer.bytes + _outputBufferOffset
1080
+ maxLength:dataLength - _outputBufferOffset];
1019
1081
  if (bytesWritten == -1) {
1020
- [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain code:2145 userInfo:@{NSLocalizedDescriptionKey: @"Error writing to stream"}]];
1082
+ [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
1083
+ code:2145
1084
+ userInfo:@{NSLocalizedDescriptionKey : @"Error writing to stream"}]];
1021
1085
  return;
1022
1086
  }
1023
1087
 
1024
1088
  _outputBufferOffset += bytesWritten;
1025
1089
 
1026
1090
  if (_outputBufferOffset > 4096 && _outputBufferOffset > (_outputBuffer.length >> 1)) {
1027
- _outputBuffer = [[NSMutableData alloc] initWithBytes:(char *)_outputBuffer.bytes + _outputBufferOffset length:_outputBuffer.length - _outputBufferOffset];
1091
+ _outputBuffer = [[NSMutableData alloc] initWithBytes:(char *)_outputBuffer.bytes + _outputBufferOffset
1092
+ length:_outputBuffer.length - _outputBufferOffset];
1028
1093
  _outputBufferOffset = 0;
1029
1094
  }
1030
1095
  }
1031
1096
 
1032
- if (_closeWhenFinishedWriting &&
1033
- _outputBuffer.length - _outputBufferOffset == 0 &&
1034
- (_inputStream.streamStatus != NSStreamStatusNotOpen &&
1035
- _inputStream.streamStatus != NSStreamStatusClosed) &&
1097
+ if (_closeWhenFinishedWriting && _outputBuffer.length - _outputBufferOffset == 0 &&
1098
+ (_inputStream.streamStatus != NSStreamStatusNotOpen && _inputStream.streamStatus != NSStreamStatusClosed) &&
1036
1099
  !_sentClose) {
1037
1100
  _sentClose = YES;
1038
1101
 
@@ -1054,19 +1117,30 @@ static const uint8_t RCTSRPayloadLenMask = 0x7F;
1054
1117
  [self _addConsumerWithScanner:consumer callback:callback dataLength:0];
1055
1118
  }
1056
1119
 
1057
- - (void)_addConsumerWithDataLength:(size_t)dataLength callback:(data_callback)callback readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes
1120
+ - (void)_addConsumerWithDataLength:(size_t)dataLength
1121
+ callback:(data_callback)callback
1122
+ readToCurrentFrame:(BOOL)readToCurrentFrame
1123
+ unmaskBytes:(BOOL)unmaskBytes
1058
1124
  {
1059
1125
  [self assertOnWorkQueue];
1060
1126
  assert(dataLength);
1061
1127
 
1062
- [_consumers addObject:[_consumerPool consumerWithScanner:nil handler:callback bytesNeeded:dataLength readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]];
1128
+ [_consumers addObject:[_consumerPool consumerWithScanner:nil
1129
+ handler:callback
1130
+ bytesNeeded:dataLength
1131
+ readToCurrentFrame:readToCurrentFrame
1132
+ unmaskBytes:unmaskBytes]];
1063
1133
  [self _pumpScanner];
1064
1134
  }
1065
1135
 
1066
1136
  - (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback dataLength:(size_t)dataLength
1067
1137
  {
1068
1138
  [self assertOnWorkQueue];
1069
- [_consumers addObject:[_consumerPool consumerWithScanner:consumer handler:callback bytesNeeded:dataLength readToCurrentFrame:NO unmaskBytes:NO]];
1139
+ [_consumers addObject:[_consumerPool consumerWithScanner:consumer
1140
+ handler:callback
1141
+ bytesNeeded:dataLength
1142
+ readToCurrentFrame:NO
1143
+ unmaskBytes:NO]];
1070
1144
  [self _pumpScanner];
1071
1145
  }
1072
1146
 
@@ -1086,7 +1160,7 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
1086
1160
 
1087
1161
  size_t size = data.length;
1088
1162
  const unsigned char *buffer = data.bytes;
1089
- for (size_t i = 0; i < size; i++ ) {
1163
+ for (size_t i = 0; i < size; i++) {
1090
1164
  if (((const unsigned char *)buffer)[i] == ((const unsigned char *)bytes)[match_count]) {
1091
1165
  match_count += 1;
1092
1166
  if (match_count == length) {
@@ -1126,7 +1200,9 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
1126
1200
 
1127
1201
  size_t foundSize = 0;
1128
1202
  if (consumer.consumer) {
1129
- NSData *tempView = [NSData dataWithBytesNoCopy:(char *)_readBuffer.bytes + _readBufferOffset length:_readBuffer.length - _readBufferOffset freeWhenDone:NO];
1203
+ NSData *tempView = [NSData dataWithBytesNoCopy:(char *)_readBuffer.bytes + _readBufferOffset
1204
+ length:_readBuffer.length - _readBufferOffset
1205
+ freeWhenDone:NO];
1130
1206
  foundSize = consumer.consumer(tempView);
1131
1207
  } else {
1132
1208
  assert(consumer.bytesNeeded);
@@ -1145,7 +1221,9 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
1145
1221
  _readBufferOffset += foundSize;
1146
1222
 
1147
1223
  if (_readBufferOffset > 4096 && _readBufferOffset > (_readBuffer.length >> 1)) {
1148
- _readBuffer = [[NSMutableData alloc] initWithBytes:(char *)_readBuffer.bytes + _readBufferOffset length:_readBuffer.length - _readBufferOffset]; _readBufferOffset = 0;
1224
+ _readBuffer = [[NSMutableData alloc] initWithBytes:(char *)_readBuffer.bytes + _readBufferOffset
1225
+ length:_readBuffer.length - _readBufferOffset];
1226
+ _readBufferOffset = 0;
1149
1227
  }
1150
1228
 
1151
1229
  if (consumer.unmaskBytes) {
@@ -1218,7 +1296,8 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
1218
1296
  return;
1219
1297
  }
1220
1298
 
1221
- while ([self _innerPumpScanner]) {}
1299
+ while ([self _innerPumpScanner]) {
1300
+ }
1222
1301
 
1223
1302
  _isPumping = NO;
1224
1303
  }
@@ -1299,7 +1378,8 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1299
1378
 
1300
1379
  - (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
1301
1380
  {
1302
- if (_secure && !_pinnedCertFound && (eventCode == NSStreamEventHasBytesAvailable || eventCode == NSStreamEventHasSpaceAvailable)) {
1381
+ if (_secure && !_pinnedCertFound &&
1382
+ (eventCode == NSStreamEventHasBytesAvailable || eventCode == NSStreamEventHasSpaceAvailable)) {
1303
1383
  NSArray *sslCerts = _urlRequest.RCTSR_SSLPinnedCertificates;
1304
1384
  if (sslCerts) {
1305
1385
  SecTrustRef secTrust = (__bridge SecTrustRef)[aStream propertyForKey:(__bridge id)kCFStreamPropertySSLPeerTrust];
@@ -1323,13 +1403,18 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1323
1403
 
1324
1404
  if (!_pinnedCertFound) {
1325
1405
  dispatch_async(_workQueue, ^{
1326
- [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain code:23556 userInfo:@{NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Invalid server cert"]}]];
1406
+ [self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
1407
+ code:23556
1408
+ userInfo:@{
1409
+ NSLocalizedDescriptionKey :
1410
+ [NSString stringWithFormat:@"Invalid server cert"]
1411
+ }]];
1327
1412
  });
1328
1413
  return;
1329
1414
  }
1330
1415
  }
1331
1416
  }
1332
-
1417
+
1333
1418
  // _workQueue cannot be NULL
1334
1419
  if (!_workQueue) {
1335
1420
  return;
@@ -1353,7 +1438,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1353
1438
  return;
1354
1439
  }
1355
1440
  assert(self->_readBuffer);
1356
-
1441
+
1357
1442
  if (self.readyState == RCTSR_CONNECTING && aStream == self->_inputStream) {
1358
1443
  [self didConnect];
1359
1444
  }
@@ -1361,7 +1446,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1361
1446
  [self _pumpScanner];
1362
1447
  break;
1363
1448
  }
1364
-
1449
+
1365
1450
  case NSStreamEventErrorOccurred: {
1366
1451
  RCTSRLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [aStream.streamError copy]);
1367
1452
  // TODO: specify error better!
@@ -1369,9 +1454,8 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1369
1454
  self->_readBufferOffset = 0;
1370
1455
  self->_readBuffer.length = 0;
1371
1456
  break;
1372
-
1373
1457
  }
1374
-
1458
+
1375
1459
  case NSStreamEventEndEncountered: {
1376
1460
  [self _pumpScanner];
1377
1461
  RCTSRLog(@"NSStreamEventEndEncountered %@", aStream);
@@ -1383,36 +1467,40 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1383
1467
  self.readyState = RCTSR_CLOSED;
1384
1468
  [self _scheduleCleanup];
1385
1469
  }
1386
-
1470
+
1387
1471
  if (!self->_sentClose && !self->_failed) {
1388
1472
  self->_sentClose = YES;
1389
- // If we get closed in this state it's probably not clean because we should be sending this when we send messages
1473
+ // If we get closed in this state it's probably not clean because we should be sending this when we send
1474
+ // messages
1390
1475
  [self _performDelegateBlock:^{
1391
1476
  if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) {
1392
- [self.delegate webSocket:self didCloseWithCode:RCTSRStatusCodeGoingAway reason:@"Stream end encountered" wasClean:NO];
1477
+ [self.delegate webSocket:self
1478
+ didCloseWithCode:RCTSRStatusCodeGoingAway
1479
+ reason:@"Stream end encountered"
1480
+ wasClean:NO];
1393
1481
  }
1394
1482
  }];
1395
1483
  }
1396
1484
  });
1397
1485
  }
1398
-
1486
+
1399
1487
  break;
1400
1488
  }
1401
-
1489
+
1402
1490
  case NSStreamEventHasBytesAvailable: {
1403
1491
  RCTSRLog(@"NSStreamEventHasBytesAvailable %@", aStream);
1404
1492
  const int bufferSize = 2048;
1405
1493
  uint8_t buffer[bufferSize];
1406
-
1494
+
1407
1495
  while (self->_inputStream.hasBytesAvailable) {
1408
1496
  NSInteger bytes_read = [self->_inputStream read:buffer maxLength:bufferSize];
1409
-
1497
+
1410
1498
  if (bytes_read > 0) {
1411
1499
  [self->_readBuffer appendBytes:buffer length:bytes_read];
1412
1500
  } else if (bytes_read < 0) {
1413
1501
  [self _failWithError:self->_inputStream.streamError];
1414
1502
  }
1415
-
1503
+
1416
1504
  if (bytes_read != bufferSize) {
1417
1505
  break;
1418
1506
  }
@@ -1420,13 +1508,13 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1420
1508
  [self _pumpScanner];
1421
1509
  break;
1422
1510
  }
1423
-
1511
+
1424
1512
  case NSStreamEventHasSpaceAvailable: {
1425
1513
  RCTSRLog(@"NSStreamEventHasSpaceAvailable %@", aStream);
1426
1514
  [self _pumpWriting];
1427
1515
  break;
1428
1516
  }
1429
-
1517
+
1430
1518
  default:
1431
1519
  RCTSRLog(@"(default) %@", aStream);
1432
1520
  break;
@@ -1438,12 +1526,16 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1438
1526
  if (_cleanupScheduled) {
1439
1527
  return;
1440
1528
  }
1441
-
1529
+
1442
1530
  _cleanupScheduled = YES;
1443
-
1531
+
1444
1532
  // Cleanup NSStream's delegate in the same RunLoop used by the streams themselves:
1445
1533
  // This way we'll prevent race conditions between handleEvent and SRWebsocket's dealloc
1446
- NSTimer *timer = [NSTimer timerWithTimeInterval:(0.0f) target:self selector:@selector(_cleanupSelfReference:) userInfo:nil repeats:NO];
1534
+ NSTimer *timer = [NSTimer timerWithTimeInterval:(0.0f)
1535
+ target:self
1536
+ selector:@selector(_cleanupSelfReference:)
1537
+ userInfo:nil
1538
+ repeats:NO];
1447
1539
  [[NSRunLoop RCTSR_networkRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
1448
1540
  }
1449
1541
 
@@ -1452,16 +1544,16 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1452
1544
  // Remove the streams, right now, from the networkRunLoop
1453
1545
  [_inputStream close];
1454
1546
  [_outputStream close];
1455
-
1547
+
1456
1548
  // Unschedule from RunLoop
1457
1549
  for (NSArray *runLoop in [_scheduledRunloops copy]) {
1458
1550
  [self unscheduleFromRunLoop:runLoop[0] forMode:runLoop[1]];
1459
1551
  }
1460
-
1552
+
1461
1553
  // Nuke NSStream's delegate
1462
1554
  _inputStream.delegate = nil;
1463
1555
  _outputStream.delegate = nil;
1464
-
1556
+
1465
1557
  // Cleanup selfRetain in the same GCD queue as usual
1466
1558
  dispatch_async(_workQueue, ^{
1467
1559
  self->_selfRetain = nil;
@@ -1472,7 +1564,11 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1472
1564
 
1473
1565
  @implementation RCTSRIOConsumer
1474
1566
 
1475
- - (void)setupWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes
1567
+ - (void)setupWithScanner:(stream_scanner)scanner
1568
+ handler:(data_callback)handler
1569
+ bytesNeeded:(size_t)bytesNeeded
1570
+ readToCurrentFrame:(BOOL)readToCurrentFrame
1571
+ unmaskBytes:(BOOL)unmaskBytes
1476
1572
  {
1477
1573
  _consumer = [scanner copy];
1478
1574
  _handler = [handler copy];
@@ -1484,8 +1580,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1484
1580
 
1485
1581
  @end
1486
1582
 
1487
- @implementation RCTSRIOConsumerPool
1488
- {
1583
+ @implementation RCTSRIOConsumerPool {
1489
1584
  NSUInteger _poolSize;
1490
1585
  NSMutableArray<RCTSRIOConsumer *> *_bufferedConsumers;
1491
1586
  }
@@ -1504,7 +1599,11 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1504
1599
  return [self initWithBufferCapacity:8];
1505
1600
  }
1506
1601
 
1507
- - (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes
1602
+ - (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
1603
+ handler:(data_callback)handler
1604
+ bytesNeeded:(size_t)bytesNeeded
1605
+ readToCurrentFrame:(BOOL)readToCurrentFrame
1606
+ unmaskBytes:(BOOL)unmaskBytes
1508
1607
  {
1509
1608
  RCTSRIOConsumer *consumer = nil;
1510
1609
  if (_bufferedConsumers.count) {
@@ -1514,7 +1613,11 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1514
1613
  consumer = [RCTSRIOConsumer new];
1515
1614
  }
1516
1615
 
1517
- [consumer setupWithScanner:scanner handler:handler bytesNeeded:bytesNeeded readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes];
1616
+ [consumer setupWithScanner:scanner
1617
+ handler:handler
1618
+ bytesNeeded:bytesNeeded
1619
+ readToCurrentFrame:readToCurrentFrame
1620
+ unmaskBytes:unmaskBytes];
1518
1621
 
1519
1622
  return consumer;
1520
1623
  }
@@ -1528,7 +1631,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1528
1631
 
1529
1632
  @end
1530
1633
 
1531
- @implementation NSURLRequest (CertificateAdditions)
1634
+ @implementation NSURLRequest (CertificateAdditions)
1532
1635
 
1533
1636
  - (NSArray *)RCTSR_SSLPinnedCertificates
1534
1637
  {
@@ -1537,7 +1640,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1537
1640
 
1538
1641
  @end
1539
1642
 
1540
- @implementation NSMutableURLRequest (CertificateAdditions)
1643
+ @implementation NSMutableURLRequest (CertificateAdditions)
1541
1644
 
1542
1645
  - (NSArray *)RCTSR_SSLPinnedCertificates
1543
1646
  {
@@ -1563,9 +1666,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
1563
1666
  scheme = @"http";
1564
1667
  }
1565
1668
 
1566
- int defaultPort = ([scheme isEqualToString:@"https"] ? 443 :
1567
- [scheme isEqualToString:@"http"] ? 80 :
1568
- -1);
1669
+ int defaultPort = ([scheme isEqualToString:@"https"] ? 443 : [scheme isEqualToString:@"http"] ? 80 : -1);
1569
1670
  int port = self.port.intValue;
1570
1671
  if (port > 0 && port != defaultPort) {
1571
1672
  return [NSString stringWithFormat:@"%@://%@:%d", scheme, self.host, port];
@@ -1596,8 +1697,7 @@ static NSRunLoop *networkRunLoop = nil;
1596
1697
 
1597
1698
  @end
1598
1699
 
1599
- @implementation _RCTSRRunLoopThread
1600
- {
1700
+ @implementation _RCTSRRunLoopThread {
1601
1701
  dispatch_group_t _waitGroup;
1602
1702
  }
1603
1703
 
@@ -1618,10 +1718,16 @@ static NSRunLoop *networkRunLoop = nil;
1618
1718
  _runLoop = [NSRunLoop currentRunLoop];
1619
1719
  dispatch_group_leave(_waitGroup);
1620
1720
 
1621
- NSTimer *timer = [[NSTimer alloc] initWithFireDate:[NSDate distantFuture] interval:0.0 target:self selector:@selector(step) userInfo:nil repeats:NO];
1721
+ NSTimer *timer = [[NSTimer alloc] initWithFireDate:[NSDate distantFuture]
1722
+ interval:0.0
1723
+ target:self
1724
+ selector:@selector(step)
1725
+ userInfo:nil
1726
+ repeats:NO];
1622
1727
  [_runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
1623
1728
 
1624
- while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) { }
1729
+ while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
1730
+ }
1625
1731
  assert(NO);
1626
1732
  }
1627
1733
  }