react-native-windows 0.76.3 → 0.77.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 (369) hide show
  1. package/.flowconfig +5 -1
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
  4. package/Libraries/Animated/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  6. package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
  7. package/Libraries/Animated/NativeAnimatedAllowlist.windows.js +122 -0
  8. package/Libraries/Animated/animations/Animation.js +60 -25
  9. package/Libraries/Animated/animations/DecayAnimation.js +26 -38
  10. package/Libraries/Animated/animations/SpringAnimation.js +33 -39
  11. package/Libraries/Animated/animations/TimingAnimation.js +34 -42
  12. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  13. package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
  14. package/Libraries/Animated/createAnimatedComponent.js +60 -33
  15. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
  18. package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
  19. package/Libraries/Animated/nodes/AnimatedProps.js +96 -46
  20. package/Libraries/Animated/nodes/AnimatedProps.windows.js +281 -0
  21. package/Libraries/Animated/nodes/AnimatedStyle.js +108 -39
  22. package/Libraries/Animated/nodes/AnimatedStyle.windows.js +251 -0
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
  24. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
  26. package/Libraries/Animated/useAnimatedProps.js +41 -35
  27. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  28. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
  29. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +82 -5
  30. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  31. package/Libraries/Components/Button.js +9 -4
  32. package/Libraries/Components/Button.windows.js +19 -5
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  34. package/Libraries/Components/Glyph/Glyph.js +2 -1
  35. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +0 -1
  37. package/Libraries/Components/Pressable/Pressable.js +4 -4
  38. package/Libraries/Components/Pressable/Pressable.windows.js +10 -4
  39. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
  40. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
  41. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  42. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  43. package/Libraries/Components/ScrollView/ScrollView.js +49 -88
  44. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  45. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
  46. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  47. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +0 -5
  48. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
  49. package/Libraries/Components/Switch/Switch.js +8 -6
  50. package/Libraries/Components/Switch/Switch.windows.js +8 -6
  51. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  52. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
  53. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
  54. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
  55. package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
  56. package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
  57. package/Libraries/Components/TextInput/TextInput.js +37 -13
  58. package/Libraries/Components/TextInput/TextInput.windows.js +47 -16
  59. package/Libraries/Components/TextInput/TextInputState.js +11 -13
  60. package/Libraries/Components/TextInput/TextInputState.windows.js +11 -13
  61. package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
  62. package/Libraries/Components/Touchable/Position.js +7 -2
  63. package/Libraries/Components/Touchable/Touchable.js +4 -0
  64. package/Libraries/Components/Touchable/Touchable.windows.js +4 -0
  65. package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
  66. package/Libraries/Components/Touchable/TouchableBounce.windows.js +227 -0
  67. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
  68. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +5 -5
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +371 -0
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
  71. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  73. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -3
  74. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
  75. package/Libraries/Components/View/View.js +4 -4
  76. package/Libraries/Components/View/View.windows.js +12 -5
  77. package/Libraries/Components/View/ViewAccessibility.d.ts +10 -0
  78. package/Libraries/Components/View/ViewAccessibility.windows.js +2 -0
  79. package/Libraries/Components/View/ViewNativeComponent.js +6 -98
  80. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  81. package/Libraries/Components/View/ViewPropTypes.js +0 -3
  82. package/Libraries/Components/View/ViewPropTypes.windows.js +2 -3
  83. package/Libraries/Core/ExceptionsManager.js +50 -29
  84. package/Libraries/Core/ReactNativeVersion.js +3 -3
  85. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
  86. package/Libraries/Core/setUpBatchedBridge.js +1 -10
  87. package/Libraries/Core/setUpDeveloperTools.js +1 -5
  88. package/Libraries/Core/setUpErrorHandling.js +20 -18
  89. package/Libraries/Core/setUpReactDevTools.js +107 -8
  90. package/Libraries/Core/setUpSegmentFetcher.js +1 -0
  91. package/Libraries/Core/setUpTimers.js +21 -18
  92. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  93. package/Libraries/Image/AssetSourceResolver.js +12 -1
  94. package/Libraries/Image/AssetSourceResolver.windows.js +12 -1
  95. package/Libraries/Image/Image.android.js +1 -5
  96. package/Libraries/Image/Image.d.ts +20 -29
  97. package/Libraries/Image/Image.ios.js +0 -2
  98. package/Libraries/Image/Image.windows.js +5 -1
  99. package/Libraries/Image/ImageBackground.js +2 -5
  100. package/Libraries/Image/ImageProps.js +7 -6
  101. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  102. package/Libraries/Image/ImageResizeMode.js +4 -1
  103. package/Libraries/Image/ImageSource.d.ts +0 -2
  104. package/Libraries/Image/ImageSource.js +0 -2
  105. package/Libraries/Image/ImageTypes.flow.js +11 -9
  106. package/Libraries/Image/ImageUtils.js +6 -3
  107. package/Libraries/Image/ImageViewNativeComponent.js +5 -3
  108. package/Libraries/Inspector/Inspector.js +1 -0
  109. package/Libraries/Inspector/NetworkOverlay.js +4 -0
  110. package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
  111. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
  112. package/Libraries/Interaction/InteractionManager.js +6 -1
  113. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  114. package/Libraries/Interaction/TouchHistoryMath.js +22 -19
  115. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  116. package/Libraries/Lists/FlatList.d.ts +1 -2
  117. package/Libraries/Lists/FlatList.js +2 -2
  118. package/Libraries/Lists/SectionListModern.js +7 -7
  119. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
  120. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  121. package/Libraries/LogBox/Data/LogBoxData.js +3 -3
  122. package/Libraries/LogBox/LogBox.js +18 -5
  123. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  124. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  125. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  126. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -1
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  129. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
  131. package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
  132. package/Libraries/Modal/Modal.d.ts +12 -0
  133. package/Libraries/Modal/Modal.js +31 -4
  134. package/Libraries/Modal/Modal.windows.js +18 -0
  135. package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
  136. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
  137. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -11
  138. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
  139. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
  140. package/Libraries/Network/XHRInterceptor.js +63 -14
  141. package/Libraries/Network/XMLHttpRequest.js +26 -1
  142. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  143. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  144. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  145. package/Libraries/Pressability/HoverState.js +2 -0
  146. package/Libraries/Pressability/Pressability.js +2 -3
  147. package/Libraries/Pressability/Pressability.windows.js +2 -3
  148. package/Libraries/Pressability/usePressability.js +4 -1
  149. package/Libraries/ReactNative/AppContainer.js +1 -1
  150. package/Libraries/ReactNative/AppRegistry.js +1 -11
  151. package/Libraries/ReactNative/DisplayMode.js +1 -1
  152. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
  153. package/Libraries/ReactNative/RendererImplementation.js +18 -17
  154. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
  155. package/Libraries/ReactNative/renderApplication.js +9 -8
  156. package/Libraries/ReactNative/requireNativeComponent.js +5 -2
  157. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  158. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  159. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  160. package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
  161. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
  162. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  163. package/Libraries/StyleSheet/StyleSheet.js +7 -1
  164. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
  166. package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
  167. package/Libraries/StyleSheet/processTransform.js +3 -34
  168. package/Libraries/Text/Text.js +248 -249
  169. package/Libraries/Text/Text.windows.js +298 -292
  170. package/Libraries/Text/TextNativeComponent.js +0 -1
  171. package/Libraries/Text/TextProps.windows.js +2 -0
  172. package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
  173. package/Libraries/Types/CoreEventTypes.d.ts +3 -10
  174. package/Libraries/Types/CoreEventTypes.js +4 -6
  175. package/Libraries/Types/CoreEventTypes.windows.js +4 -6
  176. package/Libraries/Utilities/Appearance.js +3 -1
  177. package/Libraries/Utilities/BackHandler.android.js +6 -18
  178. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  179. package/Libraries/Utilities/BackHandler.ios.js +0 -7
  180. package/Libraries/Utilities/BackHandler.windows.js +6 -18
  181. package/Libraries/Utilities/HMRClient.js +3 -4
  182. package/Libraries/Utilities/Platform.flow.js +2 -2
  183. package/Libraries/Utilities/Platform.flow.windows.js +3 -2
  184. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  185. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  186. package/Libraries/Utilities/useMergeRefs.js +26 -7
  187. package/Libraries/WebSocket/WebSocketEvent.js +4 -1
  188. package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
  189. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
  190. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  191. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +9 -8
  192. package/Microsoft.ReactNative/AsynchronousEventBeat.h +5 -5
  193. package/Microsoft.ReactNative/FBReactNativeSpec/FBReactNativeSpecJSI.h +5 -0
  194. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +2 -2
  195. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +197 -18
  196. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +19 -1
  197. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +13 -0
  198. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +1 -1
  199. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +6 -8
  200. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +2 -2
  201. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +3 -2
  202. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  203. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +24 -0
  204. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +5 -0
  205. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -12
  206. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +4 -4
  207. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +4 -8
  208. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +16 -15
  209. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +15 -0
  210. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +9 -0
  211. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +20 -1
  212. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -6
  213. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  214. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +14 -4
  215. package/Microsoft.ReactNative/SynchronousEventBeat.h +4 -2
  216. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +78 -0
  217. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.h +51 -0
  218. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +48 -0
  219. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.cpp +41 -0
  220. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.h +127 -0
  221. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.inc +125 -0
  222. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +16 -0
  223. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_win.cpp +23 -0
  224. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +834 -0
  225. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +117 -0
  226. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +366 -0
  227. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +560 -0
  228. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +1611 -0
  229. package/Microsoft.ReactNative.Cxx/JSI/threadsafe.h +79 -0
  230. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +7 -11
  231. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -1
  232. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +2878 -0
  233. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +36 -0
  234. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +64 -0
  235. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +22 -0
  236. package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModule.cpp +63 -63
  237. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +165 -0
  238. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +105 -0
  239. package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModuleUtils.h +57 -58
  240. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +42 -0
  241. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +151 -0
  242. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Base.h +177 -154
  243. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +25 -0
  244. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +21 -0
  245. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +67 -0
  246. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +90 -0
  247. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Convert.h +170 -172
  248. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +51 -0
  249. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/EventEmitter.h +134 -136
  250. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Function.h +283 -283
  251. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.cpp +63 -0
  252. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +61 -0
  253. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +93 -0
  254. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +104 -0
  255. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +107 -0
  256. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/flags.h +22 -0
  257. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +72 -0
  258. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +553 -0
  259. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +167 -0
  260. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +186 -0
  261. package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +82 -0
  262. package/PropertySheets/Bundle.Common.targets +1 -1
  263. package/PropertySheets/Bundle.props +3 -0
  264. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  265. package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  266. package/PropertySheets/OutputMSBuildProperties.targets +3 -1
  267. package/ReactCommon/ReactCommon.vcxproj +5 -0
  268. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -3
  269. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +61 -0
  270. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +26 -23
  271. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +150 -0
  272. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +252 -0
  273. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +795 -0
  274. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +59 -0
  275. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +188 -39
  276. package/Scripts/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  277. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +97 -62
  278. package/Shared/InspectorPackagerConnection.cpp +3 -6
  279. package/Shared/InspectorPackagerConnection.h +2 -2
  280. package/Shared/InstanceManager.h +1 -1
  281. package/Shared/OInstance.h +1 -1
  282. package/Shared/Shared.vcxitems +17 -2
  283. package/Shared/Shared.vcxitems.filters +3 -1
  284. package/Shared/TurboModuleManager.cpp +29 -4
  285. package/codegen/NativeAccessibilityInfoSpec.g.h +27 -9
  286. package/codegen/NativeAccessibilityManagerSpec.g.h +19 -13
  287. package/codegen/NativeActionSheetManagerSpec.g.h +4 -0
  288. package/codegen/NativeExceptionsManagerSpec.g.h +1 -7
  289. package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
  290. package/codegen/NativePerformanceSpec.g.h +127 -3
  291. package/codegen/NativeReactDevToolsRuntimeSettingsModuleSpec.g.h +67 -0
  292. package/codegen/NativeReactDevToolsSettingsManagerSpec.g.h +41 -0
  293. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +125 -137
  294. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  295. package/codegen/react/components/rnwcore/Props.cpp +1 -0
  296. package/codegen/react/components/rnwcore/Props.h +1 -0
  297. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  298. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -11
  299. package/codegen/react/components/rnwcore/States.h +0 -12
  300. package/codegen/rnwcoreJSI-generated.cpp +219 -186
  301. package/codegen/rnwcoreJSI.h +942 -511
  302. package/index.js +10 -3
  303. package/index.windows.js +10 -3
  304. package/jest/setup.js +36 -1
  305. package/just-task.js +15 -0
  306. package/package.json +22 -22
  307. package/src/private/animated/NativeAnimatedHelper.js +18 -16
  308. package/src/private/animated/useAnimatedPropsMemo.js +348 -0
  309. package/src/private/animated/useAnimatedPropsMemo.windows.js +356 -0
  310. package/src/private/components/HScrollViewNativeComponents.js +1 -27
  311. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
  312. package/src/private/components/VScrollViewNativeComponents.js +2 -25
  313. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  314. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  315. package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +20 -0
  316. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  317. package/src/private/devmenu/DevMenu.d.ts +20 -0
  318. package/src/private/devmenu/DevMenu.js +31 -0
  319. package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
  320. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  321. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
  322. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  323. package/src/private/setup/setUpDOM.js +14 -6
  324. package/src/private/setup/setUpMutationObserver.js +5 -0
  325. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
  326. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  327. package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
  328. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  329. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  330. package/src/private/specs/modules/NativeAppearance.js +4 -10
  331. package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
  332. package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
  333. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  334. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  335. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  336. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
  337. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  338. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  339. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  340. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  341. package/src/private/webapis/performance/EventTiming.js +13 -8
  342. package/src/private/webapis/performance/Performance.js +66 -73
  343. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  344. package/src/private/webapis/performance/PerformanceObserver.js +65 -164
  345. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  346. package/src/private/webapis/performance/UserTiming.js +11 -7
  347. package/src/private/webapis/performance/Utilities.js +18 -0
  348. package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
  349. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  350. package/templates/cpp-lib/template.config.js +13 -7
  351. package/templates/templateUtils.js +10 -0
  352. package/types/index.d.ts +1 -1
  353. package/types/public/ReactNativeTypes.d.ts +4 -8
  354. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
  355. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
  356. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
  357. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +0 -35
  358. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
  359. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  360. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +0 -101
  361. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +0 -569
  362. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +0 -53
  363. package/codegen/NativePerformanceObserverSpec.g.h +0 -131
  364. package/src/private/components/useSyncOnScroll.js +0 -48
  365. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
  366. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
  367. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
  368. package/types/experimental.d.ts +0 -59
  369. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
@@ -21,61 +21,63 @@ protected:
21
21
 
22
22
  public:
23
23
  virtual bool commonTestFlag(jsi::Runtime &rt) = 0;
24
- virtual bool allowRecursiveCommitsWithSynchronousMountOnAndroid(jsi::Runtime &rt) = 0;
25
- virtual bool batchRenderingUpdatesInEventLoop(jsi::Runtime &rt) = 0;
24
+ virtual bool commonTestFlagWithoutNativeImplementation(jsi::Runtime &rt) = 0;
26
25
  virtual bool completeReactInstanceCreationOnBgThreadOnAndroid(jsi::Runtime &rt) = 0;
27
- virtual bool destroyFabricSurfacesInReactInstanceManager(jsi::Runtime &rt) = 0;
26
+ virtual bool disableEventLoopOnBridgeless(jsi::Runtime &rt) = 0;
27
+ virtual bool disableMountItemReorderingAndroid(jsi::Runtime &rt) = 0;
28
28
  virtual bool enableAlignItemsBaselineOnFabricIOS(jsi::Runtime &rt) = 0;
