react-native-windows 0.71.10 → 0.72.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. package/.flowconfig +13 -3
  2. package/Directory.Build.props +19 -19
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -4
  5. package/Libraries/Alert/Alert.windows.js +2 -0
  6. package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
  7. package/Libraries/Animated/Animated.d.ts +17 -6
  8. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  9. package/Libraries/Animated/bezier.js +1 -1
  10. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  11. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  12. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  14. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  17. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  20. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  22. package/Libraries/Animated/useAnimatedProps.js +7 -10
  23. package/Libraries/AppTheme/AppTheme.js +1 -0
  24. package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.windows.js +3 -2
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
  40. package/Libraries/Components/Flyout/Flyout.js +110 -51
  41. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  42. package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
  43. package/Libraries/Components/Glyph/Glyph.js +43 -30
  44. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  46. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
  47. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  48. package/Libraries/Components/Popup/Popup.d.ts +41 -19
  49. package/Libraries/Components/Popup/Popup.js +86 -52
  50. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  51. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  52. package/Libraries/Components/Pressable/Pressable.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  54. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
  55. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
  57. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  58. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  60. package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
  61. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  62. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
  63. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  64. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  65. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  66. package/Libraries/Components/Switch/Switch.js +3 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  68. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  70. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  71. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  72. package/Libraries/Components/TextInput/TextInput.js +130 -103
  73. package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
  74. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  75. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  76. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  77. package/Libraries/Components/Touchable/Touchable.js +6 -3
  78. package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
  87. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
  88. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  89. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  90. package/Libraries/Components/View/View.js +35 -16
  91. package/Libraries/Components/View/View.windows.js +40 -16
  92. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  93. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  94. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
  95. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  96. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  97. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  98. package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
  99. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  101. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  102. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  103. package/Libraries/Core/ExceptionsManager.js +2 -2
  104. package/Libraries/Core/InitializeCore.js +2 -1
  105. package/Libraries/Core/ReactNativeVersion.js +3 -3
  106. package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
  107. package/Libraries/Core/Timers/JSTimers.js +1 -1
  108. package/Libraries/Core/Timers/immediateShim.js +1 -0
  109. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  110. package/Libraries/Core/setUpAlert.js +1 -1
  111. package/Libraries/Core/setUpDOM.js +18 -0
  112. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  113. package/Libraries/Core/setUpGlobals.js +5 -2
  114. package/Libraries/Core/setUpNavigator.js +6 -5
  115. package/Libraries/Core/setUpPerformance.js +23 -13
  116. package/Libraries/Core/setUpReactDevTools.js +2 -0
  117. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  118. package/Libraries/Core/setUpTimers.js +2 -2
  119. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  120. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  121. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  122. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  123. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  124. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  125. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  126. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  127. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  128. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  129. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  130. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  131. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  132. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
  133. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  134. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  135. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  136. package/Libraries/Events/EventPolyfill.js +1 -1
  137. package/Libraries/Image/AssetRegistry.js +1 -1
  138. package/Libraries/Image/AssetSourceResolver.js +3 -3
  139. package/Libraries/Image/Image.android.js +4 -1
  140. package/Libraries/Image/Image.d.ts +63 -2
  141. package/Libraries/Image/Image.ios.js +3 -0
  142. package/Libraries/Image/Image.windows.js +3 -0
  143. package/Libraries/Image/ImageBackground.js +1 -0
  144. package/Libraries/Image/ImageProps.js +1 -1
  145. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  146. package/Libraries/Image/RelativeImageStub.js +1 -1
  147. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  148. package/Libraries/Image/resolveAssetSource.js +1 -1
  149. package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
  150. package/Libraries/Inspector/ElementBox.js +4 -1
  151. package/Libraries/Inspector/Inspector.js +5 -6
  152. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  153. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  154. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  155. package/Libraries/Interaction/PanResponder.js +5 -6
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  157. package/Libraries/Linking/Linking.js +1 -4
  158. package/Libraries/Lists/FillRateHelper.js +4 -238
  159. package/Libraries/Lists/FlatList.d.ts +15 -22
  160. package/Libraries/Lists/FlatList.js +9 -6
  161. package/Libraries/Lists/SectionList.d.ts +10 -6
  162. package/Libraries/Lists/SectionList.js +5 -3
  163. package/Libraries/Lists/SectionListModern.js +3 -3
  164. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  165. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  166. package/Libraries/Lists/VirtualizedList.js +10 -1867
  167. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  168. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  169. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  170. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  173. package/Libraries/LogBox/LogBox.js +1 -1
  174. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  175. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  176. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  177. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  179. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  181. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  182. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  183. package/Libraries/Modal/Modal.js +2 -2
  184. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  185. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  186. package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
  187. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  188. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  189. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  190. package/Libraries/Network/RCTNetworking.android.js +2 -2
  191. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  192. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  193. package/Libraries/Network/XMLHttpRequest.js +1 -1
  194. package/Libraries/Pressability/Pressability.js +10 -4
  195. package/Libraries/Pressability/Pressability.windows.js +11 -4
  196. package/Libraries/ReactNative/AppContainer.js +7 -1
  197. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  198. package/Libraries/ReactNative/AppRegistry.js +10 -13
  199. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  200. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  201. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  202. package/Libraries/ReactNative/UIManager.js +168 -1
  203. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  204. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  205. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  206. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  208. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  209. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  210. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  211. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  212. package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
  213. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  214. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  215. package/Libraries/Share/Share.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  218. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  219. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  220. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  221. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  222. package/Libraries/StyleSheet/processColor.js +1 -1
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/Text.windows.js +48 -38
  226. package/Libraries/Text/TextProps.js +3 -4
  227. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  228. package/Libraries/Types/CodegenTypes.js +1 -0
  229. package/Libraries/UTFSequence.js +3 -1
  230. package/Libraries/Utilities/Appearance.d.ts +10 -0
  231. package/Libraries/Utilities/Appearance.js +13 -0
  232. package/Libraries/Utilities/Dimensions.js +1 -1
  233. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  234. package/Libraries/Utilities/HMRClient.js +16 -10
  235. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  236. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  237. package/Libraries/Utilities/LoadingView.android.js +28 -11
  238. package/Libraries/Utilities/NativeAppearance.js +1 -0
  239. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  240. package/Libraries/Utilities/PixelRatio.js +2 -2
  241. package/Libraries/Utilities/Platform.windows.js +1 -1
  242. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  243. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  244. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  245. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  246. package/Libraries/Utilities/stringifySafe.js +2 -7
  247. package/Libraries/Utilities/useColorScheme.windows.js +26 -0
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/WebPerformance/EventCounts.js +78 -0
  250. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  251. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  252. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  253. package/Libraries/WebPerformance/Performance.js +312 -0
  254. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  255. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  256. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  257. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  258. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  259. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  260. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  261. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  262. package/Libraries/platform-types.d.ts +3 -5
  263. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  264. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  265. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  266. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
  267. package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
  268. package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
  269. package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
  270. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
  271. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
  272. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
  273. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
  274. package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
  276. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
  277. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
  278. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
  279. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
  280. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
  281. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
  282. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
  283. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  284. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
  285. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
  286. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
  287. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
  288. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
  289. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
  290. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
  291. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
  292. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
  293. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
  294. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
  295. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
  296. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
  297. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
  298. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
  299. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
  300. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
  301. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
  302. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
  303. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
  304. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
  305. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
  306. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
  307. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
  308. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
  309. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
  310. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
  311. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
  312. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
  313. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
  314. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
  315. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
  316. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
  317. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
  318. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
  319. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
  320. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
  321. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
  322. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
  323. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
  324. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
  325. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
  326. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
  327. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
  328. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
  329. package/Microsoft.ReactNative/IReactContext.cpp +4 -0
  330. package/Microsoft.ReactNative/IReactContext.h +1 -0
  331. package/Microsoft.ReactNative/IReactContext.idl +5 -0
  332. package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
  333. package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
  334. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  335. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
  336. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
  337. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
  338. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
  339. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  340. package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
  341. package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
  342. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
  343. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
  344. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
  345. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
  346. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
  347. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
  348. package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
  349. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  350. package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
  351. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
  352. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
  353. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
  354. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
  355. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
  356. package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
  357. package/Microsoft.ReactNative/QuirkSettings.h +5 -0
  358. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  359. package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
  360. package/Microsoft.ReactNative/ReactApplication.h +3 -0
  361. package/Microsoft.ReactNative/ReactApplication.idl +3 -0
  362. package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
  363. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
  364. package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
  365. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
  366. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
  367. package/Microsoft.ReactNative/ReactHost/React.h +2 -0
  368. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
  369. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
  370. package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
  371. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  372. package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
  373. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
  374. package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
  375. package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
  376. package/Microsoft.ReactNative/RedBox.cpp +2 -1
  377. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
  378. package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
  379. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
  380. package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
  381. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  382. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  383. package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
  384. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
  385. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
  386. package/Microsoft.ReactNative/ViewProps.idl +30 -0
  387. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
  388. package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
  389. package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
  390. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
  391. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
  392. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
  393. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
  394. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
  395. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
  396. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
  397. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
  398. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
  399. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
  400. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
  401. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
  402. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
  403. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
  404. package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
  405. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
  406. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
  407. package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
  408. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
  409. package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
  410. package/Microsoft.ReactNative/XamlHelper.h +27 -0
  411. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
  412. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
  413. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  414. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
  415. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  416. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
  417. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  418. package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
  419. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  420. package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
  421. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
  422. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  423. package/PropertySheets/JSEngine.props +1 -2
  424. package/PropertySheets/Warnings.props +1 -1
  425. package/ReactCommon/ReactCommon.vcxproj +2 -4
  426. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  427. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  428. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
  429. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
  430. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
  431. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
  442. package/ReactCommon/Yoga.cpp +60 -127
  443. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  444. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
  445. package/Scripts/rnw-dependencies.ps1 +14 -6
  446. package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
  447. package/Shared/DevServerHelper.h +11 -2
  448. package/Shared/DevSettings.h +1 -0
  449. package/Shared/DevSupportManager.cpp +11 -1
  450. package/Shared/DevSupportManager.h +1 -0
  451. package/Shared/HermesRuntimeHolder.cpp +53 -30
  452. package/Shared/HermesRuntimeHolder.h +26 -11
  453. package/Shared/HermesSamplingProfiler.cpp +61 -8
  454. package/Shared/HermesSamplingProfiler.h +6 -3
  455. package/Shared/HermesShim.cpp +86 -82
  456. package/Shared/HermesShim.h +28 -8
  457. package/Shared/JSI/ChakraRuntime.cpp +7 -4
  458. package/Shared/JSI/ChakraRuntime.h +4 -4
  459. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
  460. package/Shared/JSI/RuntimeHolder.h +2 -2
  461. package/Shared/Logging.cpp +1 -1
  462. package/Shared/Modules/BlobModule.cpp +3 -4
  463. package/Shared/Modules/BlobModule.h +0 -4
  464. package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
  465. package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
  466. package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
  467. package/Shared/OInstance.cpp +9 -2
  468. package/Shared/Shared.vcxitems +265 -58
  469. package/Shared/Shared.vcxitems.filters +312 -42
  470. package/Shared/V8JSIRuntimeHolder.cpp +1 -0
  471. package/Shared/V8JSIRuntimeHolder.h +7 -2
  472. package/codegen/NativeAppearanceSpec.g.h +9 -3
  473. package/codegen/NativeClipboardSpec.g.h +3 -3
  474. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
  475. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
  476. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
  477. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  478. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  479. package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
  480. package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
  481. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  482. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  483. package/codegen/NativePerformanceObserverSpec.g.h +48 -10
  484. package/codegen/NativePerformanceSpec.g.h +63 -0
  485. package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
  486. package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
  487. package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
  488. package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
  489. package/codegen/NativeShareModuleSpec.g.h +9 -3
  490. package/codegen/NativeUIManagerSpec.g.h +12 -12
  491. package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
  492. package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
  493. package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
  494. package/codegen/react/components/rnwcore/Props.cpp +47 -48
  495. package/codegen/react/components/rnwcore/Props.h +59 -166
  496. package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
  497. package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
  498. package/codegen/react/components/rnwcore/States.h +15 -30
  499. package/codegen/rnwcoreJSI-generated.cpp +87 -17
  500. package/codegen/rnwcoreJSI.h +1080 -376
  501. package/generate.js +6 -1
  502. package/include/Include.vcxitems +0 -1
  503. package/include/Include.vcxitems.filters +0 -3
  504. package/index.js +56 -42
  505. package/index.windows.js +56 -42
  506. package/interface.js +1 -1
  507. package/jest/local-setup.js +33 -0
  508. package/jest/mockComponent.js +4 -2
  509. package/jest/mockNativeComponent.js +1 -1
  510. package/jest/mockScrollView.js +2 -1
  511. package/jest/react-native-env.js +1 -3
  512. package/jest/setup.js +11 -8
  513. package/just-task.js +12 -5
  514. package/package.json +34 -31
  515. package/rn-get-polyfills.js +1 -1
  516. package/template/metro.config.js +2 -0
  517. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  518. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  519. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  520. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  521. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  522. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  523. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  524. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  525. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  526. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
  527. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  528. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  529. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  530. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
  531. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  532. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  533. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  534. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
  535. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  536. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  537. package/Libraries/Components/Popup/Popup.js.map +0 -1
  538. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  539. package/Libraries/Components/Popup/PopupProps.js +0 -8
  540. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  541. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  542. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  543. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  544. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
  545. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  546. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  547. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  548. package/Libraries/Components/Slider/Slider.js +0 -282
  549. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  550. package/Libraries/Interaction/Batchinator.js +0 -76
  551. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  552. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  553. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  554. package/Libraries/Lists/CellRenderMask.js +0 -155
  555. package/Libraries/Lists/ChildListCollection.js +0 -72
  556. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  557. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  558. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  559. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  560. package/Libraries/Performance/PureComponentDebug.js +0 -74
  561. package/Libraries/Reliability/UserFlow.js +0 -158
  562. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  563. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  564. package/Libraries/Utilities/MatrixMath.js +0 -748
  565. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  566. package/Libraries/Utilities/clamp.js +0 -23
  567. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  568. package/Libraries/Utilities/groupByEveryN.js +0 -51
  569. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  570. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  571. package/Libraries/Utilities/truncate.js +0 -51
  572. package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
  573. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
  574. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
  575. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
  576. package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
  577. package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
  578. package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
  579. package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
  580. package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
  581. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
  582. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
  583. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
  584. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
  585. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
  586. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
  587. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
  588. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
  589. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
  590. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
  591. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
  592. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
  593. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
  594. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
  595. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  596. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  597. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  598. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  599. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  600. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  601. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  602. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  603. package/Shared/AsyncStorageModule.h +0 -25
  604. package/Shared/Modules/AsyncStorageModule.cpp +0 -87
  605. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
  606. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  607. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  608. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  609. package/types/index.d.ts +0 -216
  610. package/types/modules/BatchedBridge.d.ts +0 -32
  611. package/types/modules/Codegen.d.ts +0 -74
  612. package/types/modules/Devtools.d.ts +0 -31
  613. package/types/modules/LaunchScreen.d.ts +0 -18
  614. package/types/modules/globals.d.ts +0 -577
  615. package/types/private/TimerMixin.d.ts +0 -19
  616. package/types/private/Utilities.d.ts +0 -10
  617. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
  618. package/types/public/Insets.d.ts +0 -15
  619. package/types/public/ReactNativeRenderer.d.ts +0 -149
  620. package/types/public/ReactNativeTypes.d.ts +0 -143
