From db46288d1bb9a4176c422ca844e7b56ebf4d794d Mon Sep 17 00:00:00 2001 From: Christoph Purrer Date: Fri, 2 Feb 2024 10:28:52 -0800 Subject: [PATCH] Bridgeless: Unify legacyModuleProvider setup (#42790) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/42790 A tiny bit of refactoring to unify the setup Changelog: [Internal] Reviewed By: cortinico Differential Revision: D53313332 fbshipit-source-id: 4642f7d1dee8adf821b06c2ed25be09fd5dce098 --- .../core/ReactCommon/TurboModuleBinding.cpp | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp b/packages/react-native/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp index e6f22b544b4..32304ee507d 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +++ b/packages/react-native/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp @@ -126,24 +126,19 @@ void TurboModuleBinding::install( })); if (runtime.global().hasProperty(runtime, "RN$Bridgeless")) { - if (legacyModuleProvider != nullptr) { - defineReadOnlyGlobal(runtime, "RN$TurboInterop", jsi::Value(true)); - defineReadOnlyGlobal( - runtime, - "nativeModuleProxy", - jsi::Object::createFromHostObject( - runtime, - std::make_shared( - std::make_unique( - std::move(legacyModuleProvider), - longLivedObjectCollection)))); - } else { - defineReadOnlyGlobal( - runtime, - "nativeModuleProxy", - jsi::Object::createFromHostObject( - runtime, std::make_shared(nullptr))); - } + bool rnTurboInterop = legacyModuleProvider != nullptr; + auto turboModuleBinding = legacyModuleProvider + ? std::make_unique( + std::move(legacyModuleProvider), longLivedObjectCollection) + : nullptr; + auto nativeModuleProxy = std::make_shared( + std::move(turboModuleBinding)); + defineReadOnlyGlobal( + runtime, "RN$TurboInterop", jsi::Value(rnTurboInterop)); + defineReadOnlyGlobal( + runtime, + "nativeModuleProxy", + jsi::Object::createFromHostObject(runtime, nativeModuleProxy)); } }