29
- virtual bool enableAndroidMixBlendModeProp(jsi::Runtime &rt) = 0;
30
- virtual bool enableBackgroundStyleApplicator(jsi::Runtime &rt) = 0;
31
- virtual bool enableCleanTextInputYogaNode(jsi::Runtime &rt) = 0;
29
+ virtual bool enableAndroidLineHeightCentering(jsi::Runtime &rt) = 0;
30
+ virtual bool enableBridgelessArchitecture(jsi::Runtime &rt) = 0;
31
+ virtual bool enableCppPropsIteratorSetter(jsi::Runtime &rt) = 0;
32
+ virtual bool enableDeletionOfUnmountedViews(jsi::Runtime &rt) = 0;
32
33
  virtual bool enableEagerRootViewAttachment(jsi::Runtime &rt) = 0;
33
34
  virtual bool enableEventEmitterRetentionDuringGesturesOnAndroid(jsi::Runtime &rt) = 0;
34
35
  virtual bool enableFabricLogs(jsi::Runtime &rt) = 0;
36
+ virtual bool enableFabricRenderer(jsi::Runtime &rt) = 0;
35
37
  virtual bool enableFabricRendererExclusively(jsi::Runtime &rt) = 0;
38
+ virtual bool enableFixForViewCommandRace(jsi::Runtime &rt) = 0;
36
39
  virtual bool enableGranularShadowTreeStateReconciliation(jsi::Runtime &rt) = 0;
37
40
  virtual bool enableIOSViewClipToPaddingBox(jsi::Runtime &rt) = 0;
41
+ virtual bool enableLayoutAnimationsOnAndroid(jsi::Runtime &rt) = 0;
38
42
  virtual bool enableLayoutAnimationsOnIOS(jsi::Runtime &rt) = 0;
39
43
  virtual bool enableLongTaskAPI(jsi::Runtime &rt) = 0;
40
- virtual bool enableMicrotasks(jsi::Runtime &rt) = 0;
44
+ virtual bool enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt) = 0;
45
+ virtual bool enablePreciseSchedulingForPremountItemsOnAndroid(jsi::Runtime &rt) = 0;
41
46
  virtual bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) = 0;
42
47
  virtual bool enableReportEventPaintTime(jsi::Runtime &rt) = 0;
43
48
  virtual bool enableSynchronousStateUpdates(jsi::Runtime &rt) = 0;
44
49
  virtual bool enableUIConsistency(jsi::Runtime &rt) = 0;
45
50
  virtual bool enableViewRecycling(jsi::Runtime &rt) = 0;
46
51
  virtual bool excludeYogaFromRawProps(jsi::Runtime &rt) = 0;
47
- virtual bool fetchImagesInViewPreallocation(jsi::Runtime &rt) = 0;
48
- virtual bool fixIncorrectScrollViewStateUpdateOnAndroid(jsi::Runtime &rt) = 0;
49
52
  virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) = 0;
50
- virtual bool fixMissedFabricStateUpdatesOnAndroid(jsi::Runtime &rt) = 0;
51
53
  virtual bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(jsi::Runtime &rt) = 0;
52
- virtual bool forceBatchingMountItemsOnAndroid(jsi::Runtime &rt) = 0;
53
54
  virtual bool fuseboxEnabledDebug(jsi::Runtime &rt) = 0;
54
55
  virtual bool fuseboxEnabledRelease(jsi::Runtime &rt) = 0;
55
56
  virtual bool initEagerTurboModulesOnNativeModulesQueueAndroid(jsi::Runtime &rt) = 0;
56
57
  virtual bool lazyAnimationCallbacks(jsi::Runtime &rt) = 0;
57
58
  virtual bool loadVectorDrawablesOnImages(jsi::Runtime &rt) = 0;
58
- virtual bool setAndroidLayoutDirection(jsi::Runtime &rt) = 0;
59
59
  virtual bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) = 0;
60
+ virtual bool useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt) = 0;
60
61
  virtual bool useFabricInterop(jsi::Runtime &rt) = 0;
61
62
  virtual bool useImmediateExecutorInAndroidBridgeless(jsi::Runtime &rt) = 0;
62
- virtual bool useModernRuntimeScheduler(jsi::Runtime &rt) = 0;
63
63
  virtual bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) = 0;
64
- virtual bool useNewReactImageViewBackgroundDrawing(jsi::Runtime &rt) = 0;
65
64
  virtual bool useOptimisedViewPreallocationOnAndroid(jsi::Runtime &rt) = 0;
66
65
  virtual bool useOptimizedEventBatchingOnAndroid(jsi::Runtime &rt) = 0;
67
66
  virtual bool useRuntimeShadowNodeReferenceUpdate(jsi::Runtime &rt) = 0;
68
- virtual bool useRuntimeShadowNodeReferenceUpdateOnLayout(jsi::Runtime &rt) = 0;
69
- virtual bool useStateAlignmentMechanism(jsi::Runtime &rt) = 0;
70
67
  virtual bool useTurboModuleInterop(jsi::Runtime &rt) = 0;
68
+ virtual bool useTurboModules(jsi::Runtime &rt) = 0;
71
69
 
72
70
  };
73
71
 
74
72
  template <typename T>
75
73
  class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
76
74
  public:
77
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
78
- return delegate_.get(rt, propName);
75
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
76
+ return delegate_.create(rt, propName);
77
+ }
78
+
79
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
80
+ return delegate_.getPropertyNames(runtime);
79
81
  }
80
82
 
81
83
  static constexpr std::string_view kModuleName = "NativeReactNativeFeatureFlagsCxx";
@@ -102,21 +104,13 @@ private:
102
104
  return bridging::callFromJs<bool>(
103
105
  rt, &T::commonTestFlag, jsInvoker_, instance_);
104
106
  }
105
- bool allowRecursiveCommitsWithSynchronousMountOnAndroid(jsi::Runtime &rt) override {
106
- static_assert(
107
- bridging::getParameterCount(&T::allowRecursiveCommitsWithSynchronousMountOnAndroid) == 1,
108
- "Expected allowRecursiveCommitsWithSynchronousMountOnAndroid(...) to have 1 parameters");
109
-
110
- return bridging::callFromJs<bool>(
111
- rt, &T::allowRecursiveCommitsWithSynchronousMountOnAndroid, jsInvoker_, instance_);
112
- }
113
- bool batchRenderingUpdatesInEventLoop(jsi::Runtime &rt) override {
107
+ bool commonTestFlagWithoutNativeImplementation(jsi::Runtime &rt) override {
114
108
  static_assert(
115
- bridging::getParameterCount(&T::batchRenderingUpdatesInEventLoop) == 1,
116
- "Expected batchRenderingUpdatesInEventLoop(...) to have 1 parameters");
109
+ bridging::getParameterCount(&T::commonTestFlagWithoutNativeImplementation) == 1,
110
+ "Expected commonTestFlagWithoutNativeImplementation(...) to have 1 parameters");
117
111
 
118
112
  return bridging::callFromJs<bool>(
119
- rt, &T::batchRenderingUpdatesInEventLoop, jsInvoker_, instance_);
113
+ rt, &T::commonTestFlagWithoutNativeImplementation, jsInvoker_, instance_);
120
114
  }
121
115
  bool completeReactInstanceCreationOnBgThreadOnAndroid(jsi::Runtime &rt) override {
122
116
  static_assert(
@@ -126,13 +120,21 @@ private:
126
120
  return bridging::callFromJs<bool>(
127
121
  rt, &T::completeReactInstanceCreationOnBgThreadOnAndroid, jsInvoker_, instance_);
128
122
  }
129
- bool destroyFabricSurfacesInReactInstanceManager(jsi::Runtime &rt) override {
123
+ bool disableEventLoopOnBridgeless(jsi::Runtime &rt) override {
124
+ static_assert(
125
+ bridging::getParameterCount(&T::disableEventLoopOnBridgeless) == 1,
126
+ "Expected disableEventLoopOnBridgeless(...) to have 1 parameters");
127
+
128
+ return bridging::callFromJs<bool>(
129
+ rt, &T::disableEventLoopOnBridgeless, jsInvoker_, instance_);
130
+ }
131
+ bool disableMountItemReorderingAndroid(jsi::Runtime &rt) override {
130
132
  static_assert(
131
- bridging::getParameterCount(&T::destroyFabricSurfacesInReactInstanceManager) == 1,
132
- "Expected destroyFabricSurfacesInReactInstanceManager(...) to have 1 parameters");
133
+ bridging::getParameterCount(&T::disableMountItemReorderingAndroid) == 1,
134
+ "Expected disableMountItemReorderingAndroid(...) to have 1 parameters");
133
135
 
134
136
  return bridging::callFromJs<bool>(
135
- rt, &T::destroyFabricSurfacesInReactInstanceManager, jsInvoker_, instance_);
137
+ rt, &T::disableMountItemReorderingAndroid, jsInvoker_, instance_);
136
138
  }
137
139
  bool enableAlignItemsBaselineOnFabricIOS(jsi::Runtime &rt) override {
138
140
  static_assert(
@@ -142,29 +144,37 @@ private:
142
144
  return bridging::callFromJs<bool>(
143
145
  rt, &T::enableAlignItemsBaselineOnFabricIOS, jsInvoker_, instance_);
144
146
  }
145
- bool enableAndroidMixBlendModeProp(jsi::Runtime &rt) override {
147
+ bool enableAndroidLineHeightCentering(jsi::Runtime &rt) override {
148
+ static_assert(
149
+ bridging::getParameterCount(&T::enableAndroidLineHeightCentering) == 1,
150
+ "Expected enableAndroidLineHeightCentering(...) to have 1 parameters");
151
+
152
+ return bridging::callFromJs<bool>(
153
+ rt, &T::enableAndroidLineHeightCentering, jsInvoker_, instance_);
154
+ }
155
+ bool enableBridgelessArchitecture(jsi::Runtime &rt) override {
146
156
  static_assert(
147
- bridging::getParameterCount(&T::enableAndroidMixBlendModeProp) == 1,
148
- "Expected enableAndroidMixBlendModeProp(...) to have 1 parameters");
157
+ bridging::getParameterCount(&T::enableBridgelessArchitecture) == 1,
158
+ "Expected enableBridgelessArchitecture(...) to have 1 parameters");
149
159
 
150
160
  return bridging::callFromJs<bool>(
151
- rt, &T::enableAndroidMixBlendModeProp, jsInvoker_, instance_);
161
+ rt, &T::enableBridgelessArchitecture, jsInvoker_, instance_);
152
162
  }
153
- bool enableBackgroundStyleApplicator(jsi::Runtime &rt) override {
163
+ bool enableCppPropsIteratorSetter(jsi::Runtime &rt) override {
154
164
  static_assert(
155
- bridging::getParameterCount(&T::enableBackgroundStyleApplicator) == 1,
156
- "Expected enableBackgroundStyleApplicator(...) to have 1 parameters");
165
+ bridging::getParameterCount(&T::enableCppPropsIteratorSetter) == 1,
166
+ "Expected enableCppPropsIteratorSetter(...) to have 1 parameters");
157
167
 
158
168
  return bridging::callFromJs<bool>(
159
- rt, &T::enableBackgroundStyleApplicator, jsInvoker_, instance_);
169
+ rt, &T::enableCppPropsIteratorSetter, jsInvoker_, instance_);
160
170
  }
161
- bool enableCleanTextInputYogaNode(jsi::Runtime &rt) override {
171
+ bool enableDeletionOfUnmountedViews(jsi::Runtime &rt) override {
162
172
  static_assert(
163
- bridging::getParameterCount(&T::enableCleanTextInputYogaNode) == 1,
164
- "Expected enableCleanTextInputYogaNode(...) to have 1 parameters");
173
+ bridging::getParameterCount(&T::enableDeletionOfUnmountedViews) == 1,
174
+ "Expected enableDeletionOfUnmountedViews(...) to have 1 parameters");
165
175
 
166
176
  return bridging::callFromJs<bool>(
167
- rt, &T::enableCleanTextInputYogaNode, jsInvoker_, instance_);
177
+ rt, &T::enableDeletionOfUnmountedViews, jsInvoker_, instance_);
168
178
  }