@@ -15,7 +15,8 @@
15
15
  namespace facebook {
16
16
  namespace react {
17
17
 
18
- class JSI_EXPORT NativeActionSheetManagerCxxSpecJSI : public TurboModule {
18
+
19
+ class JSI_EXPORT NativeActionSheetManagerCxxSpecJSI : public TurboModule {
19
20
  protected:
20
21
  NativeActionSheetManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
21
22
 
@@ -85,7 +86,8 @@ private:
85
86
  Delegate delegate_;
86
87
  };
87
88
 
88
- #pragma mark - AlertManagerBaseArgs
89
+
90
+ #pragma mark - AlertManagerBaseArgs
89
91
 
90
92
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
91
93
  struct AlertManagerBaseArgs {
@@ -124,43 +126,77 @@ struct AlertManagerBaseArgsBridging {
124
126
  return result;
125
127
  }
126
128
 
129
+ #ifdef DEBUG
130
+ static jsi::String titleToJs(jsi::Runtime &rt, P0 value) {
131
+ return bridging::toJs(rt, value);
132
+ }
133
+ static jsi::String messageToJs(jsi::Runtime &rt, P1 value) {
134
+ return bridging::toJs(rt, value);
135
+ }
136
+ static jsi::Array buttonsToJs(jsi::Runtime &rt, P2 value) {
137
+ return bridging::toJs(rt, value);
138
+ }
139
+ static jsi::String typeToJs(jsi::Runtime &rt, P3 value) {
140
+ return bridging::toJs(rt, value);
141
+ }
142
+ static jsi::String defaultValueToJs(jsi::Runtime &rt, P4 value) {
143
+ return bridging::toJs(rt, value);
144
+ }
145
+ static jsi::String cancelButtonKeyToJs(jsi::Runtime &rt, P5 value) {
146
+ return bridging::toJs(rt, value);
147
+ }
148
+ static jsi::String destructiveButtonKeyToJs(jsi::Runtime &rt, P6 value) {
149
+ return bridging::toJs(rt, value);
150
+ }
151
+ static jsi::String preferredButtonKeyToJs(jsi::Runtime &rt, P7 value) {
152
+ return bridging::toJs(rt, value);
153
+ }
154
+ static jsi::String keyboardTypeToJs(jsi::Runtime &rt, P8 value) {
155
+ return bridging::toJs(rt, value);
156
+ }
157
+ static jsi::String userInterfaceStyleToJs(jsi::Runtime &rt, P9 value) {
158
+ return bridging::toJs(rt, value);
159
+ }
160
+ #endif
161
+
127
162
  static jsi::Object toJs(
128
- jsi::Runtime &rt,
129
- const AlertManagerBaseArgs<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> &value) {
130
- auto result = facebook::jsi::Object(rt);
131
- if (value.title) {
132
- result.setProperty(rt, "title", bridging::toJs(rt, value.title.value()));
133
- }
163
+ jsi::Runtime &rt,
164
+ const AlertManagerBaseArgs<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> &value,
165
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
166
+ auto result = facebook::jsi::Object(rt);
167
+ if (value.title) {
168
+ result.setProperty(rt, "title", bridging::toJs(rt, value.title.value(), jsInvoker));
169
+ }
134
170
  if (value.message) {
135
- result.setProperty(rt, "message", bridging::toJs(rt, value.message.value()));
136
- }
171
+ result.setProperty(rt, "message", bridging::toJs(rt, value.message.value(), jsInvoker));
172
+ }
137
173
  if (value.buttons) {
138
- result.setProperty(rt, "buttons", bridging::toJs(rt, value.buttons.value()));
139
- }
174
+ result.setProperty(rt, "buttons", bridging::toJs(rt, value.buttons.value(), jsInvoker));
175
+ }
140
176
  if (value.type) {
141
- result.setProperty(rt, "type", bridging::toJs(rt, value.type.value()));
142
- }
177
+ result.setProperty(rt, "type", bridging::toJs(rt, value.type.value(), jsInvoker));
178
+ }
143
179
  if (value.defaultValue) {
144
- result.setProperty(rt, "defaultValue", bridging::toJs(rt, value.defaultValue.value()));
145
- }
180
+ result.setProperty(rt, "defaultValue", bridging::toJs(rt, value.defaultValue.value(), jsInvoker));
181
+ }
146
182
  if (value.cancelButtonKey) {
147
- result.setProperty(rt, "cancelButtonKey", bridging::toJs(rt, value.cancelButtonKey.value()));
148
- }
183
+ result.setProperty(rt, "cancelButtonKey", bridging::toJs(rt, value.cancelButtonKey.value(), jsInvoker));
184
+ }
149
185
  if (value.destructiveButtonKey) {
150
- result.setProperty(rt, "destructiveButtonKey", bridging::toJs(rt, value.destructiveButtonKey.value()));
151
- }
186
+ result.setProperty(rt, "destructiveButtonKey", bridging::toJs(rt, value.destructiveButtonKey.value(), jsInvoker));
187
+ }
152
188
  if (value.preferredButtonKey) {
153
- result.setProperty(rt, "preferredButtonKey", bridging::toJs(rt, value.preferredButtonKey.value()));
154
- }
189
+ result.setProperty(rt, "preferredButtonKey", bridging::toJs(rt, value.preferredButtonKey.value(), jsInvoker));
190
+ }
155
191
  if (value.keyboardType) {
156
- result.setProperty(rt, "keyboardType", bridging::toJs(rt, value.keyboardType.value()));
157
- }
192
+ result.setProperty(rt, "keyboardType", bridging::toJs(rt, value.keyboardType.value(), jsInvoker));
193
+ }
158
194
  if (value.userInterfaceStyle) {
159
- result.setProperty(rt, "userInterfaceStyle", bridging::toJs(rt, value.userInterfaceStyle.value()));
160
- }
161
- return result;
162
- }
163
- };
195
+ result.setProperty(rt, "userInterfaceStyle", bridging::toJs(rt, value.userInterfaceStyle.value(), jsInvoker));
196
+ }
197
+ return result;
198
+ }
199
+ };
164
200
 
165
201
  class JSI_EXPORT NativeAlertManagerCxxSpecJSI : public TurboModule {
166
202
  protected:
@@ -205,9 +241,10 @@ private:
205
241
  Delegate delegate_;
206
242
  };
207
243
 
208
- #pragma mark - AlertBaseDialogOptions
209
244
 
210
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
245
+ #pragma mark - AlertBaseDialogOptions
246
+
247
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
211
248
  struct AlertBaseDialogOptions {
212
249
  P0 title;
213
250
  P1 message;
@@ -217,18 +254,19 @@ struct AlertBaseDialogOptions {
217
254
  P5 items;
218
255
  P6 cancelable;
219
256
  P7 defaultButton;
257
+ P8 rootTag;
220
258
  bool operator==(const AlertBaseDialogOptions &other) const {
221
- return title == other.title && message == other.message && buttonPositive == other.buttonPositive && buttonNegative == other.buttonNegative && buttonNeutral == other.buttonNeutral && items == other.items && cancelable == other.cancelable && defaultButton == other.defaultButton;
259
+ return title == other.title && message == other.message && buttonPositive == other.buttonPositive && buttonNegative == other.buttonNegative && buttonNeutral == other.buttonNeutral && items == other.items && cancelable == other.cancelable && defaultButton == other.defaultButton && rootTag == other.rootTag;
222
260
  }
223
261
  };
224
262
 
225
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
263
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
226
264
  struct AlertBaseDialogOptionsBridging {
227
- static AlertBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6, P7> fromJs(
265
+ static AlertBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6, P7, P8> fromJs(
228
266
  jsi::Runtime &rt,
229
267
  const jsi::Object &value,
230
268
  const std::shared_ptr<CallInvoker> &jsInvoker) {
231
- AlertBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6, P7> result{
269
+ AlertBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6, P7, P8> result{
232
270
  bridging::fromJs<P0>(rt, value.getProperty(rt, "title"), jsInvoker),
233
271
  bridging::fromJs<P1>(rt, value.getProperty(rt, "message"), jsInvoker),
234
272
  bridging::fromJs<P2>(rt, value.getProperty(rt, "buttonPositive"), jsInvoker),
@@ -236,41 +274,76 @@ struct AlertBaseDialogOptionsBridging {
236
274
  bridging::fromJs<P4>(rt, value.getProperty(rt, "buttonNeutral"), jsInvoker),
237
275
  bridging::fromJs<P5>(rt, value.getProperty(rt, "items"), jsInvoker),
238
276
  bridging::fromJs<P6>(rt, value.getProperty(rt, "cancelable"), jsInvoker),
239
- bridging::fromJs<P7>(rt, value.getProperty(rt, "defaultButton"), jsInvoker)};
277
+ bridging::fromJs<P7>(rt, value.getProperty(rt, "defaultButton"), jsInvoker),
278
+ bridging::fromJs<P8>(rt, value.getProperty(rt, "rootTag"), jsInvoker)};
240
279
  return result;
241
280
  }
242
281
 
282
+ #ifdef DEBUG
283
+ static jsi::String titleToJs(jsi::Runtime &rt, P0 value) {
284
+ return bridging::toJs(rt, value);
285
+ }
286
+ static jsi::String messageToJs(jsi::Runtime &rt, P1 value) {
287
+ return bridging::toJs(rt, value);
288
+ }
289
+ static jsi::String buttonPositiveToJs(jsi::Runtime &rt, P2 value) {
290
+ return bridging::toJs(rt, value);
291
+ }
292
+ static jsi::String buttonNegativeToJs(jsi::Runtime &rt, P3 value) {
293
+ return bridging::toJs(rt, value);
294
+ }
295
+ static jsi::String buttonNeutralToJs(jsi::Runtime &rt, P4 value) {
296
+ return bridging::toJs(rt, value);
297
+ }
298
+ static jsi::Array itemsToJs(jsi::Runtime &rt, P5 value) {
299
+ return bridging::toJs(rt, value);
300
+ }
301
+ static bool cancelableToJs(jsi::Runtime &rt, P6 value) {
302
+ return bridging::toJs(rt, value);
303
+ }
304
+ static int defaultButtonToJs(jsi::Runtime &rt, P7 value) {
305
+ return bridging::toJs(rt, value);
306
+ }
307
+ static int rootTagToJs(jsi::Runtime &rt, P8 value) {
308
+ return bridging::toJs(rt, value);
309
+ }
310
+ #endif
311
+
243
312
  static jsi::Object toJs(
244
- jsi::Runtime &rt,
245
- const AlertBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6, P7> &value) {
246
- auto result = facebook::jsi::Object(rt);
247
- if (value.title) {
248
- result.setProperty(rt, "title", bridging::toJs(rt, value.title.value()));
249
- }
313
+ jsi::Runtime &rt,
314
+ const AlertBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6, P7, P8> &value,
315
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
316
+ auto result = facebook::jsi::Object(rt);
317
+ if (value.title) {
318
+ result.setProperty(rt, "title", bridging::toJs(rt, value.title.value(), jsInvoker));
319
+ }
250
320
  if (value.message) {
251
- result.setProperty(rt, "message", bridging::toJs(rt, value.message.value()));
252
- }
321
+ result.setProperty(rt, "message", bridging::toJs(rt, value.message.value(), jsInvoker));
322
+ }
253
323
  if (value.buttonPositive) {
254
- result.setProperty(rt, "buttonPositive", bridging::toJs(rt, value.buttonPositive.value()));
255
- }
324
+ result.setProperty(rt, "buttonPositive", bridging::toJs(rt, value.buttonPositive.value(), jsInvoker));
325
+ }
256
326
  if (value.buttonNegative) {
257
- result.setProperty(rt, "buttonNegative", bridging::toJs(rt, value.buttonNegative.value()));
258
- }
327
+ result.setProperty(rt, "buttonNegative", bridging::toJs(rt, value.buttonNegative.value(), jsInvoker));
328
+ }
259
329
  if (value.buttonNeutral) {
260
- result.setProperty(rt, "buttonNeutral", bridging::toJs(rt, value.buttonNeutral.value()));
261
- }
330
+ result.setProperty(rt, "buttonNeutral", bridging::toJs(rt, value.buttonNeutral.value(), jsInvoker));
331
+ }
262
332
  if (value.items) {
263
- result.setProperty(rt, "items", bridging::toJs(rt, value.items.value()));
264
- }
333
+ result.setProperty(rt, "items", bridging::toJs(rt, value.items.value(), jsInvoker));
334
+ }
265
335
  if (value.cancelable) {
266
- result.setProperty(rt, "cancelable", bridging::toJs(rt, value.cancelable.value()));
267
- }
336
+ result.setProperty(rt, "cancelable", bridging::toJs(rt, value.cancelable.value(), jsInvoker));
337
+ }
268
338
  if (value.defaultButton) {
269
- result.setProperty(rt, "defaultButton", bridging::toJs(rt, value.defaultButton.value()));
270
- }
271
- return result;
272
- }
273
- };
339
+ result.setProperty(rt, "defaultButton", bridging::toJs(rt, value.defaultButton.value(), jsInvoker));
340
+ }
341
+ if (value.rootTag) {
342
+ result.setProperty(rt, "rootTag", bridging::toJs(rt, value.rootTag.value(), jsInvoker));
343
+ }
344
+ return result;
345
+ }
346
+ };
274
347
 
275
348
  class JSI_EXPORT NativeDialogManagerWindowsCxxSpecJSI : public TurboModule {
276
349
  protected:
@@ -324,7 +397,8 @@ private:
324
397
  Delegate delegate_;
325
398
  };
326
399
 
327
- #pragma mark - NativeAnimatedModuleBaseEndResult
400
+
401
+ #pragma mark - NativeAnimatedModuleBaseEndResult
328
402
 
329
403
  template <typename P0>
330
404
  struct NativeAnimatedModuleBaseEndResult {
@@ -345,14 +419,21 @@ struct NativeAnimatedModuleBaseEndResultBridging {
345
419
  return result;
346
420
  }
347
421
 
348
- static jsi::Object toJs(
349
- jsi::Runtime &rt,
350
- const NativeAnimatedModuleBaseEndResult<P0> &value) {
351
- auto result = facebook::jsi::Object(rt);
352
- result.setProperty(rt, "finished", bridging::toJs(rt, value.finished));
353
- return result;
422
+ #ifdef DEBUG
423
+ static bool finishedToJs(jsi::Runtime &rt, P0 value) {
424
+ return bridging::toJs(rt, value);
354
425
  }
355
- };
426
+ #endif
427
+
428
+ static jsi::Object toJs(
429
+ jsi::Runtime &rt,
430
+ const NativeAnimatedModuleBaseEndResult<P0> &value,
431
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
432
+ auto result = facebook::jsi::Object(rt);
433
+ result.setProperty(rt, "finished", bridging::toJs(rt, value.finished, jsInvoker));
434
+ return result;
435
+ }
436
+ };
356
437
 
357
438
 
358
439
  #pragma mark - NativeAnimatedModuleBaseEventMapping
@@ -378,15 +459,25 @@ struct NativeAnimatedModuleBaseEventMappingBridging {
378
459
  return result;
379
460
  }
380
461
 
381
- static jsi::Object toJs(
382
- jsi::Runtime &rt,
383
- const NativeAnimatedModuleBaseEventMapping<P0, P1> &value) {
384
- auto result = facebook::jsi::Object(rt);
385
- result.setProperty(rt, "nativeEventPath", bridging::toJs(rt, value.nativeEventPath));
386
- result.setProperty(rt, "animatedValueTag", bridging::toJs(rt, value.animatedValueTag));
387
- return result;
462
+ #ifdef DEBUG
463
+ static jsi::Array nativeEventPathToJs(jsi::Runtime &rt, P0 value) {
464
+ return bridging::toJs(rt, value);
388
465
  }
389
- };
466
+ static std::optional<double> animatedValueTagToJs(jsi::Runtime &rt, P1 value) {
467
+ return bridging::toJs(rt, value);
468
+ }
469
+ #endif
470
+
471
+ static jsi::Object toJs(
472
+ jsi::Runtime &rt,
473
+ const NativeAnimatedModuleBaseEventMapping<P0, P1> &value,
474
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
475
+ auto result = facebook::jsi::Object(rt);
476
+ result.setProperty(rt, "nativeEventPath", bridging::toJs(rt, value.nativeEventPath, jsInvoker));
477
+ result.setProperty(rt, "animatedValueTag", bridging::toJs(rt, value.animatedValueTag, jsInvoker));
478
+ return result;
479
+ }
480
+ };
390
481
 
391
482
  class JSI_EXPORT NativeAnimatedModuleCxxSpecJSI : public TurboModule {
392
483
  protected:
@@ -638,7 +729,8 @@ private:
638
729
  Delegate delegate_;
639
730
  };
