react-native-windows 0.68.3 → 0.69.0-preview.1

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 (378) hide show
  1. package/.flowconfig +1 -3
  2. package/Chakra/ChakraHelpers.cpp +0 -1
  3. package/Directory.Build.props +3 -0
  4. package/Directory.Build.targets +1 -1
  5. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1411 -0
  6. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +336 -0
  7. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
  8. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
  9. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  10. package/Libraries/Alert/Alert.windows.js +2 -2
  11. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  12. package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
  13. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  14. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  15. package/Libraries/Animated/animations/TimingAnimation.js +6 -11
  16. package/Libraries/Animated/createAnimatedComponent.js +2 -2
  17. package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
  19. package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
  20. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  21. package/Libraries/AppState/AppState.js +1 -1
  22. package/Libraries/Blob/URL.js +7 -1
  23. package/Libraries/Components/Button.js +3 -0
  24. package/Libraries/Components/Button.windows.js +4 -0
  25. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
  26. package/Libraries/Components/Pressable/Pressable.js +3 -3
  27. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  28. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
  29. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
  30. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  31. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
  32. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
  33. package/Libraries/Components/Slider/Slider.js +0 -2
  34. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
  35. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  36. package/Libraries/Components/Switch/Switch.js +11 -1
  37. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
  38. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
  39. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
  40. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  41. package/Libraries/Components/TextInput/TextInput.js +1 -8
  42. package/Libraries/Components/TextInput/TextInput.windows.js +4 -9
  43. package/Libraries/Components/TextInput/TextInputState.js +10 -2
  44. package/Libraries/Components/TextInput/TextInputState.windows.js +10 -3
  45. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
  47. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
  48. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -5
  49. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  50. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
  51. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  52. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
  53. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -0
  54. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  55. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  56. package/Libraries/Components/View/View.windows.js +33 -1
  57. package/Libraries/Components/View/ViewNativeComponent.js +68 -8
  58. package/Libraries/Components/View/ViewPropTypes.js +36 -4
  59. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -4
  60. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  61. package/Libraries/Core/ExceptionsManager.js +1 -1
  62. package/Libraries/Core/RawEventEmitter.js +38 -0
  63. package/Libraries/Core/ReactNativeVersion.js +2 -2
  64. package/Libraries/Core/polyfillPromise.js +32 -0
  65. package/Libraries/Core/setUpReactDevTools.js +3 -2
  66. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  67. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  68. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
  69. package/Libraries/Events/CustomEvent.js +32 -0
  70. package/Libraries/Events/EventPolyfill.js +239 -0
  71. package/Libraries/Image/Image.android.js +0 -6
  72. package/Libraries/Image/Image.ios.js +0 -6
  73. package/Libraries/Image/Image.windows.js +2 -8
  74. package/Libraries/Image/ImageViewNativeComponent.js +18 -3
  75. package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
  76. package/Libraries/Inspector/Inspector.js +2 -4
  77. package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
  78. package/Libraries/Interaction/InteractionManager.js +1 -12
  79. package/Libraries/Interaction/TaskQueue.js +5 -4
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
  81. package/Libraries/Linking/Linking.js +1 -1
  82. package/Libraries/Lists/FlatList.js +27 -6
  83. package/Libraries/Lists/VirtualizedList.js +71 -55
  84. package/Libraries/Lists/VirtualizedListContext.js +7 -3
  85. package/Libraries/Lists/VirtualizedSectionList.js +2 -2
  86. package/Libraries/Lists/__tests__/{FillRateHelper-test.windows.js → FillRateHelper-test.js} +2 -2
  87. package/Libraries/Lists/__tests__/{FlatList-test.windows.js → FlatList-test.js} +2 -2
  88. package/Libraries/Lists/__tests__/{SectionList-test.windows.js → SectionList-test.js} +14 -14
  89. package/Libraries/Lists/__tests__/{VirtualizeUtils-test.windows.js → VirtualizeUtils-test.js} +3 -3
  90. package/Libraries/Lists/__tests__/{VirtualizedList-test.windows.js → VirtualizedList-test.js} +91 -42
  91. package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.windows.js → VirtualizedSectionList-test.js} +13 -13
  92. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  93. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  94. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  95. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  96. package/Libraries/LogBox/LogBox.js +2 -21
  97. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
  98. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
  99. package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
  100. package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
  101. package/Libraries/NativeComponent/BaseViewConfig.windows.js +334 -0
  102. package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
  103. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
  104. package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
  105. package/Libraries/NativeComponent/ViewConfig.js +4 -4
  106. package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
  107. package/Libraries/Network/FormData.js +7 -1
  108. package/Libraries/Pressability/Pressability.js +115 -46
  109. package/Libraries/Pressability/Pressability.windows.js +190 -74
  110. package/Libraries/Pressability/PressabilityDebug.js +5 -9
  111. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  112. package/Libraries/ReactNative/AppContainer.js +1 -1
  113. package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
  114. package/Libraries/ReactNative/PaperUIManager.windows.js +5 -5
  115. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
  116. package/Libraries/ReactNative/UIManager.js +2 -3
  117. package/Libraries/ReactNative/renderApplication.js +4 -0
  118. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
  120. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
  121. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
  123. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
  124. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
  125. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  126. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
  127. package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
  128. package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
  129. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  130. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  131. package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
  132. package/Libraries/StyleSheet/processTransform.windows.js +272 -0
  133. package/Libraries/Text/Text.js +13 -7
  134. package/Libraries/Text/Text.windows.js +16 -7
  135. package/Libraries/Text/TextNativeComponent.js +2 -0
  136. package/Libraries/Text/TextProps.js +10 -0
  137. package/Libraries/Types/CoreEventTypes.js +13 -1
  138. package/Libraries/Types/CoreEventTypes.windows.js +26 -1
  139. package/Libraries/Utilities/Appearance.js +0 -8
  140. package/Libraries/Utilities/HMRClient.js +1 -1
  141. package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
  142. package/Libraries/Utilities/codegenNativeComponent.js +17 -6
  143. package/Libraries/Utilities/stringifySafe.js +4 -1
  144. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
  145. package/Libraries/WebSocket/WebSocket.js +1 -1
  146. package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
  147. package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
  148. package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
  149. package/Microsoft.ReactNative/DynamicReader.cpp +3 -3
  150. package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -0
  151. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +36 -2
  152. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.h +1 -0
  153. package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
  154. package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
  155. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -19
  156. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  157. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +36 -10
  158. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +2 -0
  159. package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +107 -0
  160. package/Microsoft.ReactNative/Fabric/SliderComponentView.h +51 -0
  161. package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +109 -0
  162. package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +52 -0
  163. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +197 -0
  164. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +308 -0
  165. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +52 -0
  166. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.cpp +31 -0
  167. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.h +33 -0
  168. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.cpp +81 -0
  169. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.h +132 -0
  170. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.cpp +193 -0
  171. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.h +85 -0
  172. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.cpp +76 -0
  173. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.h +99 -0
  174. package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +35 -3
  175. package/Microsoft.ReactNative/Fabric/ViewComponentView.h +1 -0
  176. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +5 -0
  177. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +5 -0
  178. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +46 -0
  179. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +30 -0
  180. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +2 -0
  181. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -9
  182. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -1
  183. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +119 -57
  184. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -1
  185. package/Microsoft.ReactNative/IViewManager.idl +3 -3
  186. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -107
  187. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +2 -2
  188. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -0
  189. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -0
  190. package/Microsoft.ReactNative/Modules/CreateModules.cpp +3 -3
  191. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -5
  192. package/Microsoft.ReactNative/Modules/TimingModule.cpp +2 -2
  193. package/Microsoft.ReactNative/Modules/TimingModule.h +2 -2
  194. package/Microsoft.ReactNative/ReactHost/{ReactContext.cpp → MsoReactContext.cpp} +1 -1
  195. package/Microsoft.ReactNative/ReactHost/{ReactContext.h → MsoReactContext.h} +0 -0
  196. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +14 -1
  197. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  198. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
  199. package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
  200. package/Microsoft.ReactNative/RedBox.cpp +3 -2
  201. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +3 -2
  202. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +32 -0
  203. package/Microsoft.ReactNative/Views/ControlViewManager.h +11 -0
  204. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -2
  205. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +13 -2
  206. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +149 -22
  207. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  208. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +5 -11
  209. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +2 -1
  210. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +12 -4
  211. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
  212. package/Microsoft.ReactNative/Views/TextViewManager.cpp +2 -2
  213. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +163 -37
  214. package/Microsoft.ReactNative/Views/TouchEventHandler.h +11 -4
  215. package/Microsoft.ReactNative/Views/ViewPanel.cpp +3 -23
  216. package/Microsoft.ReactNative/Views/ViewPanel.h +2 -3
  217. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +21 -0
  218. package/Microsoft.ReactNative/XamlUIService.cpp +1 -1
  219. package/Microsoft.ReactNative/XamlView.h +8 -3
  220. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
  221. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  222. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +11 -2
  223. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -0
  224. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -1
  225. package/Microsoft.ReactNative.Cxx/JSValueReader.h +2 -2
  226. package/Microsoft.ReactNative.Cxx/JSValueWriter.h +5 -5
  227. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -1
  228. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +2 -3
  229. package/Microsoft.ReactNative.Cxx/NativeModules.h +1 -1
  230. package/Microsoft.ReactNative.Cxx/ReactContext.h +3 -3
  231. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +3 -3
  232. package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
  233. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -6
  234. package/Mso/activeObject/activeObject.h +2 -2
  235. package/Mso/compilerAdapters/cppMacros.h +3 -5
  236. package/Mso/errorCode/errorProvider.h +2 -2
  237. package/Mso/errorCode/maybe.h +4 -4
  238. package/Mso/functional/functor.h +6 -6
  239. package/Mso/functional/functorRef.h +2 -2
  240. package/Mso/future/details/executor.h +2 -2
  241. package/Mso/future/details/futureFuncInl.h +4 -4
  242. package/Mso/future/details/ifuture.h +3 -3
  243. package/Mso/future/details/maybeInvoker.h +6 -6
  244. package/Mso/future/details/promiseGroupInl.h +4 -4
  245. package/Mso/future/details/promiseInl.h +4 -4
  246. package/Mso/future/details/resultTraits.h +4 -4
  247. package/Mso/future/details/whenAllInl.h +1 -1
  248. package/Mso/future/future.h +13 -13
  249. package/Mso/guid/msoGuidDetails.h +1 -1
  250. package/Mso/memoryApi/memoryApi.h +13 -7
  251. package/Mso/motifCpp/gTestAdapter.h +1 -1
  252. package/Mso/motifCpp/testInfo.h +7 -9
  253. package/Mso/object/make.h +8 -8
  254. package/Mso/object/objectRefCount.h +3 -5
  255. package/Mso/object/objectWithWeakRef.h +10 -14
  256. package/Mso/object/queryCast.h +4 -4
  257. package/Mso/object/refCountedObject.h +4 -4
  258. package/Mso/object/unknownObject.h +7 -7
  259. package/Mso/platformAdapters/windowsFirst.h +1 -1
  260. package/Mso/smartPtr/cntPtr.h +8 -8
  261. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -2
  262. package/Mso/src/future/futureImpl.h +1 -1
  263. package/Mso/src/memoryApi/memoryApi.cpp +4 -4
  264. package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
  265. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +26 -0
  266. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.Common.props +12 -0
  267. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  268. package/PropertySheets/React.Cpp.props +13 -0
  269. package/PropertySheets/WinUI.props +3 -6
  270. package/ReactCommon/ReactCommon.vcxproj +2 -4
  271. package/ReactCommon/ReactCommon.vcxproj.filters +4 -1
  272. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/JSCRuntime.cpp +1480 -0
  273. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/decorator.h +753 -0
  274. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/jsi.h +1331 -0
  275. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1431 -0
  276. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
  277. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +87 -0
  278. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +61 -0
  279. package/ReactCommon/Yoga.cpp +1 -1
  280. package/Scripts/{Microsoft.ReactNative.ProjectReunion.nuspec → Microsoft.ReactNative.WindowsAppSDK.nuspec} +7 -9
  281. package/Scripts/OfficeReact.Win32.nuspec +1 -3
  282. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -1
  283. package/Scripts/copyRNLibraries.js +8 -8
  284. package/Scripts/just.js +1 -1
  285. package/Scripts/rnw-dependencies.ps1 +41 -10
  286. package/Scripts/run-desktop-integration-tests.js +6 -6
  287. package/Shared/AbiSafe.h +3 -3
  288. package/Shared/BaseScriptStoreImpl.cpp +1 -1
  289. package/Shared/CppRuntimeOptions.h +50 -0
  290. package/Shared/DevSupportManager.cpp +32 -36
  291. package/Shared/DevSupportManager.h +1 -2
  292. package/Shared/HermesRuntimeHolder.cpp +23 -14
  293. package/Shared/HermesRuntimeHolder.h +8 -2
  294. package/Shared/IDevSupportManager.h +1 -2
  295. package/Shared/InspectorPackagerConnection.cpp +7 -5
  296. package/Shared/InspectorPackagerConnection.h +2 -2
  297. package/Shared/JSI/ChakraApi.cpp +0 -1
  298. package/Shared/JSI/ChakraRuntime.cpp +1 -2
  299. package/Shared/JSI/RuntimeHolder.h +2 -0
  300. package/Shared/Modules/HttpModule.cpp +1 -1
  301. package/Shared/Modules/HttpModule.h +2 -2
  302. package/Shared/Modules/WebSocketModule.cpp +1 -1
  303. package/Shared/Modules/WebSocketModule.h +8 -5
  304. package/Shared/{IHttpResource.h → Networking/IHttpResource.h} +4 -4
  305. package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +2 -2
  306. package/Shared/Networking/OriginPolicy.h +15 -0
  307. package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
  308. package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
  309. package/Shared/{WinRTHttpResource.cpp → Networking/WinRTHttpResource.cpp} +129 -99
  310. package/Shared/{WinRTHttpResource.h → Networking/WinRTHttpResource.h} +8 -12
  311. package/Shared/Networking/WinRTTypes.h +30 -0
  312. package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +2 -2
  313. package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
  314. package/Shared/OInstance.cpp +5 -5
  315. package/Shared/RuntimeOptions.cpp +93 -15
  316. package/Shared/RuntimeOptions.h +22 -9
  317. package/Shared/Shared.vcxitems +122 -7
  318. package/Shared/Shared.vcxitems.filters +40 -21
  319. package/Shared/Threading/BatchingQueueThread.cpp +1 -1
  320. package/Shared/tracing/fbsystrace.h +2 -2
  321. package/codegen/NativeActionSheetManagerSpec.g.h +6 -0
  322. package/codegen/NativeAnimatedModuleSpec.g.h +43 -37
  323. package/codegen/NativeAnimatedTurboModuleSpec.g.h +43 -37
  324. package/codegen/NativePushNotificationManagerIOSSpec.g.h +2 -0
  325. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  326. package/codegen/react/components/rnwcore/EventEmitters.cpp +133 -0
  327. package/codegen/react/components/rnwcore/EventEmitters.h +0 -18
  328. package/codegen/react/components/rnwcore/Props.cpp +0 -13
  329. package/codegen/react/components/rnwcore/Props.h +0 -16
  330. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  331. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -10
  332. package/include/Shared/cdebug.h +9 -9
  333. package/index.js +30 -25
  334. package/index.windows.js +30 -25
  335. package/jest/preprocessor.js +24 -107
  336. package/jest/preprocessor_DO_NOT_USE.js +122 -0
  337. package/metro.config.js +3 -70
  338. package/package.json +29 -28
  339. package/react-native.config.js +40 -6
  340. package/rntypes/index.d.ts +19 -7
  341. package/stubs/glog/logging.h +1 -1
  342. package/template/cpp-app/src/App.h +0 -4
  343. package/template/cs-app/src/App.xaml.cs +0 -5
  344. package/template/cs-app/src/MainPage.xaml.cs +1 -10
  345. package/template/cs-app-WinAppSDK/MyApp/App.xaml +16 -0
  346. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +70 -0
  347. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +14 -0
  348. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +38 -0
  349. package/template/cs-app-WinAppSDK/MyApp/Package.appxmanifest +48 -0
  350. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +19 -0
  351. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +19 -0
  352. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +19 -0
  353. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +10 -0
  354. package/template/cs-app-WinAppSDK/MyApp/app.manifest +15 -0
  355. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +23 -0
  356. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +49 -0
  357. package/template/cs-app-WinAppSDK/proj/MyApp.sln +43 -0
  358. package/template/cs-app-WinAppSDK/proj/NuGet.Config +17 -0
  359. package/template/metro.devMode.config.js +2 -51
  360. package/typings-index.js +5 -1
  361. package/typings-index.js.map +1 -1
  362. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
  363. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
  364. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  365. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -45
  366. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
  367. package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -390
  368. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  369. package/Libraries/ReactNative/UIManagerInjection.js +0 -15
  370. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
  371. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
  372. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
  373. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
  374. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
  375. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
  376. package/PropertySheets/CppEnablePackageReferences.props +0 -13
  377. package/Shared/cdebug.cpp +0 -6
  378. package/include/Shared/ViewManager.h +0 -34
