mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
add support for registering and calling sync methods in C++ modules
Differential Revision: D3574800 fbshipit-source-id: 4c238fd96c8f83e9424c8e2bf2c8ebb1d39d397a
This commit is contained in:
committed by
Facebook Github Bot 8
parent
a7ca90e7c7
commit
e5ccdc4c2d
@@ -65,18 +65,22 @@ folly::dynamic ModuleRegistry::getConfig(const std::string& name) {
|
||||
|
||||
folly::dynamic methodNames = folly::dynamic::array;
|
||||
folly::dynamic asyncMethodIds = folly::dynamic::array;
|
||||
folly::dynamic syncHookIds = folly::dynamic::array;
|
||||
|
||||
for (auto& descriptor : methods) {
|
||||
methodNames.push_back(std::move(descriptor.name));
|
||||
if (descriptor.type == "remoteAsync") {
|
||||
asyncMethodIds.push_back(methodNames.size() - 1);
|
||||
} else if (descriptor.type == "syncHook") {
|
||||
syncHookIds.push_back(methodNames.size() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (!methodNames.empty()) {
|
||||
config.push_back(std::move(methodNames));
|
||||
if (!asyncMethodIds.empty()) {
|
||||
config.push_back(std::move(asyncMethodIds));
|
||||
config.push_back(std::move(asyncMethodIds));
|
||||
if (!syncHookIds.empty()) {
|
||||
config.push_back(std::move(syncHookIds));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user