640
731
 
641
- #pragma mark - NativeAnimatedTurboModuleBaseEndResult
732
+
733
+ #pragma mark - NativeAnimatedTurboModuleBaseEndResult
642
734
 
643
735
  template <typename P0>
644
736
  struct NativeAnimatedTurboModuleBaseEndResult {
@@ -659,14 +751,21 @@ struct NativeAnimatedTurboModuleBaseEndResultBridging {
659
751
  return result;
660
752
  }
661
753
 
662
- static jsi::Object toJs(
663
- jsi::Runtime &rt,
664
- const NativeAnimatedTurboModuleBaseEndResult<P0> &value) {
665
- auto result = facebook::jsi::Object(rt);
666
- result.setProperty(rt, "finished", bridging::toJs(rt, value.finished));
667
- return result;
754
+ #ifdef DEBUG
755
+ static bool finishedToJs(jsi::Runtime &rt, P0 value) {
756
+ return bridging::toJs(rt, value);
668
757
  }
669
- };
758
+ #endif
759
+
760
+ static jsi::Object toJs(
761
+ jsi::Runtime &rt,
762
+ const NativeAnimatedTurboModuleBaseEndResult<P0> &value,
763
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
764
+ auto result = facebook::jsi::Object(rt);
765
+ result.setProperty(rt, "finished", bridging::toJs(rt, value.finished, jsInvoker));
766
+ return result;
767
+ }
768
+ };
670
769
 
671
770
 
672
771
  #pragma mark - NativeAnimatedTurboModuleBaseEventMapping
@@ -692,15 +791,25 @@ struct NativeAnimatedTurboModuleBaseEventMappingBridging {
692
791
  return result;
693
792
  }
694
793
 
695
- static jsi::Object toJs(
696
- jsi::Runtime &rt,
697
- const NativeAnimatedTurboModuleBaseEventMapping<P0, P1> &value) {
698
- auto result = facebook::jsi::Object(rt);
699
- result.setProperty(rt, "nativeEventPath", bridging::toJs(rt, value.nativeEventPath));
700
- result.setProperty(rt, "animatedValueTag", bridging::toJs(rt, value.animatedValueTag));
701
- return result;
794
+ #ifdef DEBUG
795
+ static jsi::Array nativeEventPathToJs(jsi::Runtime &rt, P0 value) {
796
+ return bridging::toJs(rt, value);
702
797
  }
703
- };
798
+ static std::optional<double> animatedValueTagToJs(jsi::Runtime &rt, P1 value) {
799
+ return bridging::toJs(rt, value);
800
+ }
801
+ #endif
802
+
803
+ static jsi::Object toJs(
804
+ jsi::Runtime &rt,
805
+ const NativeAnimatedTurboModuleBaseEventMapping<P0, P1> &value,
806
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
807
+ auto result = facebook::jsi::Object(rt);
808
+ result.setProperty(rt, "nativeEventPath", bridging::toJs(rt, value.nativeEventPath, jsInvoker));
809
+ result.setProperty(rt, "animatedValueTag", bridging::toJs(rt, value.animatedValueTag, jsInvoker));
810
+ return result;
811
+ }
812
+ };
704
813
 
705
814
  class JSI_EXPORT NativeAnimatedTurboModuleCxxSpecJSI : public TurboModule {
706
815
  protected:
@@ -952,7 +1061,8 @@ private:
952
1061
  Delegate delegate_;
953
1062
  };
954
1063
 
955
- class JSI_EXPORT NativeAppStateCxxSpecJSI : public TurboModule {
1064
+
1065
+ class JSI_EXPORT NativeAppStateCxxSpecJSI : public TurboModule {
956
1066
  protected:
957
1067
  NativeAppStateCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
958
1068
 
@@ -1022,7 +1132,8 @@ private:
1022
1132
  Delegate delegate_;
1023
1133
  };
1024
1134
 
1025
- #pragma mark - AppThemeBaseHighContrastColors
1135
+
1136
+ #pragma mark - AppThemeBaseHighContrastColors
1026
1137
 
1027
1138
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
1028
1139
  struct AppThemeBaseHighContrastColors {
@@ -1057,21 +1168,49 @@ struct AppThemeBaseHighContrastColorsBridging {
1057
1168
  return result;
1058
1169
  }
1059
1170
 
1060
- static jsi::Object toJs(
1061
- jsi::Runtime &rt,
1062
- const AppThemeBaseHighContrastColors<P0, P1, P2, P3, P4, P5, P6, P7> &value) {
1063
- auto result = facebook::jsi::Object(rt);
1064
- result.setProperty(rt, "ButtonFaceColor", bridging::toJs(rt, value.ButtonFaceColor));
1065
- result.setProperty(rt, "ButtonTextColor", bridging::toJs(rt, value.ButtonTextColor));
1066
- result.setProperty(rt, "GrayTextColor", bridging::toJs(rt, value.GrayTextColor));
1067
- result.setProperty(rt, "HighlightColor", bridging::toJs(rt, value.HighlightColor));
1068
- result.setProperty(rt, "HighlightTextColor", bridging::toJs(rt, value.HighlightTextColor));
1069
- result.setProperty(rt, "HotlightColor", bridging::toJs(rt, value.HotlightColor));
1070
- result.setProperty(rt, "WindowColor", bridging::toJs(rt, value.WindowColor));
1071
- result.setProperty(rt, "WindowTextColor", bridging::toJs(rt, value.WindowTextColor));
1072
- return result;
1171
+ #ifdef DEBUG
1172
+ static jsi::String ButtonFaceColorToJs(jsi::Runtime &rt, P0 value) {
1173
+ return bridging::toJs(rt, value);
1073
1174
  }
1074
- };
1175
+ static jsi::String ButtonTextColorToJs(jsi::Runtime &rt, P1 value) {
1176
+ return bridging::toJs(rt, value);
1177
+ }
1178
+ static jsi::String GrayTextColorToJs(jsi::Runtime &rt, P2 value) {
1179
+ return bridging::toJs(rt, value);
1180
+ }
1181
+ static jsi::String HighlightColorToJs(jsi::Runtime &rt, P3 value) {
1182
+ return bridging::toJs(rt, value);
1183
+ }
1184
+ static jsi::String HighlightTextColorToJs(jsi::Runtime &rt, P4 value) {
1185
+ return bridging::toJs(rt, value);
1186
+ }
1187
+ static jsi::String HotlightColorToJs(jsi::Runtime &rt, P5 value) {
1188
+ return bridging::toJs(rt, value);
1189
+ }
1190
+ static jsi::String WindowColorToJs(jsi::Runtime &rt, P6 value) {
1191
+ return bridging::toJs(rt, value);
1192
+ }
1193
+ static jsi::String WindowTextColorToJs(jsi::Runtime &rt, P7 value) {
1194
+ return bridging::toJs(rt, value);
1195
+ }
1196
+ #endif
1197
+
1198
+ static jsi::Object toJs(
1199
+ jsi::Runtime &rt,
1200
+ const AppThemeBaseHighContrastColors<P0, P1, P2, P3, P4, P5, P6, P7> &value,
1201
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
1202
+ auto result = facebook::jsi::Object(rt);
1203
+ result.setProperty(rt, "ButtonFaceColor", bridging::toJs(rt, value.ButtonFaceColor, jsInvoker));
1204
+ result.setProperty(rt, "ButtonTextColor", bridging::toJs(rt, value.ButtonTextColor, jsInvoker));
1205
+ result.setProperty(rt, "GrayTextColor", bridging::toJs(rt, value.GrayTextColor, jsInvoker));
1206
+ result.setProperty(rt, "HighlightColor", bridging::toJs(rt, value.HighlightColor, jsInvoker));
1207
+ result.setProperty(rt, "HighlightTextColor", bridging::toJs(rt, value.HighlightTextColor, jsInvoker));
1208
+ result.setProperty(rt, "HotlightColor", bridging::toJs(rt, value.HotlightColor, jsInvoker));
1209
+ result.setProperty(rt, "WindowColor", bridging::toJs(rt, value.WindowColor, jsInvoker));
1210
+ result.setProperty(rt, "WindowTextColor", bridging::toJs(rt, value.WindowTextColor, jsInvoker));
1211
+ return result;
1212
+ }
1213
+ };
1075
1214
 
1076
1215
 
1077
1216
  #pragma mark - AppThemeBaseAppThemeData
@@ -1097,15 +1236,25 @@ struct AppThemeBaseAppThemeDataBridging {
1097
1236
  return result;
1098
1237
  }
1099
1238
 
1100
- static jsi::Object toJs(
1101
- jsi::Runtime &rt,
1102
- const AppThemeBaseAppThemeData<P0, P1> &value) {
1103
- auto result = facebook::jsi::Object(rt);
1104
- result.setProperty(rt, "isHighContrast", bridging::toJs(rt, value.isHighContrast));
1105
- result.setProperty(rt, "highContrastColors", bridging::toJs(rt, value.highContrastColors));
1106
- return result;
1239
+ #ifdef DEBUG
1240
+ static bool isHighContrastToJs(jsi::Runtime &rt, P0 value) {
1241
+ return bridging::toJs(rt, value);
1107
1242
  }
1108
- };
1243
+ static jsi::Object highContrastColorsToJs(jsi::Runtime &rt, P1 value) {
1244
+ return bridging::toJs(rt, value);
1245
+ }
1246
+ #endif
1247
+
1248
+ static jsi::Object toJs(
1249
+ jsi::Runtime &rt,
1250
+ const AppThemeBaseAppThemeData<P0, P1> &value,
1251
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
1252
+ auto result = facebook::jsi::Object(rt);
1253
+ result.setProperty(rt, "isHighContrast", bridging::toJs(rt, value.isHighContrast, jsInvoker));
1254
+ result.setProperty(rt, "highContrastColors", bridging::toJs(rt, value.highContrastColors, jsInvoker));
1255
+ return result;
1256
+ }
1257
+ };
1109
1258
 
1110
1259
  class JSI_EXPORT NativeAppThemeCxxSpecJSI : public TurboModule {
1111
1260
  protected:
@@ -1150,7 +1299,8 @@ private:
1150
1299
  Delegate delegate_;
1151
1300
  };
1152
1301
 
1153
- class JSI_EXPORT NativeBlobModuleCxxSpecJSI : public TurboModule {
1302
+
1303
+ class JSI_EXPORT NativeBlobModuleCxxSpecJSI : public TurboModule {
1154
1304
  protected:
1155
1305
  NativeBlobModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1156
1306
 
@@ -1247,7 +1397,8 @@ private:
1247
1397
  Delegate delegate_;
1248
1398
  };
1249
1399
 
1250
- class JSI_EXPORT NativeFileReaderModuleCxxSpecJSI : public TurboModule {
1400
+
1401
+ class JSI_EXPORT NativeFileReaderModuleCxxSpecJSI : public TurboModule {
1251
1402
  protected:
1252
1403
  NativeFileReaderModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1253
1404
 
@@ -1299,7 +1450,8 @@ private:
1299
1450
  Delegate delegate_;
1300
1451
  };
1301
1452
 
1302
- class JSI_EXPORT NativeBugReportingCxxSpecJSI : public TurboModule {
1453
+
1454
+ class JSI_EXPORT NativeBugReportingCxxSpecJSI : public TurboModule {
1303
1455
  protected:
1304
1456
  NativeBugReportingCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1305
1457
 
@@ -1360,7 +1512,8 @@ private:
1360
1512
  Delegate delegate_;
1361
1513
  };
1362
1514
 
1363
- #pragma mark - ExceptionsManagerBaseStackFrame
1515
+
1516
+ #pragma mark - ExceptionsManagerBaseStackFrame
1364
1517
 
1365
1518
  template <typename P0, typename P1, typename P2, typename P3, typename P4>
1366
1519
  struct ExceptionsManagerBaseStackFrame {
@@ -1389,20 +1542,39 @@ struct ExceptionsManagerBaseStackFrameBridging {
1389
1542
  return result;
1390
1543
  }
1391
1544
 
1545
+ #ifdef DEBUG
1546
+ static std::optional<double> columnToJs(jsi::Runtime &rt, P0 value) {
1547
+ return bridging::toJs(rt, value);
1548
+ }
1549
+ static std::optional<jsi::String> fileToJs(jsi::Runtime &rt, P1 value) {
1550
+ return bridging::toJs(rt, value);
1551
+ }
1552
+ static std::optional<double> lineNumberToJs(jsi::Runtime &rt, P2 value) {
1553
+ return bridging::toJs(rt, value);
1554
+ }
1555
+ static jsi::String methodNameToJs(jsi::Runtime &rt, P3 value) {
1556
+ return bridging::toJs(rt, value);
1557
+ }
1558
+ static bool collapseToJs(jsi::Runtime &rt, P4 value) {
1559
+ return bridging::toJs(rt, value);
1560
+ }
1561
+ #endif
1562
+
1392
1563
  static jsi::Object toJs(
1393
- jsi::Runtime &rt,
1394
- const ExceptionsManagerBaseStackFrame<P0, P1, P2, P3, P4> &value) {
1395
- auto result = facebook::jsi::Object(rt);
1396
- result.setProperty(rt, "column", bridging::toJs(rt, value.column));
1397
- result.setProperty(rt, "file", bridging::toJs(rt, value.file));
1398
- result.setProperty(rt, "lineNumber", bridging::toJs(rt, value.lineNumber));
1399
- result.setProperty(rt, "methodName", bridging::toJs(rt, value.methodName));
1564
+ jsi::Runtime &rt,
1565
+ const ExceptionsManagerBaseStackFrame<P0, P1, P2, P3, P4> &value,
1566
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
1567
+ auto result = facebook::jsi::Object(rt);
1568
+ result.setProperty(rt, "column", bridging::toJs(rt, value.column, jsInvoker));
1569
+ result.setProperty(rt, "file", bridging::toJs(rt, value.file, jsInvoker));
1570
+ result.setProperty(rt, "lineNumber", bridging::toJs(rt, value.lineNumber, jsInvoker));
1571
+ result.setProperty(rt, "methodName", bridging::toJs(rt, value.methodName, jsInvoker));
1400
1572
  if (value.collapse) {
1401
- result.setProperty(rt, "collapse", bridging::toJs(rt, value.collapse.value()));
1402
- }
1403
- return result;
1404
- }
1405
- };
1573
+ result.setProperty(rt, "collapse", bridging::toJs(rt, value.collapse.value(), jsInvoker));
1574
+ }
1575
+ return result;
1576
+ }
1577
+ };
1406
1578
 
1407
1579
 
1408
1580
  #pragma mark - ExceptionsManagerBaseExceptionData
@@ -1440,23 +1612,51 @@ struct ExceptionsManagerBaseExceptionDataBridging {
1440
1612
  return result;
1441
1613
  }
1442
1614
 