169
179
  bool enableEagerRootViewAttachment(jsi::Runtime &rt) override {
170
180
  static_assert(
@@ -190,6 +200,14 @@ private:
190
200
  return bridging::callFromJs<bool>(
191
201
  rt, &T::enableFabricLogs, jsInvoker_, instance_);
192
202
  }
203
+ bool enableFabricRenderer(jsi::Runtime &rt) override {
204
+ static_assert(
205
+ bridging::getParameterCount(&T::enableFabricRenderer) == 1,
206
+ "Expected enableFabricRenderer(...) to have 1 parameters");
207
+
208
+ return bridging::callFromJs<bool>(
209
+ rt, &T::enableFabricRenderer, jsInvoker_, instance_);
210
+ }
193
211
  bool enableFabricRendererExclusively(jsi::Runtime &rt) override {
194
212
  static_assert(
195
213
  bridging::getParameterCount(&T::enableFabricRendererExclusively) == 1,
@@ -198,6 +216,14 @@ private:
198
216
  return bridging::callFromJs<bool>(
199
217
  rt, &T::enableFabricRendererExclusively, jsInvoker_, instance_);
200
218
  }
219
+ bool enableFixForViewCommandRace(jsi::Runtime &rt) override {
220
+ static_assert(
221
+ bridging::getParameterCount(&T::enableFixForViewCommandRace) == 1,
222
+ "Expected enableFixForViewCommandRace(...) to have 1 parameters");
223
+
224
+ return bridging::callFromJs<bool>(
225
+ rt, &T::enableFixForViewCommandRace, jsInvoker_, instance_);
226
+ }
201
227
  bool enableGranularShadowTreeStateReconciliation(jsi::Runtime &rt) override {
202
228
  static_assert(
203
229
  bridging::getParameterCount(&T::enableGranularShadowTreeStateReconciliation) == 1,
@@ -214,6 +240,14 @@ private:
214
240
  return bridging::callFromJs<bool>(
215
241
  rt, &T::enableIOSViewClipToPaddingBox, jsInvoker_, instance_);
216
242
  }
243
+ bool enableLayoutAnimationsOnAndroid(jsi::Runtime &rt) override {
244
+ static_assert(
245
+ bridging::getParameterCount(&T::enableLayoutAnimationsOnAndroid) == 1,
246
+ "Expected enableLayoutAnimationsOnAndroid(...) to have 1 parameters");
247
+
248
+ return bridging::callFromJs<bool>(
249
+ rt, &T::enableLayoutAnimationsOnAndroid, jsInvoker_, instance_);
250
+ }
217
251
  bool enableLayoutAnimationsOnIOS(jsi::Runtime &rt) override {
218
252
  static_assert(
219
253
  bridging::getParameterCount(&T::enableLayoutAnimationsOnIOS) == 1,
@@ -230,13 +264,21 @@ private:
230
264
  return bridging::callFromJs<bool>(
231
265
  rt, &T::enableLongTaskAPI, jsInvoker_, instance_);
232
266
  }
233
- bool enableMicrotasks(jsi::Runtime &rt) override {
267
+ bool enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt) override {
268
+ static_assert(
269
+ bridging::getParameterCount(&T::enableNewBackgroundAndBorderDrawables) == 1,
270
+ "Expected enableNewBackgroundAndBorderDrawables(...) to have 1 parameters");
271
+
272
+ return bridging::callFromJs<bool>(
273
+ rt, &T::enableNewBackgroundAndBorderDrawables, jsInvoker_, instance_);
274
+ }
275
+ bool enablePreciseSchedulingForPremountItemsOnAndroid(jsi::Runtime &rt) override {
234
276
  static_assert(
235
- bridging::getParameterCount(&T::enableMicrotasks) == 1,
236
- "Expected enableMicrotasks(...) to have 1 parameters");
277
+ bridging::getParameterCount(&T::enablePreciseSchedulingForPremountItemsOnAndroid) == 1,
278
+ "Expected enablePreciseSchedulingForPremountItemsOnAndroid(...) to have 1 parameters");
237
279
 
238
280
  return bridging::callFromJs<bool>(
239
- rt, &T::enableMicrotasks, jsInvoker_, instance_);
281
+ rt, &T::enablePreciseSchedulingForPremountItemsOnAndroid, jsInvoker_, instance_);
240
282
  }
241
283
  bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) override {
242
284
  static_assert(
@@ -286,22 +328,6 @@ private:
286
328
  return bridging::callFromJs<bool>(
287
329
  rt, &T::excludeYogaFromRawProps, jsInvoker_, instance_);
288
330
  }
289
- bool fetchImagesInViewPreallocation(jsi::Runtime &rt) override {
290
- static_assert(
291
- bridging::getParameterCount(&T::fetchImagesInViewPreallocation) == 1,
292
- "Expected fetchImagesInViewPreallocation(...) to have 1 parameters");
293
-
294
- return bridging::callFromJs<bool>(
295
- rt, &T::fetchImagesInViewPreallocation, jsInvoker_, instance_);
296
- }
297
- bool fixIncorrectScrollViewStateUpdateOnAndroid(jsi::Runtime &rt) override {
298
- static_assert(
299
- bridging::getParameterCount(&T::fixIncorrectScrollViewStateUpdateOnAndroid) == 1,
300
- "Expected fixIncorrectScrollViewStateUpdateOnAndroid(...) to have 1 parameters");
301
-
302
- return bridging::callFromJs<bool>(
303
- rt, &T::fixIncorrectScrollViewStateUpdateOnAndroid, jsInvoker_, instance_);
304
- }
305
331
  bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) override {
306
332
  static_assert(
307
333
  bridging::getParameterCount(&T::fixMappingOfEventPrioritiesBetweenFabricAndReact) == 1,
@@ -310,14 +336,6 @@ private:
310
336
  return bridging::callFromJs<bool>(
311
337
  rt, &T::fixMappingOfEventPrioritiesBetweenFabricAndReact, jsInvoker_, instance_);
312
338
  }
313
- bool fixMissedFabricStateUpdatesOnAndroid(jsi::Runtime &rt) override {
314
- static_assert(
315
- bridging::getParameterCount(&T::fixMissedFabricStateUpdatesOnAndroid) == 1,
316
- "Expected fixMissedFabricStateUpdatesOnAndroid(...) to have 1 parameters");
317
-
318
- return bridging::callFromJs<bool>(
319
- rt, &T::fixMissedFabricStateUpdatesOnAndroid, jsInvoker_, instance_);
320
- }
321
339
  bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(jsi::Runtime &rt) override {
322
340
  static_assert(
323
341
  bridging::getParameterCount(&T::fixMountingCoordinatorReportedPendingTransactionsOnAndroid) == 1,
@@ -326,14 +344,6 @@ private:
326
344
  return bridging::callFromJs<bool>(
327
345
  rt, &T::fixMountingCoordinatorReportedPendingTransactionsOnAndroid, jsInvoker_, instance_);
328
346
  }
329
- bool forceBatchingMountItemsOnAndroid(jsi::Runtime &rt) override {
330
- static_assert(
331
- bridging::getParameterCount(&T::forceBatchingMountItemsOnAndroid) == 1,
332
- "Expected forceBatchingMountItemsOnAndroid(...) to have 1 parameters");
333
-
334
- return bridging::callFromJs<bool>(
335
- rt, &T::forceBatchingMountItemsOnAndroid, jsInvoker_, instance_);
336
- }
337
347
  bool fuseboxEnabledDebug(jsi::Runtime &rt) override {
338
348
  static_assert(
339
349
  bridging::getParameterCount(&T::fuseboxEnabledDebug) == 1,
@@ -374,14 +384,6 @@ private:
374
384
  return bridging::callFromJs<bool>(
375
385
  rt, &T::loadVectorDrawablesOnImages, jsInvoker_, instance_);
376
386
  }
377
- bool setAndroidLayoutDirection(jsi::Runtime &rt) override {
378
- static_assert(
379
- bridging::getParameterCount(&T::setAndroidLayoutDirection) == 1,
380
- "Expected setAndroidLayoutDirection(...) to have 1 parameters");
381
-
382
- return bridging::callFromJs<bool>(
383
- rt, &T::setAndroidLayoutDirection, jsInvoker_, instance_);
384
- }
385
387
  bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) override {
386
388
  static_assert(
387
389
  bridging::getParameterCount(&T::traceTurboModulePromiseRejectionsOnAndroid) == 1,
@@ -390,6 +392,14 @@ private:
390
392
  return bridging::callFromJs<bool>(
391
393
  rt, &T::traceTurboModulePromiseRejectionsOnAndroid, jsInvoker_, instance_);
392
394
  }
395
+ bool useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt) override {
396
+ static_assert(
397
+ bridging::getParameterCount(&T::useAlwaysAvailableJSErrorHandling) == 1,
398
+ "Expected useAlwaysAvailableJSErrorHandling(...) to have 1 parameters");
399
+
400
+ return bridging::callFromJs<bool>(
401
+ rt, &T::useAlwaysAvailableJSErrorHandling, jsInvoker_, instance_);
402
+ }
393
403
  bool useFabricInterop(jsi::Runtime &rt) override {
394
404
  static_assert(
395
405
  bridging::getParameterCount(&T::useFabricInterop) == 1,
@@ -406,14 +416,6 @@ private:
406
416
  return bridging::callFromJs<bool>(
407
417
  rt, &T::useImmediateExecutorInAndroidBridgeless, jsInvoker_, instance_);
408
418
  }
409
- bool useModernRuntimeScheduler(jsi::Runtime &rt) override {
410
- static_assert(
411
- bridging::getParameterCount(&T::useModernRuntimeScheduler) == 1,
412
- "Expected useModernRuntimeScheduler(...) to have 1 parameters");
413
-
414
- return bridging::callFromJs<bool>(
415
- rt, &T::useModernRuntimeScheduler, jsInvoker_, instance_);
416
- }
417
419
  bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) override {
418
420
  static_assert(
419
421
  bridging::getParameterCount(&T::useNativeViewConfigsInBridgelessMode) == 1,
@@ -422,14 +424,6 @@ private:
422
424
  return bridging::callFromJs<bool>(
423
425
  rt, &T::useNativeViewConfigsInBridgelessMode, jsInvoker_, instance_);
424
426
  }
425
- bool useNewReactImageViewBackgroundDrawing(jsi::Runtime &rt) override {
426
- static_assert(
427
- bridging::getParameterCount(&T::useNewReactImageViewBackgroundDrawing) == 1,
428
- "Expected useNewReactImageViewBackgroundDrawing(...) to have 1 parameters");
429
-
430
- return bridging::callFromJs<bool>(
431
- rt, &T::useNewReactImageViewBackgroundDrawing, jsInvoker_, instance_);
432
- }
433
427
  bool useOptimisedViewPreallocationOnAndroid(jsi::Runtime &rt) override {
434
428
  static_assert(
435
429
  bridging::getParameterCount(&T::useOptimisedViewPreallocationOnAndroid) == 1,
@@ -454,33 +448,187 @@ private:
454
448
  return bridging::callFromJs<bool>(
455
449
  rt, &T::useRuntimeShadowNodeReferenceUpdate, jsInvoker_, instance_);
456
450
  }
457
- bool useRuntimeShadowNodeReferenceUpdateOnLayout(jsi::Runtime &rt) override {
451
+ bool useTurboModuleInterop(jsi::Runtime &rt) override {
458
452
  static_assert(
459
- bridging::getParameterCount(&T::useRuntimeShadowNodeReferenceUpdateOnLayout) == 1,
460
- "Expected useRuntimeShadowNodeReferenceUpdateOnLayout(...) to have 1 parameters");
453
+ bridging::getParameterCount(&T::useTurboModuleInterop) == 1,
454
+ "Expected useTurboModuleInterop(...) to have 1 parameters");
461
455
 
462
456
  return bridging::callFromJs<bool>(
463
- rt, &T::useRuntimeShadowNodeReferenceUpdateOnLayout, jsInvoker_, instance_);
457
+ rt, &T::useTurboModuleInterop, jsInvoker_, instance_);
464
458
  }
465
- bool useStateAlignmentMechanism(jsi::Runtime &rt) override {
459
+ bool useTurboModules(jsi::Runtime &rt) override {
466
460
  static_assert(
467
- bridging::getParameterCount(&T::useStateAlignmentMechanism) == 1,
468
- "Expected useStateAlignmentMechanism(...) to have 1 parameters");
461
+ bridging::getParameterCount(&T::useTurboModules) == 1,
462
+ "Expected useTurboModules(...) to have 1 parameters");
469
463
 
470
464
  return bridging::callFromJs<bool>(
471
- rt, &T::useStateAlignmentMechanism, jsInvoker_, instance_);
465
+ rt, &T::useTurboModules, jsInvoker_, instance_);
472
466
  }
473
- bool useTurboModuleInterop(jsi::Runtime &rt) override {
467
+
468
+ private:
469
+ friend class NativeReactNativeFeatureFlagsCxxSpec;
470
+ T *instance_;
471
+ };
472
+
473
+ Delegate delegate_;
474
+ };
475
+
476
+
477
+
478
+ #pragma mark - NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig
479
+
480
+ template <typename P0, typename P1>
481
+ struct NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig {
482
+ P0 shouldReloadAndProfile;
483
+ P1 recordChangeDescriptions;
484
+ bool operator==(const NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig &other) const {
485
+ return shouldReloadAndProfile == other.shouldReloadAndProfile && recordChangeDescriptions == other.recordChangeDescriptions;
486
+ }
487
+ };
488
+
489
+ template <typename T>
490
+ struct NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging {
491
+ static T types;
492
+
493
+ static T fromJs(
494
+ jsi::Runtime &rt,
495
+ const jsi::Object &value,
496
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
497
+ T result{
498
+ bridging::fromJs<decltype(types.shouldReloadAndProfile)>(rt, value.getProperty(rt, "shouldReloadAndProfile"), jsInvoker),
499
+ bridging::fromJs<decltype(types.recordChangeDescriptions)>(rt, value.getProperty(rt, "recordChangeDescriptions"), jsInvoker)};
500
+ return result;
501
+ }
502
+
503
+ #ifdef DEBUG
504
+ static bool shouldReloadAndProfileToJs(jsi::Runtime &rt, decltype(types.shouldReloadAndProfile) value) {
505
+ return bridging::toJs(rt, value);
506
+ }
507
+
508
+ static bool recordChangeDescriptionsToJs(jsi::Runtime &rt, decltype(types.recordChangeDescriptions) value) {
509
+ return bridging::toJs(rt, value);
510
+ }
511
+ #endif
512
+
513
+ static jsi::Object toJs(
514
+ jsi::Runtime &rt,
515
+ const T &value,
516
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
517
+ auto result = facebook::jsi::Object(rt);
518
+ if (value.shouldReloadAndProfile) {
519
+ result.setProperty(rt, "shouldReloadAndProfile", bridging::toJs(rt, value.shouldReloadAndProfile.value(), jsInvoker));
520
+ }
521
+ if (value.recordChangeDescriptions) {
522
+ result.setProperty(rt, "recordChangeDescriptions", bridging::toJs(rt, value.recordChangeDescriptions.value(), jsInvoker));
523
+ }
524
+ return result;
525
+ }
526
+ };
527
+
528
+
529
+
530
+ #pragma mark - NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig
531
+
532
+ template <typename P0, typename P1>
533
+ struct NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig {
534
+ P0 shouldReloadAndProfile;
535
+ P1 recordChangeDescriptions;
536
+ bool operator==(const NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig &other) const {
537
+ return shouldReloadAndProfile == other.shouldReloadAndProfile && recordChangeDescriptions == other.recordChangeDescriptions;
538
+ }
539
+ };
540
+
541
+ template <typename T>
542
+ struct NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging {
543
+ static T types;
544
+
545
+ static T fromJs(
546
+ jsi::Runtime &rt,
547
+ const jsi::Object &value,
548
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
549
+ T result{
550
+ bridging::fromJs<decltype(types.shouldReloadAndProfile)>(rt, value.getProperty(rt, "shouldReloadAndProfile"), jsInvoker),
551
+ bridging::fromJs<decltype(types.recordChangeDescriptions)>(rt, value.getProperty(rt, "recordChangeDescriptions"), jsInvoker)};
552
+ return result;
553
+ }
554
+
555
+ #ifdef DEBUG
556
+ static bool shouldReloadAndProfileToJs(jsi::Runtime &rt, decltype(types.shouldReloadAndProfile) value) {
557
+ return bridging::toJs(rt, value);
558
+ }
559
+
560
+ static bool recordChangeDescriptionsToJs(jsi::Runtime &rt, decltype(types.recordChangeDescriptions) value) {
561
+ return bridging::toJs(rt, value);
562
+ }
563
+ #endif
564
+
565
+ static jsi::Object toJs(
566
+ jsi::Runtime &rt,
567
+ const T &value,
568
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
569
+ auto result = facebook::jsi::Object(rt);
570
+ result.setProperty(rt, "shouldReloadAndProfile", bridging::toJs(rt, value.shouldReloadAndProfile, jsInvoker));
571
+ result.setProperty(rt, "recordChangeDescriptions", bridging::toJs(rt, value.recordChangeDescriptions, jsInvoker));
572
+ return result;
573
+ }
574
+ };
575
+
576
+ class JSI_EXPORT NativeReactDevToolsRuntimeSettingsModuleCxxSpecJSI : public TurboModule {
577
+ protected:
578
+ NativeReactDevToolsRuntimeSettingsModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
579
+
580
+ public:
581
+ virtual void setReloadAndProfileConfig(jsi::Runtime &rt, jsi::Object config) = 0;
582
+ virtual jsi::Object getReloadAndProfileConfig(jsi::Runtime &rt) = 0;
583
+
584
+ };
585
+
586
+ template <typename T>
587
+ class JSI_EXPORT NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public TurboModule {
588
+ public:
589
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
590
+ return delegate_.create(rt, propName);
591
+ }
592
+
593
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
594
+ return delegate_.getPropertyNames(runtime);
595
+ }
596
+
597
+ static constexpr std::string_view kModuleName = "ReactDevToolsRuntimeSettingsModule";
598
+
599
+ protected:
600
+ NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
601
+ : TurboModule(std::string{NativeReactDevToolsRuntimeSettingsModuleCxxSpec::kModuleName}, jsInvoker),
602
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
603
+
604
+
605
+ private:
606
+ class Delegate : public NativeReactDevToolsRuntimeSettingsModuleCxxSpecJSI {
607
+ public:
608
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
609
+ NativeReactDevToolsRuntimeSettingsModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
610
+
611
+ }
612
+
613
+ void setReloadAndProfileConfig(jsi::Runtime &rt, jsi::Object config) override {
474
614
  static_assert(
475
- bridging::getParameterCount(&T::useTurboModuleInterop) == 1,
476
- "Expected useTurboModuleInterop(...) to have 1 parameters");
615
+ bridging::getParameterCount(&T::setReloadAndProfileConfig) == 2,
616
+ "Expected setReloadAndProfileConfig(...) to have 2 parameters");
477
617
 
478
- return bridging::callFromJs<bool>(
479
- rt, &T::useTurboModuleInterop, jsInvoker_, instance_);
618
+ return bridging::callFromJs<void>(
619
+ rt, &T::setReloadAndProfileConfig, jsInvoker_, instance_, std::move(config));
620
+ }
621
+ jsi::Object getReloadAndProfileConfig(jsi::Runtime &rt) override {
622
+ static_assert(
623
+ bridging::getParameterCount(&T::getReloadAndProfileConfig) == 1,
624
+ "Expected getReloadAndProfileConfig(...) to have 1 parameters");
625
+
626
+ return bridging::callFromJs<jsi::Object>(
627
+ rt, &T::getReloadAndProfileConfig, jsInvoker_, instance_);
480
628
  }
