/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #include "JSCExecutorFactory.h" #import #import namespace facebook { namespace react { std::unique_ptr JSCExecutorFactory::createJSExecutor( std::shared_ptr delegate, std::shared_ptr __unused jsQueue) { auto installBindings = [runtimeInstaller=runtimeInstaller_](jsi::Runtime &runtime) { react::Logger iosLoggingBinder = [](const std::string &message, unsigned int logLevel) { _RCTLogJavaScriptInternal( static_cast(logLevel), [NSString stringWithUTF8String:message.c_str()]); }; react::bindNativeLogger(runtime, iosLoggingBinder); // Wrap over the original runtimeInstaller if (runtimeInstaller) { runtimeInstaller(runtime); } }; return folly::make_unique( facebook::jsc::makeJSCRuntime(), delegate, JSIExecutor::defaultTimeoutInvoker, std::move(installBindings)); } } // namespace react } // namespace facebook