use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, Default)]
#[serde(rename_all = "lowercase")]
pub enum ImageFormat {
#[default]
Png,
#[serde(rename = "png8")]
Png8,
#[serde(rename = "png24")]
Png24,
#[serde(rename = "png32")]
Png32,
#[serde(rename = "jpg")]
Jpg,
Pdf,
Bmp,
Gif,
Svg,
Svgz,
Emf,
Ps,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum LayerOperation {
Show,
Hide,
Include,
Exclude,
}
impl LayerOperation {
pub fn as_str(&self) -> &str {
match self {
Self::Show => "show",
Self::Hide => "hide",
Self::Include => "include",
Self::Exclude => "exclude",
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, Default)]
pub enum TimeRelation {
#[default]
#[serde(rename = "esriTimeRelationOverlaps")]
Overlaps,
#[serde(rename = "esriTimeRelationAfter")]
After,
#[serde(rename = "esriTimeRelationBefore")]
Before,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
#[serde(rename_all = "lowercase")]
pub enum ResponseFormat {
Html,
#[default]
Json,
#[serde(rename = "pjson")]
PJson,
Image,
Kmz,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, Default)]
#[serde(rename_all = "lowercase")]
pub enum LayerSelection {
Top,
#[default]
Visible,
All,
}