react-native-windows 0.74.10 → 0.75.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/.flowconfig +8 -2
  2. package/Common/Common.vcxproj +8 -0
  3. package/Common/Utilities.cpp +2 -2
  4. package/Directory.Build.targets +5 -0
  5. package/Folly/Folly.vcxproj +10 -2
  6. package/Folly/Folly.vcxproj.filters +0 -7
  7. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +970 -0
  8. package/Folly/TEMP_UntilFollyUpdate/json.cpp +1110 -0
  9. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +4 -2
  10. package/Libraries/Animated/AnimatedImplementation.js +2 -0
  11. package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
  12. package/Libraries/Animated/createAnimatedComponent.js +10 -4
  13. package/Libraries/Animated/useAnimatedProps.js +56 -28
  14. package/Libraries/BatchedBridge/MessageQueue.js +1 -0
  15. package/Libraries/Components/Button.js +10 -5
  16. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
  17. package/Libraries/Components/Flyout/Flyout.js +10 -10
  18. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +8 -7
  19. package/Libraries/Components/Pressable/Pressable.js +13 -6
  20. package/Libraries/Components/Pressable/Pressable.windows.js +13 -6
  21. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
  22. package/Libraries/Components/ScrollView/ScrollView.js +109 -29
  23. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
  24. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +6 -0
  25. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
  26. package/Libraries/Components/StatusBar/StatusBar.js +1 -21
  27. package/Libraries/Components/Switch/Switch.windows.js +2 -0
  28. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
  29. package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
  30. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
  31. package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
  32. package/Libraries/Components/TextInput/TextInput.js +20 -73
  33. package/Libraries/Components/TextInput/TextInput.windows.js +21 -75
  34. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +27 -12
  35. package/Libraries/Components/Touchable/Touchable.js +2 -2
  36. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
  37. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
  38. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +3 -1
  39. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
  40. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
  41. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +3 -1
  42. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
  43. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +117 -111
  44. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +129 -110
  45. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
  46. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  47. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  48. package/Libraries/Components/View/View.js +0 -11
  49. package/Libraries/Components/View/View.windows.js +0 -11
  50. package/Libraries/Components/View/ViewAccessibility.js +4 -4
  51. package/Libraries/Components/View/ViewAccessibility.windows.js +4 -4
  52. package/Libraries/Components/View/ViewPropTypes.d.ts +21 -59
  53. package/Libraries/Components/View/ViewPropTypes.js +7 -0
  54. package/Libraries/Components/View/ViewPropTypes.windows.js +7 -0
  55. package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
  56. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +153 -0
  57. package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
  58. package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
  59. package/Libraries/Core/ErrorHandlers.js +116 -0
  60. package/Libraries/Core/ExceptionsManager.js +2 -2
  61. package/Libraries/Core/ReactNativeVersion.js +3 -3
  62. package/Libraries/Core/setUpDeveloperTools.js +3 -1
  63. package/Libraries/Core/setUpPerformance.js +6 -4
  64. package/Libraries/Core/setUpReactDevTools.js +70 -10
  65. package/Libraries/Core/setUpTimers.js +50 -31
  66. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  67. package/Libraries/Image/Image.android.js +23 -13
  68. package/Libraries/Image/Image.d.ts +14 -15
  69. package/Libraries/Image/Image.ios.js +21 -11
  70. package/Libraries/Image/Image.windows.js +21 -11
  71. package/Libraries/Image/ImageProps.js +16 -5
  72. package/Libraries/Image/ImageTypes.flow.js +7 -2
  73. package/Libraries/Image/ImageUtils.js +1 -0
  74. package/Libraries/Image/ImageViewNativeComponent.js +2 -1
  75. package/Libraries/Inspector/ElementBox.js +6 -3
  76. package/Libraries/Inspector/ElementProperties.js +1 -1
  77. package/Libraries/Interaction/TouchHistoryMath.js +4 -4
  78. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
  79. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  80. package/Libraries/LogBox/Data/LogBoxData.js +39 -29
  81. package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
  82. package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
  83. package/Libraries/LogBox/LogBox.js +29 -12
  84. package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
  85. package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
  86. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
  87. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
  88. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
  89. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
  90. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +5 -66
  91. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
  92. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
  93. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +8 -5
  94. package/Libraries/LogBox/UI/LogBoxNotification.js +13 -152
  95. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
  96. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
  97. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
  98. package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
  99. package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
  100. package/Libraries/NativeComponent/BaseViewConfig.windows.js +5 -0
  101. package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
  102. package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
  103. package/Libraries/Network/XMLHttpRequest.js +5 -1
  104. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
  105. package/Libraries/Pressability/Pressability.js +3 -51
  106. package/Libraries/Pressability/Pressability.windows.js +3 -51
  107. package/Libraries/ReactNative/AppRegistry.d.ts +4 -0
  108. package/Libraries/ReactNative/AppRegistry.js +2 -4
  109. package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
  110. package/Libraries/ReactNative/FabricUIManager.js +0 -51
  111. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
  112. package/Libraries/ReactNative/RendererImplementation.js +20 -2
  113. package/Libraries/ReactNative/UIManager.d.ts +0 -21
  114. package/Libraries/ReactNative/UIManagerProperties.js +0 -3
  115. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
  116. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
  117. package/Libraries/Renderer/implementations/ReactFabric-dev.js +15682 -27088
  118. package/Libraries/Renderer/implementations/ReactFabric-prod.js +5082 -4381
  119. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3480 -2571
  120. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +15943 -27543
  121. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5303 -4606
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3450 -2572
  123. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  124. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  125. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  126. package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
  127. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
  128. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  129. package/Libraries/Share/Share.d.ts +16 -10
  130. package/Libraries/Share/Share.js +14 -15
  131. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
  132. package/Libraries/StyleSheet/StyleSheet.js +3 -10
  133. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
  134. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
  135. package/Libraries/StyleSheet/flattenStyle.js +1 -0
  136. package/Libraries/StyleSheet/processFilter.js +132 -0
  137. package/Libraries/StyleSheet/processTransform.js +18 -3
  138. package/Libraries/Text/Text.js +151 -128
  139. package/Libraries/Text/Text.windows.js +144 -127
  140. package/Libraries/Text/TextNativeComponent.js +5 -4
  141. package/Libraries/Text/TextProps.js +6 -6
  142. package/Libraries/Text/TextProps.windows.js +6 -6
  143. package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
  144. package/Libraries/Types/CodegenTypes.js +3 -0
  145. package/Libraries/Utilities/{LoadingView.android.js → DevLoadingView.js} +33 -11
  146. package/Libraries/Utilities/Dimensions.js +1 -0
  147. package/Libraries/Utilities/HMRClient.js +36 -8
  148. package/Libraries/Utilities/HMRClientProdShim.js +1 -0
  149. package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
  150. package/Libraries/Utilities/Platform.android.js +4 -4
  151. package/Libraries/Utilities/RCTLog.js +1 -0
  152. package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
  153. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
  154. package/Libraries/__tests__/ViewWindows-test.js +6 -6
  155. package/Libraries/promiseRejectionTrackingOptions.js +1 -0
  156. package/Microsoft.ReactNative/Base/FollyIncludes.h +1 -1
  157. package/Microsoft.ReactNative/ComponentView.idl +0 -17
  158. package/Microsoft.ReactNative/Fabric/AbiState.cpp +3 -45
  159. package/Microsoft.ReactNative/Fabric/AbiState.h +0 -6
  160. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +10 -6
  161. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +4 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +12 -3
  163. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +1 -1
  164. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +7 -12
  165. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +1 -2
  166. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +9 -3
  167. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.h +1 -1
  168. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -18
  169. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +3 -5
  170. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +23 -11
  171. package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +5 -2
  172. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +2 -10
  173. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -36
  174. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -12
  175. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +4 -0
  176. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -0
  177. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -2
  178. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -4
  179. package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
  180. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +2 -2
  181. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +3 -3
  182. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -17
  183. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  184. package/Microsoft.ReactNative/Timer.idl +1 -3
  185. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +1 -1
  186. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +2 -3
  187. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  188. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -2
  189. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
  190. package/Microsoft.ReactNative/packages.lock.json +45 -72
  191. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  192. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -0
  193. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -0
  194. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +14 -6
  195. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +2 -2
  196. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +1 -1
  197. package/Microsoft.ReactNative.Managed/packages.lock.json +3 -3
  198. package/PropertySheets/ARM64EC.props +13 -0
  199. package/PropertySheets/Application/ARM64EC.props +13 -0
  200. package/PropertySheets/DynamicLibrary/ARM64EC.props +13 -0
  201. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +4 -4
  202. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  203. package/PropertySheets/JSEngine.props +2 -0
  204. package/PropertySheets/StaticLibrary/ARM64EC.props +13 -0
  205. package/README.md +21 -21
  206. package/ReactCommon/ReactCommon.vcxproj +11 -1
  207. package/ReactCommon/ReactCommon.vcxproj.filters +19 -12
  208. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +67 -0
  209. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +180 -0
  210. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +351 -0
  211. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +6 -3
  212. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +152 -0
  213. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -1
  214. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +13 -15
  215. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +137 -0
  216. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +283 -0
  217. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +7 -10
  218. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +162 -0
  219. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -4
  220. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +33 -8
  221. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.cpp +45 -0
  222. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +67 -0
  223. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +104 -74
  224. package/Scripts/StripAdditionalPlatformsFromNuspec.ps1 +1 -1
  225. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +10 -6
  226. package/Scripts/rnw-dependencies.ps1 +36 -23
  227. package/Shared/HermesRuntimeHolder.cpp +19 -1
  228. package/Shared/HermesRuntimeHolder.h +8 -1
  229. package/Shared/HermesSamplingProfiler.cpp +1 -2
  230. package/Shared/Networking/WinRTWebSocketResource.cpp +3 -3
  231. package/Shared/OInstance.cpp +1 -2
  232. package/Shared/Shared.vcxitems +21 -15
  233. package/Shared/Shared.vcxitems.filters +8 -3
  234. package/Shared/Threading/BatchingQueueThread.cpp +6 -2
  235. package/Shared/Threading/BatchingQueueThread.h +2 -2
  236. package/Shared/Utils/CppWinrtLessExceptions.h +2 -2
  237. package/codegen/NativeAppStateSpec.g.h +8 -8
  238. package/codegen/NativeBlobModuleSpec.g.h +0 -10
  239. package/codegen/NativeDOMSpec.g.h +136 -0
  240. package/codegen/NativeDevSettingsSpec.g.h +11 -5
  241. package/codegen/NativeIdleCallbacksSpec.g.h +64 -0
  242. package/codegen/NativeIntersectionObserverSpec.g.h +14 -14
  243. package/codegen/NativeMicrotasksSpec.g.h +34 -0
  244. package/codegen/NativePerformanceSpec.g.h +35 -7
  245. package/codegen/NativePlatformConstantsWindowsSpec.g.h +81 -0
  246. package/codegen/NativePushNotificationManagerIOSSpec.g.h +15 -19
  247. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +111 -39
  248. package/codegen/NativeUIManagerSpec.g.h +5 -17
  249. package/codegen/react/components/rnwcore/Props.cpp +1 -1
  250. package/codegen/react/components/rnwcore/Props.h +16 -12
  251. package/codegen/react/components/rnwcore/States.h +0 -26
  252. package/codegen/rnwcoreJSI-generated.cpp +688 -463
  253. package/codegen/rnwcoreJSI.h +1374 -2867
  254. package/fmt/TEMP_UntilFmtUpdate/core.h +2925 -0
  255. package/fmt/fmt.vcxproj +10 -2
  256. package/jest/mockComponent.js +7 -0
  257. package/jest/renderer.js +25 -14
  258. package/jest/setup.js +19 -13
  259. package/package.json +29 -27
  260. package/rn-get-polyfills.js +1 -0
  261. package/src/private/core/composeStyles.js +27 -0
  262. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
  263. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  264. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
  265. package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
  266. package/src/private/specs/modules/NativeBlobModule.js +4 -2
  267. package/src/private/specs/modules/NativeDevSettings.js +1 -0
  268. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
  269. package/src/private/specs/modules/NativeUIManager.js +0 -7
  270. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
  271. package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
  272. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
  273. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
  274. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
  275. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  276. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  277. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
  278. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
  279. package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
  280. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
  281. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
  282. package/src/private/webapis/performance/EventCounts.js +1 -1
  283. package/src/private/webapis/performance/MemoryInfo.js +9 -9
  284. package/src/private/webapis/performance/Performance.js +10 -56
  285. package/src/private/webapis/performance/PerformanceObserver.js +30 -22
  286. package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
  287. package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
  288. package/src/private/webapis/performance/UserTiming.js +63 -0
  289. package/src/private/webapis/performance/{NativePerformance.js → specs/NativePerformance.js} +3 -2
  290. package/src/private/webapis/performance/{NativePerformanceObserver.js → specs/NativePerformanceObserver.js} +2 -2
  291. package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformance.js +1 -1
  292. package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformanceObserver.js +3 -4
  293. package/stubs/glog/logging.h +1 -0
  294. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  295. package/template/cs-lib/proj/MyLib.csproj +1 -1
  296. package/template/metro.config.js +13 -2
  297. package/templates/cpp-app/template.config.js +1 -1
  298. package/templates/cpp-lib/example/metro.config.js +2 -2
  299. package/templates/cpp-lib/template.config.js +1 -1
  300. package/templates/old/generateWrapper.js +4 -1
  301. package/types/modules/globals.d.ts +4 -0
  302. package/Libraries/Lists/FlatList.windows.js +0 -717
  303. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
  304. package/Libraries/Utilities/LoadingView.ios.js +0 -50
  305. package/Libraries/Utilities/LoadingView.js +0 -16
  306. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +0 -178
  307. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +0 -39
  308. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +0 -31
  309. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -137
  310. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2375
  311. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  312. package/codegen/NativeAnimationsDebugModuleSpec.g.h +0 -40
  313. package/codegen/NativePlatformConstantsWinSpec.g.h +0 -81
  314. package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
  315. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
  316. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
  317. package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
  318. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
  319. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
  320. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
  321. package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
  322. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
  323. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
  324. package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
  325. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
  326. package/template/metro.devMode.config.js +0 -56
  327. /package/src/private/specs/modules/{NativePlatformConstantsWin.js → NativePlatformConstantsWindows.js} +0 -0
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ * @oncall react_native
10
+ */
11
+
12
+ import type {
13
+ InternalInstanceHandle,
14
+ Node,
15
+ } from '../../../../../../../Libraries/Renderer/shims/ReactNativeTypes';
16
+ import type {
17
+ MeasureInWindowOnSuccessCallback,
18
+ MeasureLayoutOnSuccessCallback,
19
+ MeasureOnSuccessCallback,
20
+ } from '../NativeDOM';
21
+ import typeof NativeDOM from '../NativeDOM';
22
+
23
+ import {
24
+ ensureHostNode,
25
+ fromNode,
26
+ getAncestorsInCurrentTree,
27
+ getNodeInCurrentTree,
28
+ } from '../../../../../../../Libraries/ReactNative/__mocks__/FabricUIManager';
29
+
30
+ function* dfs(node: ?Node): Iterator<Node> {
31
+ if (node == null) {
32
+ return;
33
+ }
34
+
35
+ yield node;
36
+
37
+ for (const child of fromNode(node).children) {
38
+ yield* dfs(child);
39
+ }
40
+ }
41
+
42
+ function hasDisplayNone(node: Node): boolean {
43
+ const props = fromNode(node).props;
44
+ // Style is flattened when passed to native, so there's no style object.
45
+ // $FlowFixMe[prop-missing]
46
+ return props != null && props.display === 'none';
47
+ }
48
+
49
+ const NativeDOMMock: NativeDOM = {
50
+ getBoundingClientRect: jest.fn(
51
+ (
52
+ node: Node,
53
+ includeTransform: boolean,
54
+ ): [
55
+ /* x:*/ number,
56
+ /* y:*/ number,
57
+ /* width:*/ number,
58
+ /* height:*/ number,
59
+ ] => {
60
+ ensureHostNode(node);
61
+
62
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
63
+ const currentProps =
64
+ nodeInCurrentTree != null ? fromNode(nodeInCurrentTree).props : null;
65
+ if (currentProps == null) {
66
+ return [0, 0, 0, 0];
67
+ }
68
+
69
+ const boundingClientRectForTests: ?{
70
+ x: number,
71
+ y: number,
72
+ width: number,
73
+ height: number,
74
+ } =
75
+ // $FlowExpectedError[prop-missing]
76
+ currentProps.__boundingClientRectForTests;
77
+
78
+ if (boundingClientRectForTests == null) {
79
+ return [0, 0, 0, 0];
80
+ }
81
+
82
+ const {x, y, width, height} = boundingClientRectForTests;
83
+ return [x, y, width, height];
84
+ },
85
+ ),
86
+
87
+ hasPointerCapture: jest.fn((node: Node, pointerId: number): boolean => false),
88
+
89
+ setPointerCapture: jest.fn((node: Node, pointerId: number): void => {}),
90
+
91
+ releasePointerCapture: jest.fn((node: Node, pointerId: number): void => {}),
92
+
93
+ getParentNode: jest.fn((node: Node): ?InternalInstanceHandle => {
94
+ const ancestors = getAncestorsInCurrentTree(node);
95
+ if (ancestors == null || ancestors.length - 2 < 0) {
96
+ return null;
97
+ }
98
+
99
+ const [parentOfParent, position] = ancestors[ancestors.length - 2];
100
+ const parentInCurrentTree = fromNode(parentOfParent).children[position];
101
+ return fromNode(parentInCurrentTree).instanceHandle;
102
+ }),
103
+
104
+ getChildNodes: jest.fn(
105
+ (node: Node): $ReadOnlyArray<InternalInstanceHandle> => {
106
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
107
+
108
+ if (nodeInCurrentTree == null) {
109
+ return [];
110
+ }
111
+
112
+ return fromNode(nodeInCurrentTree).children.map(
113
+ child => fromNode(child).instanceHandle,
114
+ );
115
+ },
116
+ ),
117
+
118
+ isConnected: jest.fn((node: Node): boolean => {
119
+ return getNodeInCurrentTree(node) != null;
120
+ }),
121
+
122
+ getTextContent: jest.fn((node: Node): string => {
123
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
124
+
125
+ let result = '';
126
+
127
+ if (nodeInCurrentTree == null) {
128
+ return result;
129
+ }
130
+
131
+ for (const childNode of dfs(nodeInCurrentTree)) {
132
+ if (fromNode(childNode).viewName === 'RCTRawText') {
133
+ const props = fromNode(childNode).props;
134
+ // $FlowExpectedError[prop-missing]
135
+ const maybeString: ?string = props.text;
136
+ if (typeof maybeString === 'string') {
137
+ result += maybeString;
138
+ }
139
+ }
140
+ }
141
+ return result;
142
+ }),
143
+
144
+ compareDocumentPosition: jest.fn((node: Node, otherNode: Node): number => {
145
+ /* eslint-disable no-bitwise */
146
+ const ReadOnlyNode = require('../../ReadOnlyNode').default;
147
+
148
+ // Quick check for node vs. itself
149
+ if (fromNode(node).reactTag === fromNode(otherNode).reactTag) {
150
+ return 0;
151
+ }
152
+
153
+ if (fromNode(node).rootTag !== fromNode(otherNode).rootTag) {
154
+ return ReadOnlyNode.DOCUMENT_POSITION_DISCONNECTED;
155
+ }
156
+
157
+ const ancestors = getAncestorsInCurrentTree(node);
158
+ if (ancestors == null) {
159
+ return ReadOnlyNode.DOCUMENT_POSITION_DISCONNECTED;
160
+ }
161
+
162
+ const otherAncestors = getAncestorsInCurrentTree(otherNode);
163
+ if (otherAncestors == null) {
164
+ return ReadOnlyNode.DOCUMENT_POSITION_DISCONNECTED;
165
+ }
166
+
167
+ // Consume all common ancestors
168
+ let i = 0;
169
+ while (
170
+ i < ancestors.length &&
171
+ i < otherAncestors.length &&
172
+ ancestors[i][1] === otherAncestors[i][1]
173
+ ) {
174
+ i++;
175
+ }
176
+
177
+ if (i === ancestors.length) {
178
+ return (
179
+ ReadOnlyNode.DOCUMENT_POSITION_CONTAINED_BY |
180
+ ReadOnlyNode.DOCUMENT_POSITION_FOLLOWING
181
+ );
182
+ }
183
+
184
+ if (i === otherAncestors.length) {
185
+ return (
186
+ ReadOnlyNode.DOCUMENT_POSITION_CONTAINS |
187
+ ReadOnlyNode.DOCUMENT_POSITION_PRECEDING
188
+ );
189
+ }
190
+
191
+ if (ancestors[i][1] > otherAncestors[i][1]) {
192
+ return ReadOnlyNode.DOCUMENT_POSITION_PRECEDING;
193
+ }
194
+
195
+ return ReadOnlyNode.DOCUMENT_POSITION_FOLLOWING;
196
+ }),
197
+
198
+ getOffset: jest.fn(
199
+ (
200
+ node: Node,
201
+ ): [
202
+ /* offsetParent: */ ?InternalInstanceHandle,
203
+ /* offsetTop: */ number,
204
+ /* offsetLeft: */ number,
205
+ ] => {
206
+ const ancestors = getAncestorsInCurrentTree(node);
207
+ if (ancestors == null) {
208
+ return [null, 0, 0];
209
+ }
210
+
211
+ const [parent, position] = ancestors[ancestors.length - 1];
212
+ const nodeInCurrentTree = fromNode(parent).children[position];
213
+
214
+ const currentProps =
215
+ nodeInCurrentTree != null ? fromNode(nodeInCurrentTree).props : null;
216
+ if (currentProps == null || hasDisplayNone(nodeInCurrentTree)) {
217
+ return [null, 0, 0];
218
+ }
219
+
220
+ const offsetForTests: ?{
221
+ top: number,
222
+ left: number,
223
+ } =
224
+ // $FlowExpectedError[prop-missing]
225
+ currentProps.__offsetForTests;
226
+
227
+ if (offsetForTests == null) {
228
+ return [null, 0, 0];
229
+ }
230
+
231
+ let currentIndex = ancestors.length - 1;
232
+ while (currentIndex >= 0 && !hasDisplayNone(ancestors[currentIndex][0])) {
233
+ currentIndex--;
234
+ }
235
+
236
+ if (currentIndex >= 0) {
237
+ // The node or one of its ancestors have display: none
238
+ return [null, 0, 0];
239
+ }
240
+
241
+ return [
242
+ fromNode(parent).instanceHandle,
243
+ offsetForTests.top,
244
+ offsetForTests.left,
245
+ ];
246
+ },
247
+ ),
248
+
249
+ getScrollPosition: jest.fn(
250
+ (node: Node): [/* scrollLeft: */ number, /* scrollTop: */ number] => {
251
+ ensureHostNode(node);
252
+
253
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
254
+ const currentProps =
255
+ nodeInCurrentTree != null ? fromNode(nodeInCurrentTree).props : null;
256
+ if (currentProps == null) {
257
+ return [0, 0];
258
+ }
259
+
260
+ const scrollForTests: ?{
261
+ scrollLeft: number,
262
+ scrollTop: number,
263
+ ...
264
+ } =
265
+ // $FlowExpectedError[prop-missing]
266
+ currentProps.__scrollForTests;
267
+
268
+ if (scrollForTests == null) {
269
+ return [0, 0];
270
+ }
271
+
272
+ const {scrollLeft, scrollTop} = scrollForTests;
273
+ return [scrollLeft, scrollTop];
274
+ },
275
+ ),
276
+
277
+ getScrollSize: jest.fn(
278
+ (node: Node): [/* scrollLeft: */ number, /* scrollTop: */ number] => {
279
+ ensureHostNode(node);
280
+
281
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
282
+ const currentProps =
283
+ nodeInCurrentTree != null ? fromNode(nodeInCurrentTree).props : null;
284
+ if (currentProps == null) {
285
+ return [0, 0];
286
+ }
287
+
288
+ const scrollForTests: ?{
289
+ scrollWidth: number,
290
+ scrollHeight: number,
291
+ ...
292
+ } =
293
+ // $FlowExpectedError[prop-missing]
294
+ currentProps.__scrollForTests;
295
+
296
+ if (scrollForTests == null) {
297
+ return [0, 0];
298
+ }
299
+
300
+ const {scrollWidth, scrollHeight} = scrollForTests;
301
+ return [scrollWidth, scrollHeight];
302
+ },
303
+ ),
304
+
305
+ getInnerSize: jest.fn(
306
+ (node: Node): [/* width: */ number, /* height: */ number] => {
307
+ ensureHostNode(node);
308
+
309
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
310
+ const currentProps =
311
+ nodeInCurrentTree != null ? fromNode(nodeInCurrentTree).props : null;
312
+ if (currentProps == null) {
313
+ return [0, 0];
314
+ }
315
+
316
+ const innerSizeForTests: ?{
317
+ width: number,
318
+ height: number,
319
+ ...
320
+ } =
321
+ // $FlowExpectedError[prop-missing]
322
+ currentProps.__innerSizeForTests;
323
+
324
+ if (innerSizeForTests == null) {
325
+ return [0, 0];
326
+ }
327
+
328
+ const {width, height} = innerSizeForTests;
329
+ return [width, height];
330
+ },
331
+ ),
332
+
333
+ getBorderWidth: jest.fn(
334
+ (
335
+ node: Node,
336
+ ): [
337
+ /* topWidth: */ number,
338
+ /* rightWidth: */ number,
339
+ /* bottomWidth: */ number,
340
+ /* leftWidth: */ number,
341
+ ] => {
342
+ ensureHostNode(node);
343
+
344
+ const nodeInCurrentTree = getNodeInCurrentTree(node);
345
+ const currentProps =
346
+ nodeInCurrentTree != null ? fromNode(nodeInCurrentTree).props : null;
347
+ if (currentProps == null) {
348
+ return [0, 0, 0, 0];
349
+ }
350
+
351
+ const borderSizeForTests: ?{
352
+ topWidth?: number,
353
+ rightWidth?: number,
354
+ bottomWidth?: number,
355
+ leftWidth?: number,
356
+ ...
357
+ } =
358
+ // $FlowExpectedError[prop-missing]
359
+ currentProps.__borderSizeForTests;
360
+
361
+ if (borderSizeForTests == null) {
362
+ return [0, 0, 0, 0];
363
+ }
364
+
365
+ const {
366
+ topWidth = 0,
367
+ rightWidth = 0,
368
+ bottomWidth = 0,
369
+ leftWidth = 0,
370
+ } = borderSizeForTests;
371
+ return [topWidth, rightWidth, bottomWidth, leftWidth];
372
+ },
373
+ ),
374
+
375
+ getTagName: jest.fn((node: Node): string => {
376
+ ensureHostNode(node);
377
+ return 'RN:' + fromNode(node).viewName;
378
+ }),
379
+
380
+ /**
381
+ * Legacy layout APIs
382
+ */
383
+
384
+ measure: jest.fn((node: Node, callback: MeasureOnSuccessCallback): void => {
385
+ ensureHostNode(node);
386
+
387
+ callback(10, 10, 100, 100, 0, 0);
388
+ }),
389
+
390
+ measureInWindow: jest.fn(
391
+ (node: Node, callback: MeasureInWindowOnSuccessCallback): void => {
392
+ ensureHostNode(node);
393
+
394
+ callback(10, 10, 100, 100);
395
+ },
396
+ ),
397
+
398
+ measureLayout: jest.fn(
399
+ (
400
+ node: Node,
401
+ relativeNode: Node,
402
+ onFail: () => void,
403
+ onSuccess: MeasureLayoutOnSuccessCallback,
404
+ ): void => {
405
+ ensureHostNode(node);
406
+ ensureHostNode(relativeNode);
407
+
408
+ onSuccess(1, 1, 100, 100);
409
+ },
410
+ ),
411
+ };
412
+
413
+ export default NativeDOMMock;
@@ -20,7 +20,7 @@ import {createValueIterator} from './ArrayLikeUtils';
20
20
 
