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
This commit is contained in:
Christoph Purrer
2024-02-02 10:28:52 -08:00
committed by Facebook GitHub Bot
parent cc34acefab
commit db46288d1b
@@ -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<BridgelessNativeModuleProxy>(
std::make_unique<TurboModuleBinding>(
std::move(legacyModuleProvider),
longLivedObjectCollection))));
} else {
defineReadOnlyGlobal(
runtime,
"nativeModuleProxy",
jsi::Object::createFromHostObject(
runtime, std::make_shared<BridgelessNativeModuleProxy>(nullptr)));
}
bool rnTurboInterop = legacyModuleProvider != nullptr;
auto turboModuleBinding = legacyModuleProvider
? std::make_unique<TurboModuleBinding>(
std::move(legacyModuleProvider), longLivedObjectCollection)
: nullptr;
auto nativeModuleProxy = std::make_shared<BridgelessNativeModuleProxy>(
std::move(turboModuleBinding));
defineReadOnlyGlobal(
runtime, "RN$TurboInterop", jsi::Value(rnTurboInterop));
defineReadOnlyGlobal(
runtime,
"nativeModuleProxy",
jsi::Object::createFromHostObject(runtime, nativeModuleProxy));
}
}