Extract NativeExtensionsProvider definition

Reviewed By: danzimm

Differential Revision: D6964355

fbshipit-source-id: e20dfa99bd9d8784a5f31a313302104d6dc33652
This commit is contained in:
Dmitry Zakharov
2018-03-15 09:21:04 -07:00
committed by Facebook Github Bot
parent da2d410122
commit c989ea8728
5 changed files with 10 additions and 7 deletions

View File

@@ -90,7 +90,7 @@ void injectJSCExecutorAndroidPlatform() {
}
std::unique_ptr<JSExecutorFactory> makeAndroidJSCExecutorFactory(
const folly::dynamic& jscConfig, std::function<folly::dynamic(const std::string&)> nativeExtensionsProvider) {
const folly::dynamic& jscConfig, NativeExtensionsProvider nativeExtensionsProvider) {
detail::injectJSCExecutorAndroidPlatform();
return folly::make_unique<JSCExecutorFactory>(std::move(jscConfig), std::move(nativeExtensionsProvider));
}

View File

@@ -3,6 +3,7 @@
#pragma once
#include <memory>
#include <cxxreact/JSExecutor.h>
namespace folly {
@@ -23,7 +24,7 @@ void injectJSCExecutorAndroidPlatform();
}
std::unique_ptr<JSExecutorFactory> makeAndroidJSCExecutorFactory(
const folly::dynamic& jscConfig, std::function<folly::dynamic(const std::string&)> nativeExtensionsProvider);
const folly::dynamic& jscConfig, NativeExtensionsProvider nativeExtensionsProvider);
}
}

View File

@@ -121,7 +121,7 @@ namespace facebook {
JSCExecutor::JSCExecutor(std::shared_ptr<ExecutorDelegate> delegate,
std::shared_ptr<MessageQueueThread> messageQueueThread,
const folly::dynamic& jscConfig,
std::function<folly::dynamic(const std::string &)> nativeExtensionsProvider) throw(JSException) :
NativeExtensionsProvider nativeExtensionsProvider) throw(JSException) :
m_delegate(delegate),
m_messageQueueThread(messageQueueThread),
m_nativeModules(delegate ? delegate->getModuleRegistry() : nullptr),

View File

@@ -27,7 +27,7 @@ class RAMBundleRegistry;
class RN_EXPORT JSCExecutorFactory : public JSExecutorFactory {
public:
JSCExecutorFactory(const folly::dynamic& jscConfig, std::function<folly::dynamic(const std::string &)> provider) :
JSCExecutorFactory(const folly::dynamic& jscConfig, NativeExtensionsProvider provider) :
m_jscConfig(jscConfig), m_nativeExtensionsProvider(provider) {}
std::unique_ptr<JSExecutor> createJSExecutor(
std::shared_ptr<ExecutorDelegate> delegate,
@@ -35,7 +35,7 @@ public:
private:
std::string m_cacheDir;
folly::dynamic m_jscConfig;
std::function<folly::dynamic(const std::string &)> m_nativeExtensionsProvider;
NativeExtensionsProvider m_nativeExtensionsProvider;
};
template<typename T>
@@ -60,7 +60,7 @@ public:
explicit JSCExecutor(std::shared_ptr<ExecutorDelegate> delegate,
std::shared_ptr<MessageQueueThread> messageQueueThread,
const folly::dynamic& jscConfig,
std::function<folly::dynamic(const std::string &)> nativeExtensionsProvider) throw(JSException);
NativeExtensionsProvider nativeExtensionsProvider) throw(JSException);
~JSCExecutor() override;
virtual void loadApplicationScript(
@@ -106,7 +106,7 @@ private:
JSCNativeModules m_nativeModules;
folly::dynamic m_jscConfig;
std::once_flag m_bindFlag;
std::function<folly::dynamic(const std::string &)> m_nativeExtensionsProvider;
NativeExtensionsProvider m_nativeExtensionsProvider;
folly::Optional<Object> m_invokeCallbackAndReturnFlushedQueueJS;
folly::Optional<Object> m_callFunctionReturnFlushedQueueJS;

View File

@@ -32,6 +32,8 @@ class ExecutorDelegate {
JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0;
};
using NativeExtensionsProvider = std::function<folly::dynamic(const std::string&)>;
class JSExecutorFactory {
public:
virtual std::unique_ptr<JSExecutor> createJSExecutor(