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