481
629
 
482
630
  private:
483
- friend class NativeReactNativeFeatureFlagsCxxSpec;
631
+ friend class NativeReactDevToolsRuntimeSettingsModuleCxxSpec;
484
632
  T *instance_;
485
633
  };
486
634
 
@@ -494,19 +642,26 @@ protected:
494
642
 
495
643
  public:
496
644
  virtual void isReduceMotionEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0;
645
+ virtual void isInvertColorsEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0;
646
+ virtual void isHighTextContrastEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0;
497
647
  virtual void isTouchExplorationEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0;
498
648
  virtual void isAccessibilityServiceEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0;
499
649
  virtual void setAccessibilityFocus(jsi::Runtime &rt, double reactTag) = 0;
500
650
  virtual void announceForAccessibility(jsi::Runtime &rt, jsi::String announcement) = 0;
501
651
  virtual void getRecommendedTimeoutMillis(jsi::Runtime &rt, double mSec, jsi::Function onSuccess) = 0;
652
+ virtual void isGrayscaleEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0;
502
653
 
503
654
  };
504
655
 
505
656
  template <typename T>
506
657
  class JSI_EXPORT NativeAccessibilityInfoCxxSpec : public TurboModule {
507
658
  public:
508
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
509
- return delegate_.get(rt, propName);
659
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
660
+ return delegate_.create(rt, propName);
661
+ }
662
+
663
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
664
+ return delegate_.getPropertyNames(runtime);
510
665
  }
511
666
 
512
667
  static constexpr std::string_view kModuleName = "AccessibilityInfo";
@@ -533,6 +688,22 @@ private:
533
688
  return bridging::callFromJs<void>(
534
689
  rt, &T::isReduceMotionEnabled, jsInvoker_, instance_, std::move(onSuccess));
535
690
  }
691
+ void isInvertColorsEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override {
692
+ static_assert(
693
+ bridging::getParameterCount(&T::isInvertColorsEnabled) == 2,
694
+ "Expected isInvertColorsEnabled(...) to have 2 parameters");
695
+
696
+ return bridging::callFromJs<void>(
697
+ rt, &T::isInvertColorsEnabled, jsInvoker_, instance_, std::move(onSuccess));
698
+ }
699
+ void isHighTextContrastEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override {
700
+ static_assert(
701
+ bridging::getParameterCount(&T::isHighTextContrastEnabled) == 2,
702
+ "Expected isHighTextContrastEnabled(...) to have 2 parameters");
703
+
704
+ return bridging::callFromJs<void>(
705
+ rt, &T::isHighTextContrastEnabled, jsInvoker_, instance_, std::move(onSuccess));
706
+ }
536
707
  void isTouchExplorationEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override {
537
708
  static_assert(
538
709
  bridging::getParameterCount(&T::isTouchExplorationEnabled) == 2,
@@ -573,6 +744,14 @@ private:
573
744
  return bridging::callFromJs<void>(
574
745
  rt, &T::getRecommendedTimeoutMillis, jsInvoker_, instance_, std::move(mSec), std::move(onSuccess));
575
746
  }
747
+ void isGrayscaleEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override {
748
+ static_assert(
749
+ bridging::getParameterCount(&T::isGrayscaleEnabled) == 2,
750
+ "Expected isGrayscaleEnabled(...) to have 2 parameters");
751
+
752
+ return bridging::callFromJs<void>(
753
+ rt, &T::isGrayscaleEnabled, jsInvoker_, instance_, std::move(onSuccess));
754
+ }
576
755
 
577
756
  private:
578
757
  friend class NativeAccessibilityInfoCxxSpec;
@@ -592,6 +771,7 @@ public:
592
771
  virtual void getCurrentGrayscaleState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
593
772
  virtual void getCurrentInvertColorsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
594
773
  virtual void getCurrentReduceMotionState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
774
+ virtual void getCurrentDarkerSystemColorsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
595
775
  virtual void getCurrentPrefersCrossFadeTransitionsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
596
776
  virtual void getCurrentReduceTransparencyState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
597
777
  virtual void getCurrentVoiceOverState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0;
@@ -605,8 +785,12 @@ public:
605
785
  template <typename T>
606
786
  class JSI_EXPORT NativeAccessibilityManagerCxxSpec : public TurboModule {
607
787
  public:
608
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
609
- return delegate_.get(rt, propName);
788
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
789
+ return delegate_.create(rt, propName);
790
+ }
791
+
792
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
793
+ return delegate_.getPropertyNames(runtime);
610
794
  }
611
795
 
612
796
  static constexpr std::string_view kModuleName = "AccessibilityManager";
@@ -657,6 +841,14 @@ private:
657
841
  return bridging::callFromJs<void>(
658
842
  rt, &T::getCurrentReduceMotionState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError));
659
843
  }
844
+ void getCurrentDarkerSystemColorsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override {
845
+ static_assert(
846
+ bridging::getParameterCount(&T::getCurrentDarkerSystemColorsState) == 3,
847
+ "Expected getCurrentDarkerSystemColorsState(...) to have 3 parameters");
848
+
849
+ return bridging::callFromJs<void>(
850
+ rt, &T::getCurrentDarkerSystemColorsState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError));
851
+ }
660
852
  void getCurrentPrefersCrossFadeTransitionsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override {
661
853
  static_assert(
662
854
  bridging::getParameterCount(&T::getCurrentPrefersCrossFadeTransitionsState) == 3,
@@ -738,8 +930,12 @@ public:
738
930
  template <typename T>
739
931
  class JSI_EXPORT NativeActionSheetManagerCxxSpec : public TurboModule {
740
932
  public:
741
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
742
- return delegate_.get(rt, propName);
933
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
934
+ return delegate_.create(rt, propName);
935
+ }
936
+
937
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
938
+ return delegate_.getPropertyNames(runtime);
743
939
  }
744
940
 
745
941
  static constexpr std::string_view kModuleName = "ActionSheetManager";
@@ -935,8 +1131,12 @@ public:
935
1131
  template <typename T>
936
1132
  class JSI_EXPORT NativeAlertManagerCxxSpec : public TurboModule {
937
1133
  public:
938
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
939
- return delegate_.get(rt, propName);
1134
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1135
+ return delegate_.create(rt, propName);
1136
+ }
1137
+
1138
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
1139
+ return delegate_.getPropertyNames(runtime);
940
1140
  }
941
1141
 
942
1142
  static constexpr std::string_view kModuleName = "AlertManager";
@@ -1105,8 +1305,12 @@ public:
1105
1305
  template <typename T>
1106
1306
  class JSI_EXPORT NativeAnimatedModuleCxxSpec : public TurboModule {
1107
1307
  public:
1108
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1109
- return delegate_.get(rt, propName);
1308
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1309
+ return delegate_.create(rt, propName);
1310
+ }
1311
+
1312
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
1313
+ return delegate_.getPropertyNames(runtime);
1110
1314
  }
1111
1315
 
1112
1316
  static constexpr std::string_view kModuleName = "NativeAnimatedModule";
@@ -1459,8 +1663,12 @@ public:
1459
1663
  template <typename T>
1460
1664
  class JSI_EXPORT NativeAnimatedTurboModuleCxxSpec : public TurboModule {
1461
1665
  public:
1462
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1463
- return delegate_.get(rt, propName);
1666
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1667
+ return delegate_.create(rt, propName);
1668
+ }
1669
+
1670
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
1671
+ return delegate_.getPropertyNames(runtime);
1464
1672
  }
1465
1673
 
1466
1674
  static constexpr std::string_view kModuleName = "NativeAnimatedTurboModule";
@@ -1696,8 +1904,12 @@ public:
1696
1904
  template <typename T>
1697
1905
  class JSI_EXPORT NativeAppearanceCxxSpec : public TurboModule {
1698
1906
  public:
1699
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1700
- return delegate_.get(rt, propName);
1907
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1908
+ return delegate_.create(rt, propName);
1909
+ }
1910
+
1911
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
1912
+ return delegate_.getPropertyNames(runtime);
1701
1913
  }
1702
1914
 
1703
1915
  static constexpr std::string_view kModuleName = "Appearance";
@@ -1854,8 +2066,12 @@ public:
1854
2066
  template <typename T>
1855
2067
  class JSI_EXPORT NativeAppStateCxxSpec : public TurboModule {
1856
2068
  public:
1857
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1858
- return delegate_.get(rt, propName);
2069
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2070
+ return delegate_.create(rt, propName);
2071
+ }
2072
+
2073
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2074
+ return delegate_.getPropertyNames(runtime);
1859
2075
  }
1860
2076
 
1861
2077
  static constexpr std::string_view kModuleName = "AppState";
@@ -2065,8 +2281,12 @@ public:
2065
2281
  template <typename T>
2066
2282
  class JSI_EXPORT NativeAppThemeCxxSpec : public TurboModule {
2067
2283
  public:
2068
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2069
- return delegate_.get(rt, propName);
2284
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2285
+ return delegate_.create(rt, propName);
2286
+ }
2287
+
2288
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2289
+ return delegate_.getPropertyNames(runtime);
2070
2290
  }
2071
2291
 
2072
2292
  static constexpr std::string_view kModuleName = "AppTheme";
@@ -2168,8 +2388,12 @@ public:
2168
2388
  template <typename T>
2169
2389
  class JSI_EXPORT NativeBlobModuleCxxSpec : public TurboModule {
2170
2390
  public:
2171
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2172
- return delegate_.get(rt, propName);
2391
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2392
+ return delegate_.create(rt, propName);
2393
+ }
2394
+
2395
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2396
+ return delegate_.getPropertyNames(runtime);
2173
2397
  }
2174
2398
 
2175
2399
  static constexpr std::string_view kModuleName = "BlobModule";
@@ -2267,8 +2491,12 @@ public:
2267
2491
  template <typename T>
2268
2492
  class JSI_EXPORT NativeBugReportingCxxSpec : public TurboModule {
2269
2493
  public:
2270
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2271
- return delegate_.get(rt, propName);
2494
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2495
+ return delegate_.create(rt, propName);
2496
+ }
2497
+
2498
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2499
+ return delegate_.getPropertyNames(runtime);
2272
2500
  }
2273
2501
 
2274
2502
  static constexpr std::string_view kModuleName = "BugReporting";
@@ -2327,8 +2555,12 @@ public:
2327
2555
  template <typename T>
2328
2556
  class JSI_EXPORT NativeClipboardCxxSpec : public TurboModule {
2329
2557
  public:
2330
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2331
- return delegate_.get(rt, propName);
2558
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2559
+ return delegate_.create(rt, propName);
2560
+ }
2561
+
2562
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2563
+ return delegate_.getPropertyNames(runtime);
2332
2564
  }
2333
2565
 
2334
2566
  static constexpr std::string_view kModuleName = "Clipboard";
@@ -2393,8 +2625,12 @@ public:
2393
2625
  template <typename T>
2394
2626
  class JSI_EXPORT NativeDeviceEventManagerCxxSpec : public TurboModule {
2395
2627
  public:
2396
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2397
- return delegate_.get(rt, propName);
2628
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2629
+ return delegate_.create(rt, propName);
2630
+ }
2631
+
2632
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2633
+ return delegate_.getPropertyNames(runtime);
2398
2634
  }
2399
2635
 
2400
2636
  static constexpr std::string_view kModuleName = "DeviceEventManager";
@@ -2693,8 +2929,12 @@ public:
2693
2929
  template <typename T>
2694
2930
  class JSI_EXPORT NativeDeviceInfoCxxSpec : public TurboModule {
2695
2931
  public:
2696
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2697
- return delegate_.get(rt, propName);
2932
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2933
+ return delegate_.create(rt, propName);
2934
+ }
2935
+
2936
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2937
+ return delegate_.getPropertyNames(runtime);
2698
2938
  }
2699
2939
 
2700
2940
  static constexpr std::string_view kModuleName = "DeviceInfo";
@@ -2744,8 +2984,12 @@ public:
2744
2984
  template <typename T>
2745
2985
  class JSI_EXPORT NativeDevLoadingViewCxxSpec : public TurboModule {
2746
2986
  public:
2747
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2748
- return delegate_.get(rt, propName);
2987
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2988
+ return delegate_.create(rt, propName);
2989
+ }
2990
+
2991
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
2992
+ return delegate_.getPropertyNames(runtime);
2749
2993
  }
2750
2994
 
2751
2995
  static constexpr std::string_view kModuleName = "DevLoadingView";
@@ -2806,8 +3050,12 @@ public:
2806
3050
  template <typename T>
2807
3051
  class JSI_EXPORT NativeDevMenuCxxSpec : public TurboModule {
2808
3052
  public:
2809
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2810
- return delegate_.get(rt, propName);
3053
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3054
+ return delegate_.create(rt, propName);
3055
+ }
3056
+
3057
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3058
+ return delegate_.getPropertyNames(runtime);
2811
3059
  }
2812
3060
 
2813
3061
  static constexpr std::string_view kModuleName = "DevMenu";
@@ -2899,8 +3147,12 @@ public:
2899
3147
  template <typename T>
2900
3148
  class JSI_EXPORT NativeDevSettingsCxxSpec : public TurboModule {
2901
3149
  public:
2902
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
2903
- return delegate_.get(rt, propName);
3150
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3151
+ return delegate_.create(rt, propName);
3152
+ }
3153
+
3154
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3155
+ return delegate_.getPropertyNames(runtime);
2904
3156
  }
2905
3157
 
2906
3158
  static constexpr std::string_view kModuleName = "DevSettings";
@@ -3025,103 +3277,26 @@ private:
3025
3277
  };
3026
3278
 
3027
3279
 
