react-native-windows 0.81.2 → 0.82.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 (727) hide show
  1. package/.flowconfig +11 -10
  2. package/Directory.Build.props +3 -3
  3. package/Folly/Folly.vcxproj +1 -3
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  5. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  6. package/Libraries/Animated/Animated.d.ts +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +1 -1
  8. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  9. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  10. package/Libraries/Animated/AnimatedMock.js +1 -1
  11. package/Libraries/Animated/Easing.js +2 -0
  12. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  13. package/Libraries/Animated/animations/Animation.js +19 -20
  14. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  15. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  16. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  19. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  20. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  21. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  24. package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/MessageQueue.js +4 -0
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  28. package/Libraries/Blob/BlobManager.js +1 -1
  29. package/Libraries/Blob/URLSearchParams.js +2 -0
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  32. package/Libraries/Components/Button.js +1 -1
  33. package/Libraries/Components/Button.windows.js +1 -1
  34. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  35. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  37. package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  41. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  42. package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +2 -2
  46. package/Libraries/Components/Switch/Switch.windows.js +2 -2
  47. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  48. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
  51. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  52. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  56. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  57. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  59. package/Libraries/Components/View/View.js +81 -167
  60. package/Libraries/Components/View/View.windows.js +202 -302
  61. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  62. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
  63. package/Libraries/Core/ExceptionsManager.js +4 -2
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  65. package/Libraries/Core/ReactNativeVersion.js +37 -10
  66. package/Libraries/Core/Timers/JSTimers.js +3 -1
  67. package/Libraries/Core/Timers/immediateShim.js +1 -1
  68. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  69. package/Libraries/Core/setUpPerformance.js +2 -1
  70. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  71. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  72. package/Libraries/Image/Image.android.js +327 -111
  73. package/Libraries/Image/Image.ios.js +6 -1
  74. package/Libraries/Image/Image.windows.js +28 -61
  75. package/Libraries/Image/ImageSourceUtils.js +8 -2
  76. package/Libraries/Image/resolveAssetSource.js +1 -1
  77. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  78. package/Libraries/Interaction/InteractionManager.js +118 -167
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  81. package/Libraries/Lists/FlatList.js +5 -6
  82. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  83. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  84. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  85. package/Libraries/Modal/Modal.js +3 -3
  86. package/Libraries/Modal/Modal.windows.js +2 -2
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  88. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  89. package/Libraries/Network/RCTNetworking.android.js +1 -1
  90. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  91. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  92. package/Libraries/Network/XMLHttpRequest.js +20 -5
  93. package/Libraries/Network/convertRequestBody.js +1 -1
  94. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  95. package/Libraries/Pressability/HoverState.js +2 -0
  96. package/Libraries/Pressability/Pressability.js +1 -1
  97. package/Libraries/Pressability/Pressability.windows.js +5 -5
  98. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  99. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  100. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  103. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  104. package/Libraries/ReactNative/UIManager.js +3 -3
  105. package/Libraries/ReactNative/renderApplication.js +1 -0
  106. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  107. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  108. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  109. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  110. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  113. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  114. package/Libraries/Share/Share.js +4 -0
  115. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  118. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  119. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  120. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  121. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  122. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  123. package/Libraries/StyleSheet/processFilter.js +5 -5
  124. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  125. package/Libraries/Text/Text.js +534 -234
  126. package/Libraries/Text/Text.windows.js +622 -265
  127. package/Libraries/Text/TextNativeComponent.js +2 -2
  128. package/Libraries/Utilities/Appearance.d.ts +3 -5
  129. package/Libraries/Utilities/Appearance.js +5 -17
  130. package/Libraries/Utilities/HMRClient.js +2 -1
  131. package/Libraries/Utilities/Platform.android.js +3 -3
  132. package/Libraries/Utilities/Platform.d.ts +1 -0
  133. package/Libraries/Utilities/Platform.ios.js +1 -1
  134. package/Libraries/Utilities/Platform.windows.js +3 -3
  135. package/Libraries/Utilities/PlatformTypes.js +1 -1
  136. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  137. package/Libraries/Utilities/SceneTracker.js +1 -1
  138. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  139. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  140. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  142. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  143. package/Libraries/Utilities/useMergeRefs.js +1 -1
  144. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  145. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  146. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  147. package/Microsoft.ReactNative/App.xaml +5 -0
  148. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  149. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  150. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  151. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  152. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
  153. package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
  154. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
  155. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
  156. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
  157. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
  158. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
  159. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
  160. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +65 -32
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
  169. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  170. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
  171. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
  172. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
  173. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
  174. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
  175. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
  176. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
  177. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
  178. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
  180. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  181. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +559 -4
  182. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
  183. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
  184. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
  185. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  186. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  187. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
  188. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
  189. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
  190. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
  191. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
  192. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  193. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
  194. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  195. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  196. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
  197. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
  198. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  199. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  200. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  201. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  202. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  203. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  204. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
  205. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  206. package/Microsoft.ReactNative/IReactContext.h +0 -7
  207. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  208. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  209. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  210. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  211. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  212. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
  213. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  214. package/Microsoft.ReactNative/JsiApi.h +2 -3
  215. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  216. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
  217. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  218. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  219. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  220. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  221. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  222. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  223. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  224. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  225. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  226. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  227. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  228. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  229. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  230. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  231. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  232. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  233. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  234. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
  235. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  236. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  237. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  238. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  239. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  240. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  241. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  242. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  243. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  244. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  245. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  246. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  247. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  248. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  249. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  250. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  251. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  252. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  253. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  254. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  255. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  256. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  257. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  258. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  259. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  260. package/Microsoft.ReactNative/Theme.idl +0 -2
  261. package/Microsoft.ReactNative/Timer.cpp +3 -2
  262. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  263. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  264. package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
  265. package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
  266. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  267. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  268. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  269. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  270. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  271. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  272. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  273. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  274. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  275. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  276. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  277. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  278. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  279. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  280. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  281. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  282. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  283. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  284. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  285. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  286. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  287. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  288. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  289. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  290. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  291. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  292. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  293. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  294. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  295. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  296. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
  297. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  298. package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
  299. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  300. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  301. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  302. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  303. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  304. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  305. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  306. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  307. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  308. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  309. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  310. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  311. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  312. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  313. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  314. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  315. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  316. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  317. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  318. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  319. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  320. package/PropertySheets/Bundle.Common.targets +1 -1
  321. package/PropertySheets/Bundle.props +3 -4
  322. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  323. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  324. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  325. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  326. package/PropertySheets/JSEngine.props +1 -1
  327. package/PropertySheets/NuGet.LockFile.props +0 -8
  328. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  329. package/PropertySheets/React.Cpp.props +3 -5
  330. package/PropertySheets/Warnings.props +1 -2
  331. package/PropertySheets/WinUI.props +3 -3
  332. package/README.md +1 -5
  333. package/ReactCommon/ReactCommon.vcxproj +12 -31
  334. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  338. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  339. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  340. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  341. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  342. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  343. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  344. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  345. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  346. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  347. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.cpp +174 -0
  348. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.h +69 -0
  349. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  350. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  351. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  352. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  353. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  354. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  355. package/ReactCommon/cgmanifest.json +1 -1
  356. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  357. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  358. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  359. package/Scripts/creaternwapp.cmd +1 -1
  360. package/Shared/DevServerHelper.h +17 -21
  361. package/Shared/DevSettings.h +1 -25
  362. package/Shared/DevSupportManager.cpp +0 -50
  363. package/Shared/DevSupportManager.h +0 -4
  364. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  365. package/Shared/HermesRuntimeHolder.cpp +0 -31
  366. package/Shared/HermesRuntimeHolder.h +0 -14
  367. package/Shared/IDevSupportManager.h +0 -6
  368. package/Shared/InstanceManager.cpp +0 -97
  369. package/Shared/InstanceManager.h +0 -53
  370. package/Shared/JSI/ScriptStore.h +1 -1
  371. package/Shared/Logging.cpp +1 -12
  372. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  373. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  374. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  375. package/Shared/OInstance.cpp +144 -424
  376. package/Shared/OInstance.h +0 -81
  377. package/Shared/Shared.vcxitems +83 -203
  378. package/Shared/Shared.vcxitems.filters +8 -67
  379. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  380. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  381. package/Shared/TurboModuleManager.cpp +0 -4
  382. package/Shared/Utils.cpp +26 -0
  383. package/Shared/Utils.h +3 -0
  384. package/codegen/NativeDOMSpec.g.h +41 -35
  385. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  386. package/codegen/NativePerformanceSpec.g.h +47 -35
  387. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
  388. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
  389. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
  390. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
  391. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
  392. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
  393. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
  394. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
  395. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  396. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  397. package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
  398. package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
  399. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  400. package/codegen/react/components/rnwcore/Props.h +51 -2
  401. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
  402. package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
  403. package/codegen/react/components/rnwcore/Switch.g.h +14 -0
  404. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
  405. package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
  406. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  407. package/codegen/rnwcoreJSI-generated.cpp +522 -467
  408. package/codegen/rnwcoreJSI.h +148 -67
  409. package/fmt/cgmanifest.json +1 -1
  410. package/fmt/fmt.vcxproj +0 -8
  411. package/index.js +8 -2
  412. package/index.windows.js +8 -2
  413. package/jest/local-setup.js +2 -2
  414. package/jest/mock.js +1 -1
  415. package/jest/mockComponent.js +9 -9
  416. package/jest/mockNativeComponent.js +3 -2
  417. package/jest/mocks/Modal.js +1 -1
  418. package/jest/mocks/ScrollView.js +1 -1
  419. package/jest/mocks/ViewNativeComponent.js +1 -1
  420. package/jest/setup.js +23 -12
  421. package/just-task.js +14 -0
  422. package/package.json +30 -31
  423. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  424. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  425. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  426. package/src/private/components/virtualview/VirtualView.js +43 -12
  427. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  428. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  429. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  430. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  431. package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
  432. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  433. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
  434. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  435. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  436. package/src/private/types/HostInstance.js +4 -1
  437. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  438. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  439. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  440. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  441. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  442. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  443. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  444. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  445. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  446. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  447. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  448. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  449. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  450. package/src/private/webapis/performance/EventTiming.js +6 -10
  451. package/src/private/webapis/performance/Performance.js +309 -164
  452. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  453. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  454. package/src/private/webapis/performance/UserTiming.js +71 -18
  455. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  456. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  457. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  458. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  459. package/stubs/double-conversion/README.md +1 -1
  460. package/template/cpp-lib/proj/MyLib.sln +0 -5
  461. package/template/cpp-lib/src/pch.h +0 -5
  462. package/template/cs-lib/proj/MyLib.sln +0 -5
  463. package/template/metro.config.js +1 -0
  464. package/templates/cpp-app/metro.config.js +2 -1
  465. package/templates/cpp-app/windows/MyApp.sln +0 -5
  466. package/templates/cpp-lib/example/metro.config.js +3 -4
  467. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  468. package/Chakra/Chakra.vcxitems +0 -32
  469. package/Chakra/Chakra.vcxitems.filters +0 -54
  470. package/Chakra/ChakraHelpers.cpp +0 -468
  471. package/Chakra/ChakraHelpers.h +0 -146
  472. package/Chakra/ChakraInstanceArgs.h +0 -52
  473. package/Chakra/ChakraPlatform.cpp +0 -42
  474. package/Chakra/ChakraPlatform.h +0 -51
  475. package/Chakra/ChakraTracing.cpp +0 -275
  476. package/Chakra/ChakraTracing.h +0 -11
  477. package/Chakra/ChakraUtils.cpp +0 -190
  478. package/Chakra/ChakraUtils.h +0 -72
  479. package/Chakra/ChakraValue.cpp +0 -257
  480. package/Chakra/ChakraValue.h +0 -308
  481. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  482. package/Chakra/Utf8DebugExtensions.h +0 -29
  483. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  484. package/Libraries/Interaction/TaskQueue.js +0 -183
  485. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  486. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  487. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  488. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  489. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  490. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  491. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  492. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  493. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  494. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  495. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  496. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  497. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  498. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  499. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  500. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  501. package/Microsoft.ReactNative/LayoutService.h +0 -32
  502. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  503. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  504. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  505. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  506. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  507. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  508. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  509. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  510. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  511. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  512. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  513. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  514. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  515. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  516. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  517. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  518. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  519. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  520. package/Microsoft.ReactNative/TestHook.h +0 -15
  521. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  522. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  523. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  524. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  525. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  526. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  527. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  528. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  529. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  530. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  531. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  532. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  533. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  534. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  535. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  536. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  537. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  538. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  539. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  540. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  541. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  542. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  543. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  544. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  545. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  546. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  547. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  548. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  549. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  550. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  551. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  552. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  553. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  554. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  555. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  556. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  557. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  558. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  559. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  560. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  561. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  562. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  563. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  564. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  565. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  566. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  567. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  568. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  569. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  570. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  571. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  572. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  573. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  574. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  575. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  576. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  577. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  578. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  579. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  580. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  581. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  582. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  583. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  584. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  585. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  586. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  587. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  588. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  589. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  590. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  591. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  592. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  593. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  594. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  595. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  596. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  597. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  598. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  599. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  600. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  601. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  602. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  603. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  604. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  605. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  606. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  607. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  608. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  609. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  610. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  611. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  612. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  613. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  614. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  615. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  616. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  617. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  618. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  619. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  620. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  621. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  622. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  623. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  624. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  625. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  626. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  627. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  628. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  629. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  630. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  631. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  632. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  633. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  634. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  635. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  636. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  637. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  638. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  639. package/Microsoft.ReactNative/XamlView.h +0 -58
  640. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  641. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  642. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  643. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  644. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  645. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  646. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  647. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  648. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  649. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  650. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  651. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  652. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  653. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  654. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  655. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  656. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  657. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  660. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  661. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  662. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  663. package/Shared/BatchingMessageQueueThread.h +0 -20
  664. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  665. package/Shared/ChakraRuntimeHolder.h +0 -46
  666. package/Shared/CreateInstance.h +0 -25
  667. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  668. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  669. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  670. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  671. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  672. package/Shared/JSI/ChakraApi.cpp +0 -436
  673. package/Shared/JSI/ChakraApi.h +0 -474
  674. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  675. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  676. package/Shared/JSI/ChakraRuntime.h +0 -512
  677. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  678. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  679. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  680. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  681. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  682. package/Shared/NativeModuleProvider.h +0 -40
  683. package/Shared/SystemChakraRuntime.h +0 -38
  684. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  685. package/Shared/Threading/BatchingQueueThread.h +0 -59
  686. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  687. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  688. package/template/cpp-app/proj/MyApp.sln +0 -166
  689. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  690. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  691. package/template/cpp-app/src/App.cpp +0 -93
  692. package/template/cpp-app/src/App.h +0 -21
  693. package/template/cpp-app/src/App.idl +0 -3
  694. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  695. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  696. package/template/cpp-app/src/MainPage.cpp +0 -20
  697. package/template/cpp-app/src/MainPage.h +0 -19
  698. package/template/cpp-app/src/MainPage.idl +0 -10
  699. package/template/cpp-app/src/PropertySheet.props +0 -16
  700. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  701. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  702. package/template/cpp-app/src/pch.cpp +0 -1
  703. package/template/cpp-app/src/pch.h +0 -24
  704. package/template/cs-app/proj/MyApp.csproj +0 -162
  705. package/template/cs-app/proj/MyApp.sln +0 -191
  706. package/template/cs-app/src/App.xaml.cs +0 -62
  707. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  708. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  709. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  710. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  711. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  712. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  713. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  714. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  715. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  716. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  717. package/template/shared-app/assets/StoreLogo.png +0 -0
  718. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  719. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  720. package/template/shared-app/proj/NuGet_Config +0 -19
  721. package/template/shared-app/src/App.xaml +0 -10
  722. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  723. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  724. package/template/shared-app/src/MainPage.xaml +0 -21
  725. package/template/shared-app/src/Package.appxmanifest +0 -50
  726. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  727. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -1,114 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include <hermes/hermes_api.h>