21
21
  // $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable interface.
22
22
  export default class DOMRectList implements Iterable<DOMRectReadOnly> {
23
- _length: number;
23
+ #length: number;
24
24
 
25
25
  /**
26
26
  * Use `createDOMRectList` to create instances of this class.
@@ -38,15 +38,15 @@ export default class DOMRectList implements Iterable<DOMRectReadOnly> {
38
38
  });
39
39
  }
40
40
 
41
- this._length = elements.length;
41
+ this.#length = elements.length;
42
42
  }
43
43
 
44
44
  get length(): number {
45
- return this._length;
45
+ return this.#length;
46
46
  }
47
47
 
48
48
  item(index: number): DOMRectReadOnly | null {
49
- if (index < 0 || index >= this._length) {
49
+ if (index < 0 || index >= this.#length) {
50
50
  return null;
51
51
  }
52
52
 
@@ -19,7 +19,7 @@ import {createValueIterator} from './ArrayLikeUtils';
19
19
 
20
20
  // $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable<T> interface.
21
21
  export default class HTMLCollection<T> implements Iterable<T>, ArrayLike<T> {
22
- _length: number;
22
+ #length: number;
23
23
 
24
24
  /**
25
25
  * Use `createHTMLCollection` to create instances of this class.
@@ -37,15 +37,15 @@ export default class HTMLCollection<T> implements Iterable<T>, ArrayLike<T> {
37
37
  });
38
38
  }
39
39
 
40
- this._length = elements.length;
40
+ this.#length = elements.length;
41
41
  }
42
42
 
43
43
  get length(): number {
44
- return this._length;
44
+ return this.#length;
45
45
  }
46
46
 
47
47
  item(index: number): T | null {
48
- if (index < 0 || index >= this._length) {
48
+ if (index < 0 || index >= this.#length) {
49
49
  return null;
50
50
  }
51
51
 
@@ -23,7 +23,7 @@ import {
23
23
 
24
24
  // $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable<T> interface.
25
25
  export default class NodeList<T> implements Iterable<T>, ArrayLike<T> {
26
- _length: number;
26
+ #length: number;
27
27
 
28
28
  /**
29
29
  * Use `createNodeList` to create instances of this class.
@@ -38,15 +38,15 @@ export default class NodeList<T> implements Iterable<T>, ArrayLike<T> {
38
38
  writable: false,
39
39
  });
40
40
  }
41
- this._length = elements.length;
41
+ this.#length = elements.length;
42
42
  }
43
43
 
44
44
  get length(): number {
45
- return this._length;
45
+ return this.#length;
46
46
  }
47
47
 
48
48
  item(index: number): T | null {
49
- if (index < 0 || index >= this._length) {
49
+ if (index < 0 || index >= this.#length) {
50
50
  return null;
51
51
  }
52
52
 
@@ -70,7 +70,7 @@ export default class NodeList<T> implements Iterable<T>, ArrayLike<T> {
70
70
  // eslint-disable-next-line consistent-this
71
71
  const arrayLike: ArrayLike<T> = this;
72
72
 
73
- for (let index = 0; index < this._length; index++) {
73
+ for (let index = 0; index < this.#length; index++) {
74
74
  if (thisArg == null) {
75
75
  callbackFn(arrayLike[index], index, this);
76
76
  } else {
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';
12
+
13
+ import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';
14
+
15
+ export type RequestIdleCallbackOptions = {
16
+ timeout?: number,
17
+ };
18
+
19
+ export type IdleDeadline = {
20
+ didTimeout: boolean,
21
+ timeRemaining: () => mixed,
22
+ };
23
+
24
+ export interface Spec extends TurboModule {
25
+ +requestIdleCallback: (
26
+ callback: (idleDeadline: IdleDeadline) => mixed,
27
+ options?: RequestIdleCallbackOptions,
28
+ ) => mixed;
29
+ +cancelIdleCallback: (handle: mixed) => void;
30
+ }
31
+
32
+ export default (TurboModuleRegistry.getEnforcing<Spec>(
33
+ 'NativeIdleCallbacksCxx',
34
+ ): Spec);
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ import type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';
12
+
13
+ import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';
14
+
15
+ export interface Spec extends TurboModule {
16
+ +queueMicrotask: (callback: () => mixed) => void;
17
+ }
18
+
19
+ export default (TurboModuleRegistry.getEnforcing<Spec>(
20
+ 'NativeMicrotasksCxx',
21
+ ): Spec);
@@ -8,8 +8,8 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import NativePerformanceObserver from './NativePerformanceObserver';
12
11
  import {warnNoNativePerformanceObserver} from './PerformanceObserver';
12
+ import NativePerformanceObserver from './specs/NativePerformanceObserver';
13
13
 
14
14
  type EventCountsForEachCallbackType =
15
15
  | (() => void)
@@ -19,15 +19,15 @@ type MemoryInfoLike = {
19
19
 
20
20
  // Read-only object with JS memory information. This is returned by the performance.memory API.
21
21
  export default class MemoryInfo {
22
- _jsHeapSizeLimit: ?number;
23
- _totalJSHeapSize: ?number;
24
- _usedJSHeapSize: ?number;
22
+ #jsHeapSizeLimit: ?number;
23
+ #totalJSHeapSize: ?number;
24
+ #usedJSHeapSize: ?number;
25
25
 
26
26
  constructor(memoryInfo: ?MemoryInfoLike) {
27
27
  if (memoryInfo != null) {
28
- this._jsHeapSizeLimit = memoryInfo.jsHeapSizeLimit;
29
- this._totalJSHeapSize = memoryInfo.totalJSHeapSize;
30
- this._usedJSHeapSize = memoryInfo.usedJSHeapSize;
28
+ this.#jsHeapSizeLimit = memoryInfo.jsHeapSizeLimit;
29
+ this.#totalJSHeapSize = memoryInfo.totalJSHeapSize;
30
+ this.#usedJSHeapSize = memoryInfo.usedJSHeapSize;
31
31
  }
32
32
  }
33
33
 
@@ -35,20 +35,20 @@ export default class MemoryInfo {
35
35
  * The maximum size of the heap, in bytes, that is available to the context
36
36
  */
37
37
  get jsHeapSizeLimit(): ?number {
38
- return this._jsHeapSizeLimit;
38
+ return this.#jsHeapSizeLimit;
39
39
  }
40
40
 
41
41
  /**
42
42
  * The total allocated heap size, in bytes
43
43
  */
44
44
  get totalJSHeapSize(): ?number {
45
- return this._totalJSHeapSize;
45
+ return this.#totalJSHeapSize;
46
46
  }
47
47
 
48
48
  /**
49
49
  * The currently active segment of JS heap, in bytes.
50
50
  */
51
51
  get usedJSHeapSize(): ?number {
52
- return this._usedJSHeapSize;
52
+ return this.#usedJSHeapSize;
53
53
  }
54
54
  }