schema_org_types/schemas/enumerations/
action_status_type.rs1#[cfg_attr(feature = "derive-debug", derive(Debug))]
3#[cfg_attr(feature = "derive-clone", derive(Clone))]
4pub enum ActionStatusType {
5 ActiveActionStatus,
7 CompletedActionStatus,
9 FailedActionStatus,
11 PotentialActionStatus,
13}
14#[cfg(feature = "serde")]
15mod serde {
16 use std::{fmt, fmt::Formatter};
17
18 use ::serde::{
19 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
20 };
21
22 use super::*;
23 impl Serialize for ActionStatusType {
24 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
25 where
26 S: Serializer,
27 {
28 match *self {
29 ActionStatusType::ActiveActionStatus => serializer.serialize_unit_variant(
30 "ActionStatusType",
31 0u32,
32 "ActiveActionStatus",
33 ),
34 ActionStatusType::CompletedActionStatus => serializer.serialize_unit_variant(
35 "ActionStatusType",
36 1u32,
37 "CompletedActionStatus",
38 ),
39 ActionStatusType::FailedActionStatus => serializer.serialize_unit_variant(
40 "ActionStatusType",
41 2u32,
42 "FailedActionStatus",
43 ),
44 ActionStatusType::PotentialActionStatus => serializer.serialize_unit_variant(
45 "ActionStatusType",
46 3u32,
47 "PotentialActionStatus",
48 ),
49 }
50 }
51 }
52 impl<'de> Deserialize<'de> for ActionStatusType {
53 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
54 where
55 D: Deserializer<'de>,
56 {
57 enum Field {
58 ActiveActionStatus,
59 CompletedActionStatus,
60 FailedActionStatus,
61 PotentialActionStatus,
62 }
63 struct FieldVisitor;
64 impl<'de> de::Visitor<'de> for FieldVisitor {
65 type Value = Field;
66 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
67 formatter.write_str("variant identifier")
68 }
69 fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
70 where
71 E: de::Error,
72 {
73 match value {
74 "ActiveActionStatus" => Ok(Field::ActiveActionStatus),
75 "CompletedActionStatus" => Ok(Field::CompletedActionStatus),
76 "FailedActionStatus" => Ok(Field::FailedActionStatus),
77 "PotentialActionStatus" => Ok(Field::PotentialActionStatus),
78 _ => Err(de::Error::unknown_variant(value, VARIANTS)),
79 }
80 }
81 fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
82 where
83 E: de::Error,
84 {
85 match value {
86 b"ActiveActionStatus" => Ok(Field::ActiveActionStatus),
87 b"CompletedActionStatus" => Ok(Field::CompletedActionStatus),
88 b"FailedActionStatus" => Ok(Field::FailedActionStatus),
89 b"PotentialActionStatus" => Ok(Field::PotentialActionStatus),
90 _ => {
91 let value = &String::from_utf8_lossy(value);
92 Err(de::Error::unknown_variant(value, VARIANTS))
93 }
94 }
95 }
96 }
97 impl<'de> Deserialize<'de> for Field {
98 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
99 where
100 D: Deserializer<'de>,
101 {
102 deserializer.deserialize_identifier(FieldVisitor)
103 }
104 }
105 struct EnumerationVisitor;
106 impl<'de> Visitor<'de> for EnumerationVisitor {
107 type Value = ActionStatusType;
108 fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
109 formatter.write_str("schema.org schema ActionStatusType")
110 }
111 fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
112 where
113 A: de::EnumAccess<'de>,
114 {
115 match de::EnumAccess::variant::<Field>(data)? {
116 (Field::ActiveActionStatus, variant) => {
117 de::VariantAccess::unit_variant(variant)?;
118 Ok(ActionStatusType::ActiveActionStatus)
119 }
120 (Field::CompletedActionStatus, variant) => {
121 de::VariantAccess::unit_variant(variant)?;
122 Ok(ActionStatusType::CompletedActionStatus)
123 }
124 (Field::FailedActionStatus, variant) => {
125 de::VariantAccess::unit_variant(variant)?;
126 Ok(ActionStatusType::FailedActionStatus)
127 }
128 (Field::PotentialActionStatus, variant) => {
129 de::VariantAccess::unit_variant(variant)?;
130 Ok(ActionStatusType::PotentialActionStatus)
131 }
132 }
133 }
134 }
135 const VARIANTS: &[&str] = &[
136 "ActiveActionStatus",
137 "CompletedActionStatus",
138 "FailedActionStatus",
139 "PotentialActionStatus",
140 ];
141 deserializer.deserialize_enum("ActionStatusType", VARIANTS, EnumerationVisitor)
142 }
143 }
144}