From 2a8e1e0137feea70e43aa1e98a4942c3a150a4cc Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Sun, 30 Apr 2023 03:28:33 -0700 Subject: [PATCH] Create gating for TurboModule interop (#37158) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37158 This diff sets up a global flag to turn the TurboModule interop on/off. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D45239212 fbshipit-source-id: ca9f6a24663db84eba2cd483d92c5b51cf2af0c2 --- packages/react-native/React/Base/RCTBridge.h | 4 ++++ packages/react-native/React/Base/RCTBridge.m | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/packages/react-native/React/Base/RCTBridge.h b/packages/react-native/React/Base/RCTBridge.h index 9df17ebc552..b41ef842720 100644 --- a/packages/react-native/React/Base/RCTBridge.h +++ b/packages/react-native/React/Base/RCTBridge.h @@ -56,6 +56,10 @@ RCT_EXTERN void RCTEnableTurboModuleEagerInit(BOOL enabled); RCT_EXTERN BOOL RCTTurboModuleManagerDelegateLockingDisabled(void); RCT_EXTERN void RCTDisableTurboModuleManagerDelegateLocking(BOOL enabled); +// Turn on TurboModule interop +RCT_EXTERN BOOL RCTTurboModuleInteropEnabled(void); +RCT_EXTERN void RCTEnableTurboModuleInterop(BOOL enabled); + typedef enum { kRCTGlobalScope, kRCTGlobalScopeUsingRetainJSCallback, diff --git a/packages/react-native/React/Base/RCTBridge.m b/packages/react-native/React/Base/RCTBridge.m index 702e338aa5a..2203478da30 100644 --- a/packages/react-native/React/Base/RCTBridge.m +++ b/packages/react-native/React/Base/RCTBridge.m @@ -120,6 +120,16 @@ void RCTDisableTurboModuleManagerDelegateLocking(BOOL disabled) turboModuleManagerDelegateLockingDisabled = disabled; } +static BOOL turboModuleInteropEnabled = YES; +BOOL RCTTurboModuleInteropEnabled(void) +{ + return turboModuleInteropEnabled; +} +void RCTEnableTurboModuleInterop(BOOL enabled) +{ + turboModuleInteropEnabled = enabled; +} + @interface RCTBridge () @end