123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #pragma once
- #include <folly/dynamic.h>
- #include <react/components/scrollview/primitives.h>
- namespace facebook {
- namespace react {
- inline void fromRawValue(
- const RawValue &value,
- ScrollViewSnapToAlignment &result) {
- auto string = (std::string)value;
- if (string == "start") {
- result = ScrollViewSnapToAlignment::Start;
- return;
- }
- if (string == "center") {
- result = ScrollViewSnapToAlignment::Center;
- return;
- }
- if (string == "end") {
- result = ScrollViewSnapToAlignment::End;
- return;
- }
- abort();
- }
- inline void fromRawValue(
- const RawValue &value,
- ScrollViewIndicatorStyle &result) {
- auto string = (std::string)value;
- if (string == "default") {
- result = ScrollViewIndicatorStyle::Default;
- return;
- }
- if (string == "black") {
- result = ScrollViewIndicatorStyle::Black;
- return;
- }
- if (string == "white") {
- result = ScrollViewIndicatorStyle::White;
- return;
- }
- abort();
- }
- inline void fromRawValue(
- const RawValue &value,
- ScrollViewKeyboardDismissMode &result) {
- auto string = (std::string)value;
- if (string == "none") {
- result = ScrollViewKeyboardDismissMode::None;
- return;
- }
- if (string == "on-drag") {
- result = ScrollViewKeyboardDismissMode::OnDrag;
- return;
- }
- if (string == "interactive") {
- result = ScrollViewKeyboardDismissMode::Interactive;
- return;
- }
- abort();
- }
- inline std::string toString(const ScrollViewSnapToAlignment &value) {
- switch (value) {
- case ScrollViewSnapToAlignment::Start:
- return "start";
- case ScrollViewSnapToAlignment::Center:
- return "center";
- case ScrollViewSnapToAlignment::End:
- return "end";
- }
- }
- inline std::string toString(const ScrollViewIndicatorStyle &value) {
- switch (value) {
- case ScrollViewIndicatorStyle::Default:
- return "default";
- case ScrollViewIndicatorStyle::Black:
- return "black";
- case ScrollViewIndicatorStyle::White:
- return "white";
- }
- }
- inline std::string toString(const ScrollViewKeyboardDismissMode &value) {
- switch (value) {
- case ScrollViewKeyboardDismissMode::None:
- return "none";
- case ScrollViewKeyboardDismissMode::OnDrag:
- return "on-drag";
- case ScrollViewKeyboardDismissMode::Interactive:
- return "interactive";
- }
- }
- } // namespace react
- } // namespace facebook
|