3028
- class JSI_EXPORT NativeDevToolsSettingsManagerCxxSpecJSI : public TurboModule {
3029
- protected:
3030
- NativeDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3031
-
3032
- public:
3033
- virtual void setConsolePatchSettings(jsi::Runtime &rt, jsi::String newConsolePatchSettings) = 0;
3034
- virtual std::optional<jsi::String> getConsolePatchSettings(jsi::Runtime &rt) = 0;
3035
- virtual void setProfilingSettings(jsi::Runtime &rt, jsi::String newProfilingSettings) = 0;
3036
- virtual std::optional<jsi::String> getProfilingSettings(jsi::Runtime &rt) = 0;
3280
+
3281
+ #pragma mark - NativeDialogManagerAndroidDialogOptions
3037
3282
 
3283
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
3284
+ struct NativeDialogManagerAndroidDialogOptions {
3285
+ P0 title;
3286
+ P1 message;
3287
+ P2 buttonPositive;
3288
+ P3 buttonNegative;
3289
+ P4 buttonNeutral;
3290
+ P5 items;
3291
+ P6 cancelable;
3292
+ bool operator==(const NativeDialogManagerAndroidDialogOptions &other) const {
3293
+ return title == other.title && message == other.message && buttonPositive == other.buttonPositive && buttonNegative == other.buttonNegative && buttonNeutral == other.buttonNeutral && items == other.items && cancelable == other.cancelable;
3294
+ }
3038
3295
  };
3039
3296
 
3040
3297
  template <typename T>
3041
- class JSI_EXPORT NativeDevToolsSettingsManagerCxxSpec : public TurboModule {
3042
- public:
3043
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3044
- return delegate_.get(rt, propName);
3045
- }
3046
-
3047
- static constexpr std::string_view kModuleName = "DevToolsSettingsManager";
3048
-
3049
- protected:
3050
- NativeDevToolsSettingsManagerCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
3051
- : TurboModule(std::string{NativeDevToolsSettingsManagerCxxSpec::kModuleName}, jsInvoker),
3052
- delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
3053
-
3054
-
3055
- private:
3056
- class Delegate : public NativeDevToolsSettingsManagerCxxSpecJSI {
3057
- public:
3058
- Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
3059
- NativeDevToolsSettingsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
3060
-
3061
- }
3062
-
3063
- void setConsolePatchSettings(jsi::Runtime &rt, jsi::String newConsolePatchSettings) override {
3064
- static_assert(
3065
- bridging::getParameterCount(&T::setConsolePatchSettings) == 2,
3066
- "Expected setConsolePatchSettings(...) to have 2 parameters");
3067
-
3068
- return bridging::callFromJs<void>(
3069
- rt, &T::setConsolePatchSettings, jsInvoker_, instance_, std::move(newConsolePatchSettings));
3070
- }
3071
- std::optional<jsi::String> getConsolePatchSettings(jsi::Runtime &rt) override {
3072
- static_assert(
3073
- bridging::getParameterCount(&T::getConsolePatchSettings) == 1,
3074
- "Expected getConsolePatchSettings(...) to have 1 parameters");
3075
-
3076
- return bridging::callFromJs<std::optional<jsi::String>>(
3077
- rt, &T::getConsolePatchSettings, jsInvoker_, instance_);
3078
- }
3079
- void setProfilingSettings(jsi::Runtime &rt, jsi::String newProfilingSettings) override {
3080
- static_assert(
3081
- bridging::getParameterCount(&T::setProfilingSettings) == 2,
3082
- "Expected setProfilingSettings(...) to have 2 parameters");
3083
-
3084
- return bridging::callFromJs<void>(
3085
- rt, &T::setProfilingSettings, jsInvoker_, instance_, std::move(newProfilingSettings));
3086
- }
3087
- std::optional<jsi::String> getProfilingSettings(jsi::Runtime &rt) override {
3088
- static_assert(
3089
- bridging::getParameterCount(&T::getProfilingSettings) == 1,
3090
- "Expected getProfilingSettings(...) to have 1 parameters");
3091
-
3092
- return bridging::callFromJs<std::optional<jsi::String>>(
3093
- rt, &T::getProfilingSettings, jsInvoker_, instance_);
3094
- }
3095
-
3096
- private:
3097
- friend class NativeDevToolsSettingsManagerCxxSpec;
3098
- T *instance_;
3099
- };
3100
-
3101
- Delegate delegate_;
3102
- };
3103
-
3104
-
3105
-
3106
- #pragma mark - NativeDialogManagerAndroidDialogOptions
3107
-
3108
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
3109
- struct NativeDialogManagerAndroidDialogOptions {
3110
- P0 title;
3111
- P1 message;
3112
- P2 buttonPositive;
3113
- P3 buttonNegative;
3114
- P4 buttonNeutral;
3115
- P5 items;
3116
- P6 cancelable;
3117
- bool operator==(const NativeDialogManagerAndroidDialogOptions &other) const {
3118
- return title == other.title && message == other.message && buttonPositive == other.buttonPositive && buttonNegative == other.buttonNegative && buttonNeutral == other.buttonNeutral && items == other.items && cancelable == other.cancelable;
3119
- }
3120
- };
3121
-
3122
- template <typename T>
3123
- struct NativeDialogManagerAndroidDialogOptionsBridging {
3124
- static T types;
3298
+ struct NativeDialogManagerAndroidDialogOptionsBridging {
3299
+ static T types;
3125
3300
 
3126
3301
  static T fromJs(
3127
3302
  jsi::Runtime &rt,
@@ -3211,8 +3386,12 @@ public:
3211
3386
  template <typename T>
3212
3387
  class JSI_EXPORT NativeDialogManagerAndroidCxxSpec : public TurboModule {
3213
3388
  public:
3214
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3215
- return delegate_.get(rt, propName);
3389
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3390
+ return delegate_.create(rt, propName);
3391
+ }
3392
+
3393
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3394
+ return delegate_.getPropertyNames(runtime);
3216
3395
  }
3217
3396
 
3218
3397
  static constexpr std::string_view kModuleName = "DialogManagerAndroid";
@@ -3384,8 +3563,12 @@ public:
3384
3563
  template <typename T>
3385
3564
  class JSI_EXPORT NativeDialogManagerWindowsCxxSpec : public TurboModule {
3386
3565
  public:
3387
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3388
- return delegate_.get(rt, propName);
3566
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3567
+ return delegate_.create(rt, propName);
3568
+ }
3569
+
3570
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3571
+ return delegate_.getPropertyNames(runtime);
3389
3572
  }
3390
3573
 
3391
3574
  static constexpr std::string_view kModuleName = "Alert";
@@ -3600,7 +3783,6 @@ public:
3600
3783
  virtual void reportFatalException(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) = 0;
3601
3784
  virtual void reportSoftException(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) = 0;
3602
3785
  virtual void reportException(jsi::Runtime &rt, jsi::Object data) = 0;
3603
- virtual void updateExceptionMessage(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) = 0;
3604
3786
  virtual void dismissRedbox(jsi::Runtime &rt) = 0;
3605
3787
 
3606
3788
  };
@@ -3608,8 +3790,12 @@ public:
3608
3790
  template <typename T>
3609
3791
  class JSI_EXPORT NativeExceptionsManagerCxxSpec : public TurboModule {
3610
3792
  public:
3611
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3612
- return delegate_.get(rt, propName);
3793
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3794
+ return delegate_.create(rt, propName);
3795
+ }
3796
+
3797
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3798
+ return delegate_.getPropertyNames(runtime);
3613
3799
  }
3614
3800
 
3615
3801
  static constexpr std::string_view kModuleName = "ExceptionsManager";
@@ -3652,14 +3838,6 @@ private:
3652
3838
  return bridging::callFromJs<void>(
3653
3839
  rt, &T::reportException, jsInvoker_, instance_, std::move(data));
3654
3840
  }
3655
- void updateExceptionMessage(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) override {
3656
- static_assert(
3657
- bridging::getParameterCount(&T::updateExceptionMessage) == 4,
3658
- "Expected updateExceptionMessage(...) to have 4 parameters");
3659
-
3660
- return bridging::callFromJs<void>(
3661
- rt, &T::updateExceptionMessage, jsInvoker_, instance_, std::move(message), std::move(stack), std::move(exceptionId));
3662
- }
3663
3841
  void dismissRedbox(jsi::Runtime &rt) override {
3664
3842
  static_assert(
3665
3843
  bridging::getParameterCount(&T::dismissRedbox) == 1,
@@ -3691,8 +3869,12 @@ public:
3691
3869
  template <typename T>
3692
3870
  class JSI_EXPORT NativeFileReaderModuleCxxSpec : public TurboModule {
3693
3871
  public:
3694
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3695
- return delegate_.get(rt, propName);
3872
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3873
+ return delegate_.create(rt, propName);
3874
+ }
3875
+
3876
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3877
+ return delegate_.getPropertyNames(runtime);
3696
3878
  }
3697
3879
 
3698
3880
  static constexpr std::string_view kModuleName = "FileReaderModule";
@@ -3752,8 +3934,12 @@ public:
3752
3934
  template <typename T>
3753
3935
  class JSI_EXPORT NativeFrameRateLoggerCxxSpec : public TurboModule {
3754
3936
  public:
3755
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3756
- return delegate_.get(rt, propName);
3937
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3938
+ return delegate_.create(rt, propName);
3939
+ }
3940
+
3941
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
3942
+ return delegate_.getPropertyNames(runtime);
3757
3943
  }
3758
3944
 
3759
3945
  static constexpr std::string_view kModuleName = "FrameRateLogger";
@@ -3827,8 +4013,12 @@ public:
3827
4013
  template <typename T>
3828
4014
  class JSI_EXPORT NativeHeadlessJsTaskSupportCxxSpec : public TurboModule {
3829
4015
  public:
3830
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3831
- return delegate_.get(rt, propName);
4016
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4017
+ return delegate_.create(rt, propName);
4018
+ }
4019
+
4020
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4021
+ return delegate_.getPropertyNames(runtime);
3832
4022
  }
3833
4023
 
3834
4024
  static constexpr std::string_view kModuleName = "HeadlessJsTaskSupport";
@@ -3944,8 +4134,12 @@ public:
3944
4134
  template <typename T>
3945
4135
  class JSI_EXPORT NativeI18nManagerCxxSpec : public TurboModule {
3946
4136
  public:
3947
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
3948
- return delegate_.get(rt, propName);
4137
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4138
+ return delegate_.create(rt, propName);
4139
+ }
4140
+
4141
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4142
+ return delegate_.getPropertyNames(runtime);
3949
4143
  }
3950
4144
 
3951
4145
  static constexpr std::string_view kModuleName = "I18nManager";
@@ -4093,8 +4287,12 @@ public:
4093
4287
  template <typename T>
4094
4288
  class JSI_EXPORT NativeImageEditorCxxSpec : public TurboModule {
4095
4289
  public:
4096
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4097
- return delegate_.get(rt, propName);
4290
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4291
+ return delegate_.create(rt, propName);
4292
+ }
4293
+
4294
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4295
+ return delegate_.getPropertyNames(runtime);
4098
4296
  }
4099
4297
 
4100
4298
  static constexpr std::string_view kModuleName = "ImageEditingManager";
@@ -4203,8 +4401,12 @@ public:
4203
4401
  template <typename T>
4204
4402
  class JSI_EXPORT NativeImageLoaderAndroidCxxSpec : public TurboModule {
4205
4403
  public:
4206
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4207
- return delegate_.get(rt, propName);
4404
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4405
+ return delegate_.create(rt, propName);
4406
+ }
4407
+
4408
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4409
+ return delegate_.getPropertyNames(runtime);
4208
4410
  }
4209
4411
 
4210
4412
  static constexpr std::string_view kModuleName = "ImageLoader";
@@ -4298,8 +4500,12 @@ public:
4298
4500
  template <typename T>
4299
4501
  class JSI_EXPORT NativeImageLoaderIOSCxxSpec : public TurboModule {
4300
4502
  public:
4301
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4302
- return delegate_.get(rt, propName);
4503
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4504
+ return delegate_.create(rt, propName);
4505
+ }
4506
+
4507
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4508
+ return delegate_.getPropertyNames(runtime);
4303
4509
  }
4304
4510
 
4305
4511
  static constexpr std::string_view kModuleName = "ImageLoader";
@@ -4389,8 +4595,12 @@ public:
4389
4595
  template <typename T>
4390
4596
  class JSI_EXPORT NativeImageStoreAndroidCxxSpec : public TurboModule {
4391
4597
  public:
4392
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4393
- return delegate_.get(rt, propName);
4598
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4599
+ return delegate_.create(rt, propName);
4600
+ }
4601
+
4602
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4603
+ return delegate_.getPropertyNames(runtime);
4394
4604
  }
4395
4605
 
4396
4606
  static constexpr std::string_view kModuleName = "ImageStoreManager";
@@ -4451,8 +4661,12 @@ public:
4451
4661
  template <typename T>
4452
4662
  class JSI_EXPORT NativeImageStoreIOSCxxSpec : public TurboModule {
4453
4663
  public:
4454
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4455
- return delegate_.get(rt, propName);
4664
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4665
+ return delegate_.create(rt, propName);
4666
+ }
4667
+
4668
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4669
+ return delegate_.getPropertyNames(runtime);
4456
4670
  }
4457
4671
 
4458
4672
  static constexpr std::string_view kModuleName = "ImageStoreManager";
@@ -4537,8 +4751,12 @@ public:
4537
4751
  template <typename T>
4538
4752
  class JSI_EXPORT NativeIntentAndroidCxxSpec : public TurboModule {
4539
4753
  public:
4540
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4541
- return delegate_.get(rt, propName);
4754
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4755
+ return delegate_.create(rt, propName);
4756
+ }
4757
+
4758
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4759
+ return delegate_.getPropertyNames(runtime);
4542
4760
  }
4543
4761
 
4544
4762
  static constexpr std::string_view kModuleName = "IntentAndroid";
@@ -4619,8 +4837,12 @@ public:
4619
4837
  template <typename T>
4620
4838
  class JSI_EXPORT NativeJSCHeapCaptureCxxSpec : public TurboModule {
4621
4839
  public:
4622
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4623
- return delegate_.get(rt, propName);
4840
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4841
+ return delegate_.create(rt, propName);
4842
+ }
4843
+
4844
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4845
+ return delegate_.getPropertyNames(runtime);
4624
4846
  }
4625
4847
 
4626
4848
  static constexpr std::string_view kModuleName = "JSCHeapCapture";
@@ -4669,8 +4891,12 @@ public:
4669
4891
  template <typename T>
4670
4892
  class JSI_EXPORT NativeJSCSamplingProfilerCxxSpec : public TurboModule {
4671
4893
  public:
4672
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4673
- return delegate_.get(rt, propName);
4894
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4895
+ return delegate_.create(rt, propName);
4896
+ }
4897
+
4898
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4899
+ return delegate_.getPropertyNames(runtime);
4674
4900
  }
4675
4901
 
4676
4902
  static constexpr std::string_view kModuleName = "JSCSamplingProfiler";
@@ -4720,8 +4946,12 @@ public:
4720
4946
  template <typename T>
4721
4947
  class JSI_EXPORT NativeKeyboardObserverCxxSpec : public TurboModule {
4722
4948
  public:
4723
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4724
- return delegate_.get(rt, propName);
4949
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4950
+ return delegate_.create(rt, propName);
4951
+ }
4952
+
4953
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
4954
+ return delegate_.getPropertyNames(runtime);
4725
4955
  }
4726
4956
 
4727
4957
  static constexpr std::string_view kModuleName = "KeyboardObserver";
@@ -4783,8 +5013,12 @@ public:
4783
5013
  template <typename T>
4784
5014
  class JSI_EXPORT NativeLinkingManagerCxxSpec : public TurboModule {
4785
5015
  public:
4786
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4787
- return delegate_.get(rt, propName);
5016
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5017
+ return delegate_.create(rt, propName);
5018
+ }
5019
+
5020
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5021
+ return delegate_.getPropertyNames(runtime);
4788
5022
  }
4789
5023
 
4790
5024
  static constexpr std::string_view kModuleName = "LinkingManager";
@@ -4874,8 +5108,12 @@ public:
4874
5108
  template <typename T>
4875
5109
  class JSI_EXPORT NativeLogBoxCxxSpec : public TurboModule {
4876
5110
  public:
4877
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4878
- return delegate_.get(rt, propName);
5111
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5112
+ return delegate_.create(rt, propName);
5113
+ }
5114
+
5115
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5116
+ return delegate_.getPropertyNames(runtime);
4879
5117
  }
4880
5118
 
4881
5119
  static constexpr std::string_view kModuleName = "LogBox";
@@ -4933,8 +5171,12 @@ public:
4933
5171
  template <typename T>
4934
5172
  class JSI_EXPORT NativeModalManagerCxxSpec : public TurboModule {
4935
5173
  public:
4936
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4937
- return delegate_.get(rt, propName);
5174
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5175
+ return delegate_.create(rt, propName);
5176
+ }
5177
+
5178
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5179
+ return delegate_.getPropertyNames(runtime);
4938
5180
  }
4939
5181
 
4940
5182
  static constexpr std::string_view kModuleName = "ModalManager";
@@ -4995,8 +5237,12 @@ public:
4995
5237
  template <typename T>
4996
5238
  class JSI_EXPORT NativeNetworkingAndroidCxxSpec : public TurboModule {
4997
5239
  public:
4998
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4999
- return delegate_.get(rt, propName);
5240
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5241
+ return delegate_.create(rt, propName);
5242
+ }
5243
+
5244
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5245
+ return delegate_.getPropertyNames(runtime);
5000
5246
  }
5001
5247
 
5002
5248
  static constexpr std::string_view kModuleName = "Networking";
@@ -5081,8 +5327,12 @@ public:
5081
5327
  template <typename T>
5082
5328
  class JSI_EXPORT NativeNetworkingIOSCxxSpec : public TurboModule {
5083
5329
  public:
5084
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5085
- return delegate_.get(rt, propName);
5330
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5331
+ return delegate_.create(rt, propName);
5332
+ }
5333
+
5334
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5335
+ return delegate_.getPropertyNames(runtime);
5086
5336
  }
