From 139db66a3ed5ac55f71173d99428d8a656e4d6a3 Mon Sep 17 00:00:00 2001 From: Valentin Shergin Date: Thu, 26 Apr 2018 17:51:44 -0700 Subject: [PATCH] Fabric: More graphic values conversions from dynamic type Summary: Trivial. Reviewed By: mdvacca Differential Revision: D7738578 fbshipit-source-id: 3112e523dd1cdceff90a8596033f9516aa2c8156 --- .../graphics/graphicValuesConversions.cpp | 18 ++++++++++++++++++ .../fabric/graphics/graphicValuesConversions.h | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/ReactCommon/fabric/graphics/graphicValuesConversions.cpp b/ReactCommon/fabric/graphics/graphicValuesConversions.cpp index 8a09a460f..85909b3a0 100644 --- a/ReactCommon/fabric/graphics/graphicValuesConversions.cpp +++ b/ReactCommon/fabric/graphics/graphicValuesConversions.cpp @@ -69,5 +69,23 @@ std::string stringFromEdgeInsets(const EdgeInsets &edgeInsets) { folly::to(edgeInsets.bottom) + "}"; } +Float floatFromDynamic(const folly::dynamic &value) { + return value.asDouble(); +} + +Point pointFromDynamic(const folly::dynamic &value) { + if (value.isArray()) { + return Point {(Float)value[0].asDouble(), (Float)value[1].asDouble()}; + } + abort(); +} + +Size sizeFromDynamic(const folly::dynamic &value) { + if (value.isArray()) { + return Size {(Float)value[0].asDouble(), (Float)value[1].asDouble()}; + } + abort(); +} + } // namespace react } // namespace facebook diff --git a/ReactCommon/fabric/graphics/graphicValuesConversions.h b/ReactCommon/fabric/graphics/graphicValuesConversions.h index 99774a41f..7d49cdf97 100644 --- a/ReactCommon/fabric/graphics/graphicValuesConversions.h +++ b/ReactCommon/fabric/graphics/graphicValuesConversions.h @@ -26,5 +26,9 @@ std::string stringFromSize(const Size &size); std::string stringFromRect(const Rect &rect); std::string stringFromEdgeInsets(const EdgeInsets &edgeInsets); +Float floatFromDynamic(const folly::dynamic &value); +Point pointFromDynamic(const folly::dynamic &value); +Size sizeFromDynamic(const folly::dynamic &value); + } // namespace react } // namespace facebook