mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Expose ModuleRegistry on ExecutorDelegate
Differential Revision: D3944588 fbshipit-source-id: f8450a6735e1f6283c3bfe9d2ce883327172621c
This commit is contained in:
committed by
Facebook Github Bot
parent
6d175f2c25
commit
d7d89172c2
@@ -11,8 +11,6 @@
|
||||
|
||||
#include <folly/dynamic.h>
|
||||
|
||||
#include "JSModulesUnbundle.h"
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
@@ -27,7 +25,9 @@ enum {
|
||||
};
|
||||
|
||||
class JSExecutor;
|
||||
class JSModulesUnbundle;
|
||||
class MessageQueueThread;
|
||||
class ModuleRegistry;
|
||||
|
||||
struct MethodCallResult {
|
||||
folly::dynamic result;
|
||||
@@ -44,8 +44,8 @@ class ExecutorDelegate {
|
||||
std::shared_ptr<MessageQueueThread> queue) = 0;
|
||||
virtual std::unique_ptr<JSExecutor> unregisterExecutor(JSExecutor& executor) = 0;
|
||||
|
||||
virtual std::vector<std::string> moduleNames() = 0;
|
||||
virtual folly::dynamic getModuleConfig(const std::string& name) = 0;
|
||||
virtual std::shared_ptr<ModuleRegistry> getModuleRegistry() = 0;
|
||||
|
||||
virtual void callNativeModules(
|
||||
JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0;
|
||||
virtual MethodCallResult callSerializableNativeHook(
|
||||
|
||||
@@ -20,8 +20,9 @@
|
||||
#include "Platform.h"
|
||||
#include "SystraceSection.h"
|
||||
#include "Value.h"
|
||||
|
||||
#include "JSCSamplingProfiler.h"
|
||||
#include "JSModulesUnbundle.h"
|
||||
#include "ModuleRegistry.h"
|
||||
|
||||
#if defined(WITH_JSC_EXTRA_TRACING) || DEBUG
|
||||
#include "JSCTracing.h"
|
||||
@@ -117,7 +118,7 @@ JSCExecutor::JSCExecutor(std::shared_ptr<ExecutorDelegate> delegate,
|
||||
|
||||
{
|
||||
SystraceSection s("collectNativeModuleNames");
|
||||
for (auto& name : delegate->moduleNames()) {
|
||||
for (auto& name : delegate->getModuleRegistry()->moduleNames()) {
|
||||
nativeModuleConfig.push_back(folly::dynamic::array(std::move(name)));
|
||||
}
|
||||
}
|
||||
@@ -687,7 +688,7 @@ JSValueRef JSCExecutor::nativeRequireModuleConfig(
|
||||
}
|
||||
|
||||
std::string moduleName = Value(m_context, arguments[0]).toString().str();
|
||||
folly::dynamic config = m_delegate->getModuleConfig(moduleName);
|
||||
folly::dynamic config = m_delegate->getModuleRegistry()->getConfig(moduleName);
|
||||
return Value::fromDynamic(m_context, config);
|
||||
}
|
||||
|
||||
|
||||
@@ -41,15 +41,8 @@ public:
|
||||
return m_nativeToJs->unregisterExecutor(executor);
|
||||
}
|
||||
|
||||
std::vector<std::string> moduleNames() override {
|
||||
// If this turns out to be too expensive to run on the js thread,
|
||||
// we can compute it in the ctor, and just return std::move() it
|
||||
// here.
|
||||
return m_registry->moduleNames();
|
||||
}
|
||||
|
||||
folly::dynamic getModuleConfig(const std::string& name) override {
|
||||
return m_registry->getConfig(name);
|
||||
std::shared_ptr<ModuleRegistry> getModuleRegistry() override {
|
||||
return m_registry;
|
||||
}
|
||||
|
||||
void callNativeModules(
|
||||
|
||||
Reference in New Issue
Block a user