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,257 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include <folly/json.h>
7
-
8
- #include "ChakraHelpers.h"
9
- #include "ChakraValue.h"
10
-
11
- // See the comment under Value::fromDynamic()
12
- #if !defined(__APPLE__) && defined(WITH_FB_JSC_TUNING)
13
- #define USE_FAST_FOLLY_DYNAMIC_CONVERSION 1
14
- #else
15
- #define USE_FAST_FOLLY_DYNAMIC_CONVERSION 0
16
- #endif
17
-
18
- namespace facebook {
19
- namespace react {
20
-
21
- ChakraValue::ChakraValue(JsValueRef value) : m_value(value) {}
22
-
23
- ChakraValue::ChakraValue(ChakraValue &&other) noexcept : m_value(other.m_value) {
24
- other.m_value = nullptr;
25
- }
26
-
27
- std::string ChakraValue::toJSONString(unsigned indent) const {
28
- JsValueRef exn;
29
- auto stringToAdopt = JSValueCreateJSONString(m_value, indent, &exn);
30
- if (stringToAdopt == nullptr) {
31
- std::string exceptionText = ChakraValue(exn).toString().str();
32
- throwJSExecutionException("Exception creating JSON string: %s", exceptionText.c_str());
33
- }
34
- return ChakraString::ref(stringToAdopt).str();
35
- }
36
-
37
- /* static */
38
- ChakraValue ChakraValue::fromJSON(const ChakraString &json) {
39
- auto result = JSValueMakeFromJSONString(json);
40
- if (!result) {
41
- throwJSExecutionException("Failed to create String from JSON: %s", json.str().c_str());
42
- }
43
- return ChakraValue(result);
44
- }
45
-
46
- JsValueRef ChakraValue::fromDynamic(const folly::dynamic &value) {
47
- // JavaScriptCore's iOS APIs have their own version of this direct conversion.
48
- // In addition, using this requires exposing some of JSC's private APIs,
49
- // so it's limited to non-apple platforms and to builds that use the custom
50
- // JSC.
51
- // Otherwise, we use the old way of converting through JSON.
52
- #if USE_FAST_FOLLY_DYNAMIC_CONVERSION
53
- // Defer GC during the creation of the JSValue, as we don't want
54
- // intermediate objects to be collected.
55
- // We could use JSValueProtect(), but it will make the process much slower.
56
- JSDeferredGCRef deferGC = JSDeferGarbageCollection(ctx);
57
- // Set a global lock for the whole process,
58
- // instead of re-acquiring the lock for each operation.
59
- JSLock(ctx);
60
- JsValueRef jsVal = Value::fromDynamicInner(ctx, value);
61
- JSUnlock(ctx);
62
- JSResumeGarbageCollection(ctx, deferGC);
63
- return jsVal;
64
- #else
65
- auto json = folly::toJson(value);
66
- return fromJSON(ChakraString(json.c_str()));
67
- #endif
68
- }
69
-
70
- ChakraObject ChakraValue::asObject() {
71
- JsValueRef exn = nullptr;
72
-
73
- JsValueRef obj;
74
- auto result = JsConvertValueToObject(m_value, &obj);
75
- if (result != JsNoError) {
76
- bool hasException = false;
77
- if (JsHasException(&hasException) != JsNoError) {
78
- assert(false && "JsHasException() failed.");
79
- std::terminate();
80
- }
81
-
82
- if (hasException) {
83
- JsGetAndClearException(&exn);
84
- std::string exceptionText = ChakraValue(exn).toString().str();
85
- throwJSExecutionException("Failed to convert to object: %s", exceptionText.c_str());
86
- } else {
87
- throwJSExecutionException("JsConvertValueToObject() failed for reason other than script exception.");
88
- }
89
- }
90
-
91
- return ChakraObject(obj);
92
- }
93
-
94
- ChakraValue ChakraValue::makeError(const char *error) {
95
- JsValueRef message = ChakraValue(ChakraString(error));
96
-
97
- JsValueRef value;
98
- if (JsNoError != JsCreateError(message, &value)) {
99
- assert(false && "JsCreateError() failed");
100
- std::terminate();
101
- }
102
-
103
- return ChakraValue(value);
104
- }
105
-
106
- ChakraValue ChakraObject::callAsFunction(std::initializer_list<JsValueRef> args) const {
107
- // OFFICEDEV
108
- // explicitly pass global object instead of nullptr for Chakra
109
- assert(args.size() < INT_MAX);
110
- return callAsFunction(ChakraObject::getGlobalObject(), static_cast<int>(args.size()), args.begin());
111
- }
112
-
113
- ChakraValue ChakraObject::callAsFunction(const ChakraObject &thisObj, std::initializer_list<JsValueRef> args) const {
114
- assert(args.size() < INT_MAX);
115
- return callAsFunction((JsValueRef)thisObj, static_cast<int>(args.size()), args.begin());
116
- }
117
-
118
- ChakraValue ChakraObject::callAsFunction(int nArgs, const JsValueRef args[]) const {
119
- return callAsFunction(nullptr, nArgs, args);
120
- }
121
-
122
- ChakraValue ChakraObject::callAsFunction(const ChakraObject &thisObj, int nArgs, const JsValueRef args[]) const {
123
- return callAsFunction(static_cast<JsValueRef>(thisObj), nArgs, args);
124
- }
125
-
126
- ChakraValue ChakraObject::callAsFunction(JsValueRef thisObj, int nArgs, const JsValueRef args[]) const {
127
- JsValueRef exn = nullptr;
128
-
129
- auto argsWithThis = new JsValueRef[nArgs + 1];
130
-
131
- argsWithThis[0] = thisObj;
132
- for (int i = 0; i < nArgs; i++)
133
- argsWithThis[i + 1] = args[i];
134
-
135
- JsValueRef value;
136
- auto result =
137
- JsCallFunction(m_obj, const_cast<JsValueRef *>(argsWithThis), static_cast<unsigned short>(nArgs + 1), &value);
138
- delete[] argsWithThis;
139
- if (result != JsNoError) {
140
- bool hasException = false;
141
- if (JsHasException(&hasException) != JsNoError) {
142
- assert(false && "JsHasException() failed.");
143
- std::terminate();
144
- }
145
-
146
- if (hasException) {
147
- JsGetAndClearException(&exn);
148
- std::string exceptionText = ChakraValue(exn).toString().str();
149
- throwJSExecutionException("Exception calling object as function: %s", exceptionText.c_str());
150
- } else {
151
- throwJSExecutionException("JsCallFunction() failed for reason other than script exception.");
152
- }
153
- }
154
-
155
- return ChakraValue(value);
156
- }
157
-
158
- ChakraObject ChakraObject::callAsConstructor(std::initializer_list<JsValueRef> args) const {
159
- JsValueRef exn = nullptr;
160
-
161
- JsValueRef value;
162
- auto result = JsConstructObject(
163
- m_obj, const_cast<JsValueRef *>(args.begin()), static_cast<unsigned short>(args.size()), &value);
164
-
165
- if (result != JsNoError) {
166
- bool hasException = false;
167
- if (JsHasException(&hasException) != JsNoError) {
168
- assert(false && "JsHasException() failed.");
169
- std::terminate();
170
- }
171
-
172
- if (hasException) {
173
- JsGetAndClearException(&exn);
174
- std::string exceptionText = ChakraValue(exn).toString().str();
175
- throwJSExecutionException("Exception calling object as constructor: %s", exceptionText.c_str());
176
- } else {
177
- throwJSExecutionException("JsConstructObject() failed for reason other than script exception.");
178
- }
179
- }
180
-
181
- return ChakraObject(value);
182
- }
183
-
184
- ChakraValue ChakraObject::getProperty(const ChakraString &propName) const {
185
- JsValueRef exn;
186
- JsValueRef property = JSObjectGetProperty(m_obj, propName, &exn);
187
- if (!property) {
188
- std::string exceptionText = ChakraValue(exn).toString().str();
189
- throwJSExecutionException("Failed to get property: %s", exceptionText.c_str());
190
- }
191
- return ChakraValue(property);
192
- }
193
-
194
- ChakraValue ChakraObject::getPropertyAtIndex(unsigned index) const {
195
- JsValueRef exn;
196
- JsValueRef property = JSObjectGetPropertyAtIndex(m_obj, index, &exn);
197
- if (!property) {
198
- std::string exceptionText = ChakraValue(exn).toString().str();
199
- throwJSExecutionException("Failed to get property at index %u: %s", index, exceptionText.c_str());
200
- }
201
- return ChakraValue(property);
202
- }
203
-
204
- ChakraValue ChakraObject::getProperty(const char *propName) const {
205
- return getProperty(ChakraString(propName));
206
- }
207
-
208
- void ChakraObject::setProperty(const ChakraString &propName, const ChakraValue &value) const {
209
- JsValueRef exn = NULL;
210
- JSObjectSetProperty(m_obj, propName, value, JSPropertyAttributes::kJSPropertyAttributeNone, &exn);
211
- if (exn) {
212
- std::string exceptionText = ChakraValue(exn).toString().str();
213
- throwJSExecutionException("Failed to set property: %s", exceptionText.c_str());
214
- }
215
- }
216
-
217
- void ChakraObject::setProperty(const char *propName, const ChakraValue &value) const {
218
- setProperty(ChakraString(propName), value);
219
- }
220
-
221
- std::vector<ChakraString> ChakraObject::getPropertyNames() const {
222
- auto namesRef = JSObjectCopyPropertyNames(m_obj);
223
- auto count = JSPropertyNameArrayGetCount(namesRef);
224
- std::vector<ChakraString> names;
225
- names.reserve(count);
226
- for (decltype(count) i = 0; i < count; i++) {
227
- names.emplace_back(ChakraString::ref(JSPropertyNameArrayGetNameAtIndex(namesRef, i)));
228
- }
229
- // PropertyNameArrayRelease(namesRef);
230
- return names;
231
- }
232
-
233
- std::unordered_map<std::string, std::string> ChakraObject::toJSONMap() const {
234
- std::unordered_map<std::string, std::string> map;
235
- auto namesRef = JSObjectCopyPropertyNames(m_obj);
236
- auto count = JSPropertyNameArrayGetCount(namesRef);
237
- for (decltype(count) i = 0; i < count; i++) {
238
- auto key = ChakraString::ref(JSPropertyNameArrayGetNameAtIndex(namesRef, i));
239
- map.emplace(key.str(), getProperty(key).toJSONString());
240
- }
241
- // PropertyNameArrayRelease(namesRef);
242
- return map;
243
- }
244
-
245
- /* static */
246
- ChakraObject ChakraObject::create() {
247
- JsValueRef value;
248
- if (JsCreateObject(&value) == JsNoError) {
249
- return ChakraObject(value);
250
- } else {
251
- assert(false && "JsCreateObject() failed.");
252
- std::terminate();
253
- }
254
- }
255
-
256
- } // namespace react
257
- } // namespace facebook
@@ -1,308 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <memory>
7
- #include <sstream>
8
- #include <unordered_map>
9
- #include <vector>
10
-
11
- #include <folly/dynamic.h>
12
-
13
- #include <jsrt.h>
14
-
15
- #include "Utf8DebugExtensions.h"
16
-
17
- namespace facebook {
18
- namespace react {
19
-
20
- class ChakraValue;
21
- class ChakraObject;
22
-
23
- enum class JSPropertyAttributes { kJSPropertyAttributeNone };
24
-
25
- class ChakraString {
26
- public:
27
- ChakraString &operator=(const ChakraString &) = delete;
28
- ChakraString() = default;
29
-
30
- explicit ChakraString(const char *utf8) {
31
- JsValueRef value = nullptr;
32
- // TODO verify return success
33
- if (JsNoError == JsPointerToStringUtf8(utf8, strlen(utf8), &value))
34
- JsAddRef(value, nullptr);
35
- m_string = value;
36
- }
37
-
38
- ChakraString(ChakraString &&other) noexcept : m_string(other.m_string) {
39
- other.m_string = nullptr;
40
- }
41
-
42
- ChakraString(const ChakraString &other) : m_string(other.m_string) {
43
- if (m_string) {
44
- JsAddRef(m_string, nullptr);
45
- }
46
- }
47
-
48
- ~ChakraString() {
49
- if (m_string) {
50
- JsRelease(m_string, nullptr);
51
- }
52
- }
53
-
54
- operator JsValueRef() const {
55
- return m_string;
56
- }
57
-
58
- // Length in characters
59
- size_t length() const {
60
- int length;
61
- JsGetStringLength(m_string, &length);
62
- return length;
63
- }
64
-
65
- /*
66
- * JavaScriptCore is built with strict utf16 -> utf8 conversion.
67
- * This means if JSC's built-in conversion function encounters a JavaScript
68
- * string which contains half of a 32-bit UTF-16 symbol, it produces an error
69
- * rather than returning a string.
70
- *
71
- * Instead of relying on this, we use our own utf16 -> utf8 conversion
72
- * function which is more lenient and always returns a string. When an invalid
73
- * UTF-16 string is provided, it'll likely manifest as a rendering glitch in
74
- * the app for the invalid symbol.
75
- *
76
- * For details on JavaScript's unicode support see:
77
- * https://mathiasbynens.be/notes/javascript-unicode
78
- */
79
- std::string str() const {
80
- std::string str;
81
- /*auto result = */ JsStringToStdStringUtf8(m_string, str);
82
- return str;
83
- }
84
-
85
- // Assumes that utf8 is null terminated
86
- bool equals(const char *utf8) {
87
- std::string str;
88
-
89
- /*auto result = */ JsStringToStdStringUtf8(m_string, str);
90
- return str.compare(utf8) == 0;
91
- }
92
-
93
- // This assumes ascii is nul-terminated.
94
- static ChakraString createExpectingAscii(const char *ascii, size_t /*len*/) {
95
- return ChakraString(ascii);
96
- }
97
-
98
- static ChakraString createExpectingAscii(std::string const &ascii) {
99
- return createExpectingAscii(ascii.c_str(), ascii.size());
100
- }
101
-
102
- static ChakraString ref(JsValueRef string) {
103
- return ChakraString(string, false);
104
- }
105
-
106
- static ChakraString adopt(JsValueRef string) {
107
- return ChakraString(string, true);
108
- }
109
-
110
- private:
111
- explicit ChakraString(JsValueRef string, bool adopt) : m_string(string) {
112
- if (!adopt && string) {
113
- JsAddRef(string, nullptr);
114
- }
115
- }
116
-
117
- JsValueRef m_string;
118
- };
119
-
120
- class ChakraObject {
121
- public:
122
- ChakraObject(const ChakraObject &) = delete;
123
- ChakraObject &operator=(const ChakraObject &) = delete;
124
- ChakraObject() = default;
125
-
126
- ChakraObject(JsValueRef obj) : m_obj(obj) {
127
- // TODO :: VEC is value is not object.
128
- }
129
-
130
- ChakraObject(ChakraObject &&other) noexcept : m_obj(other.m_obj), m_isProtected(other.m_isProtected) {
131
- other.m_obj = nullptr;
132
- other.m_isProtected = false;
133
- }
134
-
135
- ~ChakraObject() {
136
- if (m_isProtected && m_obj) {
137
- JsRelease(m_obj, nullptr);
138
- }
139
- }
140
-
141
- ChakraObject &operator=(ChakraObject &&other) noexcept {
142
- std::swap(m_obj, other.m_obj);
143
- std::swap(m_isProtected, other.m_isProtected);
144
- return *this;
145
- }
146
-
147
- operator JsValueRef() const {
148
- return m_obj;
149
- }
150
-
151
- bool isFunction() const {
152
- JsValueType type;
153
- JsGetValueType(m_obj, &type);
154
- return type == JsFunction;
155
- }
156
-
157
- ChakraValue callAsFunction(std::initializer_list<JsValueRef> args) const;
158
- ChakraValue callAsFunction(const ChakraObject &thisObj, std::initializer_list<JsValueRef> args) const;
159
- ChakraValue callAsFunction(int nArgs, const JsValueRef args[]) const;
160
- ChakraValue callAsFunction(const ChakraObject &thisObj, int nArgs, const JsValueRef args[]) const;
161
-
162
- ChakraObject callAsConstructor(std::initializer_list<JsValueRef> args) const;
163
-
164
- ChakraValue getProperty(const ChakraString &propName) const;
165
- ChakraValue getProperty(const char *propName) const;
166
- ChakraValue getPropertyAtIndex(unsigned index) const;
167
- void setProperty(const ChakraString &propName, const ChakraValue &value) const;
168
- void setProperty(const char *propName, const ChakraValue &value) const;
169
- std::unordered_map<std::string, std::string> toJSONMap() const;
170
-
171
- std::vector<ChakraString> getPropertyNames() const;
172
-
173
- void makeProtected() {
174
- if (!m_isProtected && m_obj) {
175
- JsAddRef(m_obj, nullptr);
176
- m_isProtected = true;
177
- }
178
- }
179
-
180
- static ChakraObject getGlobalObject() {
181
- JsValueRef value = nullptr;
182
- JsGetGlobalObject(&value);
183
- return ChakraObject(value);
184
- }
185
-
186
- /**
187
- * Creates an instance of the default object class.
188
- */
189
- static ChakraObject create();
190
-
191
- private:
192
- JsValueRef m_obj;
193
- bool m_isProtected = false;
194
-
195
- ChakraValue callAsFunction(JsValueRef thisObj, int nArgs, const JsValueRef args[]) const;
196
- };
197
-
198
- class ChakraValue {
199
- public:
200
- ChakraValue(const ChakraValue &) = delete;
201
- ChakraValue &operator=(const ChakraValue &) = delete;
202
- ChakraValue() = default;
203
- ChakraValue(JsValueRef value);
204
- ChakraValue(ChakraValue &&) noexcept;
205
-
206
- operator JsValueRef() const {
207
- return m_value;
208
- }
209
-
210
- JsValueType getType() const {
211
- JsValueType type;
212
- JsGetValueType(m_value, &type);
213
- return type;
214
- }
215
-
216
- bool isBoolean() const {
217
- return getType() == JsBoolean;
218
- }
219
-
220
- bool asBoolean() const {
221
- bool value;
222
- JsBooleanToBool(m_value, &value);
223
- return value;
224
- }
225
-
226
- bool isNumber() const {
227
- return getType() == JsNumber;
228
- }
229
-
230
- bool isNull() const {
231
- return getType() == JsNull;
232
- }
233
-
234
- bool isUndefined() const {
235
- return getType() == JsUndefined;
236
- }
237
-
238
- double asNumber() const {
239
- if (isNumber()) {
240
- double value;
241
- auto result = JsNumberToDouble(m_value, &value);
242
- if (result == JsErrorScriptException) {
243
- assert(false && "JsNumberToDouble() failed.");
244
- std::terminate();
245
- }
246
- return value;
247
- } else {
248
- return 0.0f;
249
- }
250
- }
251
-
252
- int32_t asInteger() const {
253
- return static_cast<int32_t>(asNumber());
254
- }
255
-
256
- uint32_t asUnsignedInteger() const {
257
- return static_cast<uint32_t>(asNumber());
258
- }
259
-
260
- bool isObject() const {
261
- return getType() == JsObject;
262
- }
263
-
264
- ChakraObject asObject();
265
-
266
- bool isString() const {
267
- return getType() == JsString;
268
- }
269
-
270
- ChakraString toString() noexcept {
271
- JsValueRef value;
272
- auto result = JsConvertValueToString(m_value, &value);
273
- if (JsNoError == result) {
274
- JsAddRef(value, nullptr); // TODO is this the right lifetime semantics?
275
- } else if (result == JsErrorScriptException) {
276
- assert(false && "JsConvertValueToString() failed().");
277
- std::terminate();
278
- }
279
-
280
- return ChakraString::adopt(value);
281
- }
282
-
283
- static ChakraValue makeError(const char *error);
284
-
285
- static ChakraValue makeNumber(double dbl) {
286
- JsValueRef value;
287
- JsDoubleToNumber(dbl, &value);
288
- return value;
289
- }
290
-
291
- static ChakraValue makeUndefined() {
292
- JsValueRef value;
293
- JsGetUndefinedValue(&value);
294
- return value;
295
- }
296
-
297
- std::string toJSONString(unsigned indent = 0) const;
298
- static ChakraValue fromJSON(const ChakraString &json);
299
- static JsValueRef fromDynamic(const folly::dynamic &value);
300
-
301
- protected:
302
- JsValueRef m_value;
303
- // static JsValueRef fromDynamicInner(JsContextRef ctx, const folly::dynamic&
304
- // obj);
305
- };
306
-
307
- } // namespace react
308
- } // namespace facebook
@@ -1,62 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include "Unicode.h"
7
- #include "Utf8DebugExtensions.h"
8
-
9
- #include <malloc.h>
10
- #include <stdlib.h>
11
- #include <cassert>
12
- #include <memory>
13
-
14
- namespace facebook {
15
- namespace react {
16
-
17
- JsErrorCode JsGetPropertyIdFromNameUtf8(_In_z_ const char *name, _Out_ JsPropertyIdRef *propertyId) {
18
- if (name == nullptr) {
19
- return JsErrorNullArgument;
20
- }
21
-
22
- size_t convertedChars = 0;
23
- size_t stringLength = strlen(name);
24
- std::unique_ptr<wchar_t[]> wname(new wchar_t[stringLength + 1]);
25
- mbstowcs_s(&convertedChars, wname.get(), stringLength + 1, name, stringLength);
26
-
27
- if (!wname.get()) {
28
- return JsErrorOutOfMemory;
29
- }
30
-
31
- return JsGetPropertyIdFromName(wname.get(), propertyId);
32
- }
33
-
34
- JsErrorCode JsPointerToStringUtf8(
35
- _In_reads_(stringLength) const char *stringValue,
36
- _In_ size_t stringLength,
37
- _Out_ JsValueRef *string) noexcept {
38
- if (stringValue == nullptr) {
39
- return JsErrorNullArgument;
40
- }
41
- // JsCreateString is not supported in universal chakra engine
42
- // So we convert the utf8 string to utf16 first and call JsPointerToString to
43
- // convert the string to JsValueRef
44
- std::wstring wstr = Microsoft::Common::Unicode::Utf8ToUtf16(stringValue, stringLength);
45
- return JsPointerToString(wstr.c_str(), wstr.size(), string);
46
- }
47
-
48
- JsErrorCode JsStringToStdStringUtf8(_In_ JsValueRef stringValue, std::string &string) {
49
- const wchar_t *wstr;
50
- size_t wstrLen;
51
- JsErrorCode err = JsStringToPointer(stringValue, &wstr, &wstrLen);
52
-
53
- if (err == JsNoError)
54
- string = Microsoft::Common::Unicode::Utf16ToUtf8(wstr, wstrLen);
55
- else
56
- string.clear();
57
-
58
- return err;
59
- }
60
-
61
- } // namespace react
62
- } // namespace facebook
@@ -1,29 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <jsrt.h>
7
- #include <string>
8
- #if _HAS_CXX17
9
- #include <string_view>
10
- #endif
11
-
12
- // unit test classes for testing static private function
13
- class StringConversionTest_Desktop;
14
- class StringConversionTest_Universal;
15
-
16
- namespace facebook {
17
- namespace react {
18
-
19
- JsErrorCode JsGetPropertyIdFromNameUtf8(_In_z_ const char *name, _Out_ JsPropertyIdRef *propertyId);
20
-
21
- JsErrorCode JsPointerToStringUtf8(
22
- _In_reads_(stringLength) const char *stringValue,
23
- _In_ size_t stringLength,
24
- _Out_ JsValueRef *string) noexcept;
25
-
26
- JsErrorCode JsStringToStdStringUtf8(_In_ JsValueRef stringValue, std::string &string);
27
-
28
- } // namespace react
29
- } // namespace facebook