5087
5337
 
5088
5338
  static constexpr std::string_view kModuleName = "Networking";
@@ -5166,8 +5416,12 @@ public:
5166
5416
  template <typename T>
5167
5417
  class JSI_EXPORT NativePermissionsAndroidCxxSpec : public TurboModule {
5168
5418
  public:
5169
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5170
- return delegate_.get(rt, propName);
5419
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5420
+ return delegate_.create(rt, propName);
5421
+ }
5422
+
5423
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5424
+ return delegate_.getPropertyNames(runtime);
5171
5425
  }
5172
5426
 
5173
5427
  static constexpr std::string_view kModuleName = "PermissionsAndroid";
@@ -5424,8 +5678,12 @@ public:
5424
5678
  template <typename T>
5425
5679
  class JSI_EXPORT NativePlatformConstantsAndroidCxxSpec : public TurboModule {
5426
5680
  public:
5427
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5428
- return delegate_.get(rt, propName);
5681
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5682
+ return delegate_.create(rt, propName);
5683
+ }
5684
+
5685
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5686
+ return delegate_.getPropertyNames(runtime);
5429
5687
  }
5430
5688
 
5431
5689
  static constexpr std::string_view kModuleName = "PlatformConstants";
@@ -5575,8 +5833,12 @@ public:
5575
5833
  template <typename T>
5576
5834
  class JSI_EXPORT NativePlatformConstantsIOSCxxSpec : public TurboModule {
5577
5835
  public:
5578
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5579
- return delegate_.get(rt, propName);
5836
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5837
+ return delegate_.create(rt, propName);
5838
+ }
5839
+
5840
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5841
+ return delegate_.getPropertyNames(runtime);
5580
5842
  }
5581
5843
 
5582
5844
  static constexpr std::string_view kModuleName = "PlatformConstants";
@@ -5695,8 +5957,12 @@ public:
5695
5957
  template <typename T>
5696
5958
  class JSI_EXPORT NativePlatformConstantsWindowsCxxSpec : public TurboModule {
5697
5959
  public:
5698
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5699
- return delegate_.get(rt, propName);
5960
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5961
+ return delegate_.create(rt, propName);
5962
+ }
5963
+
5964
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
5965
+ return delegate_.getPropertyNames(runtime);
5700
5966
  }
5701
5967
 
5702
5968
  static constexpr std::string_view kModuleName = "PlatformConstants";
@@ -5932,8 +6198,12 @@ public:
5932
6198
  template <typename T>
5933
6199
  class JSI_EXPORT NativePushNotificationManagerIOSCxxSpec : public TurboModule {
5934
6200
  public:
5935
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
5936
- return delegate_.get(rt, propName);
6201
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6202
+ return delegate_.create(rt, propName);
6203
+ }
6204
+
6205
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6206
+ return delegate_.getPropertyNames(runtime);
5937
6207
  }
5938
6208
 
5939
6209
  static constexpr std::string_view kModuleName = "PushNotificationManager";
@@ -6114,6 +6384,69 @@ private:
6114
6384
  };
6115
6385
 
6116
6386
 
6387
+ class JSI_EXPORT NativeReactDevToolsSettingsManagerCxxSpecJSI : public TurboModule {
6388
+ protected:
6389
+ NativeReactDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
6390
+
6391
+ public:
6392
+ virtual void setGlobalHookSettings(jsi::Runtime &rt, jsi::String settings) = 0;
6393
+ virtual std::optional<jsi::String> getGlobalHookSettings(jsi::Runtime &rt) = 0;
6394
+
6395
+ };
6396
+
6397
+ template <typename T>
6398
+ class JSI_EXPORT NativeReactDevToolsSettingsManagerCxxSpec : public TurboModule {
6399
+ public:
6400
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6401
+ return delegate_.create(rt, propName);
6402
+ }
6403
+
6404
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6405
+ return delegate_.getPropertyNames(runtime);
6406
+ }
6407
+
6408
+ static constexpr std::string_view kModuleName = "ReactDevToolsSettingsManager";
6409
+
6410
+ protected:
6411
+ NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
6412
+ : TurboModule(std::string{NativeReactDevToolsSettingsManagerCxxSpec::kModuleName}, jsInvoker),
6413
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
6414
+
6415
+
6416
+ private:
6417
+ class Delegate : public NativeReactDevToolsSettingsManagerCxxSpecJSI {
6418
+ public:
6419
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
6420
+ NativeReactDevToolsSettingsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
6421
+
6422
+ }
6423
+
6424
+ void setGlobalHookSettings(jsi::Runtime &rt, jsi::String settings) override {
6425
+ static_assert(
6426
+ bridging::getParameterCount(&T::setGlobalHookSettings) == 2,
6427
+ "Expected setGlobalHookSettings(...) to have 2 parameters");
6428
+
6429
+ return bridging::callFromJs<void>(
6430
+ rt, &T::setGlobalHookSettings, jsInvoker_, instance_, std::move(settings));
6431
+ }
6432
+ std::optional<jsi::String> getGlobalHookSettings(jsi::Runtime &rt) override {
6433
+ static_assert(
6434
+ bridging::getParameterCount(&T::getGlobalHookSettings) == 1,
6435
+ "Expected getGlobalHookSettings(...) to have 1 parameters");
6436
+
6437
+ return bridging::callFromJs<std::optional<jsi::String>>(
6438
+ rt, &T::getGlobalHookSettings, jsInvoker_, instance_);
6439
+ }
6440
+
6441
+ private:
6442
+ friend class NativeReactDevToolsSettingsManagerCxxSpec;
6443
+ T *instance_;
6444
+ };
6445
+
6446
+ Delegate delegate_;
6447
+ };
6448
+
6449
+
6117
6450
  class JSI_EXPORT NativeRedBoxCxxSpecJSI : public TurboModule {
6118
6451
  protected:
6119
6452
  NativeRedBoxCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
@@ -6127,8 +6460,12 @@ public:
6127
6460
  template <typename T>
6128
6461
  class JSI_EXPORT NativeRedBoxCxxSpec : public TurboModule {
6129
6462
  public:
6130
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6131
- return delegate_.get(rt, propName);
6463
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6464
+ return delegate_.create(rt, propName);
6465
+ }
6466
+
6467
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6468
+ return delegate_.getPropertyNames(runtime);
6132
6469
  }
6133
6470
 
6134
6471
  static constexpr std::string_view kModuleName = "RedBox";
@@ -6286,8 +6623,12 @@ public:
6286
6623
  template <typename T>
6287
6624
  class JSI_EXPORT NativeSampleTurboModuleCxxSpec : public TurboModule {
6288
6625
  public:
6289
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6290
- return delegate_.get(rt, propName);
6626
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6627
+ return delegate_.create(rt, propName);
6628
+ }
6629
+
6630
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6631
+ return delegate_.getPropertyNames(runtime);
6291
6632
  }
6292
6633
 
6293
6634
  static constexpr std::string_view kModuleName = "SampleTurboModule";
@@ -6508,8 +6849,12 @@ public:
6508
6849
  template <typename T>
6509
6850
  class JSI_EXPORT NativeSegmentFetcherCxxSpec : public TurboModule {
6510
6851
  public:
6511
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6512
- return delegate_.get(rt, propName);
6852
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6853
+ return delegate_.create(rt, propName);
6854
+ }
6855
+
6856
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6857
+ return delegate_.getPropertyNames(runtime);
6513
6858
  }
6514
6859
 
6515
6860
  static constexpr std::string_view kModuleName = "SegmentFetcher";
@@ -6568,8 +6913,12 @@ public:
6568
6913
  template <typename T>
6569
6914
  class JSI_EXPORT NativeSettingsManagerCxxSpec : public TurboModule {
6570
6915
  public:
6571
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6572
- return delegate_.get(rt, propName);
6916
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6917
+ return delegate_.create(rt, propName);
6918
+ }
6919
+
6920
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6921
+ return delegate_.getPropertyNames(runtime);
6573
6922
  }
6574
6923
 
6575
6924
  static constexpr std::string_view kModuleName = "SettingsManager";
@@ -6635,8 +6984,12 @@ public:
6635
6984
  template <typename T>
6636
6985
  class JSI_EXPORT NativeShareModuleCxxSpec : public TurboModule {
6637
6986
  public:
6638
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6639
- return delegate_.get(rt, propName);
6987
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6988
+ return delegate_.create(rt, propName);
6989
+ }
6990
+
6991
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
6992
+ return delegate_.getPropertyNames(runtime);
6640
6993
  }
6641
6994
 
6642
6995
  static constexpr std::string_view kModuleName = "ShareModule";
@@ -6693,8 +7046,12 @@ public:
6693
7046
  template <typename T>
6694
7047
  class JSI_EXPORT NativeSoundManagerCxxSpec : public TurboModule {
6695
7048
  public:
6696
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6697
- return delegate_.get(rt, propName);
7049
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7050
+ return delegate_.create(rt, propName);
7051
+ }
7052
+
7053
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7054
+ return delegate_.getPropertyNames(runtime);
6698
7055
  }
6699
7056
 
6700
7057
  static constexpr std::string_view kModuleName = "SoundManager";
@@ -6783,8 +7140,12 @@ public:
6783
7140
  template <typename T>
6784
7141
  class JSI_EXPORT NativeSourceCodeCxxSpec : public TurboModule {
6785
7142
  public:
6786
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6787
- return delegate_.get(rt, propName);
7143
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7144
+ return delegate_.create(rt, propName);
7145
+ }
7146
+
7147
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7148
+ return delegate_.getPropertyNames(runtime);
6788
7149
  }
6789
7150
 
6790
7151
  static constexpr std::string_view kModuleName = "SourceCode";
@@ -6837,8 +7198,12 @@ public:
6837
7198
  template <typename T>
6838
7199
  class JSI_EXPORT NativeStatusBarManagerAndroidCxxSpec : public TurboModule {
6839
7200
  public:
6840
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6841
- return delegate_.get(rt, propName);
7201
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7202
+ return delegate_.create(rt, propName);
7203
+ }
7204
+
7205
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7206
+ return delegate_.getPropertyNames(runtime);
6842
7207
  }
6843
7208
 
6844
7209
  static constexpr std::string_view kModuleName = "StatusBarManager";
@@ -6925,8 +7290,12 @@ public:
6925
7290
  template <typename T>
6926
7291
  class JSI_EXPORT NativeStatusBarManagerIOSCxxSpec : public TurboModule {
6927
7292
  public:
6928
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
6929
- return delegate_.get(rt, propName);
7293
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7294
+ return delegate_.create(rt, propName);
7295
+ }
7296
+
7297
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7298
+ return delegate_.getPropertyNames(runtime);
6930
7299
  }
6931
7300
 
6932
7301
  static constexpr std::string_view kModuleName = "StatusBarManager";
@@ -7025,8 +7394,12 @@ public:
7025
7394
  template <typename T>
7026
7395
  class JSI_EXPORT NativeTimingCxxSpec : public TurboModule {
7027
7396
  public:
7028
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7029
- return delegate_.get(rt, propName);
7397
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7398
+ return delegate_.create(rt, propName);
7399
+ }
7400
+
7401
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7402
+ return delegate_.getPropertyNames(runtime);
7030
7403
  }
7031
7404
 
7032
7405
  static constexpr std::string_view kModuleName = "Timing";
@@ -7094,8 +7467,12 @@ public:
7094
7467
  template <typename T>
7095
7468
  class JSI_EXPORT NativeToastAndroidCxxSpec : public TurboModule {
7096
7469
  public:
7097
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7098
- return delegate_.get(rt, propName);
7470
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7471
+ return delegate_.create(rt, propName);
7472
+ }
7473
+
7474
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7475
+ return delegate_.getPropertyNames(runtime);
7099
7476
  }
7100
7477
 
7101
7478
  static constexpr std::string_view kModuleName = "ToastAndroid";
@@ -7189,8 +7566,12 @@ public:
7189
7566
  template <typename T>
7190
7567
  class JSI_EXPORT NativeUIManagerCxxSpec : public TurboModule {
7191
7568
  public:
7192
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7193
- return delegate_.get(rt, propName);
7569
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7570
+ return delegate_.create(rt, propName);
7571
+ }
7572
+
7573
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7574
+ return delegate_.getPropertyNames(runtime);
7194
7575
  }
7195
7576
 
7196
7577
  static constexpr std::string_view kModuleName = "UIManager";
@@ -7410,8 +7791,12 @@ public:
7410
7791
  template <typename T>
7411
7792
  class JSI_EXPORT NativeVibrationCxxSpec : public TurboModule {
7412
7793
  public:
7413
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7414
- return delegate_.get(rt, propName);
7794
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7795
+ return delegate_.create(rt, propName);
7796
+ }
7797
+
7798
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7799
+ return delegate_.getPropertyNames(runtime);
7415
7800
  }
7416
7801
 
7417
7802
  static constexpr std::string_view kModuleName = "Vibration";
@@ -7490,8 +7875,12 @@ public:
7490
7875
  template <typename T>
7491
7876
  class JSI_EXPORT NativeWebSocketModuleCxxSpec : public TurboModule {
7492
7877
  public:
7493
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7494
- return delegate_.get(rt, propName);
7878
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7879
+ return delegate_.create(rt, propName);
7880
+ }
7881
+
7882
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
7883
+ return delegate_.getPropertyNames(runtime);
7495
7884
  }
7496
7885
 
7497
7886
  static constexpr std::string_view kModuleName = "WebSocketModule";
@@ -7679,8 +8068,12 @@ public:
7679
8068
  template <typename T>
7680
8069
  class JSI_EXPORT NativeIdleCallbacksCxxSpec : public TurboModule {
7681
8070
  public:
7682
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7683
- return delegate_.get(rt, propName);
8071
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8072
+ return delegate_.create(rt, propName);
8073
+ }
8074
+
8075
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
8076
+ return delegate_.getPropertyNames(runtime);
7684
8077
  }
7685
8078
 
7686
8079
  static constexpr std::string_view kModuleName = "NativeIdleCallbacksCxx";
@@ -7811,13 +8204,14 @@ struct NativeIntersectionObserverNativeIntersectionObserverEntryBridging {
7811
8204
 
7812
8205
  #pragma mark - NativeIntersectionObserverNativeIntersectionObserverObserveOptions
7813
8206
 
7814
- template <typename P0, typename P1, typename P2>
8207
+ template <typename P0, typename P1, typename P2, typename P3>
7815
8208
  struct NativeIntersectionObserverNativeIntersectionObserverObserveOptions {
7816
8209
  P0 intersectionObserverId;
7817
8210
  P1 targetShadowNode;
7818
8211
  P2 thresholds;
8212
+ P3 rootThresholds;
7819
8213
  bool operator==(const NativeIntersectionObserverNativeIntersectionObserverObserveOptions &other) const {
7820
- return intersectionObserverId == other.intersectionObserverId && targetShadowNode == other.targetShadowNode && thresholds == other.thresholds;
8214
+ return intersectionObserverId == other.intersectionObserverId && targetShadowNode == other.targetShadowNode && thresholds == other.thresholds && rootThresholds == other.rootThresholds;
7821
8215
  }
7822
8216
  };
7823
8217
 
@@ -7832,7 +8226,8 @@ struct NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridgin
7832
8226
  T result{
7833
8227
  bridging::fromJs<decltype(types.intersectionObserverId)>(rt, value.getProperty(rt, "intersectionObserverId"), jsInvoker),
7834
8228
  bridging::fromJs<decltype(types.targetShadowNode)>(rt, value.getProperty(rt, "targetShadowNode"), jsInvoker),
7835
- bridging::fromJs<decltype(types.thresholds)>(rt, value.getProperty(rt, "thresholds"), jsInvoker)};
8229
+ bridging::fromJs<decltype(types.thresholds)>(rt, value.getProperty(rt, "thresholds"), jsInvoker),
8230
+ bridging::fromJs<decltype(types.rootThresholds)>(rt, value.getProperty(rt, "rootThresholds"), jsInvoker)};
7836
8231
  return result;
