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
This commit is contained in:
Ramanpreet Nara
2023-04-30 03:28:33 -07:00
committed by Facebook GitHub Bot
parent 3a58b1a294
commit 2a8e1e0137
2 changed files with 14 additions and 0 deletions
@@ -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,
@@ -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 () <RCTReloadListener>
@end