react-native-windows 0.71.10 → 0.72.0-preview.2

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 (620) hide show
  1. package/.flowconfig +13 -3
  2. package/Directory.Build.props +19 -19
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -4
  5. package/Libraries/Alert/Alert.windows.js +2 -0
  6. package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
  7. package/Libraries/Animated/Animated.d.ts +17 -6
  8. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  9. package/Libraries/Animated/bezier.js +1 -1
  10. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  11. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  12. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  14. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  17. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  20. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  22. package/Libraries/Animated/useAnimatedProps.js +7 -10
  23. package/Libraries/AppTheme/AppTheme.js +1 -0
  24. package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.windows.js +3 -2
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
  40. package/Libraries/Components/Flyout/Flyout.js +110 -51
  41. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  42. package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
  43. package/Libraries/Components/Glyph/Glyph.js +43 -30
  44. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  46. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
  47. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  48. package/Libraries/Components/Popup/Popup.d.ts +41 -19
  49. package/Libraries/Components/Popup/Popup.js +86 -52
  50. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  51. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  52. package/Libraries/Components/Pressable/Pressable.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  54. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
  55. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
  57. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  58. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  60. package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
  61. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  62. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
  63. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  64. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  65. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  66. package/Libraries/Components/Switch/Switch.js +3 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  68. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  70. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  71. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  72. package/Libraries/Components/TextInput/TextInput.js +130 -103
  73. package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
  74. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  75. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  76. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  77. package/Libraries/Components/Touchable/Touchable.js +6 -3
  78. package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
  87. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  88. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  89. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  90. package/Libraries/Components/View/View.js +35 -16
  91. package/Libraries/Components/View/View.windows.js +40 -16
  92. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  93. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  94. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
  95. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  96. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  97. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  98. package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
  99. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  101. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  102. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  103. package/Libraries/Core/ExceptionsManager.js +2 -2
  104. package/Libraries/Core/InitializeCore.js +2 -1
  105. package/Libraries/Core/ReactNativeVersion.js +3 -3
  106. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  107. package/Libraries/Core/Timers/JSTimers.js +1 -1
  108. package/Libraries/Core/Timers/immediateShim.js +1 -0
  109. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  110. package/Libraries/Core/setUpAlert.js +1 -1
  111. package/Libraries/Core/setUpDOM.js +18 -0
  112. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  113. package/Libraries/Core/setUpGlobals.js +5 -2
  114. package/Libraries/Core/setUpNavigator.js +6 -5
  115. package/Libraries/Core/setUpPerformance.js +23 -13
  116. package/Libraries/Core/setUpReactDevTools.js +2 -0
  117. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  118. package/Libraries/Core/setUpTimers.js +2 -2
  119. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  120. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  121. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  122. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  123. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  124. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  125. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  126. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  127. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  128. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  129. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  130. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  131. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  132. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  133. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  134. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  135. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  136. package/Libraries/Events/EventPolyfill.js +1 -1
  137. package/Libraries/Image/AssetRegistry.js +1 -1
  138. package/Libraries/Image/AssetSourceResolver.js +3 -3
  139. package/Libraries/Image/Image.android.js +4 -1
  140. package/Libraries/Image/Image.d.ts +63 -2
  141. package/Libraries/Image/Image.ios.js +3 -0
  142. package/Libraries/Image/Image.windows.js +3 -0
  143. package/Libraries/Image/ImageBackground.js +1 -0
  144. package/Libraries/Image/ImageProps.js +1 -1
  145. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  146. package/Libraries/Image/RelativeImageStub.js +1 -1
  147. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  148. package/Libraries/Image/resolveAssetSource.js +1 -1
  149. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  150. package/Libraries/Inspector/ElementBox.js +4 -1
  151. package/Libraries/Inspector/Inspector.js +5 -6
  152. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  153. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  154. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  155. package/Libraries/Interaction/PanResponder.js +5 -6
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  157. package/Libraries/Linking/Linking.js +1 -4
  158. package/Libraries/Lists/FillRateHelper.js +4 -238
  159. package/Libraries/Lists/FlatList.d.ts +15 -22
  160. package/Libraries/Lists/FlatList.js +9 -6
  161. package/Libraries/Lists/SectionList.d.ts +10 -6
  162. package/Libraries/Lists/SectionList.js +5 -3
  163. package/Libraries/Lists/SectionListModern.js +3 -3
  164. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  165. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  166. package/Libraries/Lists/VirtualizedList.js +10 -1867
  167. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  168. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  169. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  170. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  173. package/Libraries/LogBox/LogBox.js +1 -1
  174. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  175. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  176. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  177. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  179. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  181. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  182. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  183. package/Libraries/Modal/Modal.js +2 -2
  184. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  185. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  186. package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
  187. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  188. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  189. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  190. package/Libraries/Network/RCTNetworking.android.js +2 -2
  191. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  192. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  193. package/Libraries/Network/XMLHttpRequest.js +1 -1
  194. package/Libraries/Pressability/Pressability.js +10 -4
  195. package/Libraries/Pressability/Pressability.windows.js +11 -4
  196. package/Libraries/ReactNative/AppContainer.js +7 -1
  197. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  198. package/Libraries/ReactNative/AppRegistry.js +10 -13
  199. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  200. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  201. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  202. package/Libraries/ReactNative/UIManager.js +168 -1
  203. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  204. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  205. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  206. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  208. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  209. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  210. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  211. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  212. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  213. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  214. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  215. package/Libraries/Share/Share.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  218. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  219. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  220. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  221. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  222. package/Libraries/StyleSheet/processColor.js +1 -1
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/Text.windows.js +48 -38
  226. package/Libraries/Text/TextProps.js +3 -4
  227. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  228. package/Libraries/Types/CodegenTypes.js +1 -0
  229. package/Libraries/UTFSequence.js +3 -1
  230. package/Libraries/Utilities/Appearance.d.ts +10 -0
  231. package/Libraries/Utilities/Appearance.js +13 -0
  232. package/Libraries/Utilities/Dimensions.js +1 -1
  233. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  234. package/Libraries/Utilities/HMRClient.js +16 -10
  235. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  236. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  237. package/Libraries/Utilities/LoadingView.android.js +28 -11
  238. package/Libraries/Utilities/NativeAppearance.js +1 -0
  239. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  240. package/Libraries/Utilities/PixelRatio.js +2 -2
  241. package/Libraries/Utilities/Platform.windows.js +1 -1
  242. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  243. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  244. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  245. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  246. package/Libraries/Utilities/stringifySafe.js +2 -7
  247. package/Libraries/Utilities/useColorScheme.windows.js +26 -0
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/WebPerformance/EventCounts.js +78 -0
  250. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  251. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  252. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  253. package/Libraries/WebPerformance/Performance.js +312 -0
  254. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  255. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  256. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  257. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  258. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  259. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  260. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  261. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  262. package/Libraries/platform-types.d.ts +3 -5
  263. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  264. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  265. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  266. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
  267. package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
  268. package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
  269. package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
  270. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
  271. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
  272. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
  273. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
  274. package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
  276. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
  277. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
  278. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
  279. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
  280. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
  281. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
  282. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
  283. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  284. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
  285. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
  286. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
  287. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
  288. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
  289. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
  290. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
  291. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
  292. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
  293. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
  294. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
  295. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
  296. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
  297. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
  298. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
  299. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
  300. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
  301. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
  302. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
  303. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
  304. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
  305. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
  306. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
  307. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
  308. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
  309. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
  310. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
  311. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
  312. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
  313. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
  314. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
  315. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
  316. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
  317. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
  318. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
  319. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
  320. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
  321. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
  322. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
  323. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
  324. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
  325. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
  326. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
  327. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
  328. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
  329. package/Microsoft.ReactNative/IReactContext.cpp +4 -0
  330. package/Microsoft.ReactNative/IReactContext.h +1 -0
  331. package/Microsoft.ReactNative/IReactContext.idl +5 -0
  332. package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
  333. package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
  334. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  335. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
  336. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
  337. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
  338. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
  339. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  340. package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
  341. package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
  342. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
  343. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
  344. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
  345. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
  346. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
  347. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
  348. package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
  349. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  350. package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
  351. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
  352. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
  353. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
  354. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
  355. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
  356. package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
  357. package/Microsoft.ReactNative/QuirkSettings.h +5 -0
  358. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  359. package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
  360. package/Microsoft.ReactNative/ReactApplication.h +3 -0
  361. package/Microsoft.ReactNative/ReactApplication.idl +3 -0
  362. package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
  363. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
  364. package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
  365. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
  366. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
  367. package/Microsoft.ReactNative/ReactHost/React.h +2 -0
  368. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
  369. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
  370. package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
  371. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  372. package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
  373. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
  374. package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
  375. package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
  376. package/Microsoft.ReactNative/RedBox.cpp +2 -1
  377. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
  378. package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
  379. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
  380. package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
  381. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  382. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  383. package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
  384. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
  385. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
  386. package/Microsoft.ReactNative/ViewProps.idl +30 -0
  387. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
  388. package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
  389. package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
  390. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
  391. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
  392. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
  393. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
  394. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
  395. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
  396. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
  397. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
  398. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
  399. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
  400. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
  401. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
  402. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
  403. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
  404. package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
  405. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
  406. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
  407. package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
  408. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
  409. package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
  410. package/Microsoft.ReactNative/XamlHelper.h +27 -0
  411. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
  412. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
  413. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  414. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
  415. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  416. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
  417. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  418. package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
  419. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  420. package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
  421. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
  422. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  423. package/PropertySheets/JSEngine.props +1 -2
  424. package/PropertySheets/Warnings.props +1 -1
  425. package/ReactCommon/ReactCommon.vcxproj +2 -4
  426. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  427. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  428. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
  429. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
  430. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
  431. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
  442. package/ReactCommon/Yoga.cpp +60 -127
  443. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  444. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
  445. package/Scripts/rnw-dependencies.ps1 +14 -6
  446. package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
  447. package/Shared/DevServerHelper.h +11 -2
  448. package/Shared/DevSettings.h +1 -0
  449. package/Shared/DevSupportManager.cpp +11 -1
  450. package/Shared/DevSupportManager.h +1 -0
  451. package/Shared/HermesRuntimeHolder.cpp +53 -30
  452. package/Shared/HermesRuntimeHolder.h +26 -11
  453. package/Shared/HermesSamplingProfiler.cpp +61 -8
  454. package/Shared/HermesSamplingProfiler.h +6 -3
  455. package/Shared/HermesShim.cpp +86 -82
  456. package/Shared/HermesShim.h +28 -8
  457. package/Shared/JSI/ChakraRuntime.cpp +7 -4
  458. package/Shared/JSI/ChakraRuntime.h +4 -4
  459. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
  460. package/Shared/JSI/RuntimeHolder.h +2 -2
  461. package/Shared/Logging.cpp +1 -1
  462. package/Shared/Modules/BlobModule.cpp +3 -4
  463. package/Shared/Modules/BlobModule.h +0 -4
  464. package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
  465. package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
  466. package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
  467. package/Shared/OInstance.cpp +9 -2
  468. package/Shared/Shared.vcxitems +265 -58
  469. package/Shared/Shared.vcxitems.filters +312 -42
  470. package/Shared/V8JSIRuntimeHolder.cpp +1 -0
  471. package/Shared/V8JSIRuntimeHolder.h +7 -2
  472. package/codegen/NativeAppearanceSpec.g.h +9 -3
  473. package/codegen/NativeClipboardSpec.g.h +3 -3
  474. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
  475. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
  476. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
  477. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  478. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  479. package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
  480. package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
  481. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  482. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  483. package/codegen/NativePerformanceObserverSpec.g.h +48 -10
  484. package/codegen/NativePerformanceSpec.g.h +63 -0
  485. package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
  486. package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
  487. package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
  488. package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
  489. package/codegen/NativeShareModuleSpec.g.h +9 -3
  490. package/codegen/NativeUIManagerSpec.g.h +12 -12
  491. package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
  492. package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
  493. package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
  494. package/codegen/react/components/rnwcore/Props.cpp +47 -48
  495. package/codegen/react/components/rnwcore/Props.h +59 -166
  496. package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
  497. package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
  498. package/codegen/react/components/rnwcore/States.h +15 -30
  499. package/codegen/rnwcoreJSI-generated.cpp +87 -17
  500. package/codegen/rnwcoreJSI.h +1080 -376
  501. package/generate.js +6 -1
  502. package/include/Include.vcxitems +0 -1
  503. package/include/Include.vcxitems.filters +0 -3
  504. package/index.js +56 -42
  505. package/index.windows.js +56 -42
  506. package/interface.js +1 -1
  507. package/jest/local-setup.js +33 -0
  508. package/jest/mockComponent.js +4 -2
  509. package/jest/mockNativeComponent.js +1 -1
  510. package/jest/mockScrollView.js +2 -1
  511. package/jest/react-native-env.js +1 -3
  512. package/jest/setup.js +11 -8
  513. package/just-task.js +12 -5
  514. package/package.json +34 -31
  515. package/rn-get-polyfills.js +1 -1
  516. package/template/metro.config.js +2 -0
  517. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  518. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  519. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  520. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  521. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  522. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  523. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  524. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  525. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  526. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
  527. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  528. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  529. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  530. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
  531. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  532. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  533. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  534. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
  535. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  536. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  537. package/Libraries/Components/Popup/Popup.js.map +0 -1
  538. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  539. package/Libraries/Components/Popup/PopupProps.js +0 -8
  540. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  541. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  542. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  543. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  544. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
  545. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  546. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  547. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  548. package/Libraries/Components/Slider/Slider.js +0 -282
  549. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  550. package/Libraries/Interaction/Batchinator.js +0 -76
  551. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  552. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  553. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  554. package/Libraries/Lists/CellRenderMask.js +0 -155
  555. package/Libraries/Lists/ChildListCollection.js +0 -72
  556. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  557. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  558. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  559. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  560. package/Libraries/Performance/PureComponentDebug.js +0 -74
  561. package/Libraries/Reliability/UserFlow.js +0 -158
  562. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  563. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  564. package/Libraries/Utilities/MatrixMath.js +0 -748
  565. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  566. package/Libraries/Utilities/clamp.js +0 -23
  567. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  568. package/Libraries/Utilities/groupByEveryN.js +0 -51
  569. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  570. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  571. package/Libraries/Utilities/truncate.js +0 -51
  572. package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
  573. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
  574. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
  575. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
  576. package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
  577. package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
  578. package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
  579. package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
  580. package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
  581. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
  582. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
  583. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
  584. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
  585. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
  586. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
  587. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
  588. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
  589. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
  590. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
  591. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
  592. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
  593. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
  594. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
  595. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  596. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  597. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  598. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  599. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  600. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  601. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  602. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  603. package/Shared/AsyncStorageModule.h +0 -25
  604. package/Shared/Modules/AsyncStorageModule.cpp +0 -87
  605. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
  606. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  607. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  608. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  609. package/types/index.d.ts +0 -216
  610. package/types/modules/BatchedBridge.d.ts +0 -32
  611. package/types/modules/Codegen.d.ts +0 -74
  612. package/types/modules/Devtools.d.ts +0 -31
  613. package/types/modules/LaunchScreen.d.ts +0 -18
  614. package/types/modules/globals.d.ts +0 -577
  615. package/types/private/TimerMixin.d.ts +0 -19
  616. package/types/private/Utilities.d.ts +0 -10
  617. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
  618. package/types/public/Insets.d.ts +0 -15
  619. package/types/public/ReactNativeRenderer.d.ts +0 -149
  620. package/types/public/ReactNativeTypes.d.ts +0 -143