@@ -28,7 +28,7 @@ class ErrorProvider final : public IErrorProvider {
28
28
  ErrorCode MakeErrorCode(const T &errorInfo) const noexcept;
29
29
 
30
30
  template <class TValue, class... TArgs>
31
- Maybe<TValue> MakeMaybe(TArgs &&... errorArgs) const noexcept;
31
+ Maybe<TValue> MakeMaybe(TArgs &&...errorArgs) const noexcept;
32
32
 
33
33
  // TODO: deprecate this method in favor of TryGetErrorInfo
34
34
  bool IsOwnedErrorCode(const ErrorCode &errorCode) const noexcept;
@@ -87,7 +87,7 @@ ErrorCode ErrorProvider<T, GuidToken>::MakeErrorCode(const T &errorInfo) const n
87
87
 
88
88
  template <class T, class GuidToken>
89
89
  template <class TValue, class... TArgs>
90
- Maybe<TValue> ErrorProvider<T, GuidToken>::MakeMaybe(TArgs &&... errorArgs) const noexcept {
90
+ Maybe<TValue> ErrorProvider<T, GuidToken>::MakeMaybe(TArgs &&...errorArgs) const noexcept {
91
91
  return Mso::Maybe<TValue>(MakeErrorCode(T(std::forward<TArgs>(errorArgs)...)));
92
92
  }
93
93
 
@@ -46,14 +46,14 @@ class Maybe {
46
46
  _Allow_implicit_ctor_ Maybe(T &&value) noexcept;
47
47
 
48
48
  template <class... TArgs>
49
- explicit Maybe(InPlaceTag, TArgs &&... args) noexcept;
49
+ explicit Maybe(InPlaceTag, TArgs &&...args) noexcept;
50
50
 
51
51
  template <
52
52
  class TItem,
53
53
  class... TArgs,
54
54
  class TDummy =
55
55
  typename std::enable_if<std::is_constructible<T, std::initializer_list<TItem> &, TArgs &&...>::value>::type>
56
- explicit Maybe(InPlaceTag, std::initializer_list<TItem> il, TArgs &&... args) noexcept;
56
+ explicit Maybe(InPlaceTag, std::initializer_list<TItem> il, TArgs &&...args) noexcept;
57
57
 
58
58
  _Allow_implicit_ctor_ Maybe(const ErrorCode &error) noexcept;
59
59
  _Allow_implicit_ctor_ Maybe(ErrorCode &&error) noexcept;
@@ -163,13 +163,13 @@ Maybe<T>::Maybe(T &&value) noexcept {
163
163
 
164
164
  template <class T>
165
165
  template <class... TArgs>
166
- Maybe<T>::Maybe(InPlaceTag, TArgs &&... args) noexcept {
166
+ Maybe<T>::Maybe(InPlaceTag, TArgs &&...args) noexcept {
167
167
  ::new (reinterpret_cast<T *>(&reinterpret_cast<char &>(m_value))) T(std::forward<TArgs>(args)...);
168
168
  }
169
169
 
170
170
  template <class T>
171
171
  template <class TItem, class... TArgs, class TDummy>
172
- Maybe<T>::Maybe(InPlaceTag, std::initializer_list<TItem> il, TArgs &&... args) noexcept {
172
+ Maybe<T>::Maybe(InPlaceTag, std::initializer_list<TItem> il, TArgs &&...args) noexcept {
173
173
  ::new (reinterpret_cast<T *>(&reinterpret_cast<char &>(m_value))) T(il, std::forward<TArgs>(args)...);
174
174
  }
175
175
 
@@ -161,7 +161,7 @@ class FunctionObjectWrapper final
161
161
  template <typename T>
162
162
  FunctionObjectWrapper(T &&func) noexcept : m_func(std::forward<T>(func)) {}
163
163
 
164
- virtual TResult Invoke(TArgs &&... args) noexcept override {
164
+ virtual TResult Invoke(TArgs &&...args) noexcept override {
165
165
  return m_func(std::forward<TArgs>(args)...);
166
166
  }
167
167
 
@@ -180,7 +180,7 @@ class FunctionObjectWrapperThrow final
180
180
  template <typename T>
181
181
  FunctionObjectWrapperThrow(T &&func) noexcept : m_func(std::forward<T>(func)) {}
182
182
 
183
- virtual TResult Invoke(TArgs &&... args) override {
183
+ virtual TResult Invoke(TArgs &&...args) override {
184
184
  return m_func(std::forward<TArgs>(args)...);
185
185
  }
186
186
 
@@ -199,7 +199,7 @@ class FunctionPointerWrapper final : public ConstexprFunctorBase<Mso::IFunctor<T
199
199
  public:
200
200
  constexpr FunctionPointerWrapper(TFunc func) noexcept : m_func(func) {}
201
201
 
202
- TResult Invoke(TArgs &&... args) noexcept override {
202
+ TResult Invoke(TArgs &&...args) noexcept override {
203
203
  return (*m_func)(std::forward<TArgs>(args)...);
204
204
  }
205
205
 
@@ -216,7 +216,7 @@ class FunctionPointerWrapperThrow final : public ConstexprFunctorBase<Mso::IFunc
216
216
  public:
217
217
  constexpr FunctionPointerWrapperThrow(TFunc func) noexcept : m_func(func) {}
218
218
 
219
- TResult Invoke(TArgs &&... args) override {
219
+ TResult Invoke(TArgs &&...args) override {
220
220
  return (*m_func)(std::forward<TArgs>(args)...);
221
221
  }
222
222
 
@@ -234,7 +234,7 @@ class StatelessFunctorWrapper final : public ConstexprFunctorBase<Mso::IFunctor<
234
234
  public:
235
235
  constexpr StatelessFunctorWrapper(TFunc &func) noexcept : m_func(func) {}
236
236
 
237
- TResult Invoke(TArgs &&... args) noexcept override {
237
+ TResult Invoke(TArgs &&...args) noexcept override {
238
238
  return m_func(std::forward<TArgs>(args)...);
239
239
  }
240
240
 
@@ -248,7 +248,7 @@ class StatelessFunctorWrapperThrow final : public ConstexprFunctorBase<Mso::IFun
248
248
  public:
249
249
  constexpr StatelessFunctorWrapperThrow(TFunc &func) noexcept : m_func(func) {}
250
250
 
251
- TResult Invoke(TArgs &&... args) override {
251
+ TResult Invoke(TArgs &&...args) override {
252
252
  return m_func(std::forward<TArgs>(args)...);
253
253
  }
254
254
 
@@ -178,7 +178,7 @@ class FunctorRef<TResult(TArgs...)>
178
178
  FunctorRefWrapper &operator=(FunctorRefWrapper const &) = delete;
179
179
  ~FunctorRefWrapper() = delete;
180
180
 
181
- TResult Invoke(TArgs &&... args) const noexcept override {
181
+ TResult Invoke(TArgs &&...args) const noexcept override {
182
182
  // If you see OACR warning "Nothrow Func Throws" here then it means that the
183
183
  // provided lambda or function object's operator() are not marked as noexcept.
184
184
 
@@ -269,7 +269,7 @@ class FunctorRefThrow<TResult(TArgs...)> final {
269
269
  FunctorRefThrowWrapper &operator=(FunctorRefThrowWrapper const &) = delete;
270
270
  ~FunctorRefThrowWrapper() = delete;
271
271
 
272
- TResult Invoke(TArgs &&... args) const override {
272
+ TResult Invoke(TArgs &&...args) const override {
273
273
  OACR_POSSIBLE_THROW;
274
274
  // We use const_cast to enable support for mutable lambdas
275
275
  return (*const_cast<FunctorRefThrowWrapper *>(this)->m_func)(std::forward<TArgs>(args)...);
@@ -197,7 +197,7 @@ namespace Internal {
197
197
 
198
198
  struct ExecutorInvoker {
199
199
  template <class TCallback, class... TArgs>
200
- auto Invoke(TCallback &&callback, TArgs &&... args) noexcept -> decltype(callback(std::forward<TArgs>(args)...)) {
200
+ auto Invoke(TCallback &&callback, TArgs &&...args) noexcept -> decltype(callback(std::forward<TArgs>(args)...)) {
201
201
  UNREFERENCED_OACR(this);
202
202
  static_assert(noexcept(callback(std::forward<TArgs>(args)...)), "Callback must not throw.");
203
203
  return callback(std::forward<TArgs>(args)...);
@@ -209,7 +209,7 @@ struct ThrowingExecutor : TBaseExecutor {
209
209
  using TBaseExecutor::TBaseExecutor;
210
210
 
211
211
  template <class TCallback, class... TArgs>
212
- auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
212
+ auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
213
213
  using TResult = decltype(callback(std::forward<TArgs>(args)...));
214
214
  constexpr const bool isNoExcept = noexcept(callback(std::forward<TArgs>(args)...));
215
215
  return Mso::Futures::MaybeInvoker<TResult, isNoExcept>::Invoke(
@@ -32,14 +32,14 @@ inline Future<void> MakeCompletedFuture() noexcept {
32
32
  }
33
33
 
34
34
  template <class T, class... TArgs>
35
- inline Future<T> MakeCompletedFutureEmplaced(TArgs &&... args) noexcept {
35
+ inline Future<T> MakeCompletedFutureEmplaced(TArgs &&...args) noexcept {
36
36
  Promise<T> promise;
37
37
  promise.EmplaceValue(std::forward<TArgs>(args)...);
38
38
  return promise.AsFuture();
39
39
  }
40
40
 
41
41
  template <class T, class U, class... TArgs>
42
- inline Future<T> MakeCompletedFutureEmplaced(std::initializer_list<U> il, TArgs &&... args) noexcept {
42
+ inline Future<T> MakeCompletedFutureEmplaced(std::initializer_list<U> il, TArgs &&...args) noexcept {
43
43
  Promise<T> promise;
44
44
  promise.EmplaceValue(il, std::forward<TArgs>(args)...);
45
45
  return promise.AsFuture();
@@ -59,14 +59,14 @@ inline Future<void> MakeSucceededFuture() noexcept {
59
59
  }
60
60
 
61
61
  template <class T, class... TArgs>
62
- inline Future<T> MakeSucceededFutureEmplaced(TArgs &&... args) noexcept {
62
+ inline Future<T> MakeSucceededFutureEmplaced(TArgs &&...args) noexcept {
63
63
  Promise<T> promise;
64
64
  promise.EmplaceValue(std::forward<TArgs>(args)...);
65
65
  return promise.AsFuture();
66
66
  }
67
67
 
68
68
  template <class T, class U, class... TArgs>
69
- inline Future<T> MakeSucceededFutureEmplaced(std::initializer_list<U> il, TArgs &&... args) noexcept {
69
+ inline Future<T> MakeSucceededFutureEmplaced(std::initializer_list<U> il, TArgs &&...args) noexcept {
70
70
  Promise<T> promise;
71
71
  promise.EmplaceValue(il, std::forward<TArgs>(args)...);
72
72
  return promise.AsFuture();
@@ -70,7 +70,7 @@ struct IFuture : IUnknown {
70
70
  virtual void AddContinuation(Mso::CntPtr<IFuture> &&continuation) noexcept = 0;
71
71
 
72
72
  _Success_(
73
- return ) virtual bool TryStartSetValue(_Out_ ByteArrayView &valueBuffer, bool crashIfFailed = false) noexcept = 0;
73
+ return) virtual bool TryStartSetValue(_Out_ ByteArrayView &valueBuffer, bool crashIfFailed = false) noexcept = 0;
74
74
  virtual void Post() noexcept = 0;
75
75
  virtual void StartAwaiting() noexcept = 0;
76
76
  virtual bool TrySetSuccess(bool crashIfFailed = false) noexcept = 0;
@@ -81,7 +81,7 @@ struct IFuture : IUnknown {
81
81
  virtual bool IsFailed() const noexcept = 0;
82
82
 
83
83
  template <class T, class... TArgs>
84
- void SetValue(TArgs &&... args) noexcept {
84
+ void SetValue(TArgs &&...args) noexcept {
85
85
  ByteArrayView valueBuffer;
86
86
  (void)TryStartSetValue(/*ref*/ valueBuffer, /*crashIfFailed:*/ true);
87
87
  ::new (valueBuffer.VoidDataChecked(sizeof(T))) T(std::forward<TArgs>(args)...);
@@ -89,7 +89,7 @@ struct IFuture : IUnknown {
89
89
  }
90
90
 
91
91
  template <class T, class... TArgs>
92
- bool TrySetValue(TArgs &&... args) noexcept {
92
+ bool TrySetValue(TArgs &&...args) noexcept {
93
93
  ByteArrayView valueBuffer;
94
94
  if (TryStartSetValue(/*ref*/ valueBuffer)) {
95
95
  ::new (valueBuffer.VoidDataChecked(sizeof(T))) T(std::forward<TArgs>(args)...);
@@ -15,7 +15,7 @@ namespace Mso::Futures {
15
15
  template <class TResult, bool isNoExcept>
16
16
  struct MaybeInvoker {
17
17
  template <class TCallback, class... TArgs>
18
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
18
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
19
19
  OACR_WARNING_SUPPRESS(UNNECESSARY_TRY_CATCH, "Here we only execute lambdas that have no noexcept");
20
20
  try {
21
21
  return Mso::Maybe<TResult>(callback(std::forward<TArgs>(args)...));
@@ -29,7 +29,7 @@ struct MaybeInvoker {
29
29
  template <class TResult>
30
30
  struct MaybeInvoker<TResult, /*isNoExcept:*/ true> {
31
31
  template <class TCallback, class... TArgs>
32
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
32
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
33
33
  return Mso::Maybe<TResult>(callback(std::forward<TArgs>(args)...));
34
34
  }
35
35
  };
@@ -38,7 +38,7 @@ struct MaybeInvoker<TResult, /*isNoExcept:*/ true> {
38
38
  template <>
39
39
  struct MaybeInvoker<void, /*isNoExcept:*/ false> {
40
40
  template <class TCallback, class... TArgs>
41
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
41
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
42
42
  OACR_WARNING_SUPPRESS(UNNECESSARY_TRY_CATCH, "Here we only execute lambdas that have no noexcept");
43
43
  try {
44
44
  callback(std::forward<TArgs>(args)...);
@@ -53,7 +53,7 @@ struct MaybeInvoker<void, /*isNoExcept:*/ false> {
53
53
  template <>
54
54
  struct MaybeInvoker<void, /*isNoExcept:*/ true> {
55
55
  template <class TCallback, class... TArgs>
56
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
56
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
57
57
  callback(std::forward<TArgs>(args)...);
58
58
  return Mso::Maybe<void>();
59
59
  }
@@ -63,7 +63,7 @@ struct MaybeInvoker<void, /*isNoExcept:*/ true> {
63
63
  template <class T>
64
64
  struct MaybeInvoker<Mso::Maybe<T>, /*isNoExcept:*/ false> {
65
65
  template <class TCallback, class... TArgs>
66
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
66
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
67
67
  OACR_WARNING_SUPPRESS(UNNECESSARY_TRY_CATCH, "Here we only execute lambdas that have no noexcept");
68
68
  try {
69
69
  return callback(std::forward<TArgs>(args)...);
@@ -77,7 +77,7 @@ struct MaybeInvoker<Mso::Maybe<T>, /*isNoExcept:*/ false> {
77
77
  template <class T>
78
78
  struct MaybeInvoker<Mso::Maybe<T>, /*isNoExcept:*/ true> {
79
79
  template <class TCallback, class... TArgs>
80
- static auto Invoke(TCallback &&callback, TArgs &&... args) noexcept {
80
+ static auto Invoke(TCallback &&callback, TArgs &&...args) noexcept {
81
81
  return callback(std::forward<TArgs>(args)...);
82
82
  }
83
83
  };
@@ -103,28 +103,28 @@ inline bool PromiseGroup<T>::TrySetValue(T &&value) const noexcept {
103
103
 
104
104
  template <class T>
105
105
  template <class... TArgs>
106
- inline void PromiseGroup<T>::EmplaceValue(TArgs &&... args) const noexcept {
106
+ inline void PromiseGroup<T>::EmplaceValue(TArgs &&...args) const noexcept {
107
107
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40b /* tag_bunql */);
108
108
  m_state->SetValue<T>(std::forward<TArgs>(args)...);
109
109
  }
110
110
 
111
111
  template <class T>
112
112
  template <class TArg, class... TArgs>
113
- inline void PromiseGroup<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
113
+ inline void PromiseGroup<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
114
114
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40c /* tag_bunqm */);
115
115
  m_state->SetValue<T>(init, std::forward<TArgs>(args)...);
116
116
  }
117
117
 
118
118
  template <class T>
119
119
  template <class... TArgs>
120
- inline bool PromiseGroup<T>::TryEmplaceValue(TArgs &&... args) const noexcept {
120
+ inline bool PromiseGroup<T>::TryEmplaceValue(TArgs &&...args) const noexcept {
121
121
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40d /* tag_bunqn */);
122
122
  return m_state->TrySetValue<T>(std::forward<TArgs>(args)...);
123
123
  }
124
124
 
125
125
  template <class T>
126
126
  template <class TArg, class... TArgs>
127
- inline bool PromiseGroup<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
127
+ inline bool PromiseGroup<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
128
128
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x0150d40e /* tag_bunqo */);
129
129
  return m_state->TrySetValue<T>(init, std::forward<TArgs>(args)...);
130
130
  }
@@ -132,28 +132,28 @@ inline bool Promise<T>::TrySetValue(Mso::Maybe<T> &&value) const noexcept {
132
132
 
133
133
  template <class T>
134
134
  template <class... TArgs>
135
- inline void Promise<T>::EmplaceValue(TArgs &&... args) const noexcept {
135
+ inline void Promise<T>::EmplaceValue(TArgs &&...args) const noexcept {
136
136
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x012ca405 /* tag_blkqf */);
137
137
  this->m_state->template SetValue<T>(std::forward<TArgs>(args)...);
138
138
  }
139
139
 
140
140
  template <class T>
141
141
  template <class TArg, class... TArgs>
142
- inline void Promise<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
142
+ inline void Promise<T>::EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
143
143
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x016056ce /* tag_byf1o */);
144
144
  m_state->SetValue<T>(init, std::forward<TArgs>(args)...);
145
145
  }
146
146
 
147
147
  template <class T>
148
148
  template <class... TArgs>
149
- inline bool Promise<T>::TryEmplaceValue(TArgs &&... args) const noexcept {
149
+ inline bool Promise<T>::TryEmplaceValue(TArgs &&...args) const noexcept {
150
150
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x012ca406 /* tag_blkqg */);
151
151
  return m_state->TrySetValue<T>(std::forward<TArgs>(args)...);
152
152
  }
153
153
 
154
154
  template <class T>
155
155
  template <class TArg, class... TArgs>
156
- inline bool Promise<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept {
156
+ inline bool Promise<T>::TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept {
157
157
  VerifyElseCrashSzTag(!m_state.IsEmpty(), "State is empty.", 0x016056cf /* tag_byf1p */);
158
158
  return m_state->TrySetValue<T>(init, std::forward<TArgs>(args)...);
159
159
  }
@@ -75,8 +75,8 @@ template <class TFutureValue, class TExecutor, class TCallback>
75
75
  struct GetResultTraits<TFutureValue, TExecutor, TCallback, CallbackArgKind::Maybe> {
76
76
  using Type = ResultTraits<
77
77
  TFutureValue,
78
- decltype(
79
- std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &&>()))>;
78
+ decltype(std::declval<TExecutor>()
79
+ .Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &&>()))>;
80
80
  static_assert(
81
81
  noexcept(
82
82
  std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &&>())),
@@ -87,8 +87,8 @@ template <class TFutureValue, class TExecutor, class TCallback>
87
87
  struct GetResultTraits<TFutureValue, TExecutor, TCallback, CallbackArgKind::MaybeRef> {
88
88
  using Type = ResultTraits<
89
89
  TFutureValue,
90
- decltype(
91
- std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &>()))>;
90
+ decltype(std::declval<TExecutor>()
91
+ .Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &>()))>;
92
92
  static_assert(
93
93
  noexcept(std::declval<TExecutor>().Invoke(std::declval<TCallback>(), std::declval<Mso::Maybe<TFutureValue> &>())),
94
94
  "Executor's Invoke method must not throw");
@@ -289,7 +289,7 @@ inline Future<void> WhenAll(Future<void> (&futures)[size]) noexcept {
289
289
  }
290
290
 
291
291
  template <class T0, class... Ts>
292
- Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &... futures) noexcept {
292
+ Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &...futures) noexcept {
293
293
  using ResultType = std::tuple<T0, Ts...>;
294
294
  using TaskType = Mso::Futures::WhenAllFutureTask<void>;
295
295
  const size_t taskSize = TaskType::GetTaskSize(1 + sizeof...(Ts));
@@ -86,11 +86,11 @@ Future<void> MakeCompletedFuture() noexcept;
86
86
 
87
87
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
88
88
  template <class T, class... TArgs>
89
- Future<T> MakeCompletedFutureEmplaced(TArgs &&... args) noexcept;
89
+ Future<T> MakeCompletedFutureEmplaced(TArgs &&...args) noexcept;
90
90
 
91
91
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
92
92
  template <class T, class U, class... TArgs>
93
- Future<T> MakeCompletedFutureEmplaced(std::initializer_list<U> il, TArgs &&... args) noexcept;
93
+ Future<T> MakeCompletedFutureEmplaced(std::initializer_list<U> il, TArgs &&...args) noexcept;
94
94
 
95
95
  //! Create an instance of succeeded Mso::Future<T> from a provided value.
96
96
  template <class T>
@@ -101,11 +101,11 @@ Future<void> MakeSucceededFuture() noexcept;
101
101
 
102
102
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
103
103
  template <class T, class... TArgs>
104
- Future<T> MakeSucceededFutureEmplaced(TArgs &&... args) noexcept;
104
+ Future<T> MakeSucceededFutureEmplaced(TArgs &&...args) noexcept;
105
105
 
106
106
  //! Create an instance of completed Mso::Future<T> from a value created in-place.
107
107
  template <class T, class U, class... TArgs>
108
- Future<T> MakeSucceededFutureEmplaced(std::initializer_list<U> il, TArgs &&... args) noexcept;
108
+ Future<T> MakeSucceededFutureEmplaced(std::initializer_list<U> il, TArgs &&...args) noexcept;
109
109
 
110
110
  //! Create an instance of Mso::Future<T> with error code.
111
111
  template <class T>
@@ -169,7 +169,7 @@ LIBLET_PUBLICAPI Future<void> WhenAll(const std::vector<Future<void>> &futures)
169
169
  //! Each future may have its own return type.
170
170
  //! Returns Future<std::tuple<Ts...>>.
171
171
  template <class T0, class... Ts>
172
- Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &... futures) noexcept;
172
+ Future<std::tuple<T0, Ts...>> WhenAll(const Future<T0> &future0, const Future<Ts> &...futures) noexcept;
173
173
 
174
174
  //=============================================================================
175
175
  // Mso::WhenAny overloads.
@@ -315,19 +315,19 @@ struct Promise {
315
315
 
316
316
  /// Sets the value in-place and completes the Promise. It can be called only once. Otherwise it crashes the app.
317
317
  template <class... TArgs>
318
- void EmplaceValue(TArgs &&... args) const noexcept;
318
+ void EmplaceValue(TArgs &&...args) const noexcept;
319
319
 
320
320
  /// Sets the value in-place and completes the PromiseGroup. It can be called only once. Otherwise it VECs.
321
321
  template <class TArg, class... TArgs>
322
- void EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
322
+ void EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
323
323
 
324
324
  /// Tries to set the value in-place if Promise is not completed or abandoned yet. Returns true on success.
325
325
  template <class... TArgs>
326
- bool TryEmplaceValue(TArgs &&... args) const noexcept;
326
+ bool TryEmplaceValue(TArgs &&...args) const noexcept;
327
327
 
328
328
  /// Tries to set the value in-place if PromiseGroup is not completed or abandoned yet. Returns true on success.
329
329
  template <class TArg, class... TArgs>
330
- bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
330
+ bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
331
331
 
332
332
  /// Tries to set Promise to Failed state with a CancellationError. Returns true if cancel succeeded.
333
333
  bool TryCancel() const noexcept;
@@ -809,19 +809,19 @@ struct PromiseGroup {
809
809
 
810
810
  /// Sets the value in-place and completes the PromiseGroup. It can be called only once. Otherwise it VECs.
811
811
  template <class... TArgs>
812
- void EmplaceValue(TArgs &&... args) const noexcept;
812
+ void EmplaceValue(TArgs &&...args) const noexcept;
813
813
 
814
814
  /// Sets the value in-place and completes the PromiseGroup. It can be called only once. Otherwise it VECs.
815
815
  template <class TArg, class... TArgs>
816
- void EmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
816
+ void EmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
817
817
 
818
818
  /// Tries to set the value in-place if PromiseGroup is not completed or abandoned yet. Returns true on success.
819
819
  template <class... TArgs>
820
- bool TryEmplaceValue(TArgs &&... args) const noexcept;
820
+ bool TryEmplaceValue(TArgs &&...args) const noexcept;
821
821
 
822
822
  /// Tries to set the value in-place if PromiseGroup is not completed or abandoned yet. Returns true on success.
823
823
  template <class TArg, class... TArgs>
824
- bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&... args) const noexcept;
824
+ bool TryEmplaceValue(std::initializer_list<TArg> init, TArgs &&...args) const noexcept;
825
825
 
826
826
  /// Tries to set Promise to Failed state with the provided error code. It crashes app if error code cannot be set.
827
827
  void SetError(const ErrorCode &errorCode) const noexcept;
@@ -16,7 +16,7 @@ See the msoGuid.h for the usage guidelines.
16
16
  #endif
17
17
 
18
18
  // Clang compiler must target C++11 or up to support MSO*GUIDs because we rely on constexpr.
19
- //#if (__cplusplus >= 201103L) && !defined(MSO_GUID_DISABLED)
19
+ // #if (__cplusplus >= 201103L) && !defined(MSO_GUID_DISABLED)
20
20
 
21
21
  #include "compilerAdapters/compilerFeatures.h"
22
22
  #if MS_TARGET_POSIX
@@ -30,7 +30,7 @@ namespace Details {
30
30
  template <typename T>
31
31
  struct Emplacer {
32
32
  template <typename... Args>
33
- static void Place(_Inout_updates_bytes_all_(sizeof(T)) void *mem, Args &&... args) noexcept {
33
+ static void Place(_Inout_updates_bytes_all_(sizeof(T)) void *mem, Args &&...args) noexcept {
34
34
  new (mem) T(std::forward<Args>(args)...);
35
35
  }
36
36
  };
@@ -38,7 +38,7 @@ struct Emplacer {
38
38
  template <typename T, size_t N>
39
39
  struct Emplacer<T[N]> {
40
40
  template <typename... Args>
41
- static void Place(void *mem, Args &&... args) {
41
+ static void Place(void *mem, Args &&...args) {
42
42
  new (mem) T[N]{std::forward<Args>(args)...};
43
43
  }
44
44
  };
@@ -116,14 +116,18 @@ Disambiguator used to ensure a throwing new
116
116
  new (Mso::Memory::throwNew) Zoo();
117
117
  */
118
118
  OACR_WARNING_SUPPRESS(SPECIFY_SELECTANY, "Not needed for marker type")
119
- static const struct throwNew_t { throwNew_t() noexcept = default; } throwNew;
119
+ static const struct throwNew_t {
120
+ throwNew_t() noexcept = default;
121
+ } throwNew;
120
122
 
121
123
  /**
122
124
  Disambiguator used to ensure a crashing new
123
125
  new (Mso::Memory::failFast) Zoo();
124
126
  */
125
127
  OACR_WARNING_SUPPRESS(SPECIFY_SELECTANY, "Not needed for marker type")
126
- static const struct failFast_t { failFast_t() noexcept = default; } failFast;
128
+ static const struct failFast_t {
129
+ failFast_t() noexcept = default;
130
+ } failFast;
127
131
 
128
132
  /**
129
133
  Construct a object of type `T` stored at `mem`.
@@ -131,7 +135,7 @@ Construct a object of type `T` stored at `mem`.
131
135
  Arguments are forwarded to constructor of `T`.
132
136
  */
133
137
  template <typename T, typename... Args>
134
- static void Place(__inout_bcount(sizeof(T)) void *mem, Args &&... args) {
138
+ static void Place(__inout_bcount(sizeof(T)) void *mem, Args &&...args) {
135
139
  Details::Emplacer<T>::Place(mem, std::forward<Args>(args)...);
136
140
  }
137
141
 
@@ -187,7 +191,9 @@ namespace NoThrow {
187
191
  new (Mso::Memory::NoThrow::MarkingLeak) Zoo();
188
192
  */
189
193
  OACR_WARNING_SUPPRESS(SPECIFY_SELECTANY, "Not needed for marker type")
190
- static const struct MarkingLeak_t { MarkingLeak_t() noexcept = default; } MarkingLeak;
194
+ static const struct MarkingLeak_t {
195
+ MarkingLeak_t() noexcept = default;
196
+ } MarkingLeak;
191
197
 
192
198
  } // namespace NoThrow
193
199
  } // namespace Memory
@@ -205,7 +211,7 @@ Allocates object T by passing args to its constructor.
205
211
  */
206
212
  template <typename T, typename... TArgs>
207
213
  OACR_WARNING_SUPPRESS(NULL_ON_NON_POINTER, "false positive")
208
- _Ret_notnull_ T *New(TArgs &&... t) {
214
+ _Ret_notnull_ T *New(TArgs &&...t) {
209
215
  Debug(Mso::Memory::AutoShutdownLeakScope scope);
210
216
  T *pT = new (std::nothrow) T(std::forward<TArgs>(t)...);
211
217
  if (pT == nullptr)
@@ -32,7 +32,7 @@ struct GTestFixture : ::testing::Test {
32
32
  std::unique_ptr<TestClass> m_test;
33
33
  };
34
34
 
35
- template <int &... ExplicitParameterBarrier, typename Factory>
35
+ template <int &...ExplicitParameterBarrier, typename Factory>
36
36
  inline auto RegisterTest(
37
37
  const char *test_suite_name,
38
38
  const char *test_name,
@@ -31,15 +31,13 @@
31
31
  \
32
32
  struct className : Mso::UnitTests::Internal::TestClassBase<className, TestClassInfo_##className>
33
33
 
34
- #define TEST_METHOD(methodName) \
35
- struct TestMethodInfo_##methodName final \
36
- : Mso::UnitTests::Internal::TestMethodInfoReg<TestMethodInfo_##methodName> { \
37
- TestMethodInfo_##methodName() : TestMethodInfoRegType{TestClassInfoType::Instance, #methodName, __LINE__} {} \
38
- \
39
- void Invoke(Mso::UnitTests::TestClass &test) const override { \
40
- static_cast<TestClassType &>(test).methodName(); \
41
- } \
42
- }; \
34
+ #define TEST_METHOD(methodName) \
35
+ struct TestMethodInfo_##methodName final \
36
+ : Mso::UnitTests::Internal::TestMethodInfoReg<TestMethodInfo_##methodName> { \
37
+ TestMethodInfo_##methodName() : TestMethodInfoRegType{TestClassInfoType::Instance, #methodName, __LINE__} {} \
38
+ \
39
+ void Invoke(Mso::UnitTests::TestClass &test) const override { static_cast<TestClassType &>(test).methodName(); } \
40
+ }; \
43
41
  virtual void methodName()
44
42
 
45
43
  #define TESTMETHOD_REQUIRES_SEH(methodName) TEST_METHOD(methodName)
package/Mso/object/make.h CHANGED
@@ -23,7 +23,7 @@ namespace Mso {
23
23
  // ValidateObject throws, or when some of the lambda's are inlined...
24
24
 
25
25
  template <typename T, typename TResult = T, typename... TArgs>
26
- inline Mso::CntPtr<TResult> Make(TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
26
+ inline Mso::CntPtr<TResult> Make(TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
27
27
  typename T::RefCountPolicy::template MemoryGuard<T> memoryGuard = {};
28
28
  T::RefCountPolicy::AllocateMemory(memoryGuard);
29
29
  VerifyAllocElseCrashTag(memoryGuard.ObjMemory, 0x01117748 /* tag_bex3i */);
@@ -47,7 +47,7 @@ inline Mso::CntPtr<TResult> Make(TArgs &&... args) noexcept(T::MakePolicy::IsNoE
47
47
  Method MakeAlloc is noexcept depending on the Make policy IsNoExcept value.
48
48
  */
49
49
  template <typename T, typename TResult = T, typename TAllocArg, typename... TArgs>
50
- inline Mso::CntPtr<TResult> MakeAlloc(TAllocArg &&allocArg, TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
50
+ inline Mso::CntPtr<TResult> MakeAlloc(TAllocArg &&allocArg, TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
51
51
  typename T::RefCountPolicy::template MemoryGuard<T> memoryGuard = {};
52
52
  T::RefCountPolicy::AllocateMemory(memoryGuard, std::forward<TAllocArg>(allocArg));
53
53
  VerifyAllocElseCrashTag(memoryGuard.ObjMemory, 0x01117749 /* tag_bex3j */);
@@ -70,7 +70,7 @@ inline Mso::CntPtr<TResult> MakeAlloc(TAllocArg &&allocArg, TArgs &&... args) no
70
70
  Method MakeElseNull is noexcept depending on the Make policy IsNoExcept value.
71
71
  */
72
72
  template <typename T, typename TResult = T, typename... TArgs>
73
- inline Mso::CntPtr<TResult> MakeElseNull(TArgs &&... args) noexcept(T::MakePolicy::IsNoExcept) {
73
+ inline Mso::CntPtr<TResult> MakeElseNull(TArgs &&...args) noexcept(T::MakePolicy::IsNoExcept) {
74
74
  Mso::CntPtr<TResult> result; // Hopefully we can benefit from NRVO
75
75
 
76
76
  typename T::RefCountPolicy::template MemoryGuard<T> memoryGuard = {};
@@ -98,7 +98,7 @@ inline Mso::CntPtr<TResult> MakeElseNull(TArgs &&... args) noexcept(T::MakePolic
98
98
  Method MakeAllocElseNull is noexcept depending on the Make policy IsNoExcept value.
99
99
  */
100
100
  template <typename T, typename TResult = T, typename TAllocArg, typename... TArgs>
101
- inline Mso::CntPtr<TResult> MakeAllocElseNull(TAllocArg &&allocArg, TArgs &&... args) noexcept(
101
+ inline Mso::CntPtr<TResult> MakeAllocElseNull(TAllocArg &&allocArg, TArgs &&...args) noexcept(
102
102
  T::MakePolicy::IsNoExcept) {
103
103
  Mso::CntPtr<TResult> result; // Hopefully we can benefit from NRVO
104
104
 
@@ -125,7 +125,7 @@ struct ThrowCtor {
125
125
  static const bool IsNoExcept = false;
126
126
 
127
127
  template <typename T, typename TMemoryGuard, typename... TArgs>
128
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) {
128
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) {
129
129
  OACR_POSSIBLE_THROW;
130
130
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T(std::forward<TArgs>(args)...);
131
131
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
@@ -139,7 +139,7 @@ struct NoThrowCtor {
139
139
  static const bool IsNoExcept = true;
140
140
 
141
141
  template <typename T, typename TMemoryGuard, typename... TArgs>
142
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) noexcept {
142
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) noexcept {
143
143
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T(std::forward<TArgs>(args)...);
144
144
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
145
145
  }
@@ -152,7 +152,7 @@ struct ThrowCtorAndInitializeThis {
152
152
  static const bool IsNoExcept = false;
153
153
 
154
154
  template <typename T, typename TMemoryGuard, typename... TArgs>
155
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) {
155
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) {
156
156
  OACR_POSSIBLE_THROW;
157
157
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T();
158
158
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
@@ -167,7 +167,7 @@ struct NoThrowCtorAndInitializeThis {
167
167
  static const bool IsNoExcept = true;
168
168
 
169
169
  template <typename T, typename TMemoryGuard, typename... TArgs>
170
- static void Make(TMemoryGuard &memoryGuard, TArgs &&... args) noexcept {
170
+ static void Make(TMemoryGuard &memoryGuard, TArgs &&...args) noexcept {
171
171
  memoryGuard.Obj = ::new (memoryGuard.ObjMemory) T();
172
172
  memoryGuard.ObjMemory = nullptr; // Memory is now controlled by the object. Set to null to avoid memory destruction.
173
173
  memoryGuard.Obj->InitializeThis(std::forward<TArgs>(args)...);