1615
+ #ifdef DEBUG
1616
+ static jsi::String messageToJs(jsi::Runtime &rt, P0 value) {
1617
+ return bridging::toJs(rt, value);
1618
+ }
1619
+ static std::optional<jsi::String> originalMessageToJs(jsi::Runtime &rt, P1 value) {
1620
+ return bridging::toJs(rt, value);
1621
+ }
1622
+ static std::optional<jsi::String> nameToJs(jsi::Runtime &rt, P2 value) {
1623
+ return bridging::toJs(rt, value);
1624
+ }
1625
+ static std::optional<jsi::String> componentStackToJs(jsi::Runtime &rt, P3 value) {
1626
+ return bridging::toJs(rt, value);
1627
+ }
1628
+ static jsi::Array stackToJs(jsi::Runtime &rt, P4 value) {
1629
+ return bridging::toJs(rt, value);
1630
+ }
1631
+ static double idToJs(jsi::Runtime &rt, P5 value) {
1632
+ return bridging::toJs(rt, value);
1633
+ }
1634
+ static bool isFatalToJs(jsi::Runtime &rt, P6 value) {
1635
+ return bridging::toJs(rt, value);
1636
+ }
1637
+ static jsi::Object extraDataToJs(jsi::Runtime &rt, P7 value) {
1638
+ return bridging::toJs(rt, value);
1639
+ }
1640
+ #endif
1641
+
1443
1642
  static jsi::Object toJs(
1444
- jsi::Runtime &rt,
1445
- const ExceptionsManagerBaseExceptionData<P0, P1, P2, P3, P4, P5, P6, P7> &value) {
1446
- auto result = facebook::jsi::Object(rt);
1447
- result.setProperty(rt, "message", bridging::toJs(rt, value.message));
1448
- result.setProperty(rt, "originalMessage", bridging::toJs(rt, value.originalMessage));
1449
- result.setProperty(rt, "name", bridging::toJs(rt, value.name));
1450
- result.setProperty(rt, "componentStack", bridging::toJs(rt, value.componentStack));
1451
- result.setProperty(rt, "stack", bridging::toJs(rt, value.stack));
1452
- result.setProperty(rt, "id", bridging::toJs(rt, value.id));
1453
- result.setProperty(rt, "isFatal", bridging::toJs(rt, value.isFatal));
1643
+ jsi::Runtime &rt,
1644
+ const ExceptionsManagerBaseExceptionData<P0, P1, P2, P3, P4, P5, P6, P7> &value,
1645
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
1646
+ auto result = facebook::jsi::Object(rt);
1647
+ result.setProperty(rt, "message", bridging::toJs(rt, value.message, jsInvoker));
1648
+ result.setProperty(rt, "originalMessage", bridging::toJs(rt, value.originalMessage, jsInvoker));
1649
+ result.setProperty(rt, "name", bridging::toJs(rt, value.name, jsInvoker));
1650
+ result.setProperty(rt, "componentStack", bridging::toJs(rt, value.componentStack, jsInvoker));
1651
+ result.setProperty(rt, "stack", bridging::toJs(rt, value.stack, jsInvoker));
1652
+ result.setProperty(rt, "id", bridging::toJs(rt, value.id, jsInvoker));
1653
+ result.setProperty(rt, "isFatal", bridging::toJs(rt, value.isFatal, jsInvoker));
1454
1654
  if (value.extraData) {
1455
- result.setProperty(rt, "extraData", bridging::toJs(rt, value.extraData.value()));
1456
- }
1457
- return result;
1458
- }
1459
- };
1655
+ result.setProperty(rt, "extraData", bridging::toJs(rt, value.extraData.value(), jsInvoker));
1656
+ }
1657
+ return result;
1658
+ }
1659
+ };
1460
1660
 
1461
1661
  class JSI_EXPORT NativeExceptionsManagerCxxSpecJSI : public TurboModule {
1462
1662
  protected:
@@ -1537,7 +1737,79 @@ private:
1537
1737
  Delegate delegate_;
1538
1738
  };
1539
1739
 
1540
- class JSI_EXPORT NativeJSCHeapCaptureCxxSpecJSI : public TurboModule {
1740
+
1741
+ class JSI_EXPORT NativeDevToolsSettingsManagerCxxSpecJSI : public TurboModule {
1742
+ protected:
1743
+ NativeDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1744
+
1745
+ public:
1746
+ virtual void setConsolePatchSettings(jsi::Runtime &rt, jsi::String newConsolePatchSettings) = 0;
1747
+ virtual std::optional<jsi::String> getConsolePatchSettings(jsi::Runtime &rt) = 0;
1748
+ virtual void setProfilingSettings(jsi::Runtime &rt, jsi::String newProfilingSettings) = 0;
1749
+ virtual std::optional<jsi::String> getProfilingSettings(jsi::Runtime &rt) = 0;
1750
+
1751
+ };
1752
+
1753
+ template <typename T>
1754
+ class JSI_EXPORT NativeDevToolsSettingsManagerCxxSpec : public TurboModule {
1755
+ public:
1756
+ jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
1757
+ return delegate_.get(rt, propName);
1758
+ }
1759
+
1760
+ protected:
1761
+ NativeDevToolsSettingsManagerCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
1762
+ : TurboModule("DevToolsSettingsManager", jsInvoker),
1763
+ delegate_(static_cast<T*>(this), jsInvoker) {}
1764
+
1765
+ private:
1766
+ class Delegate : public NativeDevToolsSettingsManagerCxxSpecJSI {
1767
+ public:
1768
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
1769
+ NativeDevToolsSettingsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {}
1770
+
1771
+ void setConsolePatchSettings(jsi::Runtime &rt, jsi::String newConsolePatchSettings) override {
1772
+ static_assert(
1773
+ bridging::getParameterCount(&T::setConsolePatchSettings) == 2,
1774
+ "Expected setConsolePatchSettings(...) to have 2 parameters");
1775
+
1776
+ return bridging::callFromJs<void>(
1777
+ rt, &T::setConsolePatchSettings, jsInvoker_, instance_, std::move(newConsolePatchSettings));
1778
+ }
1779
+ std::optional<jsi::String> getConsolePatchSettings(jsi::Runtime &rt) override {
1780
+ static_assert(
1781
+ bridging::getParameterCount(&T::getConsolePatchSettings) == 1,
1782
+ "Expected getConsolePatchSettings(...) to have 1 parameters");
1783
+
1784
+ return bridging::callFromJs<std::optional<jsi::String>>(
1785
+ rt, &T::getConsolePatchSettings, jsInvoker_, instance_);
1786
+ }
1787
+ void setProfilingSettings(jsi::Runtime &rt, jsi::String newProfilingSettings) override {
1788
+ static_assert(
1789
+ bridging::getParameterCount(&T::setProfilingSettings) == 2,
1790
+ "Expected setProfilingSettings(...) to have 2 parameters");
1791
+
1792
+ return bridging::callFromJs<void>(
1793
+ rt, &T::setProfilingSettings, jsInvoker_, instance_, std::move(newProfilingSettings));
1794
+ }
1795
+ std::optional<jsi::String> getProfilingSettings(jsi::Runtime &rt) override {
1796
+ static_assert(
1797
+ bridging::getParameterCount(&T::getProfilingSettings) == 1,
1798
+ "Expected getProfilingSettings(...) to have 1 parameters");
1799
+
1800
+ return bridging::callFromJs<std::optional<jsi::String>>(
1801
+ rt, &T::getProfilingSettings, jsInvoker_, instance_);
1802
+ }
1803
+
1804
+ private:
1805
+ T *instance_;
1806
+ };
1807
+
1808
+ Delegate delegate_;
1809
+ };
1810
+
1811
+
1812
+ class JSI_EXPORT NativeJSCHeapCaptureCxxSpecJSI : public TurboModule {
1541
1813
  protected:
1542
1814
  NativeJSCHeapCaptureCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1543
1815
 
@@ -1580,7 +1852,8 @@ private:
1580
1852
  Delegate delegate_;
1581
1853
  };
1582
1854
 
1583
- #pragma mark - ImageEditingManagerBaseOptions
1855
+
1856
+ #pragma mark - ImageEditingManagerBaseOptions
1584
1857
 
1585
1858
  template <typename P0, typename P1, typename P2, typename P3, typename P4>
1586
1859
  struct ImageEditingManagerBaseOptions {
@@ -1609,24 +1882,43 @@ struct ImageEditingManagerBaseOptionsBridging {
1609
1882
  return result;
1610
1883
  }
1611
1884
 
1885
+ #ifdef DEBUG
1886
+ static jsi::Object offsetToJs(jsi::Runtime &rt, P0 value) {
1887
+ return bridging::toJs(rt, value);
1888
+ }
1889
+ static jsi::Object sizeToJs(jsi::Runtime &rt, P1 value) {
1890
+ return bridging::toJs(rt, value);
1891
+ }
1892
+ static std::optional<jsi::Object> displaySizeToJs(jsi::Runtime &rt, P2 value) {
1893
+ return bridging::toJs(rt, value);
1894
+ }
1895
+ static std::optional<jsi::String> resizeModeToJs(jsi::Runtime &rt, P3 value) {
1896
+ return bridging::toJs(rt, value);
1897
+ }
1898
+ static bool allowExternalStorageToJs(jsi::Runtime &rt, P4 value) {
1899
+ return bridging::toJs(rt, value);
1900
+ }
1901
+ #endif
1902
+
1612
1903
  static jsi::Object toJs(
1613
- jsi::Runtime &rt,
1614
- const ImageEditingManagerBaseOptions<P0, P1, P2, P3, P4> &value) {
1615
- auto result = facebook::jsi::Object(rt);
1616
- result.setProperty(rt, "offset", bridging::toJs(rt, value.offset));
1617
- result.setProperty(rt, "size", bridging::toJs(rt, value.size));
1904
+ jsi::Runtime &rt,
1905
+ const ImageEditingManagerBaseOptions<P0, P1, P2, P3, P4> &value,
1906
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
1907
+ auto result = facebook::jsi::Object(rt);
1908
+ result.setProperty(rt, "offset", bridging::toJs(rt, value.offset, jsInvoker));
1909
+ result.setProperty(rt, "size", bridging::toJs(rt, value.size, jsInvoker));
1618
1910
  if (value.displaySize) {
1619
- result.setProperty(rt, "displaySize", bridging::toJs(rt, value.displaySize.value()));
1620
- }
1911
+ result.setProperty(rt, "displaySize", bridging::toJs(rt, value.displaySize.value(), jsInvoker));
1912
+ }
1621
1913
  if (value.resizeMode) {
1622
- result.setProperty(rt, "resizeMode", bridging::toJs(rt, value.resizeMode.value()));
1623
- }
1914
+ result.setProperty(rt, "resizeMode", bridging::toJs(rt, value.resizeMode.value(), jsInvoker));
1915
+ }
1624
1916
  if (value.allowExternalStorage) {
1625
- result.setProperty(rt, "allowExternalStorage", bridging::toJs(rt, value.allowExternalStorage.value()));
1626
- }
1627
- return result;
1628
- }
1629
- };
1917
+ result.setProperty(rt, "allowExternalStorage", bridging::toJs(rt, value.allowExternalStorage.value(), jsInvoker));
1918
+ }
1919
+ return result;
1920
+ }
1921
+ };
1630
1922
 
1631
1923
  class JSI_EXPORT NativeImageEditorCxxSpecJSI : public TurboModule {
1632
1924
  protected:
@@ -1680,7 +1972,8 @@ private:
1680
1972
  Delegate delegate_;
1681
1973
  };
1682
1974
 
