feat(core): Add public stringifyGeoJSON to mbgl::style::conversion (#4345)

Co-authored-by: Bart Louwers <bart@emeel.net>
This commit is contained in:
yuiseki
2026-07-23 00:21:51 +09:00
committed by GitHub
parent 5cfd7f1650
commit b288c6dee6
2 changed files with 13 additions and 0 deletions

View File

@@ -4,6 +4,7 @@
#include <mbgl/style/conversion.hpp>
#include <optional>
#include <string>
namespace mbgl {
namespace style {
@@ -12,6 +13,12 @@ namespace conversion {
// Workaround until https://github.com/mapbox/mapbox-gl-native/issues/5623 is done.
std::optional<GeoJSON> parseGeoJSON(const std::string&, Error&);
// Serialize a GeoJSON value back to a JSON string. This is the public
// counterpart to parseGeoJSON: consumers that link the core through the
// amalgam (which exports only mbgl::* symbols) cannot reach the bundled
// mapbox::geojson::stringify directly.
std::string stringifyGeoJSON(const GeoJSON&);
template <>
struct Converter<GeoJSON> {
public:

View File

@@ -2,6 +2,8 @@
#include <mbgl/style/conversion/json.hpp>
#include <mbgl/style/conversion_impl.hpp>
#include <mapbox/geojson.hpp>
namespace mbgl {
namespace style {
namespace conversion {
@@ -14,6 +16,10 @@ std::optional<GeoJSON> parseGeoJSON(const std::string& value, Error& error) {
return convertJSON<GeoJSON>(value, error);
}
std::string stringifyGeoJSON(const GeoJSON& geojson) {
return mapbox::geojson::stringify(geojson);
}
} // namespace conversion
} // namespace style
} // namespace mbgl