/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #include #include #include #include "JsiIntegrationTestGenericEngineAdapter.h" using facebook::hermes::makeHermesRuntime; namespace facebook::react::jsinspector_modern { JsiIntegrationTestGenericEngineAdapter::JsiIntegrationTestGenericEngineAdapter( folly::Executor& jsExecutor) : runtime_{hermes::makeHermesRuntime()}, jsExecutor_{jsExecutor} {} std::unique_ptr JsiIntegrationTestGenericEngineAdapter::createAgentDelegate( FrontendChannel frontendChannel, SessionState& sessionState, std::unique_ptr, const ExecutionContextDescription&) { return std::unique_ptr( new FallbackRuntimeAgentDelegate( frontendChannel, sessionState, "Generic engine (" + runtime_->description() + ")")); } jsi::Runtime& JsiIntegrationTestGenericEngineAdapter::getRuntime() const noexcept { return *runtime_; } RuntimeExecutor JsiIntegrationTestGenericEngineAdapter::getRuntimeExecutor() const noexcept { return [&jsExecutor = jsExecutor_, &runtime = getRuntime()](auto fn) { jsExecutor.add([fn, &runtime]() { fn(runtime); }); }; } } // namespace facebook::react::jsinspector_modern