1683
- class JSI_EXPORT NativeImageLoaderAndroidCxxSpecJSI : public TurboModule {
1975
+
1976
+ class JSI_EXPORT NativeImageLoaderAndroidCxxSpecJSI : public TurboModule {
1684
1977
  protected:
1685
1978
  NativeImageLoaderAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1686
1979
 
@@ -1768,7 +2061,8 @@ private:
1768
2061
  Delegate delegate_;
1769
2062
  };
1770
2063
 
1771
- class JSI_EXPORT NativeImageLoaderIOSCxxSpecJSI : public TurboModule {
2064
+
2065
+ class JSI_EXPORT NativeImageLoaderIOSCxxSpecJSI : public TurboModule {
1772
2066
  protected:
1773
2067
  NativeImageLoaderIOSCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1774
2068
 
@@ -1856,7 +2150,8 @@ private:
1856
2150
  Delegate delegate_;
1857
2151
  };
1858
2152
 
1859
- class JSI_EXPORT NativeImageStoreAndroidCxxSpecJSI : public TurboModule {
2153
+
2154
+ class JSI_EXPORT NativeImageStoreAndroidCxxSpecJSI : public TurboModule {
1860
2155
  protected:
1861
2156
  NativeImageStoreAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1862
2157
 
@@ -1908,7 +2203,8 @@ private:
1908
2203
  Delegate delegate_;
1909
2204
  };
1910
2205
 
1911
- class JSI_EXPORT NativeImageStoreIOSCxxSpecJSI : public TurboModule {
2206
+
2207
+ class JSI_EXPORT NativeImageStoreIOSCxxSpecJSI : public TurboModule {
1912
2208
  protected:
1913
2209
  NativeImageStoreIOSCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1914
2210
 
@@ -1987,7 +2283,8 @@ private:
1987
2283
  Delegate delegate_;
1988
2284
  };
1989
2285
 
1990
- class JSI_EXPORT NativeFrameRateLoggerCxxSpecJSI : public TurboModule {
2286
+
2287
+ class JSI_EXPORT NativeFrameRateLoggerCxxSpecJSI : public TurboModule {
1991
2288
  protected:
1992
2289
  NativeFrameRateLoggerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
1993
2290
 
@@ -2057,7 +2354,8 @@ private:
2057
2354
  Delegate delegate_;
2058
2355
  };
2059
2356
 
2060
- class JSI_EXPORT NativeIntentAndroidCxxSpecJSI : public TurboModule {
2357
+
2358
+ class JSI_EXPORT NativeIntentAndroidCxxSpecJSI : public TurboModule {
2061
2359
  protected:
2062
2360
  NativeIntentAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2063
2361
 
@@ -2136,7 +2434,8 @@ private:
2136
2434
  Delegate delegate_;
2137
2435
  };
2138
2436
 
2139
- class JSI_EXPORT NativeLinkingManagerCxxSpecJSI : public TurboModule {
2437
+
2438
+ class JSI_EXPORT NativeLinkingManagerCxxSpecJSI : public TurboModule {
2140
2439
  protected:
2141
2440
  NativeLinkingManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2142
2441
 
@@ -2224,7 +2523,8 @@ private:
2224
2523
  Delegate delegate_;
2225
2524
  };
2226
2525
 
2227
- class JSI_EXPORT NativeModalManagerCxxSpecJSI : public TurboModule {
2526
+
2527
+ class JSI_EXPORT NativeModalManagerCxxSpecJSI : public TurboModule {
2228
2528
  protected:
2229
2529
  NativeModalManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2230
2530
 
@@ -2276,7 +2576,8 @@ private:
2276
2576
  Delegate delegate_;
2277
2577
  };
2278
2578
 
2279
- class JSI_EXPORT NativeNetworkingAndroidCxxSpecJSI : public TurboModule {
2579
+
2580
+ class JSI_EXPORT NativeNetworkingAndroidCxxSpecJSI : public TurboModule {
2280
2581
  protected:
2281
2582
  NativeNetworkingAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2282
2583
 
@@ -2355,7 +2656,8 @@ private:
2355
2656
  Delegate delegate_;
2356
2657
  };
2357
2658
 
2358
- class JSI_EXPORT NativeNetworkingIOSCxxSpecJSI : public TurboModule {
2659
+
2660
+ class JSI_EXPORT NativeNetworkingIOSCxxSpecJSI : public TurboModule {
2359
2661
  protected:
2360
2662
  NativeNetworkingIOSCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2361
2663
 
@@ -2434,7 +2736,8 @@ private:
2434
2736
  Delegate delegate_;
2435
2737
  };
2436
2738
 
2437
- class JSI_EXPORT NativeJSCSamplingProfilerCxxSpecJSI : public TurboModule {
2739
+
2740
+ class JSI_EXPORT NativeJSCSamplingProfilerCxxSpecJSI : public TurboModule {
2438
2741
  protected:
2439
2742
  NativeJSCSamplingProfilerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2440
2743
 
@@ -2477,7 +2780,8 @@ private:
2477
2780
  Delegate delegate_;
2478
2781
  };
2479
2782
 
2480
- class JSI_EXPORT NativePermissionsAndroidCxxSpecJSI : public TurboModule {
2783
+
2784
+ class JSI_EXPORT NativePermissionsAndroidCxxSpecJSI : public TurboModule {
2481
2785
  protected:
2482
2786
  NativePermissionsAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2483
2787
 
@@ -2547,7 +2851,8 @@ private:
2547
2851
  Delegate delegate_;
2548
2852
  };
2549
2853
 
2550
- #pragma mark - PushNotificationManagerBasePermissions
2854
+
2855
+ #pragma mark - PushNotificationManagerBasePermissions
2551
2856
 
2552
2857
  template <typename P0, typename P1, typename P2>
2553
2858
  struct PushNotificationManagerBasePermissions {
@@ -2572,16 +2877,29 @@ struct PushNotificationManagerBasePermissionsBridging {
2572
2877
  return result;
2573
2878
  }
2574
2879
 
2575
- static jsi::Object toJs(
2576
- jsi::Runtime &rt,
2577
- const PushNotificationManagerBasePermissions<P0, P1, P2> &value) {
2578
- auto result = facebook::jsi::Object(rt);
2579
- result.setProperty(rt, "alert", bridging::toJs(rt, value.alert));
2580
- result.setProperty(rt, "badge", bridging::toJs(rt, value.badge));
2581
- result.setProperty(rt, "sound", bridging::toJs(rt, value.sound));
2582
- return result;
2880
+ #ifdef DEBUG
2881
+ static bool alertToJs(jsi::Runtime &rt, P0 value) {
2882
+ return bridging::toJs(rt, value);
2583
2883
  }
2584
- };
2884
+ static bool badgeToJs(jsi::Runtime &rt, P1 value) {
2885
+ return bridging::toJs(rt, value);
2886
+ }
2887
+ static bool soundToJs(jsi::Runtime &rt, P2 value) {
2888
+ return bridging::toJs(rt, value);
2889
+ }
2890
+ #endif
2891
+
2892
+ static jsi::Object toJs(
2893
+ jsi::Runtime &rt,
2894
+ const PushNotificationManagerBasePermissions<P0, P1, P2> &value,
2895
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
2896
+ auto result = facebook::jsi::Object(rt);
2897
+ result.setProperty(rt, "alert", bridging::toJs(rt, value.alert, jsInvoker));
2898
+ result.setProperty(rt, "badge", bridging::toJs(rt, value.badge, jsInvoker));
2899
+ result.setProperty(rt, "sound", bridging::toJs(rt, value.sound, jsInvoker));
2900
+ return result;
2901
+ }
2902
+ };
2585
2903
 
2586
2904
 
2587
2905
  #pragma mark - PushNotificationManagerBaseNotification
@@ -2623,43 +2941,77 @@ struct PushNotificationManagerBaseNotificationBridging {
2623
2941
  return result;
2624
2942
  }
2625
2943
 
2944
+ #ifdef DEBUG
2945
+ static std::optional<jsi::String> alertTitleToJs(jsi::Runtime &rt, P0 value) {
2946
+ return bridging::toJs(rt, value);
2947
+ }
2948
+ static std::optional<double> fireDateToJs(jsi::Runtime &rt, P1 value) {
2949
+ return bridging::toJs(rt, value);
2950
+ }
2951
+ static std::optional<jsi::String> alertBodyToJs(jsi::Runtime &rt, P2 value) {
2952
+ return bridging::toJs(rt, value);
2953
+ }
2954
+ static std::optional<jsi::String> alertActionToJs(jsi::Runtime &rt, P3 value) {
2955
+ return bridging::toJs(rt, value);
2956
+ }
2957
+ static std::optional<jsi::Object> userInfoToJs(jsi::Runtime &rt, P4 value) {
2958
+ return bridging::toJs(rt, value);
2959
+ }
2960
+ static std::optional<jsi::String> categoryToJs(jsi::Runtime &rt, P5 value) {
2961
+ return bridging::toJs(rt, value);
2962
+ }
2963
+ static std::optional<jsi::String> repeatIntervalToJs(jsi::Runtime &rt, P6 value) {
2964
+ return bridging::toJs(rt, value);
2965
+ }
2966
+ static std::optional<double> applicationIconBadgeNumberToJs(jsi::Runtime &rt, P7 value) {
2967
+ return bridging::toJs(rt, value);
2968
+ }
2969
+ static std::optional<bool> isSilentToJs(jsi::Runtime &rt, P8 value) {
2970
+ return bridging::toJs(rt, value);
2971
+ }
2972
+ static std::optional<jsi::String> soundNameToJs(jsi::Runtime &rt, P9 value) {
2973
+ return bridging::toJs(rt, value);
2974
+ }
2975
+ #endif
2976
+
2626
2977
  static jsi::Object toJs(
2627
- jsi::Runtime &rt,
2628
- const PushNotificationManagerBaseNotification<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> &value) {
2629
- auto result = facebook::jsi::Object(rt);
2630
- if (value.alertTitle) {
2631
- result.setProperty(rt, "alertTitle", bridging::toJs(rt, value.alertTitle.value()));
2632
- }
2978
+ jsi::Runtime &rt,
2979
+ const PushNotificationManagerBaseNotification<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> &value,
2980
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
2981
+ auto result = facebook::jsi::Object(rt);
2982
+ if (value.alertTitle) {
2983
+ result.setProperty(rt, "alertTitle", bridging::toJs(rt, value.alertTitle.value(), jsInvoker));
2984
+ }
2633
2985
  if (value.fireDate) {
2634
- result.setProperty(rt, "fireDate", bridging::toJs(rt, value.fireDate.value()));
2635
- }
2986
+ result.setProperty(rt, "fireDate", bridging::toJs(rt, value.fireDate.value(), jsInvoker));
2987
+ }
2636
2988
  if (value.alertBody) {
2637
- result.setProperty(rt, "alertBody", bridging::toJs(rt, value.alertBody.value()));
2638
- }
2989
+ result.setProperty(rt, "alertBody", bridging::toJs(rt, value.alertBody.value(), jsInvoker));
2990
+ }
2639
2991
  if (value.alertAction) {
2640
- result.setProperty(rt, "alertAction", bridging::toJs(rt, value.alertAction.value()));
2641
- }
2992
+ result.setProperty(rt, "alertAction", bridging::toJs(rt, value.alertAction.value(), jsInvoker));
2993
+ }
2642
2994
  if (value.userInfo) {
2643
- result.setProperty(rt, "userInfo", bridging::toJs(rt, value.userInfo.value()));
2644
- }
2995
+ result.setProperty(rt, "userInfo", bridging::toJs(rt, value.userInfo.value(), jsInvoker));
2996
+ }
2645
2997
  if (value.category) {
2646
- result.setProperty(rt, "category", bridging::toJs(rt, value.category.value()));
2647
- }
2998
+ result.setProperty(rt, "category", bridging::toJs(rt, value.category.value(), jsInvoker));
2999
+ }
2648
3000
  if (value.repeatInterval) {
2649
- result.setProperty(rt, "repeatInterval", bridging::toJs(rt, value.repeatInterval.value()));
2650
- }
3001
+ result.setProperty(rt, "repeatInterval", bridging::toJs(rt, value.repeatInterval.value(), jsInvoker));
3002
+ }
2651
3003
  if (value.applicationIconBadgeNumber) {
2652
- result.setProperty(rt, "applicationIconBadgeNumber", bridging::toJs(rt, value.applicationIconBadgeNumber.value()));
2653
- }
3004
+ result.setProperty(rt, "applicationIconBadgeNumber", bridging::toJs(rt, value.applicationIconBadgeNumber.value(), jsInvoker));
3005
+ }
2654
3006
  if (value.isSilent) {
2655
- result.setProperty(rt, "isSilent", bridging::toJs(rt, value.isSilent.value()));
2656
- }
3007
+ result.setProperty(rt, "isSilent", bridging::toJs(rt, value.isSilent.value(), jsInvoker));
3008
+ }
2657
3009
  if (value.soundName) {
2658
- result.setProperty(rt, "soundName", bridging::toJs(rt, value.soundName.value()));
2659
- }
2660
- return result;
2661
- }
2662
- };
3010
+ result.setProperty(rt, "soundName", bridging::toJs(rt, value.soundName.value(), jsInvoker));
3011
+ }
3012
+ return result;
3013
+ }
3014
+ };
2663
3015
 
2664
3016
  class JSI_EXPORT NativePushNotificationManagerIOSCxxSpecJSI : public TurboModule {
2665
3017
  protected:
@@ -2866,7 +3218,8 @@ private:
2866
3218
  Delegate delegate_;
2867
3219
  };
2868
3220
 