@@ -1,135 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- #pragma once
9
-
10
- #include <cmath>
11
- #include <functional>
12
- #include <limits>
13
-
14
- #include <CppWinRTIncludes.h>
15
- #include <d2d1_1.h>
16
- #include <react/renderer/graphics/ColorComponents.h>
17
- #include <optional>
18
-
19
- namespace facebook {
20
- namespace react {
21
-
22
- struct Color {
23
- bool operator==(const Color &otherColor) const {
24
- return m_color == otherColor.m_color && m_platformColor == otherColor.m_platformColor;
25
- }
26
- bool operator!=(const Color &otherColor) const {
27
- return m_color != otherColor.m_color || m_platformColor != otherColor.m_platformColor;
28
- }
29
-
30
- winrt::Windows::UI::Color m_color;
31
- std::string m_platformColor;
32
- };
33
-
34
- /*
35
- * On Android, a color can be represented as 32 bits integer, so there is no
36
- * need to instantiate complex color objects and then pass them as shared
37
- * pointers. Hense instead of using shared_ptr, we use a simple wrapper class
38
- * which provides a pointer-like interface.
39
- */
40
- class SharedColor {
41
- friend std::hash<SharedColor>;
42
-
43
- public:
44
- SharedColor() : m_color(nullptr) {}
45
-
46
- SharedColor(const SharedColor &sharedColor) : m_color(sharedColor.m_color) {}
47
-
48
- SharedColor(winrt::Windows::UI::Color color) {
49
- m_color = std::make_shared<Color>();
50
- m_color->m_color = color;
51
- }
52
-
53
- SharedColor(std::string &&windowsBrush) {
54
- m_color = std::make_shared<Color>();
55
- m_color->m_platformColor = std::move(windowsBrush);
56
- }
57
-
58
- SharedColor &operator=(const SharedColor &sharedColor) {
59
- m_color = sharedColor.m_color;
60
- return *this;
61
- }
62
-
63
- Color operator*() const {
64
- return *m_color;
65
- }
66
-
67
- bool operator==(const SharedColor &otherColor) const {
68
- if (!m_color && !otherColor.m_color)
69
- return true;
70
- if (!m_color || !otherColor.m_color)
71
- return false;
72
- return *m_color == *otherColor.m_color;
73
- }
74
-
75
- bool operator!=(const SharedColor &otherColor) const {
76
- if (!m_color && !otherColor.m_color)
77
- return false;
78
- if (!m_color || !otherColor.m_color)
79
- return true;
80
- return *m_color != *otherColor.m_color;
81
- }
82
-
83
- operator bool() const {
84
- return m_color != nullptr;
85
- }
86
-
87
- D2D1::ColorF AsD2DColor() const {
88
- return {
89
- m_color->m_color.R / 255.0f,
90
- m_color->m_color.G / 255.0f,
91
- m_color->m_color.B / 255.0f,
92
- m_color->m_color.A / 255.0f};
93
- }
94
-
95
- winrt::Windows::UI::Color AsWindowsColor() const {
96
- return m_color->m_color;
97
- }
98
-
99
- COLORREF AsColorRefNoAlpha() const {
100
- return RGB(m_color->m_color.R, m_color->m_color.G, m_color->m_color.B);
101
- }
102
-
103
- COLORREF AsColorRefWithAlpha() const {
104
- return RGB(m_color->m_color.R, m_color->m_color.G, m_color->m_color.B) | (m_color->m_color.A << 24);
105
- }
106
-
107
- #ifndef CORE_ABI
108
- xaml::Media::Brush AsWindowsBrush() const;
109
- #endif
110
-
111
- private:
112
- std::shared_ptr<Color> m_color;
113
- };
114
-
115
- bool isColorMeaningful(SharedColor const &color) noexcept;
116
- SharedColor colorFromComponents(ColorComponents components);
117
- ColorComponents colorComponentsFromColor(SharedColor const &color);
118
-
119
- SharedColor clearColor();
120
- SharedColor blackColor();
121
- SharedColor whiteColor();
122
-
123
- } // namespace react
124
- } // namespace facebook
125
-
126
- namespace std {
127
- template <>
128
- struct hash<facebook::react::SharedColor> {
129
- size_t operator()(const facebook::react::SharedColor &sharedColor) const {
130
- size_t h = sharedColor.m_color->m_color.A + (sharedColor.m_color->m_color.B << 8) +
131
- (sharedColor.m_color->m_color.G << 16) + (sharedColor.m_color->m_color.R << 24);
132
- return h ^ hash<decltype(sharedColor.m_color->m_platformColor)>{}(sharedColor.m_color->m_platformColor);
133
- }
134
- };
135
- } // namespace std
@@ -1,217 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- #pragma once
9
-
10
- #include <functional>
11
- #include <memory>
12
-
13
- #include <react/debug/react_native_assert.h>
14
- #include <react/renderer/components/view/ViewPropsInterpolation.h>
15
- #include <react/renderer/core/ComponentDescriptor.h>
16
- #include <react/renderer/core/CoreFeatures.h>
17
- #include <react/renderer/core/EventDispatcher.h>
18
- #include <react/renderer/core/Props.h>
19
- #include <react/renderer/core/PropsParserContext.h>
20
- #include <react/renderer/core/ShadowNode.h>
21
- #include <react/renderer/core/ShadowNodeFragment.h>
22
- #include <react/renderer/core/State.h>
23
- #include <react/renderer/graphics/Float.h>
24
-
25
- namespace facebook {
26
- namespace react {
27
-
28
- /*
29
- * Default template-based implementation of ComponentDescriptor.
30
- * Use your `ShadowNode` type as a template argument and override any methods
31
- * if necessary.
32
- */
33
- template <typename ShadowNodeT>
34
- class ConcreteComponentDescriptor : public ComponentDescriptor {
35
- static_assert(
36
- std::is_base_of<ShadowNode, ShadowNodeT>::value,
37
- "ShadowNodeT must be a descendant of ShadowNode");
38
-
39
- using SharedShadowNodeT = std::shared_ptr<const ShadowNodeT>;
40
-
41
- public:
42
- using ConcreteShadowNode = ShadowNodeT;
43
- using ConcreteProps = typename ShadowNodeT::ConcreteProps;
44
- using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps;
45
- using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter;
46
- using SharedConcreteEventEmitter =
47
- typename ShadowNodeT::SharedConcreteEventEmitter;
48
- using ConcreteState = typename ShadowNodeT::ConcreteState;
49
- using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data;
50
-
51
- ConcreteComponentDescriptor(ComponentDescriptorParameters const &parameters)
52
- : ComponentDescriptor(parameters) {
53
- rawPropsParser_.prepare<ConcreteProps>();
54
- }
55
-
56
- ComponentHandle getComponentHandle() const override {
57
- return ShadowNodeT::Handle();
58
- }
59
-
60
- ComponentName getComponentName() const override {
61
- return ShadowNodeT::Name();
62
- }
63
-
64
- ShadowNodeTraits getTraits() const override {
65
- return ShadowNodeT::BaseTraits();
66
- }
67
-
68
- ShadowNode::Shared createShadowNode(
69
- const ShadowNodeFragment &fragment,
70
- ShadowNodeFamily::Shared const &family) const override {
71
- auto shadowNode =
72
- std::make_shared<ShadowNodeT>(fragment, family, getTraits());
73
-
74
- adopt(shadowNode);
75
-
76
- return shadowNode;
77
- }
78
-
79
- ShadowNode::Unshared cloneShadowNode(
80
- const ShadowNode &sourceShadowNode,
81
- const ShadowNodeFragment &fragment) const override {
82
- auto shadowNode = std::make_shared<ShadowNodeT>(sourceShadowNode, fragment);
83
-
84
- adopt(shadowNode);
85
- return shadowNode;
86
- }
87
-
88
- void appendChild(
89
- const ShadowNode::Shared &parentShadowNode,
90
- const ShadowNode::Shared &childShadowNode) const override {
91
- auto concreteParentShadowNode =
92
- std::static_pointer_cast<const ShadowNodeT>(parentShadowNode);
93
- auto concreteNonConstParentShadowNode =
94
- std::const_pointer_cast<ShadowNodeT>(concreteParentShadowNode);
95
- concreteNonConstParentShadowNode->appendChild(childShadowNode);
96
- }
97
-
98
- virtual Props::Shared cloneProps(
99
- const PropsParserContext &context,
100
- const Props::Shared &props,
101
- const RawProps &rawProps) const override {
102
- // Optimization:
103
- // Quite often nodes are constructed with default/empty props: the base
104
- // `props` object is `null` (there no base because it's not cloning) and the
105
- // `rawProps` is empty. In this case, we can return the default props object
106
- // of a concrete type entirely bypassing parsing.
107
- if (!props && rawProps.isEmpty()) {
108
- return ShadowNodeT::defaultSharedProps();
109
- }
110
-
111
- rawProps.parse(rawPropsParser_, context);
112
-
113
- // Call old-style constructor
114
- auto shadowNodeProps = ShadowNodeT::Props(context, rawProps, props);
115
-
116
- // Use the new-style iterator
117
- // Note that we just check if `Props` has this flag set, no matter
118
- // the type of ShadowNode; it acts as the single global flag.
119
- if (CoreFeatures::enablePropIteratorSetter) {
120
- rawProps.iterateOverValues([&](RawPropsPropNameHash hash,
121
- const char *propName,
122
- RawValue const &fn) {
123
- shadowNodeProps.get()->Props::setProp(context, hash, propName, fn);
124
- });
125
- }
126
-
127
- return shadowNodeProps;
128
- };
129
-
130
- Props::Shared interpolateProps(
131
- const PropsParserContext &context,
132
- Float animationProgress,
133
- const Props::Shared &props,
134
- const Props::Shared &newProps) const override {
135
- #ifdef ANDROID
136
- // On Android only, the merged props should have the same RawProps as the
137
- // final props struct
138
- Props::Shared interpolatedPropsShared =
139
- (newProps != nullptr ? cloneProps(context, newProps, newProps->rawProps)
140
- : cloneProps(context, newProps, {}));
141
- #else
142
- Props::Shared interpolatedPropsShared = cloneProps(context, newProps, {});
143
- #endif
144
-
145
- if (ConcreteShadowNode::BaseTraits().check(
146
- ShadowNodeTraits::Trait::ViewKind)) {
147
- interpolateViewProps(
148
- animationProgress, props, newProps, interpolatedPropsShared);
149
- }
150
-
151
- return interpolatedPropsShared;
152
- };
153
-
154
- virtual State::Shared createInitialState(
155
- ShadowNodeFragment const &fragment,
156
- ShadowNodeFamily::Shared const &family) const override {
157
- if (std::is_same<ConcreteStateData, StateData>::value) {
158
- // Default case: Returning `null` for nodes that don't use `State`.
159
- return nullptr;
160
- }
161
-
162
- return std::make_shared<ConcreteState>(
163
- std::make_shared<ConcreteStateData const>(
164
- ConcreteShadowNode::initialStateData(
165
- fragment, ShadowNodeFamilyFragment::build(*family), *this)),
166
- family);
167
- }
168
-
169
- virtual State::Shared createState(
170
- ShadowNodeFamily const &family,
171
- StateData::Shared const &data) const override {
172
- if (std::is_same<ConcreteStateData, StateData>::value) {
173
- // Default case: Returning `null` for nodes that don't use `State`.
174
- return nullptr;
175
- }
176
-
177
- react_native_assert(data && "Provided `data` is nullptr.");
178
-
179
- return std::make_shared<ConcreteState const>(
180
- std::static_pointer_cast<ConcreteStateData const>(data),
181
- *family.getMostRecentState());
182
- }
183
-
184
- ShadowNodeFamily::Shared createFamily(
185
- ShadowNodeFamilyFragment const &fragment,
186
- SharedEventTarget eventTarget) const override {
187
- auto eventEmitter = std::make_shared<ConcreteEventEmitter const>(
188
- std::move(eventTarget), fragment.tag, eventDispatcher_);
189
- return std::make_shared<ShadowNodeFamily>(
190
- ShadowNodeFamilyFragment{
191
- fragment.tag, fragment.surfaceId, eventEmitter},
192
- eventDispatcher_,
193
- *this);
194
- }
195
-
196
- protected:
197
- /*
198
- * Called immediatelly after `ShadowNode` is created or cloned.
199
- *
200
- * Override this method to pass information from custom `ComponentDescriptor`
201
- * to new instance of `ShadowNode`.
202
- *
203
- * Example usages:
204
- * - Inject image manager to `ImageShadowNode` in
205
- * `ImageComponentDescriptor`.
206
- * - Set `ShadowNode`'s size from state in
207
- * `ModalHostViewComponentDescriptor`.
208
- */
209
- virtual void adopt(ShadowNode::Unshared const &shadowNode) const {
210
- // Default implementation does nothing.
211
- react_native_assert(
212
- shadowNode->getComponentHandle() == getComponentHandle());
213
- }
214
- };
215
-
216
- } // namespace react
217
- } // namespace facebook
@@ -1,100 +0,0 @@
1
- /*
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- #pragma once
9
-
10
- #include <tuple>
11
-
12
- #include <folly/Hash.h>
13
- #include <react/renderer/graphics/Float.h>
14
- #include <react/renderer/graphics/Rect.h>
15
-
16
- namespace facebook {
17
- namespace react {
18
-
19
- /*
20
- * Generic data structure describes some values associated with *edges*
21
- * of a rectangle.
22
- */
23
- template <typename T>
24
- struct RectangleEdges {
25
- T left{};
26
- T top{};
27
- T right{};
28
- T bottom{};
29
-
30
- bool operator==(RectangleEdges<T> const &rhs) const noexcept {
31
- return std::tie(this->left, this->top, this->right, this->bottom) ==
32
- std::tie(rhs.left, rhs.top, rhs.right, rhs.bottom);
33
- }
34
-
35
- bool operator!=(RectangleEdges<T> const &rhs) const noexcept {
36
- return !(*this == rhs);
37
- }
38
-
39
- bool isUniform() const noexcept {
40
- return left == top && left == right && left == bottom;
41
- }
42
-
43
- static RectangleEdges<T> const ZERO;
44
- };
45
-
46
- template <typename T>
47
- RectangleEdges<T> const RectangleEdges<T>::ZERO = {};
48
-
49
- template <typename T>
50
- RectangleEdges<T> operator+(
51
- RectangleEdges<T> const &lhs,
52
- RectangleEdges<T> const &rhs) noexcept {
53
- return RectangleEdges<T>{
54
- lhs.left + rhs.left,
55
- lhs.top + rhs.top,
56
- lhs.right + rhs.right,
57
- lhs.bottom + rhs.bottom};
58
- }
59
-
60
- template <typename T>
61
- RectangleEdges<T> operator-(
62
- RectangleEdges<T> const &lhs,
63
- RectangleEdges<T> const &rhs) noexcept {
64
- return RectangleEdges<T>{
65
- lhs.left - rhs.left,
66
- lhs.top - rhs.top,
67
- lhs.right - rhs.right,
68
- lhs.bottom - rhs.bottom};
69
- }
70
-
71
- /*
72
- * EdgeInsets
73
- */
74
- using EdgeInsets = RectangleEdges<Float>;
75
-
76
- /*
77
- * Adjusts a rectangle by the given edge insets.
78
- */
79
- inline Rect insetBy(Rect const &rect, EdgeInsets const &insets) noexcept {
80
- return Rect{
81
- {rect.origin.x + insets.left, rect.origin.y + insets.top},
82
- {rect.size.width - insets.left - insets.right,
83
- rect.size.height - insets.top - insets.bottom}};
84
- }
85
-
86
- } // namespace react
87
- } // namespace facebook
88
-
89
- namespace std {
90
-
91
- template <typename T>
92
- struct hash<facebook::react::RectangleEdges<T>> {
93
- size_t operator()(
94
- facebook::react::RectangleEdges<T> const &edges) const noexcept {
95
- return folly::hash::hash_combine(
96
- 0, edges.left, edges.right, edges.top, edges.bottom);
97
- }
98
- };
99
-
100
- } // namespace std
@@ -1,149 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include <AsyncStorage/AsyncStorageManager.h>
5
-
6
- using namespace std;
7
- using namespace folly;
8
- using namespace facebook::xplat;
9
-
10
- namespace facebook {
11
- namespace react {
12
- const folly::dynamic noError;
13
- const std::vector<folly::dynamic> noErrorVector = {noError};
14
-
15
- AsyncStorageManager::AsyncStorageManager(const WCHAR *storageFileName)
16
- : m_aofKVStorage{make_unique<KeyValueStorage>(storageFileName)},
17
- m_stopConsumer{false},
18
- m_consumerTask{std::async(std::launch::async, &AsyncStorageManager::consumeSetRequest, this)} {}
19
-
20
- AsyncStorageManager::~AsyncStorageManager() {
21
- m_stopConsumer = true;
22
- m_storageQueueConditionVariable.notify_one();
23
- m_consumerTask.get();
24
- }
25
-
26
- void AsyncStorageManager::putRequestOnQueue(
27
- AsyncStorageOperation operation,
28
- const dynamic &args,
29
- const module::CxxModule::Callback &jsCallback) noexcept {
30
- std::unique_ptr<AsyncRequestQueueArguments> arguments =
31
- make_unique<AsyncRequestQueueArguments>(operation, std::move(args), std::move(jsCallback));
32
- {
33
- std::lock_guard<std::mutex> lockGuard(m_setQueueMutex);
34
- m_asyncQueue.push(std::move(arguments));
35
- }
36
-
37
- m_storageQueueConditionVariable.notify_one();
38
- }
39
-
40
- void AsyncStorageManager::consumeSetRequest() noexcept {
41
- while (!m_stopConsumer) {
42
- std::unique_lock<std::mutex> uniqueMutex(m_setQueueMutex);
43
- m_storageQueueConditionVariable.wait(uniqueMutex, [this] { return m_stopConsumer || !m_asyncQueue.empty(); });
44
-
45
- if (!m_asyncQueue.empty()) {
46
- std::unique_ptr<AsyncRequestQueueArguments> arguments = std::move(m_asyncQueue.front());
47
- m_asyncQueue.pop();
48
-
49
- uniqueMutex.unlock();
50
-
51
- executeAsyncKVOperation(arguments->m_operation, arguments->m_args, arguments->m_jsCallback);
52
- }
53
- }
54
- }
55
-
56
- folly::dynamic AsyncStorageManager::makeError(std::string &&strErrorMessage) noexcept {
57
- folly::dynamic error = folly::dynamic::object("message", strErrorMessage);
58
- return {error};
59
- }
60
-
61
- void AsyncStorageManager::executeKVOperation(
62
- AsyncStorageOperation operation,
63
- const dynamic &args,
64
- const module::CxxModule::Callback &jsCallback) noexcept {
65
- try {
66
- switch (operation) {
67
- case AsyncStorageOperation::multiGet:
68
- multiGetInternal(args, jsCallback);
69
- break;
70
-
71
- case AsyncStorageOperation::getAllKeys:
72
- getAllKeysInternal(args, jsCallback);
73
- break;
74
-
75
- default:
76
- putRequestOnQueue(operation, args, jsCallback);
77
- break;
78
- }
79
- } catch (std::exception &e) {
80
- jsCallback({makeError(e.what())});
81
- }
82
- }
83
-
84
- void AsyncStorageManager::executeAsyncKVOperation(
85
- AsyncStorageOperation operation,
86
- const dynamic &args,
87
- const module::CxxModule::Callback &jsCallback) noexcept {
88
- try {
89
- switch (operation) {
90
- case AsyncStorageOperation::multiSet:
91
- multiSetInternal(args, jsCallback);
92
- break;
93
-
94
- case AsyncStorageOperation::multiRemove:
95
- multiRemoveInternal(args, jsCallback);
96
- break;
97
-
98
- case AsyncStorageOperation::clear:
99
- clearInternal(args, jsCallback);
100
- break;
101
-
102
- case AsyncStorageOperation::multiMerge:
103
- multiMergeInternal(args, jsCallback);
104
- break;
105
-
106
- default:
107
- jsCallback({makeError("Invalid AsyncStorage operation")});
108
- break;
109
- }
110
- } catch (std::exception &e) {
111
- jsCallback({makeError(e.what())});
112
- }
113
- }
114
-
115
- void AsyncStorageManager::multiGetInternal(const dynamic &args, const module::CxxModule::Callback &jsCallback) {
116
- std::vector<std::tuple<std::string, std::string>> retVals =
117
- m_aofKVStorage->multiGet(FollyDynamicConverter::jsArgAsStringVector(args));
118
- folly::dynamic jsRetVal = FollyDynamicConverter::tupleStringVectorAsRetVal(retVals);
119
- jsCallback({noError, jsRetVal});
120
- }
121
-
122
- void AsyncStorageManager::multiSetInternal(const dynamic &args, const module::CxxModule::Callback &jsCallback) {
123
- m_aofKVStorage->multiSet(FollyDynamicConverter::jsArgAsTupleStringVector(args));
124
- jsCallback(noErrorVector);
125
- }
126
-
127
- void AsyncStorageManager::multiRemoveInternal(const dynamic &args, const module::CxxModule::Callback &jsCallback) {
128
- m_aofKVStorage->multiRemove(FollyDynamicConverter::jsArgAsStringVector(args));
129
- jsCallback(noErrorVector);
130
- }
131
-
132
- void AsyncStorageManager::clearInternal(const dynamic &args, const module::CxxModule::Callback &jsCallback) {
133
- UNREFERENCED_PARAMETER(args);
134
- m_aofKVStorage->clear();
135
- jsCallback(noErrorVector);
136
- }
137
-
138
- void AsyncStorageManager::multiMergeInternal(const dynamic &args, const module::CxxModule::Callback &jsCallback) {
139
- m_aofKVStorage->multiMerge(FollyDynamicConverter::jsArgAsTupleStringVector(args));
140
- jsCallback(noErrorVector);
141
- }
142
-
143
- void AsyncStorageManager::getAllKeysInternal(const dynamic &args, const module::CxxModule::Callback &jsCallback) {
144
- std::vector<std::string> keys = m_aofKVStorage->getAllKeys();
145
- folly::dynamic jsRetVal = FollyDynamicConverter::stringVectorAsRetVal(keys);
146
- jsCallback({noError, jsRetVal});
147
- }
148
- } // namespace react
149
- } // namespace facebook
@@ -1,71 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <AsyncStorage/FollyDynamicConverter.h>
7
- #include <AsyncStorage/KeyValueStorage.h>
8
- #include <cxxreact/CxxModule.h>
9
- #include <folly/dynamic.h>
10
-
11
- #include <condition_variable>
12
- #include <future>
13
- #include <queue>
14
-
15
- namespace facebook {
16
- namespace react {
17
- class AsyncStorageManager {
18
- public:
19
- AsyncStorageManager(const WCHAR *storageFileName);
20
- ~AsyncStorageManager();
21
-
22
- enum class AsyncStorageOperation { multiGet, multiSet, multiRemove, clear, multiMerge, getAllKeys };
23
- void executeKVOperation(
24
- AsyncStorageOperation operation,
25
- const folly::dynamic &args,
26
- const xplat::module::CxxModule::Callback &jsCallback) noexcept;
27
-
28
- private:
29
- struct AsyncRequestQueueArguments {
30
- AsyncRequestQueueArguments(
31
- AsyncStorageOperation paramOperation,
32
- const folly::dynamic &&paramArgs,
33
- const xplat::module::CxxModule::Callback &&paramJsCallback) noexcept
34
- : m_operation(paramOperation), m_args(std::move(paramArgs)), m_jsCallback(std::move(paramJsCallback)) {}
35
-
36
- AsyncStorageOperation m_operation;
37
- folly::dynamic m_args;
38
- xplat::module::CxxModule::Callback m_jsCallback;
39
- };
40
-
41
- private:
42
- std::atomic_bool m_stopConsumer;
43
- std::mutex m_setQueueMutex;
44
- std::condition_variable m_storageQueueConditionVariable;
45
- std::future<void> m_consumerTask;
46
- std::queue<std::unique_ptr<AsyncStorageManager::AsyncRequestQueueArguments>> m_asyncQueue;
47
- std::unique_ptr<KeyValueStorage> m_aofKVStorage;
48
-
49
- private:
50
- folly::dynamic makeError(std::string &&strErrorMessage) noexcept;
51
-
52
- void executeAsyncKVOperation(
53
- AsyncStorageOperation operation,
54
- const folly::dynamic &args,
55
- const xplat::module::CxxModule::Callback &jsCallback) noexcept;
56
-
57
- void consumeSetRequest() noexcept;
58
- void putRequestOnQueue(
59
- AsyncStorageOperation operation,
60
- const folly::dynamic &args,
61
- const xplat::module::CxxModule::Callback &jsCallback) noexcept;
62
-
63
- void multiGetInternal(const folly::dynamic &args, const xplat::module::CxxModule::Callback &jsCallback);
64
- void multiSetInternal(const folly::dynamic &args, const xplat::module::CxxModule::Callback &jsCallback);
65
- void multiRemoveInternal(const folly::dynamic &args, const xplat::module::CxxModule::Callback &jsCallback);
66
- void clearInternal(const folly::dynamic &args, const xplat::module::CxxModule::Callback &jsCallback);
67
- void multiMergeInternal(const folly::dynamic &args, const xplat::module::CxxModule::Callback &jsCallback);
68
- void getAllKeysInternal(const folly::dynamic &args, const xplat::module::CxxModule::Callback &jsCallback);
69
- };
70
- } // namespace react
71
- } // namespace facebook