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