7837
8232
  }
7838
8233
 
@@ -7848,6 +8243,10 @@ struct NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridgin
7848
8243
  static jsi::Array thresholdsToJs(jsi::Runtime &rt, decltype(types.thresholds) value) {
7849
8244
  return bridging::toJs(rt, value);
7850
8245
  }
8246
+
8247
+ static std::optional<jsi::Array> rootThresholdsToJs(jsi::Runtime &rt, decltype(types.rootThresholds) value) {
8248
+ return bridging::toJs(rt, value);
8249
+ }
7851
8250
  #endif
7852
8251
 
7853
8252
  static jsi::Object toJs(
@@ -7858,6 +8257,9 @@ struct NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridgin
7858
8257
  result.setProperty(rt, "intersectionObserverId", bridging::toJs(rt, value.intersectionObserverId, jsInvoker));
7859
8258
  result.setProperty(rt, "targetShadowNode", bridging::toJs(rt, value.targetShadowNode, jsInvoker));
7860
8259
  result.setProperty(rt, "thresholds", bridging::toJs(rt, value.thresholds, jsInvoker));
8260
+ if (value.rootThresholds) {
8261
+ result.setProperty(rt, "rootThresholds", bridging::toJs(rt, value.rootThresholds.value(), jsInvoker));
8262
+ }
7861
8263
  return result;
7862
8264
  }
7863
8265
  };
@@ -7878,8 +8280,12 @@ public:
7878
8280
  template <typename T>
7879
8281
  class JSI_EXPORT NativeIntersectionObserverCxxSpec : public TurboModule {
7880
8282
  public:
7881
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7882
- return delegate_.get(rt, propName);
8283
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8284
+ return delegate_.create(rt, propName);
8285
+ }
8286
+
8287
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
8288
+ return delegate_.getPropertyNames(runtime);
7883
8289
  }
7884
8290
 
7885
8291
  static constexpr std::string_view kModuleName = "NativeIntersectionObserverCxx";
@@ -7960,8 +8366,12 @@ public:
7960
8366
  template <typename T>
7961
8367
  class JSI_EXPORT NativeMicrotasksCxxSpec : public TurboModule {
7962
8368
  public:
7963
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
7964
- return delegate_.get(rt, propName);
8369
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8370
+ return delegate_.create(rt, propName);
8371
+ }
8372
+
8373
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
8374
+ return delegate_.getPropertyNames(runtime);
7965
8375
  }
7966
8376
 
7967
8377
  static constexpr std::string_view kModuleName = "NativeMicrotasksCxx";
@@ -8130,8 +8540,12 @@ public:
8130
8540
  template <typename T>
8131
8541
  class JSI_EXPORT NativeMutationObserverCxxSpec : public TurboModule {
8132
8542
  public:
8133
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8134
- return delegate_.get(rt, propName);
8543
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8544
+ return delegate_.create(rt, propName);
8545
+ }
8546
+
8547
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
8548
+ return delegate_.getPropertyNames(runtime);
8135
8549
  }
8136
8550
 
8137
8551
  static constexpr std::string_view kModuleName = "NativeMutationObserverCxx";
@@ -8201,106 +8615,22 @@ private:
8201
8615
 
8202
8616
 
8203
8617
 
8204
- class JSI_EXPORT NativePerformanceCxxSpecJSI : public TurboModule {
8205
- protected:
8206
- NativePerformanceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
8207
-
8208
- public:
8209
- virtual double now(jsi::Runtime &rt) = 0;
8210
- virtual void mark(jsi::Runtime &rt, jsi::String name, double startTime) = 0;
8211
- virtual void measure(jsi::Runtime &rt, jsi::String name, double startTime, double endTime, std::optional<double> duration, std::optional<jsi::String> startMark, std::optional<jsi::String> endMark) = 0;
8212
- virtual jsi::Object getSimpleMemoryInfo(jsi::Runtime &rt) = 0;
8213
- virtual jsi::Object getReactNativeStartupTiming(jsi::Runtime &rt) = 0;
8214
-
8215
- };
8216
-
8217
- template <typename T>
8218
- class JSI_EXPORT NativePerformanceCxxSpec : public TurboModule {
8219
- public:
8220
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8221
- return delegate_.get(rt, propName);
8222
- }
8223
-
8224
- static constexpr std::string_view kModuleName = "NativePerformanceCxx";
8225
-
8226
- protected:
8227
- NativePerformanceCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
8228
- : TurboModule(std::string{NativePerformanceCxxSpec::kModuleName}, jsInvoker),
8229
- delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
8230
-
8231
-
8232
- private:
8233
- class Delegate : public NativePerformanceCxxSpecJSI {
8234
- public:
8235
- Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
8236
- NativePerformanceCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
8237
-
8238
- }
8239
-
8240
- double now(jsi::Runtime &rt) override {
8241
- static_assert(
8242
- bridging::getParameterCount(&T::now) == 1,
8243
- "Expected now(...) to have 1 parameters");
8244
-
8245
- return bridging::callFromJs<double>(
8246
- rt, &T::now, jsInvoker_, instance_);
8247
- }
8248
- void mark(jsi::Runtime &rt, jsi::String name, double startTime) override {
8249
- static_assert(
8250
- bridging::getParameterCount(&T::mark) == 3,
8251
- "Expected mark(...) to have 3 parameters");
8252
-
8253
- return bridging::callFromJs<void>(
8254
- rt, &T::mark, jsInvoker_, instance_, std::move(name), std::move(startTime));
8255
- }
8256
- void measure(jsi::Runtime &rt, jsi::String name, double startTime, double endTime, std::optional<double> duration, std::optional<jsi::String> startMark, std::optional<jsi::String> endMark) override {
8257
- static_assert(
8258
- bridging::getParameterCount(&T::measure) == 7,
8259
- "Expected measure(...) to have 7 parameters");
8260
-
8261
- return bridging::callFromJs<void>(
8262
- rt, &T::measure, jsInvoker_, instance_, std::move(name), std::move(startTime), std::move(endTime), std::move(duration), std::move(startMark), std::move(endMark));
8263
- }
8264
- jsi::Object getSimpleMemoryInfo(jsi::Runtime &rt) override {
8265
- static_assert(
8266
- bridging::getParameterCount(&T::getSimpleMemoryInfo) == 1,
8267
- "Expected getSimpleMemoryInfo(...) to have 1 parameters");
8268
-
8269
- return bridging::callFromJs<jsi::Object>(
8270
- rt, &T::getSimpleMemoryInfo, jsInvoker_, instance_);
8271
- }
8272
- jsi::Object getReactNativeStartupTiming(jsi::Runtime &rt) override {
8273
- static_assert(
8274
- bridging::getParameterCount(&T::getReactNativeStartupTiming) == 1,
8275
- "Expected getReactNativeStartupTiming(...) to have 1 parameters");
8276
-
8277
- return bridging::callFromJs<jsi::Object>(
8278
- rt, &T::getReactNativeStartupTiming, jsInvoker_, instance_);
8279
- }
8280
-
8281
- private:
8282
- friend class NativePerformanceCxxSpec;
8283
- T *instance_;
8284
- };
8285
-
8286
- Delegate delegate_;
8287
- };
8288
-
8289
8618
 
8290
-
8291
- #pragma mark - NativePerformanceObserverGetPendingEntriesResult
8619
+ #pragma mark - NativePerformancePerformanceObserverInit
8292
8620
 
