1use http::HeaderValue;
2use serde::Serialize;
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
10pub enum SwapOption {
11 #[serde(rename = "innerHTML")]
13 InnerHtml,
14 #[serde(rename = "outerHTML")]
16 OuterHtml,
17 #[serde(rename = "beforebegin")]
19 BeforeBegin,
20 #[serde(rename = "afterbegin")]
22 AfterBegin,
23 #[serde(rename = "beforeend")]
25 BeforeEnd,
26 #[serde(rename = "afterend")]
28 AfterEnd,
29 #[serde(rename = "delete")]
31 Delete,
32 #[serde(rename = "none")]
34 None,
35}
36
37impl SwapOption {
38 #[must_use]
40 pub const fn as_str(self) -> &'static str {
41 match self {
42 Self::InnerHtml => "innerHTML",
43 Self::OuterHtml => "outerHTML",
44 Self::BeforeBegin => "beforebegin",
45 Self::AfterBegin => "afterbegin",
46 Self::BeforeEnd => "beforeend",
47 Self::AfterEnd => "afterend",
48 Self::Delete => "delete",
49 Self::None => "none",
50 }
51 }
52}
53
54impl From<SwapOption> for HeaderValue {
55 fn from(option: SwapOption) -> Self {
56 HeaderValue::from_static(option.as_str())
57 }
58}