use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum FeatureGeometry {
Point(Box<models::Point>),
Multipoint(Box<models::Multipoint>),
Polygon(Box<models::Polygon>),
}
impl Default for FeatureGeometry {
fn default() -> Self {
Self::Point(Default::default())
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "Point")]
Point,
#[serde(rename = "MultiPoint")]
MultiPoint,
#[serde(rename = "Polygon")]
Polygon,
}
impl Default for Type {
fn default() -> Type {
Self::Point
}
}