mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
migrate from untagged array-range dynamic ctor
Differential Revision: D62582942
This commit is contained in:
committed by
Facebook GitHub Bot
parent
cf8d09b279
commit
b6d338d087
@@ -98,14 +98,22 @@ using namespace facebook::react;
|
||||
NSNumber *id2 = arguments[arguments.count - 1];
|
||||
|
||||
second = ^(std::vector<folly::dynamic> args) {
|
||||
[bridge enqueueCallback:id2 args:convertFollyDynamicToId(folly::dynamic(args.begin(), args.end()))];
|
||||
folly::dynamic obj = folly::dynamic::array;
|
||||
for (auto &arg : args) {
|
||||
obj.push_back(std::move(arg));
|
||||
}
|
||||
[bridge enqueueCallback:id2 args:convertFollyDynamicToId(std::move(obj))];
|
||||
};
|
||||
} else {
|
||||
id1 = arguments[arguments.count - 1];
|
||||
}
|
||||
|
||||
first = ^(std::vector<folly::dynamic> args) {
|
||||
[bridge enqueueCallback:id1 args:convertFollyDynamicToId(folly::dynamic(args.begin(), args.end()))];
|
||||
folly::dynamic obj = folly::dynamic::array;
|
||||
for (auto &arg : args) {
|
||||
obj.push_back(std::move(arg));
|
||||
}
|
||||
[bridge enqueueCallback:id1 args:convertFollyDynamicToId(std::move(obj))];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -47,9 +47,12 @@ namespace {
|
||||
CxxModule::Callback convertCallback(
|
||||
std::function<void(folly::dynamic)> callback) {
|
||||
return [callback = std::move(callback)](std::vector<folly::dynamic> args) {
|
||||
callback(folly::dynamic(
|
||||
std::make_move_iterator(args.begin()),
|
||||
std::make_move_iterator(args.end())));
|
||||
// after unpinning folly, can use folly::dynamic::array_range
|
||||
folly::dynamic obj = folly::dynamic::array;
|
||||
for (auto& arg : args) {
|
||||
obj.push_back(std::move(arg));
|
||||
}
|
||||
callback(std::move(obj));
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user