#include namespace mbgl { namespace style { optional parseTransitionOptions(const char *, const JSValue& value) { if (!value.IsObject()) { return {}; } optional duration; if (value.HasMember("duration") && value["duration"].IsNumber()) { duration.emplace(Milliseconds(value["duration"].GetUint())); } optional delay; if (value.HasMember("delay") && value["delay"].IsNumber()) { delay.emplace(Milliseconds(value["delay"].GetUint())); } if (!duration && !delay) { return {}; } return TransitionOptions { duration, delay }; } } // namespace style } // namespace mbgl