use http::HeaderValue;
use serde::Serialize;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
pub enum SwapOption {
#[serde(rename = "innerHTML")]
InnerHtml,
#[serde(rename = "outerHTML")]
OuterHtml,
#[serde(rename = "beforebegin")]
BeforeBegin,
#[serde(rename = "afterbegin")]
AfterBegin,
#[serde(rename = "beforeend")]
BeforeEnd,
#[serde(rename = "afterend")]
AfterEnd,
#[serde(rename = "delete")]
Delete,
#[serde(rename = "none")]
None,
}
impl SwapOption {
#[must_use]
pub const fn as_str(self) -> &'static str {
match self {
Self::InnerHtml => "innerHTML",
Self::OuterHtml => "outerHTML",
Self::BeforeBegin => "beforebegin",
Self::AfterBegin => "afterbegin",
Self::BeforeEnd => "beforeend",
Self::AfterEnd => "afterend",
Self::Delete => "delete",
Self::None => "none",
}
}
}
impl From<SwapOption> for HeaderValue {
fn from(option: SwapOption) -> Self {
HeaderValue::from_static(option.as_str())
}
}