From 310a2850c55fef194d54fcb7ea4649ed0e800deb Mon Sep 17 00:00:00 2001 From: Valentin Shergin Date: Sun, 17 Jun 2018 21:36:02 -0700 Subject: [PATCH] Fabric: Universal `fromDynamic` for `std::vector<...>` Summary: Now, if `fromDynamic` is defined for some type, `fromDynamic` for `std::vector` of this type is also will be defined. We need this for parsing `ImageSources` (a vector of `ImageSource`) type. Reviewed By: fkgozali Differential Revision: D8473508 fbshipit-source-id: d8dc8e3a3273f35b76c7132c553130762f768394 --- ReactCommon/fabric/core/propsConversions.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ReactCommon/fabric/core/propsConversions.h b/ReactCommon/fabric/core/propsConversions.h index bf2f96f6c9080d..0c259129d0eded 100644 --- a/ReactCommon/fabric/core/propsConversions.h +++ b/ReactCommon/fabric/core/propsConversions.h @@ -24,6 +24,16 @@ inline void fromDynamic(const folly::dynamic &value, int &result) { } inline void fromDynamic(const folly::dynamic &value, std::string &result) { result = value.getString(); } +template +inline void fromDynamic(const folly::dynamic &value, std::vector &result) { + result.clear(); + T itemResult; + for (auto &itemValue : value) { + fromDynamic(itemValue, itemResult); + result.push_back(itemResult); + } +} + template inline T convertRawProp( const RawProps &rawProps,