schema_org_types/schemas/properties/
experience_in_place_of_education.rs1use super::*;
2#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5pub enum ExperienceInPlaceOfEducationProperty {
6 Boolean(Boolean),
8 #[cfg(any(all(feature = "fallible", feature = "serde"), doc))]
9 SerdeFail(crate::fallible::FailValue),
10}
11#[cfg(feature = "serde")]
12mod serde {
13 use std::{fmt, fmt::Formatter};
14
15 use ::serde::{
16 de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
17 };
18
19 use super::*;
20 impl Serialize for ExperienceInPlaceOfEducationProperty {
21 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
22 where
23 S: Serializer,
24 {
25 match *self {
26 ExperienceInPlaceOfEducationProperty::Boolean(ref inner) => {
27 inner.serialize(serializer)
28 }
29 #[cfg(all(feature = "fallible", feature = "serde"))]
30 ExperienceInPlaceOfEducationProperty::SerdeFail(ref inner) => inner.serialize(serializer),
31 }
32 }
33 }
34 impl<'de> Deserialize<'de> for ExperienceInPlaceOfEducationProperty {
35 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
36 where
37 D: Deserializer<'de>,
38 {
39 let content =
40 <::serde::__private::de::Content as Deserialize>::deserialize(deserializer)?;
41 let deserializer =
42 ::serde::__private::de::ContentRefDeserializer::<D::Error>::new(&content);
43 if let Ok(ok) = Result::map(
44 <Boolean as Deserialize>::deserialize(deserializer),
45 ExperienceInPlaceOfEducationProperty::Boolean,
46 ) {
47 return Ok(ok);
48 }
49 #[cfg(all(feature = "fallible", feature = "serde"))]
50 if let Ok(ok) = Result::map(
51 <crate::fallible::FailValue as Deserialize>::deserialize(deserializer),
52 ExperienceInPlaceOfEducationProperty::SerdeFail,
53 ) {
54 return Ok(ok);
55 }
56 #[cfg(all(feature = "fallible", feature = "serde"))]
57 const CUSTOM_ERROR: &str = "data did neither match any variant of schema.org property experienceInPlaceOfEducation or was able to be deserialized into a generic value";
58 #[cfg(any(not(feature = "fallible"), not(feature = "serde")))]
59 const CUSTOM_ERROR: &str = "data did not match any variant of schema.org property experienceInPlaceOfEducation";
60 Err(de::Error::custom(CUSTOM_ERROR))
61 }
62 }
63}