7
- #include <chrono>
8
- #include <future>
9
-
10
- #include "HermesRuntimeHolder.h"
11
- #include "HermesSamplingProfiler.h"
12
- #include "IReactDispatcher.h"
13
- #include "ReactPropertyBag.h"
14
- #include "Utils.h"
15
-
16
- using namespace facebook::react;
17
- using namespace winrt::Microsoft::ReactNative;
18
- using namespace winrt::Windows::Foundation;
19
-
20
- namespace Microsoft::ReactNative {
21
-
22
- namespace {
23
-
24
- // Implements an awaiter for Mso::DispatchQueue
25
- auto resume_in_dispatcher(const IReactDispatcher &dispatcher) noexcept {
26
- struct awaitable {
27
- awaitable(const IReactDispatcher &dispatcher) noexcept : dispatcher_(dispatcher) {}
28
-
29
- bool await_ready() const noexcept {
30
- return false;
31
- }
32
-
33
- void await_resume() const noexcept {}
34
-
35
- void await_suspend(std::experimental::coroutine_handle<> resume) noexcept {
36
- callback_ = [context = resume.address()]() noexcept {
37
- std::experimental::coroutine_handle<>::from_address(context)();
38
- };
39
- dispatcher_.Post(std::move(callback_));
40
- }
41
-
42
- private:
43
- IReactDispatcher dispatcher_;
44
- ReactDispatcherCallback callback_;
45
- };
46
-
47
- return awaitable{dispatcher};
48
- }
49
-
50
- IAsyncOperation<winrt::hstring> getTraceFilePath() noexcept {
51
- winrt::hstring hermesDataPath = co_await Microsoft::React::getApplicationDataPath(L"Hermes");
52
- std::wostringstream os;
53
- auto now = std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch())
54
- .count();
55
-
56
- os << hermesDataPath.c_str() << L"\\cpu_" << now << L".cpuprofile";
57
- co_return winrt::hstring(os.view());
58
- }
59
-
60
- } // namespace
61
-
62
- std::atomic_bool HermesSamplingProfiler::s_isStarted{false};
63
- winrt::hstring HermesSamplingProfiler::s_lastTraceFilePath;
64
-
65
- winrt::hstring HermesSamplingProfiler::GetLastTraceFilePath() noexcept {
66
- return s_lastTraceFilePath;
67
- }
68
-
69
- winrt::fire_and_forget HermesSamplingProfiler::Start(
70
- Mso::CntPtr<Mso::React::IReactContext> const &reactContext) noexcept {
71
- bool expectedIsStarted = false;
72
- if (s_isStarted.compare_exchange_strong(expectedIsStarted, true)) {
73
- IReactDispatcher jsDispatcher = implementation::ReactDispatcher::GetJSDispatcher(reactContext->Properties());
74
- ReactPropertyBag propertyBag = ReactPropertyBag(reactContext->Properties());
75
-
76
- co_await resume_in_dispatcher(jsDispatcher);
77
- std::shared_ptr<HermesRuntimeHolder> hermesRuntimeHolder = HermesRuntimeHolder::loadFrom(propertyBag);
78
- hermesRuntimeHolder->addToProfiling();
79
-
80
- co_await winrt::resume_background();
81
- HermesRuntimeHolder::enableSamplingProfiler();
82
- }
83
-
84
- co_return;
85
- }
86
-
87
- IAsyncOperation<winrt::hstring> HermesSamplingProfiler::Stop(
88
- Mso::CntPtr<Mso::React::IReactContext> const &reactContext) noexcept {
89
- bool expectedIsStarted = true;
90
- if (s_isStarted.compare_exchange_strong(expectedIsStarted, false)) {
91
- IReactDispatcher jsDispatcher = implementation::ReactDispatcher::GetJSDispatcher(reactContext->Properties());
92
- ReactPropertyBag propertyBag = ReactPropertyBag(reactContext->Properties());
93
-
94
- co_await winrt::resume_background();
95
- HermesRuntimeHolder::disableSamplingProfiler();
96
-
97
- s_lastTraceFilePath = co_await getTraceFilePath();
98
- HermesRuntimeHolder::dumpSampledTraceToFile(winrt::to_string(s_lastTraceFilePath));
99
-
100
- co_await resume_in_dispatcher(jsDispatcher);
101
- std::shared_ptr<HermesRuntimeHolder> hermesRuntimeHolder = HermesRuntimeHolder::loadFrom(propertyBag);
102
- hermesRuntimeHolder->removeFromProfiling();
103
-
104
- co_await winrt::resume_background();
105
- }
106
-
107
- co_return s_lastTraceFilePath;
108
- }
109
-
110
- bool HermesSamplingProfiler::IsStarted() noexcept {
111
- return s_isStarted.load();
112
- }
113
-
114
- } // namespace Microsoft::ReactNative
@@ -1,26 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <ReactHost/React.h>
7
- #include <winrt/Windows.Foundation.h>
8
- #include <atomic>
9
- #include <string>
10
-
11
- namespace Microsoft::ReactNative {
12
-
13
- class HermesSamplingProfiler final {
14
- public:
15
- static winrt::fire_and_forget Start(Mso::CntPtr<Mso::React::IReactContext> const &reactContext) noexcept;
16
- static winrt::Windows::Foundation::IAsyncOperation<winrt::hstring> Stop(
17
- Mso::CntPtr<Mso::React::IReactContext> const &reactContext) noexcept;
18
- static winrt::hstring GetLastTraceFilePath() noexcept;
19
- static bool IsStarted() noexcept;
20
-
21
- private:
22
- static std::atomic_bool s_isStarted;
23
- static winrt::hstring s_lastTraceFilePath;
24
- };
25
-
26
- } // namespace Microsoft::ReactNative
@@ -1,436 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "ChakraApi.h"
5
-
6
- #include <sstream>
7
- #include <utility>
8
- #include "Unicode.h"
9
-
10
- namespace Microsoft::JSI {
11
-
12
- //=============================================================================
13
- // ChakraApi::JsRefHolder implementation
14
- //=============================================================================
15
-
16
- ChakraApi::JsRefHolder::JsRefHolder(JsRef ref) noexcept : m_ref{ref} {
17
- if (m_ref) {
18
- AddRef(m_ref);
19
- }
20
- }
21
-
22
- ChakraApi::JsRefHolder::JsRefHolder(JsRefHolder const &other) noexcept : m_ref{other.m_ref} {
23
- if (m_ref) {
24
- AddRef(m_ref);
25
- }
26
- }
27
-
28
- ChakraApi::JsRefHolder::JsRefHolder(JsRefHolder &&other) noexcept
29
- : m_ref{std::exchange(other.m_ref, JS_INVALID_REFERENCE)} {}
30
-
31
- ChakraApi::JsRefHolder &ChakraApi::JsRefHolder::operator=(JsRefHolder const &other) noexcept {
32
- if (this != &other) {
33
- JsRefHolder temp{std::move(*this)};
34
- m_ref = other.m_ref;
35
- if (m_ref) {
36
- AddRef(m_ref);
37
- }
38
- }
39
-
40
- return *this;
41
- }
42
-
43
- ChakraApi::JsRefHolder &ChakraApi::JsRefHolder::operator=(JsRefHolder &&other) noexcept {
44
- if (this != &other) {
45
- JsRefHolder temp{std::move(*this)};
46
- m_ref = std::exchange(other.m_ref, JS_INVALID_REFERENCE);
47
- }
48
-
49
- return *this;
50
- }
51
-
52
- ChakraApi::JsRefHolder::~JsRefHolder() noexcept {
53
- if (m_ref) {
54
- // Clear m_ref before calling JsRelease on it to make sure that we always hold a valid m_ref.
55
- Release(std::exchange(m_ref, JS_INVALID_REFERENCE));
56
- }
57
- }
58
-
59
- //=============================================================================
60
- // ChakraApi::ExceptionThrowerHolder implementation
61
- //=============================================================================
62
-
63
- /*static*/ thread_local ChakraApi::IExceptionThrower *ChakraApi::ExceptionThrowerHolder::tls_exceptionThrower{nullptr};
64
-
65
- //=============================================================================
66
- // ChakraApi implementation
67
- //=============================================================================
68
-
69
- [[noreturn]] void ChakraApi::ThrowJsException(JsErrorCode errorCode) {
70
- JsValueRef jsError{JS_INVALID_REFERENCE};
71
- ChakraVerifyElseCrash(JsGetAndClearException(&jsError) == JsNoError, "Cannot retrieve JS exception.");
72
- if (auto thrower = ExceptionThrowerHolder::Get()) {
73
- thrower->ThrowJsExceptionOverride(errorCode, jsError);
74
- } else {
75
- std::ostringstream errorString;
76
- errorString << "A call to Chakra API returned error code 0x" << std::hex << errorCode << '.';
77
- throw std::exception(errorString.str().c_str());
78
- }
79
- }
80
-
81
- [[noreturn]] void ChakraApi::ThrowNativeException(char const *errorMessage) {
82
- if (auto thrower = ExceptionThrowerHolder::Get()) {
83
- thrower->ThrowNativeExceptionOverride(errorMessage);
84
- } else {
85
- throw std::exception(errorMessage);
86
- }
87
- }
88
-
89
- /*static*/ JsRuntimeHandle ChakraApi::CreateRuntime(
90
- JsRuntimeAttributes attributes,
91
- JsThreadServiceCallback threadService) {
92
- JsRuntimeHandle runtime{JS_INVALID_REFERENCE};
93
- ChakraVerifyElseThrow(
94
- JsCreateRuntime(attributes, threadService, &runtime) == JsErrorCode::JsNoError, "Cannot create Chakra runtime.");
95
- return runtime;
96
- }
97
-
98
- /*static*/ void ChakraApi::DisposeRuntime(JsRuntimeHandle runtime) {
99
- ChakraVerifyElseThrow(JsDisposeRuntime(runtime) == JsErrorCode::JsNoError, "Cannot dispose Chakra runtime.");
100
- }
101
-
102
- /*static*/ uint32_t ChakraApi::AddRef(JsRef ref) {
103
- uint32_t result{0};
104
- ChakraVerifyJsErrorElseThrow(JsAddRef(ref, &result));
105
- return result;
106
- }
107
-
108
- /*static*/ uint32_t ChakraApi::Release(JsRef ref) {
109
- uint32_t result{0};
110
- ChakraVerifyJsErrorElseThrow(JsRelease(ref, &result));
111
- return result;
112
- }
113
-
114
- /*static*/ JsContextRef ChakraApi::CreateContext(JsRuntimeHandle runtime) {
115
- JsContextRef context{JS_INVALID_REFERENCE};
116
- ChakraVerifyJsErrorElseThrow(JsCreateContext(runtime, &context));
117
- return context;
118
- }
119
-
120
- /*static*/ JsContextRef ChakraApi::GetCurrentContext() {
121
- JsContextRef context{JS_INVALID_REFERENCE};
122
- ChakraVerifyJsErrorElseThrow(JsGetCurrentContext(&context));
123
- return context;
124
- }
125
-
126
- /*static*/ void ChakraApi::SetCurrentContext(JsContextRef context) {
127
- ChakraVerifyJsErrorElseThrow(JsSetCurrentContext(context));
128
- }
129
-
130
- /*static*/ JsPropertyIdRef ChakraApi::GetPropertyIdFromName(wchar_t const *name) {
131
- JsPropertyIdRef propertyId{JS_INVALID_REFERENCE};
132
- ChakraVerifyJsErrorElseThrow(JsGetPropertyIdFromName(name, &propertyId));
133
- return propertyId;
134
- }
135
-
136
- /*static*/ JsPropertyIdRef ChakraApi::GetPropertyIdFromString(JsValueRef value) {
137
- return GetPropertyIdFromName(StringToPointer(value).data());
138
- }
139
-
140
- /*static*/ JsPropertyIdRef ChakraApi::GetPropertyIdFromName(std::string_view name) {
141
- ChakraVerifyElseThrow(name.data(), "Property name cannot be a nullptr.");
142
-
143
- JsPropertyIdRef propertyId{JS_INVALID_REFERENCE};
144
- // We use a #ifdef here because we can avoid a UTF-8 to UTF-16 conversion
145
- // using ChakraCore's JsCreatePropertyId API.
146
- std::wstring utf16 = Common::Unicode::Utf8ToUtf16(name.data(), name.length());
147
- ChakraVerifyJsErrorElseThrow(JsGetPropertyIdFromName(utf16.data(), &propertyId));
148
-
149
- return propertyId;
150
- }
151
-
152
- /*static*/ wchar_t const *ChakraApi::GetPropertyNameFromId(JsPropertyIdRef propertyId) {
153
- ChakraVerifyElseThrow(
154
- GetPropertyIdType(propertyId) == JsPropertyIdTypeString,
155
- "It is illegal to retrieve the name associated with a property symbol.");
156
-
157
- wchar_t const *name{nullptr};
158
- ChakraVerifyJsErrorElseThrow(JsGetPropertyNameFromId(propertyId, &name));
159
- return name;
160
- }
161
-
162
- /*static*/ JsValueRef ChakraApi::GetPropertyStringFromId(JsPropertyIdRef propertyId) {
163
- return PointerToString(GetPropertyNameFromId(propertyId));
164
- }
165
-
166
- /*static*/ JsValueRef ChakraApi::GetSymbolFromPropertyId(JsPropertyIdRef propertyId) {
167
- ChakraVerifyElseThrow(
168
- GetPropertyIdType(propertyId) == JsPropertyIdTypeSymbol,
169
- "It is illegal to retrieve the symbol associated with a property name.");
170
-
171
- JsValueRef symbol{JS_INVALID_REFERENCE};
172
- ChakraVerifyJsErrorElseThrow(JsGetSymbolFromPropertyId(propertyId, &symbol));
173
- return symbol;
174
- }
175
-
176
- /*static*/ JsPropertyIdType ChakraApi::GetPropertyIdType(JsPropertyIdRef propertyId) {
177
- JsPropertyIdType type{JsPropertyIdType::JsPropertyIdTypeString};
178
- ChakraVerifyJsErrorElseThrow(JsGetPropertyIdType(propertyId, &type));
179
- return type;
180
- }
181
-
182
- /*static*/ JsPropertyIdRef ChakraApi::GetPropertyIdFromSymbol(JsValueRef symbol) {
183
- JsPropertyIdRef propertyId{JS_INVALID_REFERENCE};
184
- ChakraVerifyJsErrorElseThrow(JsGetPropertyIdFromSymbol(symbol, &propertyId));
185
- return propertyId;
186
- }
187
-
188
- /*static*/ JsPropertyIdRef ChakraApi::GetPropertyIdFromSymbol(std::wstring_view symbolDescription) {
189
- JsPropertyIdRef propertyId{JS_INVALID_REFERENCE};
190
- ChakraVerifyJsErrorElseThrow(JsGetPropertyIdFromSymbol(CreateSymbol(symbolDescription), &propertyId));
191
- return propertyId;
192
- }
193
-
194
- /*static*/ JsValueRef ChakraApi::CreateSymbol(JsValueRef symbolDescription) {
195
- JsValueRef symbol{JS_INVALID_REFERENCE};
196
- ChakraVerifyJsErrorElseThrow(JsCreateSymbol(symbolDescription, &symbol));
197
- return symbol;
198
- }
199
-
200
- /*static*/ JsValueRef ChakraApi::CreateSymbol(std::wstring_view symbolDescription) {
201
- return CreateSymbol(PointerToString(symbolDescription));
202
- }
203
-
204
- /*static*/ JsValueRef ChakraApi::GetUndefinedValue() {
205
- JsValueRef undefinedValue{JS_INVALID_REFERENCE};
206
- ChakraVerifyJsErrorElseThrow(JsGetUndefinedValue(&undefinedValue));
207
- return undefinedValue;
208
- }
209
-
210
- /*static*/ JsValueRef ChakraApi::GetNullValue() {
211
- JsValueRef nullValue{JS_INVALID_REFERENCE};
212
- ChakraVerifyJsErrorElseThrow(JsGetNullValue(&nullValue));
213
- return nullValue;
214
- }
215
-
216
- /*static*/ JsValueRef ChakraApi::BoolToBoolean(bool value) {
217
- JsValueRef booleanValue{JS_INVALID_REFERENCE};
218
- ChakraVerifyJsErrorElseThrow(JsBoolToBoolean(value, &booleanValue));
219
- return booleanValue;
220
- }
221
-
222
- /*static*/ bool ChakraApi::BooleanToBool(JsValueRef value) {
223
- bool boolValue{false};
224
- ChakraVerifyJsErrorElseThrow(JsBooleanToBool(value, &boolValue));
225
- return boolValue;
226
- }
227
-
228
- /*static*/ JsValueType ChakraApi::GetValueType(JsValueRef value) {
229
- JsValueType type{JsValueType::JsUndefined};
230
- ChakraVerifyJsErrorElseThrow(JsGetValueType(value, &type));
231
- return type;
232
- }
233
-
234
- /*static*/ JsValueRef ChakraApi::DoubleToNumber(double value) {
235
- JsValueRef result{JS_INVALID_REFERENCE};
236
- ChakraVerifyJsErrorElseThrow(JsDoubleToNumber(value, &result));
237
- return result;
238
- }
239
-
240
- /*static*/ JsValueRef ChakraApi::IntToNumber(int32_t value) {
241
- JsValueRef numberValue{JS_INVALID_REFERENCE};
242
- ChakraVerifyJsErrorElseThrow(JsIntToNumber(value, &numberValue));
243
- return numberValue;
244
- }
245
-
246
- /*static*/ double ChakraApi::NumberToDouble(JsValueRef value) {
247
- double doubleValue{0};
248
- ChakraVerifyJsErrorElseThrow(JsNumberToDouble(value, &doubleValue));
249
- return doubleValue;
250
- }
251
-
252
- /*static*/ int32_t ChakraApi::NumberToInt(JsValueRef value) {
253
- int intValue{0};
254
- ChakraVerifyJsErrorElseThrow(JsNumberToInt(value, &intValue));
255
- return intValue;
256
- }
257
-
258
- /*static*/ JsValueRef ChakraApi::PointerToString(std::wstring_view value) {
259
- ChakraVerifyElseThrow(value.data(), "Cannot convert a nullptr to a JS string.");
260
-
261
- JsValueRef result{JS_INVALID_REFERENCE};
262
- ChakraVerifyJsErrorElseThrow(JsPointerToString(value.data(), value.size(), &result));
263
- return result;
264
- }
265
-
266
- /*static*/ JsValueRef ChakraApi::PointerToString(std::string_view value) {
267
- ChakraVerifyElseThrow(value.data(), "Cannot convert a nullptr to a JS string.");
268
-
269
- return PointerToString(Common::Unicode::Utf8ToUtf16(value));
270
- }
271
-
272
- /*static*/ std::wstring_view ChakraApi::StringToPointer(JsValueRef string) {
273
- wchar_t const *utf16{nullptr};
274
- size_t length{0};
275
- ChakraVerifyJsErrorElseThrow(JsStringToPointer(string, &utf16, &length));
276
- return {utf16, length};
277
- }
278
-
279
- /*static*/ std::string ChakraApi::StringToStdString(JsValueRef string) {
280
- ChakraVerifyElseThrow(
281
- GetValueType(string) == JsString, "Cannot convert a non JS string ChakraObjectRef to a std::string.");
282
-
283
- return Common::Unicode::Utf16ToUtf8(StringToPointer(string));
284
- }
285
-
286
- /*static*/ JsValueRef ChakraApi::ConvertValueToString(JsValueRef value) {
287
- JsValueRef stringValue{JS_INVALID_REFERENCE};
288
- ChakraVerifyJsErrorElseThrow(JsConvertValueToString(value, &stringValue));
289
- return stringValue;
290
- }
291
-
292
- /*static*/ JsValueRef ChakraApi::GetGlobalObject() {
293
- JsValueRef globalObject{JS_INVALID_REFERENCE};
294
- ChakraVerifyJsErrorElseThrow(JsGetGlobalObject(&globalObject));
295
- return globalObject;
296
- }
297
-
298
- /*static*/ JsValueRef ChakraApi::CreateObject() {
299
- JsValueRef object{JS_INVALID_REFERENCE};
300
- ChakraVerifyJsErrorElseThrow(JsCreateObject(&object));
301
- return object;
302
- }
303
-
304
- /*static*/ JsValueRef ChakraApi::CreateExternalObject(void *data, JsFinalizeCallback finalizeCallback) {
305
- JsValueRef object{JS_INVALID_REFERENCE};
306
- ChakraVerifyJsErrorElseThrow(JsCreateExternalObject(data, finalizeCallback, &object));
307
- return object;
308
- }
309
-
310
- /*static*/ JsValueRef ChakraApi::GetPrototype(JsValueRef object) {
311
- JsValueRef prototype{JS_INVALID_REFERENCE};
312
- ChakraVerifyJsErrorElseThrow(JsGetPrototype(object, &prototype));
313
- return prototype;
314
- }
315
-
316
- /*static*/ bool ChakraApi::InstanceOf(JsValueRef object, JsValueRef constructor) {
317
- bool result{false};
318
- ChakraVerifyJsErrorElseThrow(JsInstanceOf(object, constructor, &result));
319
- return result;
320
- }
321
-
322
- /*static*/ JsValueRef ChakraApi::GetProperty(JsValueRef object, JsPropertyIdRef propertyId) {
323
- JsValueRef result{JS_INVALID_REFERENCE};
324
- ChakraVerifyJsErrorElseThrow(JsGetProperty(object, propertyId, &result));
325
- return result;
326
- }
327
-
328
- /*static*/ JsValueRef ChakraApi::GetOwnPropertyNames(JsValueRef object) {
329
- JsValueRef propertyNames{JS_INVALID_REFERENCE};
330
- ChakraVerifyJsErrorElseThrow(JsGetOwnPropertyNames(object, &propertyNames));
331
- return propertyNames;
332
- }
333
-
334
- /*static*/ void ChakraApi::SetProperty(JsValueRef object, JsPropertyIdRef propertyId, JsValueRef value) {
335
- ChakraVerifyJsErrorElseThrow(JsSetProperty(object, propertyId, value, /*useStringRules:*/ true));
336
- }
337
-
338
- /*static*/ bool ChakraApi::HasProperty(JsValueRef object, JsPropertyIdRef propertyId) {
339
- bool hasProperty{false};
340
- ChakraVerifyJsErrorElseThrow(JsHasProperty(object, propertyId, &hasProperty));
341
- return hasProperty;
342
- }
343
-
344
- /*static*/ bool
345
- ChakraApi::DefineProperty(JsValueRef object, JsPropertyIdRef propertyId, JsValueRef propertyDescriptor) {
346
- bool isSucceeded{false};
347
- ChakraVerifyJsErrorElseThrow(JsDefineProperty(object, propertyId, propertyDescriptor, &isSucceeded));
348
- return isSucceeded;
349
- }
350
-
351
- /*static*/ JsValueRef ChakraApi::GetIndexedProperty(JsValueRef object, int32_t index) {
352
- JsValueRef result{JS_INVALID_REFERENCE};
353
- ChakraVerifyJsErrorElseThrow(JsGetIndexedProperty(object, IntToNumber(index), &result));
354
- return result;
355
- }
356
-
357
- /*static*/ void ChakraApi::SetIndexedProperty(JsValueRef object, int32_t index, JsValueRef value) {
358
- ChakraVerifyJsErrorElseThrow(JsSetIndexedProperty(object, IntToNumber(index), value));
359
- }
360
-
361
- /*static*/ bool ChakraApi::StrictEquals(JsValueRef object1, JsValueRef object2) {
362
- bool result{false};
363
- ChakraVerifyJsErrorElseThrow(JsStrictEquals(object1, object2, &result));
364
- return result;
365
- }
366
-
367
- /*static*/ void *ChakraApi::GetExternalData(JsValueRef object) {
368
- void *data{nullptr};
369
- ChakraVerifyJsErrorElseThrow(JsGetExternalData(object, &data));
370
- return data;
371
- }
372
-
373
- /*static*/ JsValueRef ChakraApi::CreateArray(size_t length) {
374
- JsValueRef result{JS_INVALID_REFERENCE};
375
- ChakraVerifyJsErrorElseThrow(JsCreateArray(static_cast<unsigned int>(length), &result));
376
- return result;
377
- }
378
-
379
- /*static*/ JsValueRef ChakraApi::CreateArrayBuffer(size_t byteLength) {
380
- JsValueRef result{JS_INVALID_REFERENCE};
381
- ChakraVerifyJsErrorElseThrow(JsCreateArrayBuffer(static_cast<unsigned int>(byteLength), &result));
382
- return result;
383
- }
384
-
385
- /*static*/ ChakraApi::Span<std::byte> ChakraApi::GetArrayBufferStorage(JsValueRef arrayBuffer) {
386
- BYTE *buffer{nullptr};
387
- unsigned int bufferLength{0};
388
- ChakraVerifyJsErrorElseThrow(JsGetArrayBufferStorage(arrayBuffer, &buffer, &bufferLength));
389
- return {reinterpret_cast<std::byte *>(buffer), bufferLength};
390
- }
391
-
392
- /*static*/ JsValueRef ChakraApi::CallFunction(JsValueRef function, Span<JsValueRef> args) {
393
- JsValueRef result{JS_INVALID_REFERENCE};
394
- ChakraVerifyJsErrorElseThrow(
395
- JsCallFunction(function, args.begin(), static_cast<unsigned short>(args.size()), &result));
396
- return result;
397
- }
398
-
399
- /*static*/ JsValueRef ChakraApi::ConstructObject(JsValueRef function, Span<JsValueRef> args) {
400
- JsValueRef result{JS_INVALID_REFERENCE};
401
- ChakraVerifyJsErrorElseThrow(
402
- JsConstructObject(function, args.begin(), static_cast<unsigned short>(args.size()), &result));
403
- return result;
404
- }
405
-
406
- /*static*/ JsValueRef
407
- ChakraApi::CreateNamedFunction(JsValueRef name, JsNativeFunction nativeFunction, void *callbackState) {
408
- JsValueRef function{JS_INVALID_REFERENCE};
409
- ChakraVerifyJsErrorElseThrow(JsCreateNamedFunction(name, nativeFunction, callbackState, &function));
410
- return function;
411
- }
412
-
413
- /*static*/ bool ChakraApi::SetException(JsValueRef error) noexcept {
414
- // This method must not throw. We return false in case of error.
415
- return JsSetException(error) == JsNoError;
416
- }
417
-
418
- /*static*/ bool ChakraApi::SetException(std::string_view message) noexcept try {
419
- JsValueRef error{JS_INVALID_REFERENCE};
420
- ChakraVerifyJsErrorElseThrow(JsCreateError(PointerToString(message), &error));
421
- return SetException(error);
422
- } catch (...) {
423
- // This method must not throw. We return false in case of error.
424
- return false;
425
- }
426
-
427
- /*static*/ bool ChakraApi::SetException(std::wstring_view message) noexcept try {
428
- JsValueRef error{JS_INVALID_REFERENCE};
429
- ChakraVerifyJsErrorElseThrow(JsCreateError(PointerToString(message), &error));
430
- return SetException(error);
431
- } catch (...) {
432
- // This method must not throw. We return false in case of error.
433
- return false;
434
- }
435
-
436
- } // namespace Microsoft::JSI