8293
- template <typename P0, typename P1>
8294
- struct NativePerformanceObserverGetPendingEntriesResult {
8295
- P0 entries;
8296
- P1 droppedEntriesCount;
8297
- bool operator==(const NativePerformanceObserverGetPendingEntriesResult &other) const {
8298
- return entries == other.entries && droppedEntriesCount == other.droppedEntriesCount;
8621
+ template <typename P0, typename P1, typename P2, typename P3>
8622
+ struct NativePerformancePerformanceObserverInit {
8623
+ P0 entryTypes;
8624
+ P1 type;
8625
+ P2 buffered;
8626
+ P3 durationThreshold;
8627
+ bool operator==(const NativePerformancePerformanceObserverInit &other) const {
8628
+ return entryTypes == other.entryTypes && type == other.type && buffered == other.buffered && durationThreshold == other.durationThreshold;
8299
8629
  }
8300
8630
  };
8301
8631
 
8302
8632
  template <typename T>
8303
- struct NativePerformanceObserverGetPendingEntriesResultBridging {
8633
+ struct NativePerformancePerformanceObserverInitBridging {
8304
8634
  static T types;
8305
8635
 
8306
8636
  static T fromJs(
@@ -8308,17 +8638,27 @@ struct NativePerformanceObserverGetPendingEntriesResultBridging {
8308
8638
  const jsi::Object &value,
8309
8639
  const std::shared_ptr<CallInvoker> &jsInvoker) {
8310
8640
  T result{
8311
- bridging::fromJs<decltype(types.entries)>(rt, value.getProperty(rt, "entries"), jsInvoker),
8312
- bridging::fromJs<decltype(types.droppedEntriesCount)>(rt, value.getProperty(rt, "droppedEntriesCount"), jsInvoker)};
8641
+ bridging::fromJs<decltype(types.entryTypes)>(rt, value.getProperty(rt, "entryTypes"), jsInvoker),
8642
+ bridging::fromJs<decltype(types.type)>(rt, value.getProperty(rt, "type"), jsInvoker),
8643
+ bridging::fromJs<decltype(types.buffered)>(rt, value.getProperty(rt, "buffered"), jsInvoker),
8644
+ bridging::fromJs<decltype(types.durationThreshold)>(rt, value.getProperty(rt, "durationThreshold"), jsInvoker)};
8313
8645
  return result;
8314
8646
  }
8315
8647
 
8316
8648
  #ifdef DEBUG
8317
- static jsi::Array entriesToJs(jsi::Runtime &rt, decltype(types.entries) value) {
8649
+ static jsi::Array entryTypesToJs(jsi::Runtime &rt, decltype(types.entryTypes) value) {
8650
+ return bridging::toJs(rt, value);
8651
+ }
8652
+
8653
+ static double typeToJs(jsi::Runtime &rt, decltype(types.type) value) {
8654
+ return bridging::toJs(rt, value);
8655
+ }
8656
+
8657
+ static bool bufferedToJs(jsi::Runtime &rt, decltype(types.buffered) value) {
8318
8658
  return bridging::toJs(rt, value);
8319
8659
  }
8320
8660
 
8321
- static double droppedEntriesCountToJs(jsi::Runtime &rt, decltype(types.droppedEntriesCount) value) {
8661
+ static double durationThresholdToJs(jsi::Runtime &rt, decltype(types.durationThreshold) value) {
8322
8662
  return bridging::toJs(rt, value);
8323
8663
  }
8324
8664
  #endif
@@ -8328,18 +8668,28 @@ struct NativePerformanceObserverGetPendingEntriesResultBridging {
8328
8668
  const T &value,
8329
8669
  const std::shared_ptr<CallInvoker> &jsInvoker) {
8330
8670
  auto result = facebook::jsi::Object(rt);
8331
- result.setProperty(rt, "entries", bridging::toJs(rt, value.entries, jsInvoker));
8332
- result.setProperty(rt, "droppedEntriesCount", bridging::toJs(rt, value.droppedEntriesCount, jsInvoker));
8671
+ if (value.entryTypes) {
8672
+ result.setProperty(rt, "entryTypes", bridging::toJs(rt, value.entryTypes.value(), jsInvoker));
8673
+ }
8674
+ if (value.type) {
8675
+ result.setProperty(rt, "type", bridging::toJs(rt, value.type.value(), jsInvoker));
8676
+ }
8677
+ if (value.buffered) {
8678
+ result.setProperty(rt, "buffered", bridging::toJs(rt, value.buffered.value(), jsInvoker));
8679
+ }
8680
+ if (value.durationThreshold) {
8681
+ result.setProperty(rt, "durationThreshold", bridging::toJs(rt, value.durationThreshold.value(), jsInvoker));
8682
+ }
8333
8683
  return result;
8334
8684
  }
8335
8685
  };
8336
8686
 
8337
8687
 
8338
8688
 
8339
- #pragma mark - NativePerformanceObserverRawPerformanceEntry
8689
+ #pragma mark - NativePerformanceRawPerformanceEntry
8340
8690
 
8341
8691
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
8342
- struct NativePerformanceObserverRawPerformanceEntry {
8692
+ struct NativePerformanceRawPerformanceEntry {
8343
8693
  P0 name;
8344
8694
  P1 entryType;
8345
8695
  P2 startTime;
@@ -8347,13 +8697,13 @@ struct NativePerformanceObserverRawPerformanceEntry {
8347
8697
  P4 processingStart;
8348
8698
  P5 processingEnd;
8349
8699
  P6 interactionId;
8350
- bool operator==(const NativePerformanceObserverRawPerformanceEntry &other) const {
8700
+ bool operator==(const NativePerformanceRawPerformanceEntry &other) const {
8351
8701
  return name == other.name && entryType == other.entryType && startTime == other.startTime && duration == other.duration && processingStart == other.processingStart && processingEnd == other.processingEnd && interactionId == other.interactionId;
8352
8702
  }
8353
8703
  };
8354
8704
 
8355
8705
  template <typename T>
8356
- struct NativePerformanceObserverRawPerformanceEntryBridging {
8706
+ struct NativePerformanceRawPerformanceEntryBridging {
8357
8707
  static T types;
8358
8708
 
8359
8709
  static T fromJs(
@@ -8423,95 +8773,140 @@ struct NativePerformanceObserverRawPerformanceEntryBridging {
8423
8773
  }
8424
8774
  };
8425
8775
 
8426
- class JSI_EXPORT NativePerformanceObserverCxxSpecJSI : public TurboModule {
8776
+
8777
+ class JSI_EXPORT NativePerformanceCxxSpecJSI : public TurboModule {
8427
8778
  protected:
8428
- NativePerformanceObserverCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
8779
+ NativePerformanceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
8429
8780
 
8430
8781
  public:
8431
- virtual void startReporting(jsi::Runtime &rt, double entryType) = 0;
8432
- virtual void stopReporting(jsi::Runtime &rt, double entryType) = 0;
8433
- virtual void setIsBuffered(jsi::Runtime &rt, jsi::Array entryTypes, bool isBuffered) = 0;
8434
- virtual jsi::Object popPendingEntries(jsi::Runtime &rt) = 0;
8435
- virtual void setOnPerformanceEntryCallback(jsi::Runtime &rt, std::optional<jsi::Function> callback) = 0;
8436
- virtual void logRawEntry(jsi::Runtime &rt, jsi::Object entry) = 0;
8782
+ virtual double now(jsi::Runtime &rt) = 0;
8783
+ virtual void mark(jsi::Runtime &rt, jsi::String name, double startTime) = 0;
8784
+ virtual void measure(jsi::Runtime &rt, jsi::String name, double startTime, double endTime, std::optional<double> duration, std::optional<jsi::String> startMark, std::optional<jsi::String> endMark) = 0;
8785
+ virtual double markWithResult(jsi::Runtime &rt, jsi::String name, std::optional<double> startTime) = 0;
8786
+ virtual jsi::Array measureWithResult(jsi::Runtime &rt, jsi::String name, double startTime, double endTime, std::optional<double> duration, std::optional<jsi::String> startMark, std::optional<jsi::String> endMark) = 0;
8787
+ virtual void clearMarks(jsi::Runtime &rt, std::optional<jsi::String> entryName) = 0;
8788
+ virtual void clearMeasures(jsi::Runtime &rt, std::optional<jsi::String> entryName) = 0;
8789
+ virtual jsi::Array getEntries(jsi::Runtime &rt) = 0;
8790
+ virtual jsi::Array getEntriesByName(jsi::Runtime &rt, jsi::String entryName, std::optional<double> entryType) = 0;
8791
+ virtual jsi::Array getEntriesByType(jsi::Runtime &rt, double entryType) = 0;
8437
8792
  virtual jsi::Array getEventCounts(jsi::Runtime &rt) = 0;
8438
- virtual void setDurationThreshold(jsi::Runtime &rt, double entryType, double durationThreshold) = 0;
8439
- virtual void clearEntries(jsi::Runtime &rt, std::optional<double> entryType, std::optional<jsi::String> entryName) = 0;
8440
- virtual jsi::Array getEntries(jsi::Runtime &rt, std::optional<double> entryType, std::optional<jsi::String> entryName) = 0;
8793
+ virtual jsi::Object getSimpleMemoryInfo(jsi::Runtime &rt) = 0;
8794
+ virtual jsi::Object getReactNativeStartupTiming(jsi::Runtime &rt) = 0;
8795
+ virtual jsi::Value createObserver(jsi::Runtime &rt, jsi::Function callback) = 0;
8796
+ virtual double getDroppedEntriesCount(jsi::Runtime &rt, jsi::Value observer) = 0;
8797
+ virtual void observe(jsi::Runtime &rt, jsi::Value observer, jsi::Object options) = 0;
8798
+ virtual void disconnect(jsi::Runtime &rt, jsi::Value observer) = 0;
8799
+ virtual jsi::Array takeRecords(jsi::Runtime &rt, jsi::Value observer, bool sort) = 0;
8441
8800
  virtual jsi::Array getSupportedPerformanceEntryTypes(jsi::Runtime &rt) = 0;
8442
8801
 
8443
8802
  };
8444
8803
 
8445
8804
  template <typename T>
8446
- class JSI_EXPORT NativePerformanceObserverCxxSpec : public TurboModule {
8805
+ class JSI_EXPORT NativePerformanceCxxSpec : public TurboModule {
8447
8806
  public:
8448
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8449
- return delegate_.get(rt, propName);
8807
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8808
+ return delegate_.create(rt, propName);
8809
+ }
8810
+
8811
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
8812
+ return delegate_.getPropertyNames(runtime);
8450
8813
  }
8451
8814
 
8452
- static constexpr std::string_view kModuleName = "NativePerformanceObserverCxx";
8815
+ static constexpr std::string_view kModuleName = "NativePerformanceCxx";
8453
8816
 
8454
8817
  protected:
8455
- NativePerformanceObserverCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
8456
- : TurboModule(std::string{NativePerformanceObserverCxxSpec::kModuleName}, jsInvoker),
8818
+ NativePerformanceCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
8819
+ : TurboModule(std::string{NativePerformanceCxxSpec::kModuleName}, jsInvoker),
8457
8820
  delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
8458
8821
 
8459
8822
 
8460
8823
  private:
8461
- class Delegate : public NativePerformanceObserverCxxSpecJSI {
8824
+ class Delegate : public NativePerformanceCxxSpecJSI {
8462
8825
  public:
8463
8826
  Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
8464
- NativePerformanceObserverCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
8827
+ NativePerformanceCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
8465
8828
 
8466
8829
  }
8467
8830
 
8468
- void startReporting(jsi::Runtime &rt, double entryType) override {
8831
+ double now(jsi::Runtime &rt) override {
8469
8832
  static_assert(
8470
- bridging::getParameterCount(&T::startReporting) == 2,
8471
- "Expected startReporting(...) to have 2 parameters");
8833
+ bridging::getParameterCount(&T::now) == 1,
8834
+ "Expected now(...) to have 1 parameters");
8472
8835
 
8473
- return bridging::callFromJs<void>(
8474
- rt, &T::startReporting, jsInvoker_, instance_, std::move(entryType));
8836
+ return bridging::callFromJs<double>(
8837
+ rt, &T::now, jsInvoker_, instance_);
8475
8838
  }
8476
- void stopReporting(jsi::Runtime &rt, double entryType) override {
8839
+ void mark(jsi::Runtime &rt, jsi::String name, double startTime) override {
8477
8840
  static_assert(
8478
- bridging::getParameterCount(&T::stopReporting) == 2,
8479
- "Expected stopReporting(...) to have 2 parameters");
8841
+ bridging::getParameterCount(&T::mark) == 3,
8842
+ "Expected mark(...) to have 3 parameters");
8480
8843
 
8481
8844
  return bridging::callFromJs<void>(
8482
- rt, &T::stopReporting, jsInvoker_, instance_, std::move(entryType));
8845
+ rt, &T::mark, jsInvoker_, instance_, std::move(name), std::move(startTime));
8483
8846
  }
8484
- void setIsBuffered(jsi::Runtime &rt, jsi::Array entryTypes, bool isBuffered) override {
8847
+ void measure(jsi::Runtime &rt, jsi::String name, double startTime, double endTime, std::optional<double> duration, std::optional<jsi::String> startMark, std::optional<jsi::String> endMark) override {
8485
8848
  static_assert(
8486
- bridging::getParameterCount(&T::setIsBuffered) == 3,
8487
- "Expected setIsBuffered(...) to have 3 parameters");
8849
+ bridging::getParameterCount(&T::measure) == 7,
8850
+ "Expected measure(...) to have 7 parameters");
8488
8851
 
8489
8852
  return bridging::callFromJs<void>(
8490
- rt, &T::setIsBuffered, jsInvoker_, instance_, std::move(entryTypes), std::move(isBuffered));
8853
+ rt, &T::measure, jsInvoker_, instance_, std::move(name), std::move(startTime), std::move(endTime), std::move(duration), std::move(startMark), std::move(endMark));
8491
8854
  }
8492
- jsi::Object popPendingEntries(jsi::Runtime &rt) override {
8855
+ double markWithResult(jsi::Runtime &rt, jsi::String name, std::optional<double> startTime) override {
8493
8856
  static_assert(
8494
- bridging::getParameterCount(&T::popPendingEntries) == 1,
8495
- "Expected popPendingEntries(...) to have 1 parameters");
8857
+ bridging::getParameterCount(&T::markWithResult) == 3,
8858
+ "Expected markWithResult(...) to have 3 parameters");
8496
8859
 
8497
- return bridging::callFromJs<jsi::Object>(
8498
- rt, &T::popPendingEntries, jsInvoker_, instance_);
8860
+ return bridging::callFromJs<double>(
8861
+ rt, &T::markWithResult, jsInvoker_, instance_, std::move(name), std::move(startTime));
8862
+ }
8863
+ jsi::Array measureWithResult(jsi::Runtime &rt, jsi::String name, double startTime, double endTime, std::optional<double> duration, std::optional<jsi::String> startMark, std::optional<jsi::String> endMark) override {
8864
+ static_assert(
8865
+ bridging::getParameterCount(&T::measureWithResult) == 7,
8866
+ "Expected measureWithResult(...) to have 7 parameters");
8867
+
8868
+ return bridging::callFromJs<jsi::Array>(
8869
+ rt, &T::measureWithResult, jsInvoker_, instance_, std::move(name), std::move(startTime), std::move(endTime), std::move(duration), std::move(startMark), std::move(endMark));
8499
8870
  }
8500
- void setOnPerformanceEntryCallback(jsi::Runtime &rt, std::optional<jsi::Function> callback) override {
8871
+ void clearMarks(jsi::Runtime &rt, std::optional<jsi::String> entryName) override {
8501
8872
  static_assert(
8502
- bridging::getParameterCount(&T::setOnPerformanceEntryCallback) == 2,
8503
- "Expected setOnPerformanceEntryCallback(...) to have 2 parameters");
8873
+ bridging::getParameterCount(&T::clearMarks) == 2,
8874
+ "Expected clearMarks(...) to have 2 parameters");
8504
8875
 
8505
8876
  return bridging::callFromJs<void>(
8506
- rt, &T::setOnPerformanceEntryCallback, jsInvoker_, instance_, std::move(callback));
8877
+ rt, &T::clearMarks, jsInvoker_, instance_, std::move(entryName));
8507
8878
  }
8508
- void logRawEntry(jsi::Runtime &rt, jsi::Object entry) override {
8879
+ void clearMeasures(jsi::Runtime &rt, std::optional<jsi::String> entryName) override {
8509
8880
  static_assert(
8510
- bridging::getParameterCount(&T::logRawEntry) == 2,
8511
- "Expected logRawEntry(...) to have 2 parameters");
8881
+ bridging::getParameterCount(&T::clearMeasures) == 2,
8882
+ "Expected clearMeasures(...) to have 2 parameters");
8512
8883
 
8513
8884
  return bridging::callFromJs<void>(
8514
- rt, &T::logRawEntry, jsInvoker_, instance_, std::move(entry));
8885
+ rt, &T::clearMeasures, jsInvoker_, instance_, std::move(entryName));
8886
+ }
8887
+ jsi::Array getEntries(jsi::Runtime &rt) override {
8888
+ static_assert(
8889
+ bridging::getParameterCount(&T::getEntries) == 1,
8890
+ "Expected getEntries(...) to have 1 parameters");
8891
+
8892
+ return bridging::callFromJs<jsi::Array>(
8893
+ rt, &T::getEntries, jsInvoker_, instance_);
8894
+ }
8895
+ jsi::Array getEntriesByName(jsi::Runtime &rt, jsi::String entryName, std::optional<double> entryType) override {
8896
+ static_assert(
8897
+ bridging::getParameterCount(&T::getEntriesByName) == 3,
8898
+ "Expected getEntriesByName(...) to have 3 parameters");
8899
+
8900
+ return bridging::callFromJs<jsi::Array>(
8901
+ rt, &T::getEntriesByName, jsInvoker_, instance_, std::move(entryName), std::move(entryType));
8902
+ }
8903
+ jsi::Array getEntriesByType(jsi::Runtime &rt, double entryType) override {
8904
+ static_assert(
8905
+ bridging::getParameterCount(&T::getEntriesByType) == 2,
8906
+ "Expected getEntriesByType(...) to have 2 parameters");
8907
+
8908
+ return bridging::callFromJs<jsi::Array>(
8909
+ rt, &T::getEntriesByType, jsInvoker_, instance_, std::move(entryType));
8515
8910
  }
8516
8911
  jsi::Array getEventCounts(jsi::Runtime &rt) override {
8517
8912
  static_assert(
@@ -8521,29 +8916,61 @@ private:
8521
8916
  return bridging::callFromJs<jsi::Array>(
8522
8917
  rt, &T::getEventCounts, jsInvoker_, instance_);
8523
8918
  }
8524
- void setDurationThreshold(jsi::Runtime &rt, double entryType, double durationThreshold) override {
8919
+ jsi::Object getSimpleMemoryInfo(jsi::Runtime &rt) override {
8525
8920
  static_assert(
8526
- bridging::getParameterCount(&T::setDurationThreshold) == 3,
8527
- "Expected setDurationThreshold(...) to have 3 parameters");
8921
+ bridging::getParameterCount(&T::getSimpleMemoryInfo) == 1,
8922
+ "Expected getSimpleMemoryInfo(...) to have 1 parameters");
8923
+
8924
+ return bridging::callFromJs<jsi::Object>(
8925
+ rt, &T::getSimpleMemoryInfo, jsInvoker_, instance_);
8926
+ }
8927
+ jsi::Object getReactNativeStartupTiming(jsi::Runtime &rt) override {
8928
+ static_assert(
8929
+ bridging::getParameterCount(&T::getReactNativeStartupTiming) == 1,
8930
+ "Expected getReactNativeStartupTiming(...) to have 1 parameters");
8931
+
8932
+ return bridging::callFromJs<jsi::Object>(
8933
+ rt, &T::getReactNativeStartupTiming, jsInvoker_, instance_);
8934
+ }
8935
+ jsi::Value createObserver(jsi::Runtime &rt, jsi::Function callback) override {
8936
+ static_assert(
8937
+ bridging::getParameterCount(&T::createObserver) == 2,
8938
+ "Expected createObserver(...) to have 2 parameters");
8939
+
8940
+ return bridging::callFromJs<jsi::Value>(
8941
+ rt, &T::createObserver, jsInvoker_, instance_, std::move(callback));
8942
+ }
8943
+ double getDroppedEntriesCount(jsi::Runtime &rt, jsi::Value observer) override {
8944
+ static_assert(
8945
+ bridging::getParameterCount(&T::getDroppedEntriesCount) == 2,
8946
+ "Expected getDroppedEntriesCount(...) to have 2 parameters");
8947
+
8948
+ return bridging::callFromJs<double>(
8949
+ rt, &T::getDroppedEntriesCount, jsInvoker_, instance_, std::move(observer));
8950
+ }
8951
+ void observe(jsi::Runtime &rt, jsi::Value observer, jsi::Object options) override {
8952
+ static_assert(
8953
+ bridging::getParameterCount(&T::observe) == 3,
8954
+ "Expected observe(...) to have 3 parameters");
8528
8955
 
8529
8956
  return bridging::callFromJs<void>(
8530
- rt, &T::setDurationThreshold, jsInvoker_, instance_, std::move(entryType), std::move(durationThreshold));
8957
+ rt, &T::observe, jsInvoker_, instance_, std::move(observer), std::move(options));
8531
8958
  }
8532
- void clearEntries(jsi::Runtime &rt, std::optional<double> entryType, std::optional<jsi::String> entryName) override {
8959
+ void disconnect(jsi::Runtime &rt, jsi::Value observer) override {
8533
8960
  static_assert(
8534
- bridging::getParameterCount(&T::clearEntries) == 3,
8535
- "Expected clearEntries(...) to have 3 parameters");
8961
+ bridging::getParameterCount(&T::disconnect) == 2,
8962
+ "Expected disconnect(...) to have 2 parameters");
8536
8963
 
8537
8964
  return bridging::callFromJs<void>(
8538
- rt, &T::clearEntries, jsInvoker_, instance_, std::move(entryType), std::move(entryName));
8965
+ rt, &T::disconnect, jsInvoker_, instance_, std::move(observer));
8539
8966
  }
8540
- jsi::Array getEntries(jsi::Runtime &rt, std::optional<double> entryType, std::optional<jsi::String> entryName) override {
8967
+ jsi::Array takeRecords(jsi::Runtime &rt, jsi::Value observer, bool sort) override {
8541
8968
  static_assert(
8542
- bridging::getParameterCount(&T::getEntries) == 3,
8543
- "Expected getEntries(...) to have 3 parameters");
8969
+ bridging::getParameterCount(&T::takeRecords) == 3,
8970
+ "Expected takeRecords(...) to have 3 parameters");
8544
8971
 
8545
8972
  return bridging::callFromJs<jsi::Array>(
8546
- rt, &T::getEntries, jsInvoker_, instance_, std::move(entryType), std::move(entryName));
8973
+ rt, &T::takeRecords, jsInvoker_, instance_, std::move(observer), std::move(sort));
8547
8974
  }
8548
8975
  jsi::Array getSupportedPerformanceEntryTypes(jsi::Runtime &rt) override {
8549
8976
  static_assert(
@@ -8555,7 +8982,7 @@ private:
8555
8982
  }
8556
8983
 
8557
8984
  private:
8558
- friend class NativePerformanceObserverCxxSpec;
8985
+ friend class NativePerformanceCxxSpec;
8559
8986
  T *instance_;
8560
8987
  };
8561
8988
 
@@ -8592,8 +9019,12 @@ public:
8592
9019
  template <typename T>
8593
9020
  class JSI_EXPORT NativeDOMCxxSpec : public TurboModule {
8594
9021
  public:
8595
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
8596
- return delegate_.get(rt, propName);
9022
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
9023
+ return delegate_.create(rt, propName);
9024
+ }
9025
+
9026
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
9027
+ return delegate_.getPropertyNames(runtime);
8597
9028
  }
8598
9029
 
8599
9030
  static constexpr std::string_view kModuleName = "NativeDOMCxx";