2869
- class JSI_EXPORT NativeHeadlessJsTaskSupportCxxSpecJSI : public TurboModule {
3221
+
3222
+ class JSI_EXPORT NativeHeadlessJsTaskSupportCxxSpecJSI : public TurboModule {
2870
3223
  protected:
2871
3224
  NativeHeadlessJsTaskSupportCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2872
3225
 
@@ -2918,7 +3271,8 @@ private:
2918
3271
  Delegate delegate_;
2919
3272
  };
2920
3273
 
2921
- class JSI_EXPORT NativeI18nManagerCxxSpecJSI : public TurboModule {
3274
+
3275
+ class JSI_EXPORT NativeI18nManagerCxxSpecJSI : public TurboModule {
2922
3276
  protected:
2923
3277
  NativeI18nManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2924
3278
 
@@ -2988,7 +3342,8 @@ private:
2988
3342
  Delegate delegate_;
2989
3343
  };
2990
3344
 
2991
- class JSI_EXPORT NativeUIManagerCxxSpecJSI : public TurboModule {
3345
+
3346
+ class JSI_EXPORT NativeUIManagerCxxSpecJSI : public TurboModule {
2992
3347
  protected:
2993
3348
  NativeUIManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
2994
3349
 
@@ -3003,11 +3358,11 @@ public:
3003
3358
  virtual void blur(jsi::Runtime &rt, std::optional<double> reactTag) = 0;
3004
3359
  virtual void findSubviewIn(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Array point, jsi::Function callback) = 0;
3005
3360
  virtual void dispatchViewManagerCommand(jsi::Runtime &rt, std::optional<double> reactTag, double commandID, std::optional<jsi::Array> commandArgs) = 0;
3006
- virtual void measure(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Function callback) = 0;
3007
- virtual void measureInWindow(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Function callback) = 0;
3361
+ virtual void measure(jsi::Runtime &rt, double reactTag, jsi::Function callback) = 0;
3362
+ virtual void measureInWindow(jsi::Runtime &rt, double reactTag, jsi::Function callback) = 0;
3008
3363
  virtual void viewIsDescendantOf(jsi::Runtime &rt, std::optional<double> reactTag, std::optional<double> ancestorReactTag, jsi::Function callback) = 0;
3009
- virtual void measureLayout(jsi::Runtime &rt, std::optional<double> reactTag, std::optional<double> ancestorReactTag, jsi::Function errorCallback, jsi::Function callback) = 0;
3010
- virtual void measureLayoutRelativeToParent(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Function errorCallback, jsi::Function callback) = 0;
3364
+ virtual void measureLayout(jsi::Runtime &rt, double reactTag, double ancestorReactTag, jsi::Function errorCallback, jsi::Function callback) = 0;
3365
+ virtual void measureLayoutRelativeToParent(jsi::Runtime &rt, double reactTag, jsi::Function errorCallback, jsi::Function callback) = 0;
3011
3366
  virtual void setJSResponder(jsi::Runtime &rt, std::optional<double> reactTag, bool blockNativeResponder) = 0;
3012
3367
  virtual void clearJSResponder(jsi::Runtime &rt) = 0;
3013
3368
  virtual void configureNextLayoutAnimation(jsi::Runtime &rt, jsi::Object config, jsi::Function callback, jsi::Function errorCallback) = 0;
@@ -3120,7 +3475,7 @@ private:
3120
3475
  return bridging::callFromJs<void>(
3121
3476
  rt, &T::dispatchViewManagerCommand, jsInvoker_, instance_, std::move(reactTag), std::move(commandID), std::move(commandArgs));
3122
3477
  }
3123
- void measure(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Function callback) override {
3478
+ void measure(jsi::Runtime &rt, double reactTag, jsi::Function callback) override {
3124
3479
  static_assert(
3125
3480
  bridging::getParameterCount(&T::measure) == 3,
3126
3481
  "Expected measure(...) to have 3 parameters");
@@ -3128,7 +3483,7 @@ private:
3128
3483
  return bridging::callFromJs<void>(
3129
3484
  rt, &T::measure, jsInvoker_, instance_, std::move(reactTag), std::move(callback));
3130
3485
  }
3131
- void measureInWindow(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Function callback) override {
3486
+ void measureInWindow(jsi::Runtime &rt, double reactTag, jsi::Function callback) override {
3132
3487
  static_assert(
3133
3488
  bridging::getParameterCount(&T::measureInWindow) == 3,
3134
3489
  "Expected measureInWindow(...) to have 3 parameters");
@@ -3144,7 +3499,7 @@ private:
3144
3499
  return bridging::callFromJs<void>(
3145
3500
  rt, &T::viewIsDescendantOf, jsInvoker_, instance_, std::move(reactTag), std::move(ancestorReactTag), std::move(callback));
3146
3501
  }
3147
- void measureLayout(jsi::Runtime &rt, std::optional<double> reactTag, std::optional<double> ancestorReactTag, jsi::Function errorCallback, jsi::Function callback) override {
3502
+ void measureLayout(jsi::Runtime &rt, double reactTag, double ancestorReactTag, jsi::Function errorCallback, jsi::Function callback) override {
3148
3503
  static_assert(
3149
3504
  bridging::getParameterCount(&T::measureLayout) == 5,
3150
3505
  "Expected measureLayout(...) to have 5 parameters");
@@ -3152,7 +3507,7 @@ private:
3152
3507
  return bridging::callFromJs<void>(
3153
3508
  rt, &T::measureLayout, jsInvoker_, instance_, std::move(reactTag), std::move(ancestorReactTag), std::move(errorCallback), std::move(callback));
3154
3509
  }
3155
- void measureLayoutRelativeToParent(jsi::Runtime &rt, std::optional<double> reactTag, jsi::Function errorCallback, jsi::Function callback) override {
3510
+ void measureLayoutRelativeToParent(jsi::Runtime &rt, double reactTag, jsi::Function errorCallback, jsi::Function callback) override {
3156
3511
  static_assert(
3157
3512
  bridging::getParameterCount(&T::measureLayoutRelativeToParent) == 4,
3158
3513
  "Expected measureLayoutRelativeToParent(...) to have 4 parameters");
@@ -3256,7 +3611,8 @@ private:
3256
3611
  Delegate delegate_;
3257
3612
  };
3258
3613
 
3259
- class JSI_EXPORT NativeSettingsManagerCxxSpecJSI : public TurboModule {
3614
+
3615
+ class JSI_EXPORT NativeSettingsManagerCxxSpecJSI : public TurboModule {
3260
3616
  protected:
3261
3617
  NativeSettingsManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3262
3618
 
@@ -3317,7 +3673,8 @@ private:
3317
3673
  Delegate delegate_;
3318
3674
  };
3319
3675
 
3320
- class JSI_EXPORT NativeShareModuleCxxSpecJSI : public TurboModule {
3676
+
3677
+ class JSI_EXPORT NativeShareModuleCxxSpecJSI : public TurboModule {
3321
3678
  protected:
3322
3679
  NativeShareModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3323
3680
 
@@ -3369,12 +3726,14 @@ private:
3369
3726
  Delegate delegate_;
3370
3727
  };
3371
3728
 
3372
- class JSI_EXPORT NativeAppearanceCxxSpecJSI : public TurboModule {
3729
+
3730
+ class JSI_EXPORT NativeAppearanceCxxSpecJSI : public TurboModule {
3373
3731
  protected:
3374
3732
  NativeAppearanceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3375
3733
 
3376
3734
  public:
3377
3735
  virtual std::optional<jsi::String> getColorScheme(jsi::Runtime &rt) = 0;
3736
+ virtual void setColorScheme(jsi::Runtime &rt, jsi::String colorScheme) = 0;
3378
3737
  virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0;
3379
3738
  virtual void removeListeners(jsi::Runtime &rt, double count) = 0;
3380
3739
 
@@ -3406,6 +3765,14 @@ private:
3406
3765
  return bridging::callFromJs<std::optional<jsi::String>>(
3407
3766
  rt, &T::getColorScheme, jsInvoker_, instance_);
3408
3767
  }
3768
+ void setColorScheme(jsi::Runtime &rt, jsi::String colorScheme) override {
3769
+ static_assert(
3770
+ bridging::getParameterCount(&T::setColorScheme) == 2,
3771
+ "Expected setColorScheme(...) to have 2 parameters");
3772
+
3773
+ return bridging::callFromJs<void>(
3774
+ rt, &T::setColorScheme, jsInvoker_, instance_, std::move(colorScheme));
3775
+ }
3409
3776
  void addListener(jsi::Runtime &rt, jsi::String eventName) override {
3410
3777
  static_assert(
3411
3778
  bridging::getParameterCount(&T::addListener) == 2,
@@ -3430,7 +3797,8 @@ private:
3430
3797
  Delegate delegate_;
3431
3798
  };
3432
3799
 
3433
- #pragma mark - DeviceInfoBaseDisplayMetrics
3800
+
3801
+ #pragma mark - DeviceInfoBaseDisplayMetrics
3434
3802
 
3435
3803
  template <typename P0, typename P1, typename P2, typename P3>
3436
3804
  struct DeviceInfoBaseDisplayMetrics {
@@ -3457,17 +3825,33 @@ struct DeviceInfoBaseDisplayMetricsBridging {
3457
3825
  return result;
3458
3826
  }
3459
3827
 
3460
- static jsi::Object toJs(
3461
- jsi::Runtime &rt,
3462
- const DeviceInfoBaseDisplayMetrics<P0, P1, P2, P3> &value) {
3463
- auto result = facebook::jsi::Object(rt);
3464
- result.setProperty(rt, "width", bridging::toJs(rt, value.width));
3465
- result.setProperty(rt, "height", bridging::toJs(rt, value.height));
3466
- result.setProperty(rt, "scale", bridging::toJs(rt, value.scale));
3467
- result.setProperty(rt, "fontScale", bridging::toJs(rt, value.fontScale));
3468
- return result;
3828
+ #ifdef DEBUG
3829
+ static double widthToJs(jsi::Runtime &rt, P0 value) {
3830
+ return bridging::toJs(rt, value);
3469
3831
  }
3470
- };
3832
+ static double heightToJs(jsi::Runtime &rt, P1 value) {
3833
+ return bridging::toJs(rt, value);
3834
+ }
3835
+ static double scaleToJs(jsi::Runtime &rt, P2 value) {
3836
+ return bridging::toJs(rt, value);
3837
+ }
3838
+ static double fontScaleToJs(jsi::Runtime &rt, P3 value) {
3839
+ return bridging::toJs(rt, value);
3840
+ }
3841
+ #endif
3842
+
3843
+ static jsi::Object toJs(
3844
+ jsi::Runtime &rt,
3845
+ const DeviceInfoBaseDisplayMetrics<P0, P1, P2, P3> &value,
3846
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
3847
+ auto result = facebook::jsi::Object(rt);
3848
+ result.setProperty(rt, "width", bridging::toJs(rt, value.width, jsInvoker));
3849
+ result.setProperty(rt, "height", bridging::toJs(rt, value.height, jsInvoker));
3850
+ result.setProperty(rt, "scale", bridging::toJs(rt, value.scale, jsInvoker));
3851
+ result.setProperty(rt, "fontScale", bridging::toJs(rt, value.fontScale, jsInvoker));
3852
+ return result;
3853
+ }
3854
+ };
3471
3855
 
3472
3856
 
3473
3857
  #pragma mark - DeviceInfoBaseDisplayMetricsAndroid
@@ -3499,18 +3883,37 @@ struct DeviceInfoBaseDisplayMetricsAndroidBridging {
3499
3883
  return result;
3500
3884
  }
3501
3885
 
3502
- static jsi::Object toJs(
3503
- jsi::Runtime &rt,
3504
- const DeviceInfoBaseDisplayMetricsAndroid<P0, P1, P2, P3, P4> &value) {
3505
- auto result = facebook::jsi::Object(rt);
3506
- result.setProperty(rt, "width", bridging::toJs(rt, value.width));
3507
- result.setProperty(rt, "height", bridging::toJs(rt, value.height));
3508
- result.setProperty(rt, "scale", bridging::toJs(rt, value.scale));
3509
- result.setProperty(rt, "fontScale", bridging::toJs(rt, value.fontScale));
3510
- result.setProperty(rt, "densityDpi", bridging::toJs(rt, value.densityDpi));
3511
- return result;
3886
+ #ifdef DEBUG
3887
+ static double widthToJs(jsi::Runtime &rt, P0 value) {
3888
+ return bridging::toJs(rt, value);
3512
3889
  }
3513
- };
3890
+ static double heightToJs(jsi::Runtime &rt, P1 value) {
3891
+ return bridging::toJs(rt, value);
3892
+ }
3893
+ static double scaleToJs(jsi::Runtime &rt, P2 value) {
3894
+ return bridging::toJs(rt, value);
3895
+ }
3896
+ static double fontScaleToJs(jsi::Runtime &rt, P3 value) {
3897
+ return bridging::toJs(rt, value);
3898
+ }
3899
+ static double densityDpiToJs(jsi::Runtime &rt, P4 value) {
3900
+ return bridging::toJs(rt, value);
3901
+ }
3902
+ #endif
3903
+
3904
+ static jsi::Object toJs(
3905
+ jsi::Runtime &rt,
3906
+ const DeviceInfoBaseDisplayMetricsAndroid<P0, P1, P2, P3, P4> &value,
3907
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
3908
+ auto result = facebook::jsi::Object(rt);
3909
+ result.setProperty(rt, "width", bridging::toJs(rt, value.width, jsInvoker));
3910
+ result.setProperty(rt, "height", bridging::toJs(rt, value.height, jsInvoker));
3911
+ result.setProperty(rt, "scale", bridging::toJs(rt, value.scale, jsInvoker));
3912
+ result.setProperty(rt, "fontScale", bridging::toJs(rt, value.fontScale, jsInvoker));
3913
+ result.setProperty(rt, "densityDpi", bridging::toJs(rt, value.densityDpi, jsInvoker));
3914
+ return result;
3915
+ }
3916
+ };
3514
3917
 
3515
3918
 
3516
3919
  #pragma mark - DeviceInfoBaseDimensionsPayload
@@ -3540,25 +3943,41 @@ struct DeviceInfoBaseDimensionsPayloadBridging {
3540
3943
  return result;
3541
3944
  }
3542
3945
 
3946
+ #ifdef DEBUG
3947
+ static jsi::Object windowToJs(jsi::Runtime &rt, P0 value) {
3948
+ return bridging::toJs(rt, value);
3949
+ }
3950
+ static jsi::Object screenToJs(jsi::Runtime &rt, P1 value) {
3951
+ return bridging::toJs(rt, value);
3952
+ }
3953
+ static jsi::Object windowPhysicalPixelsToJs(jsi::Runtime &rt, P2 value) {
3954
+ return bridging::toJs(rt, value);
3955
+ }
3956
+ static jsi::Object screenPhysicalPixelsToJs(jsi::Runtime &rt, P3 value) {
3957
+ return bridging::toJs(rt, value);
3958
+ }
3959
+ #endif
3960
+
3543
3961
  static jsi::Object toJs(
3544
- jsi::Runtime &rt,
3545
- const DeviceInfoBaseDimensionsPayload<P0, P1, P2, P3> &value) {
3546
- auto result = facebook::jsi::Object(rt);
3547
- if (value.window) {
3548
- result.setProperty(rt, "window", bridging::toJs(rt, value.window.value()));
3549
- }
3962
+ jsi::Runtime &rt,
3963
+ const DeviceInfoBaseDimensionsPayload<P0, P1, P2, P3> &value,
3964
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
3965
+ auto result = facebook::jsi::Object(rt);
3966
+ if (value.window) {
3967
+ result.setProperty(rt, "window", bridging::toJs(rt, value.window.value(), jsInvoker));
3968
+ }
3550
3969
  if (value.screen) {
3551
- result.setProperty(rt, "screen", bridging::toJs(rt, value.screen.value()));
3552
- }
3970
+ result.setProperty(rt, "screen", bridging::toJs(rt, value.screen.value(), jsInvoker));
3971
+ }
3553
3972
  if (value.windowPhysicalPixels) {
3554
- result.setProperty(rt, "windowPhysicalPixels", bridging::toJs(rt, value.windowPhysicalPixels.value()));
3555
- }
3973
+ result.setProperty(rt, "windowPhysicalPixels", bridging::toJs(rt, value.windowPhysicalPixels.value(), jsInvoker));
3974
+ }
3556
3975
  if (value.screenPhysicalPixels) {
3557
- result.setProperty(rt, "screenPhysicalPixels", bridging::toJs(rt, value.screenPhysicalPixels.value()));
3558
- }
3559
- return result;
3560
- }
3561
- };
3976
+ result.setProperty(rt, "screenPhysicalPixels", bridging::toJs(rt, value.screenPhysicalPixels.value(), jsInvoker));
3977
+ }
3978
+ return result;
3979
+ }
3980
+ };
3562
3981
 
3563
3982
  class JSI_EXPORT NativeDeviceInfoCxxSpecJSI : public TurboModule {
3564
3983
  protected:
@@ -3603,7 +4022,8 @@ private:
3603
4022
  Delegate delegate_;
3604
4023
  };
3605
4024
 
3606
- class JSI_EXPORT NativeDevLoadingViewCxxSpecJSI : public TurboModule {
4025
+
4026
+ class JSI_EXPORT NativeDevLoadingViewCxxSpecJSI : public TurboModule {
3607
4027
  protected:
3608
4028
  NativeDevLoadingViewCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3609
4029
 
@@ -3655,7 +4075,8 @@ private:
3655
4075
  Delegate delegate_;
3656
4076
  };
3657
4077
 
3658
- class JSI_EXPORT NativeDevSplitBundleLoaderCxxSpecJSI : public TurboModule {
4078
+
4079
+ class JSI_EXPORT NativeDevSplitBundleLoaderCxxSpecJSI : public TurboModule {
3659
4080
  protected:
3660
4081
  NativeDevSplitBundleLoaderCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3661
4082
 
@@ -3698,7 +4119,8 @@ private:
3698
4119
  Delegate delegate_;
3699
4120
  };
3700
4121
 
3701
- class JSI_EXPORT NativePlatformConstantsAndroidCxxSpecJSI : public TurboModule {
4122
+
4123
+ class JSI_EXPORT NativePlatformConstantsAndroidCxxSpecJSI : public TurboModule {
3702
4124
  protected:
3703
4125
  NativePlatformConstantsAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3704
4126
 
@@ -3750,7 +4172,8 @@ private:
3750
4172
  Delegate delegate_;
3751
4173
  };
3752
4174
 
3753
- class JSI_EXPORT NativePlatformConstantsIOSCxxSpecJSI : public TurboModule {
4175
+
4176
+ class JSI_EXPORT NativePlatformConstantsIOSCxxSpecJSI : public TurboModule {
3754
4177
  protected:
3755
4178
  NativePlatformConstantsIOSCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3756
4179
 
@@ -3793,7 +4216,8 @@ private:
3793
4216
  Delegate delegate_;
3794
4217
  };
3795
4218
 
3796
- class JSI_EXPORT NativePlatformConstantsWinCxxSpecJSI : public TurboModule {
4219
+
4220
+ class JSI_EXPORT NativePlatformConstantsWinCxxSpecJSI : public TurboModule {
3797
4221
  protected:
3798
4222
  NativePlatformConstantsWinCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3799
4223
 
@@ -3836,7 +4260,8 @@ private:
3836
4260
  Delegate delegate_;
3837
4261
  };
3838
4262
 
3839
- class JSI_EXPORT NativeVibrationCxxSpecJSI : public TurboModule {
4263
+
4264
+ class JSI_EXPORT NativeVibrationCxxSpecJSI : public TurboModule {
3840
4265
  protected:
3841
4266
  NativeVibrationCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3842
4267
 
@@ -3906,7 +4331,134 @@ private:
3906
4331
  Delegate delegate_;
3907
4332
  };
3908
4333
 
3909
- #pragma mark - NativePerformanceObserverCxxBaseRawPerformanceEntry
4334
+
4335
+ #pragma mark - NativePerformanceCxxBaseReactNativeStartupTiming
4336
+
4337
+ template <typename P0, typename P1, typename P2, typename P3>
4338
+ struct NativePerformanceCxxBaseReactNativeStartupTiming {
4339
+ P0 startTime;
4340
+ P1 endTime;
4341
+ P2 executeJavaScriptBundleEntryPointStart;
4342
+ P3 executeJavaScriptBundleEntryPointEnd;
4343
+ bool operator==(const NativePerformanceCxxBaseReactNativeStartupTiming &other) const {
4344
+ return startTime == other.startTime && endTime == other.endTime && executeJavaScriptBundleEntryPointStart == other.executeJavaScriptBundleEntryPointStart && executeJavaScriptBundleEntryPointEnd == other.executeJavaScriptBundleEntryPointEnd;
4345
+ }
4346
+ };
4347
+
4348
+ template <typename P0, typename P1, typename P2, typename P3>
4349
+ struct NativePerformanceCxxBaseReactNativeStartupTimingBridging {
4350
+ static NativePerformanceCxxBaseReactNativeStartupTiming<P0, P1, P2, P3> fromJs(
4351
+ jsi::Runtime &rt,
4352
+ const jsi::Object &value,
4353
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
4354
+ NativePerformanceCxxBaseReactNativeStartupTiming<P0, P1, P2, P3> result{
4355
+ bridging::fromJs<P0>(rt, value.getProperty(rt, "startTime"), jsInvoker),
4356
+ bridging::fromJs<P1>(rt, value.getProperty(rt, "endTime"), jsInvoker),
4357
+ bridging::fromJs<P2>(rt, value.getProperty(rt, "executeJavaScriptBundleEntryPointStart"), jsInvoker),
4358
+ bridging::fromJs<P3>(rt, value.getProperty(rt, "executeJavaScriptBundleEntryPointEnd"), jsInvoker)};
4359
+ return result;
4360
+ }
4361
+
4362
+ #ifdef DEBUG
4363
+ static double startTimeToJs(jsi::Runtime &rt, P0 value) {
4364
+ return bridging::toJs(rt, value);
4365
+ }
4366
+ static double endTimeToJs(jsi::Runtime &rt, P1 value) {
4367
+ return bridging::toJs(rt, value);
4368
+ }
4369
+ static double executeJavaScriptBundleEntryPointStartToJs(jsi::Runtime &rt, P2 value) {
4370
+ return bridging::toJs(rt, value);
4371
+ }
4372
+ static double executeJavaScriptBundleEntryPointEndToJs(jsi::Runtime &rt, P3 value) {
4373
+ return bridging::toJs(rt, value);
4374
+ }
4375
+ #endif
4376
+
4377
+ static jsi::Object toJs(
4378
+ jsi::Runtime &rt,
4379
+ const NativePerformanceCxxBaseReactNativeStartupTiming<P0, P1, P2, P3> &value,
4380
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
4381
+ auto result = facebook::jsi::Object(rt);
4382
+ result.setProperty(rt, "startTime", bridging::toJs(rt, value.startTime, jsInvoker));
4383
+ result.setProperty(rt, "endTime", bridging::toJs(rt, value.endTime, jsInvoker));
4384
+ result.setProperty(rt, "executeJavaScriptBundleEntryPointStart", bridging::toJs(rt, value.executeJavaScriptBundleEntryPointStart, jsInvoker));
4385
+ result.setProperty(rt, "executeJavaScriptBundleEntryPointEnd", bridging::toJs(rt, value.executeJavaScriptBundleEntryPointEnd, jsInvoker));
4386
+ return result;
4387
+ }
4388
+ };
4389
+
4390
+ class JSI_EXPORT NativePerformanceCxxSpecJSI : public TurboModule {
4391
+ protected:
4392
+ NativePerformanceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4393
+
4394
+ public:
4395
+ virtual void mark(jsi::Runtime &rt, jsi::String name, double startTime, double duration) = 0;
4396
+ 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;
4397
+ virtual jsi::Object getSimpleMemoryInfo(jsi::Runtime &rt) = 0;
4398
+ virtual jsi::Object getReactNativeStartupTiming(jsi::Runtime &rt) = 0;
4399
+
4400
+ };
4401
+
4402
+ template <typename T>
4403
+ class JSI_EXPORT NativePerformanceCxxSpec : public TurboModule {
4404
+ public:
4405
+ jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4406
+ return delegate_.get(rt, propName);
4407
+ }
4408
+
4409
+ protected:
4410
+ NativePerformanceCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
4411
+ : TurboModule("NativePerformanceCxx", jsInvoker),
4412
+ delegate_(static_cast<T*>(this), jsInvoker) {}
4413
+
4414
+ private:
4415
+ class Delegate : public NativePerformanceCxxSpecJSI {
4416
+ public:
4417
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
4418
+ NativePerformanceCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {}
4419
+
4420
+ void mark(jsi::Runtime &rt, jsi::String name, double startTime, double duration) override {
4421
+ static_assert(
4422
+ bridging::getParameterCount(&T::mark) == 4,
4423
+ "Expected mark(...) to have 4 parameters");
4424
+
4425
+ return bridging::callFromJs<void>(
4426
+ rt, &T::mark, jsInvoker_, instance_, std::move(name), std::move(startTime), std::move(duration));
4427
+ }
4428
+ 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 {
4429
+ static_assert(
4430
+ bridging::getParameterCount(&T::measure) == 7,
4431
+ "Expected measure(...) to have 7 parameters");
4432
+
4433
+ return bridging::callFromJs<void>(
4434
+ rt, &T::measure, jsInvoker_, instance_, std::move(name), std::move(startTime), std::move(endTime), std::move(duration), std::move(startMark), std::move(endMark));
4435
+ }
4436
+ jsi::Object getSimpleMemoryInfo(jsi::Runtime &rt) override {
4437
+ static_assert(
4438
+ bridging::getParameterCount(&T::getSimpleMemoryInfo) == 1,
4439
+ "Expected getSimpleMemoryInfo(...) to have 1 parameters");
4440
+
4441
+ return bridging::callFromJs<jsi::Object>(
4442
+ rt, &T::getSimpleMemoryInfo, jsInvoker_, instance_);
4443
+ }
4444
+ jsi::Object getReactNativeStartupTiming(jsi::Runtime &rt) override {
4445
+ static_assert(
4446
+ bridging::getParameterCount(&T::getReactNativeStartupTiming) == 1,
4447
+ "Expected getReactNativeStartupTiming(...) to have 1 parameters");
4448
+
4449
+ return bridging::callFromJs<jsi::Object>(
4450
+ rt, &T::getReactNativeStartupTiming, jsInvoker_, instance_);
4451
+ }
4452
+
4453
+ private:
4454
+ T *instance_;
4455
+ };
4456
+
4457
+ Delegate delegate_;
4458
+ };
4459
+
4460
+
4461
+ #pragma mark - NativePerformanceObserverCxxBaseRawPerformanceEntry
3910
4462
 
3911
4463
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
3912
4464
  struct NativePerformanceObserverCxxBaseRawPerformanceEntry {
@@ -3939,36 +4491,110 @@ struct NativePerformanceObserverCxxBaseRawPerformanceEntryBridging {
3939
4491
  return result;
3940
4492
  }
3941
4493
 
4494
+ #ifdef DEBUG
4495
+ static jsi::String nameToJs(jsi::Runtime &rt, P0 value) {
4496
+ return bridging::toJs(rt, value);
4497
+ }
4498
+ static double entryTypeToJs(jsi::Runtime &rt, P1 value) {
4499
+ return bridging::toJs(rt, value);
4500
+ }
4501
+ static double startTimeToJs(jsi::Runtime &rt, P2 value) {
4502
+ return bridging::toJs(rt, value);
4503
+ }
4504
+ static double durationToJs(jsi::Runtime &rt, P3 value) {
4505
+ return bridging::toJs(rt, value);
4506
+ }
4507
+ static double processingStartToJs(jsi::Runtime &rt, P4 value) {
4508
+ return bridging::toJs(rt, value);
4509
+ }
4510
+ static double processingEndToJs(jsi::Runtime &rt, P5 value) {
4511
+ return bridging::toJs(rt, value);
4512
+ }
4513
+ static double interactionIdToJs(jsi::Runtime &rt, P6 value) {
4514
+ return bridging::toJs(rt, value);
4515
+ }
4516
+ #endif
4517
+
3942
4518
  static jsi::Object toJs(
3943
- jsi::Runtime &rt,
3944
- const NativePerformanceObserverCxxBaseRawPerformanceEntry<P0, P1, P2, P3, P4, P5, P6> &value) {
3945
- auto result = facebook::jsi::Object(rt);
3946
- result.setProperty(rt, "name", bridging::toJs(rt, value.name));
3947
- result.setProperty(rt, "entryType", bridging::toJs(rt, value.entryType));
3948
- result.setProperty(rt, "startTime", bridging::toJs(rt, value.startTime));
3949
- result.setProperty(rt, "duration", bridging::toJs(rt, value.duration));
4519
+ jsi::Runtime &rt,
4520
+ const NativePerformanceObserverCxxBaseRawPerformanceEntry<P0, P1, P2, P3, P4, P5, P6> &value,
4521
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
4522
+ auto result = facebook::jsi::Object(rt);
4523
+ result.setProperty(rt, "name", bridging::toJs(rt, value.name, jsInvoker));
4524
+ result.setProperty(rt, "entryType", bridging::toJs(rt, value.entryType, jsInvoker));
4525
+ result.setProperty(rt, "startTime", bridging::toJs(rt, value.startTime, jsInvoker));
4526
+ result.setProperty(rt, "duration", bridging::toJs(rt, value.duration, jsInvoker));
3950
4527
  if (value.processingStart) {
3951
- result.setProperty(rt, "processingStart", bridging::toJs(rt, value.processingStart.value()));
3952
- }
4528
+ result.setProperty(rt, "processingStart", bridging::toJs(rt, value.processingStart.value(), jsInvoker));
4529
+ }
3953
4530
  if (value.processingEnd) {
3954
- result.setProperty(rt, "processingEnd", bridging::toJs(rt, value.processingEnd.value()));
3955
- }
4531
+ result.setProperty(rt, "processingEnd", bridging::toJs(rt, value.processingEnd.value(), jsInvoker));
4532
+ }
3956
4533
  if (value.interactionId) {
3957
- result.setProperty(rt, "interactionId", bridging::toJs(rt, value.interactionId.value()));
3958
- }
3959
- return result;
4534
+ result.setProperty(rt, "interactionId", bridging::toJs(rt, value.interactionId.value(), jsInvoker));
4535
+ }
4536
+ return result;
4537
+ }
4538
+ };
4539
+
4540
+
4541
+ #pragma mark - NativePerformanceObserverCxxBaseGetPendingEntriesResult
4542
+
4543
+ template <typename P0, typename P1>
4544
+ struct NativePerformanceObserverCxxBaseGetPendingEntriesResult {
4545
+ P0 entries;
4546
+ P1 droppedEntriesCount;
4547
+ bool operator==(const NativePerformanceObserverCxxBaseGetPendingEntriesResult &other) const {
4548
+ return entries == other.entries && droppedEntriesCount == other.droppedEntriesCount;
3960
4549
  }
3961
4550
  };
3962
4551
 
4552
+ template <typename P0, typename P1>
4553
+ struct NativePerformanceObserverCxxBaseGetPendingEntriesResultBridging {
4554
+ static NativePerformanceObserverCxxBaseGetPendingEntriesResult<P0, P1> fromJs(
4555
+ jsi::Runtime &rt,
4556
+ const jsi::Object &value,
4557
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
4558
+ NativePerformanceObserverCxxBaseGetPendingEntriesResult<P0, P1> result{
4559
+ bridging::fromJs<P0>(rt, value.getProperty(rt, "entries"), jsInvoker),
4560
+ bridging::fromJs<P1>(rt, value.getProperty(rt, "droppedEntriesCount"), jsInvoker)};
4561
+ return result;
4562
+ }
4563
+
4564
+ #ifdef DEBUG
4565
+ static jsi::Array entriesToJs(jsi::Runtime &rt, P0 value) {
4566
+ return bridging::toJs(rt, value);
4567
+ }
4568
+ static double droppedEntriesCountToJs(jsi::Runtime &rt, P1 value) {
4569
+ return bridging::toJs(rt, value);
4570
+ }
4571
+ #endif
4572
+
4573
+ static jsi::Object toJs(
4574
+ jsi::Runtime &rt,
4575
+ const NativePerformanceObserverCxxBaseGetPendingEntriesResult<P0, P1> &value,
4576
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
4577
+ auto result = facebook::jsi::Object(rt);
4578
+ result.setProperty(rt, "entries", bridging::toJs(rt, value.entries, jsInvoker));
4579
+ result.setProperty(rt, "droppedEntriesCount", bridging::toJs(rt, value.droppedEntriesCount, jsInvoker));
4580
+ return result;
4581
+ }
4582
+ };
4583
+
3963
4584
  class JSI_EXPORT NativePerformanceObserverCxxSpecJSI : public TurboModule {
3964
4585
  protected:
3965
4586
  NativePerformanceObserverCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
3966
4587
 
3967
4588
  public:
3968
- virtual void startReporting(jsi::Runtime &rt, jsi::String entryType) = 0;
3969
- virtual void stopReporting(jsi::Runtime &rt, jsi::String entryType) = 0;
3970
- virtual jsi::Array getPendingEntries(jsi::Runtime &rt) = 0;
4589
+ virtual void startReporting(jsi::Runtime &rt, double entryType) = 0;
4590
+ virtual void stopReporting(jsi::Runtime &rt, double entryType) = 0;
4591
+ virtual jsi::Object popPendingEntries(jsi::Runtime &rt) = 0;
3971
4592
  virtual void setOnPerformanceEntryCallback(jsi::Runtime &rt, std::optional<jsi::Function> callback) = 0;
4593
+ virtual void logRawEntry(jsi::Runtime &rt, jsi::Object entry) = 0;
4594
+ virtual jsi::Array getEventCounts(jsi::Runtime &rt) = 0;
4595
+ virtual void setDurationThreshold(jsi::Runtime &rt, double entryType, double durationThreshold) = 0;
4596
+ virtual void clearEntries(jsi::Runtime &rt, double entryType, std::optional<jsi::String> entryName) = 0;
4597
+ virtual jsi::Array getEntries(jsi::Runtime &rt, std::optional<double> entryType, std::optional<jsi::String> entryName) = 0;
3972
4598
 
3973
4599
  };
3974
4600
 
@@ -3990,7 +4616,7 @@ private:
3990
4616
  Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
3991
4617
  NativePerformanceObserverCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {}
3992
4618
 
3993
- void startReporting(jsi::Runtime &rt, jsi::String entryType) override {
4619
+ void startReporting(jsi::Runtime &rt, double entryType) override {
3994
4620
  static_assert(
3995
4621
  bridging::getParameterCount(&T::startReporting) == 2,
3996
4622
  "Expected startReporting(...) to have 2 parameters");
@@ -3998,7 +4624,7 @@ private:
3998
4624
  return bridging::callFromJs<void>(
3999
4625
  rt, &T::startReporting, jsInvoker_, instance_, std::move(entryType));
4000
4626
  }
4001
- void stopReporting(jsi::Runtime &rt, jsi::String entryType) override {
4627
+ void stopReporting(jsi::Runtime &rt, double entryType) override {
4002
4628
  static_assert(
4003
4629
  bridging::getParameterCount(&T::stopReporting) == 2,
4004
4630
  "Expected stopReporting(...) to have 2 parameters");
@@ -4006,13 +4632,13 @@ private:
4006
4632
  return bridging::callFromJs<void>(
4007
4633
  rt, &T::stopReporting, jsInvoker_, instance_, std::move(entryType));
4008
4634
  }
4009
- jsi::Array getPendingEntries(jsi::Runtime &rt) override {
4635
+ jsi::Object popPendingEntries(jsi::Runtime &rt) override {
4010
4636
  static_assert(
4011
- bridging::getParameterCount(&T::getPendingEntries) == 1,
4012
- "Expected getPendingEntries(...) to have 1 parameters");
4637
+ bridging::getParameterCount(&T::popPendingEntries) == 1,
4638
+ "Expected popPendingEntries(...) to have 1 parameters");
4013
4639
 
4014
- return bridging::callFromJs<jsi::Array>(
4015
- rt, &T::getPendingEntries, jsInvoker_, instance_);
4640
+ return bridging::callFromJs<jsi::Object>(
4641
+ rt, &T::popPendingEntries, jsInvoker_, instance_);
4016
4642
  }
4017
4643
  void setOnPerformanceEntryCallback(jsi::Runtime &rt, std::optional<jsi::Function> callback) override {
4018
4644
  static_assert(
@@ -4022,6 +4648,46 @@ private:
4022
4648
  return bridging::callFromJs<void>(
4023
4649
  rt, &T::setOnPerformanceEntryCallback, jsInvoker_, instance_, std::move(callback));
4024
4650
  }
4651
+ void logRawEntry(jsi::Runtime &rt, jsi::Object entry) override {
4652
+ static_assert(
4653
+ bridging::getParameterCount(&T::logRawEntry) == 2,
4654
+ "Expected logRawEntry(...) to have 2 parameters");
4655
+
4656
+ return bridging::callFromJs<void>(
4657
+ rt, &T::logRawEntry, jsInvoker_, instance_, std::move(entry));
4658
+ }
4659
+ jsi::Array getEventCounts(jsi::Runtime &rt) override {
4660
+ static_assert(
4661
+ bridging::getParameterCount(&T::getEventCounts) == 1,
4662
+ "Expected getEventCounts(...) to have 1 parameters");
4663
+
4664
+ return bridging::callFromJs<jsi::Array>(
4665
+ rt, &T::getEventCounts, jsInvoker_, instance_);
4666
+ }
4667
+ void setDurationThreshold(jsi::Runtime &rt, double entryType, double durationThreshold) override {
4668
+ static_assert(
4669
+ bridging::getParameterCount(&T::setDurationThreshold) == 3,
4670
+ "Expected setDurationThreshold(...) to have 3 parameters");
4671
+
4672
+ return bridging::callFromJs<void>(
4673
+ rt, &T::setDurationThreshold, jsInvoker_, instance_, std::move(entryType), std::move(durationThreshold));
4674
+ }
4675
+ void clearEntries(jsi::Runtime &rt, double entryType, std::optional<jsi::String> entryName) override {
4676
+ static_assert(
4677
+ bridging::getParameterCount(&T::clearEntries) == 3,
4678
+ "Expected clearEntries(...) to have 3 parameters");
4679
+
4680
+ return bridging::callFromJs<void>(
4681
+ rt, &T::clearEntries, jsInvoker_, instance_, std::move(entryType), std::move(entryName));
4682
+ }
4683
+ jsi::Array getEntries(jsi::Runtime &rt, std::optional<double> entryType, std::optional<jsi::String> entryName) override {
4684
+ static_assert(
4685
+ bridging::getParameterCount(&T::getEntries) == 3,
4686
+ "Expected getEntries(...) to have 3 parameters");
4687
+
4688
+ return bridging::callFromJs<jsi::Array>(
4689
+ rt, &T::getEntries, jsInvoker_, instance_, std::move(entryType), std::move(entryName));
4690
+ }
4025
4691
 
4026
4692
  private:
4027
4693
  T *instance_;
@@ -4030,7 +4696,8 @@ private:
4030
4696
  Delegate delegate_;
4031
4697
  };
4032
4698
 
4033
- class JSI_EXPORT NativeWebSocketModuleCxxSpecJSI : public TurboModule {
4699
+
4700
+ class JSI_EXPORT NativeWebSocketModuleCxxSpecJSI : public TurboModule {
4034
4701
  protected:
4035
4702
  NativeWebSocketModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4036
4703
 
@@ -4127,7 +4794,8 @@ private:
4127
4794
  Delegate delegate_;
4128
4795
  };
4129
4796
 
4130
- class JSI_EXPORT NativeAccessibilityInfoCxxSpecJSI : public TurboModule {
4797
+
4798
+ class JSI_EXPORT NativeAccessibilityInfoCxxSpecJSI : public TurboModule {
4131
4799
  protected:
4132
4800
  NativeAccessibilityInfoCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4133
4801
 
@@ -4215,7 +4883,8 @@ private:
4215
4883
  Delegate delegate_;
4216
4884
  };
4217
4885
 
4218
- class JSI_EXPORT NativeAccessibilityManagerCxxSpecJSI : public TurboModule {
4886
+
4887
+ class JSI_EXPORT NativeAccessibilityManagerCxxSpecJSI : public TurboModule {
4219
4888
  protected:
4220
4889
  NativeAccessibilityManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4221
4890
 
@@ -4348,7 +5017,8 @@ private:
4348
5017
  Delegate delegate_;
4349
5018
  };
4350
5019
 
4351
- class JSI_EXPORT NativeClipboardCxxSpecJSI : public TurboModule {
5020
+
5021
+ class JSI_EXPORT NativeClipboardCxxSpecJSI : public TurboModule {
4352
5022
  protected:
4353
5023
  NativeClipboardCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4354
5024
 
@@ -4409,50 +5079,8 @@ private:
4409
5079
  Delegate delegate_;
4410
5080
  };
4411
5081
 
4412
- class JSI_EXPORT NativeDatePickerAndroidCxxSpecJSI : public TurboModule {
4413
- protected:
4414
- NativeDatePickerAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4415
-
4416
- public:
4417
- virtual jsi::Value open(jsi::Runtime &rt, jsi::Object options) = 0;
4418
-
4419
- };
4420
-
4421
- template <typename T>
4422
- class JSI_EXPORT NativeDatePickerAndroidCxxSpec : public TurboModule {
4423
- public:
4424
- jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
4425
- return delegate_.get(rt, propName);
4426
- }
4427
5082
 
4428
- protected:
4429
- NativeDatePickerAndroidCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
4430
- : TurboModule("DatePickerAndroid", jsInvoker),
4431
- delegate_(static_cast<T*>(this), jsInvoker) {}
4432
-
4433
- private:
4434
- class Delegate : public NativeDatePickerAndroidCxxSpecJSI {
4435
- public:
4436
- Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
4437
- NativeDatePickerAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {}
4438
-
4439
- jsi::Value open(jsi::Runtime &rt, jsi::Object options) override {
4440
- static_assert(
4441
- bridging::getParameterCount(&T::open) == 2,
4442
- "Expected open(...) to have 2 parameters");
4443
-
4444
- return bridging::callFromJs<jsi::Value>(
4445
- rt, &T::open, jsInvoker_, instance_, std::move(options));
4446
- }
4447
-
4448
- private:
4449
- T *instance_;
4450
- };
4451
-
4452
- Delegate delegate_;
4453
- };
4454
-
4455
- class JSI_EXPORT NativeKeyboardObserverCxxSpecJSI : public TurboModule {
5083
+ class JSI_EXPORT NativeKeyboardObserverCxxSpecJSI : public TurboModule {
4456
5084
  protected:
4457
5085
  NativeKeyboardObserverCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4458
5086
 
@@ -4504,7 +5132,8 @@ private:
4504
5132
  Delegate delegate_;
4505
5133
  };
4506
5134
 
4507
- class JSI_EXPORT NativeSoundManagerCxxSpecJSI : public TurboModule {
5135
+
5136
+ class JSI_EXPORT NativeSoundManagerCxxSpecJSI : public TurboModule {
4508
5137
  protected:
4509
5138
  NativeSoundManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4510
5139
 
@@ -4547,7 +5176,8 @@ private:
4547
5176
  Delegate delegate_;
4548
5177
  };
4549
5178
 
4550
- class JSI_EXPORT NativeStatusBarManagerAndroidCxxSpecJSI : public TurboModule {
5179
+
5180
+ class JSI_EXPORT NativeStatusBarManagerAndroidCxxSpecJSI : public TurboModule {
4551
5181
  protected:
4552
5182
  NativeStatusBarManagerAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4553
5183
 
@@ -4626,7 +5256,8 @@ private:
4626
5256
  Delegate delegate_;
4627
5257
  };
4628
5258
 
4629
- class JSI_EXPORT NativeStatusBarManagerIOSCxxSpecJSI : public TurboModule {
5259
+
5260
+ class JSI_EXPORT NativeStatusBarManagerIOSCxxSpecJSI : public TurboModule {
4630
5261
  protected:
4631
5262
  NativeStatusBarManagerIOSCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4632
5263
 
@@ -4723,7 +5354,8 @@ private:
4723
5354
  Delegate delegate_;
4724
5355
  };
4725
5356
 
4726
- class JSI_EXPORT NativeToastAndroidCxxSpecJSI : public TurboModule {
5357
+
5358
+ class JSI_EXPORT NativeToastAndroidCxxSpecJSI : public TurboModule {
4727
5359
  protected:
4728
5360
  NativeToastAndroidCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4729
5361
 
@@ -4793,7 +5425,8 @@ private:
4793
5425
  Delegate delegate_;
4794
5426
  };
4795
5427
 
4796
- class JSI_EXPORT NativeSegmentFetcherCxxSpecJSI : public TurboModule {
5428
+
5429
+ class JSI_EXPORT NativeSegmentFetcherCxxSpecJSI : public TurboModule {
4797
5430
  protected:
4798
5431
  NativeSegmentFetcherCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4799
5432
 
@@ -4845,7 +5478,8 @@ private:
4845
5478
  Delegate delegate_;
4846
5479
  };
4847
5480
 
4848
- class JSI_EXPORT NativeTimingCxxSpecJSI : public TurboModule {
5481
+
5482
+ class JSI_EXPORT NativeTimingCxxSpecJSI : public TurboModule {
4849
5483
  protected:
4850
5484
  NativeTimingCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4851
5485
 
@@ -4906,7 +5540,8 @@ private:
4906
5540
  Delegate delegate_;
4907
5541
  };
4908
5542
 
4909
- class JSI_EXPORT NativeAnimationsDebugModuleCxxSpecJSI : public TurboModule {
5543
+
5544
+ class JSI_EXPORT NativeAnimationsDebugModuleCxxSpecJSI : public TurboModule {
4910
5545
  protected:
4911
5546
  NativeAnimationsDebugModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4912
5547
 
@@ -4958,7 +5593,8 @@ private:
4958
5593
  Delegate delegate_;
4959
5594
  };
4960
5595
 
4961
- class JSI_EXPORT NativeDeviceEventManagerCxxSpecJSI : public TurboModule {
5596
+
5597
+ class JSI_EXPORT NativeDeviceEventManagerCxxSpecJSI : public TurboModule {
4962
5598
  protected:
4963
5599
  NativeDeviceEventManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
4964
5600
 
@@ -5001,7 +5637,8 @@ private:
5001
5637
  Delegate delegate_;
5002
5638
  };
5003
5639
 
5004
- class JSI_EXPORT NativeDevMenuCxxSpecJSI : public TurboModule {
5640
+
5641
+ class JSI_EXPORT NativeDevMenuCxxSpecJSI : public TurboModule {
5005
5642
  protected:
5006
5643
  NativeDevMenuCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
5007
5644
 
@@ -5080,7 +5717,8 @@ private:
5080
5717
  Delegate delegate_;
5081
5718
  };
5082
5719
 
5083
- class JSI_EXPORT NativeDevSettingsCxxSpecJSI : public TurboModule {
5720
+
5721
+ class JSI_EXPORT NativeDevSettingsCxxSpecJSI : public TurboModule {
5084
5722
  protected:
5085
5723
  NativeDevSettingsCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
5086
5724
 
@@ -5213,7 +5851,8 @@ private:
5213
5851
  Delegate delegate_;
5214
5852
  };
5215
5853
 
5216
- #pragma mark - DialogManagerAndroidBaseDialogOptions
5854
+
5855
+ #pragma mark - DialogManagerAndroidBaseDialogOptions
5217
5856
 
5218
5857
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
5219
5858
  struct DialogManagerAndroidBaseDialogOptions {
@@ -5246,34 +5885,59 @@ struct DialogManagerAndroidBaseDialogOptionsBridging {
5246
5885
  return result;
5247
5886
  }
5248
5887
 
5888
+ #ifdef DEBUG
5889
+ static jsi::String titleToJs(jsi::Runtime &rt, P0 value) {
5890
+ return bridging::toJs(rt, value);
5891
+ }
5892
+ static jsi::String messageToJs(jsi::Runtime &rt, P1 value) {
5893
+ return bridging::toJs(rt, value);
5894
+ }
5895
+ static jsi::String buttonPositiveToJs(jsi::Runtime &rt, P2 value) {
5896
+ return bridging::toJs(rt, value);
5897
+ }
5898
+ static jsi::String buttonNegativeToJs(jsi::Runtime &rt, P3 value) {
5899
+ return bridging::toJs(rt, value);
5900
+ }
5901
+ static jsi::String buttonNeutralToJs(jsi::Runtime &rt, P4 value) {
5902
+ return bridging::toJs(rt, value);
5903
+ }
5904
+ static jsi::Array itemsToJs(jsi::Runtime &rt, P5 value) {
5905
+ return bridging::toJs(rt, value);
5906
+ }
5907
+ static bool cancelableToJs(jsi::Runtime &rt, P6 value) {
5908
+ return bridging::toJs(rt, value);
5909
+ }
5910
+ #endif
5911
+
5249
5912
  static jsi::Object toJs(
5250
- jsi::Runtime &rt,
5251
- const DialogManagerAndroidBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6> &value) {
5252
- auto result = facebook::jsi::Object(rt);
5253
- if (value.title) {
5254
- result.setProperty(rt, "title", bridging::toJs(rt, value.title.value()));
5255
- }
5913
+ jsi::Runtime &rt,
5914
+ const DialogManagerAndroidBaseDialogOptions<P0, P1, P2, P3, P4, P5, P6> &value,
5915
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
5916
+ auto result = facebook::jsi::Object(rt);
5917
+ if (value.title) {
5918
+ result.setProperty(rt, "title", bridging::toJs(rt, value.title.value(), jsInvoker));
5919
+ }
5256
5920
  if (value.message) {
5257
- result.setProperty(rt, "message", bridging::toJs(rt, value.message.value()));
5258
- }
5921
+ result.setProperty(rt, "message", bridging::toJs(rt, value.message.value(), jsInvoker));
5922
+ }
5259
5923
  if (value.buttonPositive) {
5260
- result.setProperty(rt, "buttonPositive", bridging::toJs(rt, value.buttonPositive.value()));
5261
- }
5924
+ result.setProperty(rt, "buttonPositive", bridging::toJs(rt, value.buttonPositive.value(), jsInvoker));
5925
+ }
5262
5926
  if (value.buttonNegative) {
5263
- result.setProperty(rt, "buttonNegative", bridging::toJs(rt, value.buttonNegative.value()));
5264
- }
5927
+ result.setProperty(rt, "buttonNegative", bridging::toJs(rt, value.buttonNegative.value(), jsInvoker));
5928
+ }
5265
5929
  if (value.buttonNeutral) {
5266
- result.setProperty(rt, "buttonNeutral", bridging::toJs(rt, value.buttonNeutral.value()));
5267
- }
5930
+ result.setProperty(rt, "buttonNeutral", bridging::toJs(rt, value.buttonNeutral.value(), jsInvoker));
5931
+ }
5268
5932
  if (value.items) {
5269
- result.setProperty(rt, "items", bridging::toJs(rt, value.items.value()));
5270
- }
5933
+ result.setProperty(rt, "items", bridging::toJs(rt, value.items.value(), jsInvoker));
5934
+ }
5271
5935
  if (value.cancelable) {
5272
- result.setProperty(rt, "cancelable", bridging::toJs(rt, value.cancelable.value()));
5273
- }
5274
- return result;
5275
- }
5276
- };
5936
+ result.setProperty(rt, "cancelable", bridging::toJs(rt, value.cancelable.value(), jsInvoker));
5937
+ }
5938
+ return result;
5939
+ }
5940
+ };
5277
5941
 
5278
5942
  class JSI_EXPORT NativeDialogManagerAndroidCxxSpecJSI : public TurboModule {
5279
5943
  protected:
@@ -5327,7 +5991,8 @@ private:
5327
5991
  Delegate delegate_;
5328
5992
  };
5329
5993
 
5330
- class JSI_EXPORT NativeLogBoxCxxSpecJSI : public TurboModule {
5994
+
5995
+ class JSI_EXPORT NativeLogBoxCxxSpecJSI : public TurboModule {
5331
5996
  protected:
5332
5997
  NativeLogBoxCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
5333
5998
 
@@ -5379,7 +6044,8 @@ private:
5379
6044
  Delegate delegate_;
5380
6045
  };
5381
6046
 
5382
- class JSI_EXPORT NativeRedBoxCxxSpecJSI : public TurboModule {
6047
+
6048
+ class JSI_EXPORT NativeRedBoxCxxSpecJSI : public TurboModule {
5383
6049
  protected:
5384
6050
  NativeRedBoxCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
5385
6051
 
@@ -5431,7 +6097,8 @@ private:
5431
6097
  Delegate delegate_;
5432
6098
  };
5433
6099
 
5434
- class JSI_EXPORT NativeSourceCodeCxxSpecJSI : public TurboModule {
6100
+
6101
+ class JSI_EXPORT NativeSourceCodeCxxSpecJSI : public TurboModule {
5435
6102
  protected:
5436
6103
  NativeSourceCodeCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
5437
6104
 
@@ -5474,7 +6141,35 @@ private:
5474
6141
  Delegate delegate_;
5475
6142
  };
5476
6143
 
5477
- class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
6144
+
6145
+ #pragma mark - SampleTurboModuleEnumInt
6146
+
6147
+ enum SampleTurboModuleEnumInt { A, B };
6148
+
6149
+ template <>
6150
+ struct Bridging<SampleTurboModuleEnumInt> {
6151
+ static SampleTurboModuleEnumInt fromJs(jsi::Runtime &rt, const jsi::Value &rawValue, const std::shared_ptr<CallInvoker> &jsInvoker) {
6152
+ double value = (double)rawValue.asNumber();
6153
+ if (value == 23) {
6154
+ return SampleTurboModuleEnumInt::A;
6155
+ } else if (value == 42) {
6156
+ return SampleTurboModuleEnumInt::B;
6157
+ } else {
6158
+ throw jsi::JSError(rt, "No appropriate enum member found for value");
6159
+ }
6160
+ }
6161
+
6162
+ static jsi::Value toJs(jsi::Runtime &rt, SampleTurboModuleEnumInt value, const std::shared_ptr<CallInvoker> &jsInvoker) {
6163
+ if (value == SampleTurboModuleEnumInt::A) {
6164
+ return bridging::toJs(rt, 23);
6165
+ } else if (value == SampleTurboModuleEnumInt::B) {
6166
+ return bridging::toJs(rt, 42);
6167
+ } else {
6168
+ throw jsi::JSError(rt, "No appropriate enum member found for enum value");
6169
+ }
6170
+ }
6171
+ };
6172
+ class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
5478
6173
  protected:
5479
6174
  NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
5480
6175
 
@@ -5482,6 +6177,7 @@ public:
5482
6177
  virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
5483
6178
  virtual void voidFunc(jsi::Runtime &rt) = 0;
5484
6179
  virtual bool getBool(jsi::Runtime &rt, bool arg) = 0;
6180
+ virtual int getEnum(jsi::Runtime &rt, int arg) = 0;
5485
6181
  virtual double getNumber(jsi::Runtime &rt, double arg) = 0;
5486
6182
  virtual jsi::String getString(jsi::Runtime &rt, jsi::String arg) = 0;
5487
6183
  virtual jsi::Array getArray(jsi::Runtime &rt, jsi::Array arg) = 0;
@@ -5536,6 +6232,14 @@ private:
5536
6232
  return bridging::callFromJs<bool>(
5537
6233
  rt, &T::getBool, jsInvoker_, instance_, std::move(arg));
5538
6234
  }
6235
+ int getEnum(jsi::Runtime &rt, int arg) override {
6236
+ static_assert(
6237
+ bridging::getParameterCount(&T::getEnum) == 2,
6238
+ "Expected getEnum(...) to have 2 parameters");
6239
+
6240
+ return bridging::callFromJs<int>(
6241
+ rt, &T::getEnum, jsInvoker_, instance_, std::move(arg));
6242
+ }
5539
6243
  double getNumber(jsi::Runtime &rt, double arg) override {
5540
6244
  static_assert(
5541
6245
  bridging::getParameterCount(&T::getNumber) == 2,