inline optional<std::string> toString(const mbgl::android::Value& value) { if (value.isString()) { return value.toString(); } else { return {}; } }
optional<std::array<LatLng, 4>> Converter<std::array<LatLng, 4>>::operator()(const mbgl::android::Value& value, Error& error) const { if (value.isNull() || !value.isArray()) { error = { "value cannot be converted to LatLng array" }; return {}; } return convert<GeoJSON>(value.toString(), error); }
inline optional<Value> toValue(const mbgl::android::Value& value) { if (value.isBool()) { return { value.toBool() }; } else if (value.isString()) { return { value.toString() }; } else if (value.isNumber()) { return { value.toNumber() }; } else { return {}; } }
inline optional<Value> toValue(const mbgl::android::Value& value) { if (value.isNull()) { return {}; } else if (value.isBool()) { return { value.toBool() }; } else if (value.isString()) { return { value.toString() }; } else if (value.isNumber()) { //Need to cast to a double here as the float is otherwise considered a bool... return { (double) value.toNumber() }; } else { return {}; } }