Created
July 11, 2023 12:44
-
-
Save fraxinas/5b4e5d2a58b3b42cb6db5fc47830c6cc to your computer and use it in GitHub Desktop.
Expansion of generated code derived by serde_with::with_prefix! macro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// Available Asterisk 20 DialState fields, cf. https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+ManagerEvent_DialState | |
/// has the same exact fields as NewConnectedLine plus the same fields again for the destination plus 'DialStatus' | |
#[serde(rename_all = "camelCase")] | |
pub struct DialStateData { | |
#[serde(flatten)] | |
pub caller_state: AsteriskLineData, | |
#[serde(flatten, with = "prefix_dest")] | |
pub destination_state: AsteriskLineData, | |
pub dial_status: AsteriskDialStatus, | |
} | |
#[automatically_derived] | |
impl ::core::fmt::Debug for DialStateData { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
::core::fmt::Formatter::debug_struct_field3_finish( | |
f, | |
"DialStateData", | |
"caller_state", | |
&self.caller_state, | |
"destination_state", | |
&self.destination_state, | |
"dial_status", | |
&&self.dial_status, | |
) | |
} | |
} | |
#[doc(hidden)] | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _: () = { | |
#[allow(unused_extern_crates, clippy::useless_attribute)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for DialStateData { | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::__private::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
#[doc(hidden)] | |
enum __Field<'de> { | |
__field2, | |
__other(_serde::__private::de::Content<'de>), | |
} | |
#[doc(hidden)] | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field<'de>; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::__private::Formatter, | |
) -> _serde::__private::fmt::Result { | |
_serde::__private::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_bool<__E>( | |
self, | |
__value: bool, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::Bool(__value), | |
), | |
) | |
} | |
fn visit_i8<__E>( | |
self, | |
__value: i8, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other(_serde::__private::de::Content::I8(__value)), | |
) | |
} | |
fn visit_i16<__E>( | |
self, | |
__value: i16, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::I16(__value), | |
), | |
) | |
} | |
fn visit_i32<__E>( | |
self, | |
__value: i32, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::I32(__value), | |
), | |
) | |
} | |
fn visit_i64<__E>( | |
self, | |
__value: i64, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::I64(__value), | |
), | |
) | |
} | |
fn visit_u8<__E>( | |
self, | |
__value: u8, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other(_serde::__private::de::Content::U8(__value)), | |
) | |
} | |
fn visit_u16<__E>( | |
self, | |
__value: u16, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::U16(__value), | |
), | |
) | |
} | |
fn visit_u32<__E>( | |
self, | |
__value: u32, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::U32(__value), | |
), | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::U64(__value), | |
), | |
) | |
} | |
fn visit_f32<__E>( | |
self, | |
__value: f32, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::F32(__value), | |
), | |
) | |
} | |
fn visit_f64<__E>( | |
self, | |
__value: f64, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::F64(__value), | |
), | |
) | |
} | |
fn visit_char<__E>( | |
self, | |
__value: char, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other( | |
_serde::__private::de::Content::Char(__value), | |
), | |
) | |
} | |
fn visit_unit<__E>( | |
self, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
_serde::__private::Ok( | |
__Field::__other(_serde::__private::de::Content::Unit), | |
) | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"dialStatus" => _serde::__private::Ok(__Field::__field2), | |
_ => { | |
let __value = _serde::__private::de::Content::String( | |
_serde::__private::ToString::to_string(__value), | |
); | |
_serde::__private::Ok(__Field::__other(__value)) | |
} | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"dialStatus" => _serde::__private::Ok(__Field::__field2), | |
_ => { | |
let __value = _serde::__private::de::Content::ByteBuf( | |
__value.to_vec(), | |
); | |
_serde::__private::Ok(__Field::__other(__value)) | |
} | |
} | |
} | |
fn visit_borrowed_str<__E>( | |
self, | |
__value: &'de str, | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"dialStatus" => _serde::__private::Ok(__Field::__field2), | |
_ => { | |
let __value = _serde::__private::de::Content::Str(__value); | |
_serde::__private::Ok(__Field::__other(__value)) | |
} | |
} | |
} | |
fn visit_borrowed_bytes<__E>( | |
self, | |
__value: &'de [u8], | |
) -> _serde::__private::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"dialStatus" => _serde::__private::Ok(__Field::__field2), | |
_ => { | |
let __value = _serde::__private::de::Content::Bytes( | |
__value, | |
); | |
_serde::__private::Ok(__Field::__other(__value)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field<'de> { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::__private::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
#[doc(hidden)] | |
struct __Visitor<'de> { | |
marker: _serde::__private::PhantomData<DialStateData>, | |
lifetime: _serde::__private::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = DialStateData; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::__private::Formatter, | |
) -> _serde::__private::fmt::Result { | |
_serde::__private::Formatter::write_str( | |
__formatter, | |
"struct DialStateData", | |
) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::__private::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field2: _serde::__private::Option< | |
AsteriskDialStatus, | |
> = _serde::__private::None; | |
let mut __collect = _serde::__private::Vec::< | |
_serde::__private::Option< | |
( | |
_serde::__private::de::Content, | |
_serde::__private::de::Content, | |
), | |
>, | |
>::new(); | |
while let _serde::__private::Some(__key) | |
= match _serde::de::MapAccess::next_key::< | |
__Field, | |
>(&mut __map) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
} { | |
match __key { | |
__Field::__field2 => { | |
if _serde::__private::Option::is_some(&__field2) { | |
return _serde::__private::Err( | |
<__A::Error as _serde::de::Error>::duplicate_field( | |
"dialStatus", | |
), | |
); | |
} | |
__field2 = _serde::__private::Some( | |
match _serde::de::MapAccess::next_value::< | |
AsteriskDialStatus, | |
>(&mut __map) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}, | |
); | |
} | |
__Field::__other(__name) => { | |
__collect | |
.push( | |
_serde::__private::Some(( | |
__name, | |
match _serde::de::MapAccess::next_value(&mut __map) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}, | |
)), | |
); | |
} | |
} | |
} | |
let __field2 = match __field2 { | |
_serde::__private::Some(__field2) => __field2, | |
_serde::__private::None => { | |
match _serde::__private::de::missing_field("dialStatus") { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field0: AsteriskLineData = match _serde::de::Deserialize::deserialize( | |
_serde::__private::de::FlatMapDeserializer( | |
&mut __collect, | |
_serde::__private::PhantomData, | |
), | |
) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}; | |
let __field1: AsteriskLineData = match prefix_dest::deserialize( | |
_serde::__private::de::FlatMapDeserializer( | |
&mut __collect, | |
_serde::__private::PhantomData, | |
), | |
) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}; | |
_serde::__private::Ok(DialStateData { | |
caller_state: __field0, | |
destination_state: __field1, | |
dial_status: __field2, | |
}) | |
} | |
} | |
_serde::Deserializer::deserialize_map( | |
__deserializer, | |
__Visitor { | |
marker: _serde::__private::PhantomData::<DialStateData>, | |
lifetime: _serde::__private::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[doc(hidden)] | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _: () = { | |
#[allow(unused_extern_crates, clippy::useless_attribute)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for DialStateData { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::__private::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
let mut __serde_state = match _serde::Serializer::serialize_map( | |
__serializer, | |
_serde::__private::None, | |
) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}; | |
match _serde::Serialize::serialize( | |
&&self.caller_state, | |
_serde::__private::ser::FlatMapSerializer(&mut __serde_state), | |
) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}; | |
match _serde::Serialize::serialize( | |
&{ | |
#[doc(hidden)] | |
struct __SerializeWith<'__a> { | |
values: (&'__a AsteriskLineData,), | |
phantom: _serde::__private::PhantomData<DialStateData>, | |
} | |
impl<'__a> _serde::Serialize for __SerializeWith<'__a> { | |
fn serialize<__S>( | |
&self, | |
__s: __S, | |
) -> _serde::__private::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
prefix_dest::serialize(self.values.0, __s) | |
} | |
} | |
&__SerializeWith { | |
values: (&self.destination_state,), | |
phantom: _serde::__private::PhantomData::<DialStateData>, | |
} | |
}, | |
_serde::__private::ser::FlatMapSerializer(&mut __serde_state), | |
) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeMap::serialize_entry( | |
&mut __serde_state, | |
"dialStatus", | |
&self.dial_status, | |
) { | |
_serde::__private::Ok(__val) => __val, | |
_serde::__private::Err(__err) => { | |
return _serde::__private::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeMap::end(__serde_state) | |
} | |
} | |
}; | |
#[automatically_derived] | |
impl ::core::marker::StructuralPartialEq for DialStateData {} | |
#[automatically_derived] | |
impl ::core::cmp::PartialEq for DialStateData { | |
#[inline] | |
fn eq(&self, other: &DialStateData) -> bool { | |
self.caller_state == other.caller_state | |
&& self.destination_state == other.destination_state | |
&& self.dial_status == other.dial_status | |
} | |
} | |
#[automatically_derived] | |
impl ::core::clone::Clone for DialStateData { | |
#[inline] | |
fn clone(&self) -> DialStateData { | |
DialStateData { | |
caller_state: ::core::clone::Clone::clone(&self.caller_state), | |
destination_state: ::core::clone::Clone::clone(&self.destination_state), | |
dial_status: ::core::clone::Clone::clone(&self.dial_status), | |
} | |
} | |
} | |
#[automatically_derived] | |
impl ::core::default::Default for DialStateData { | |
#[inline] | |
fn default() -> DialStateData { | |
DialStateData { | |
caller_state: ::core::default::Default::default(), | |
destination_state: ::core::default::Default::default(), | |
dial_status: ::core::default::Default::default(), | |
} | |
} | |
} | |
const _: () = { | |
#[automatically_derived] | |
#[allow(unused_braces)] | |
impl schemars::JsonSchema for DialStateData { | |
fn schema_name() -> std::string::String { | |
"DialStateData".to_owned() | |
} | |
fn json_schema( | |
gen: &mut schemars::gen::SchemaGenerator, | |
) -> schemars::schema::Schema { | |
schemars::_private::apply_metadata( | |
{ | |
let mut schema_object = schemars::schema::SchemaObject { | |
instance_type: Some( | |
schemars::schema::InstanceType::Object.into(), | |
), | |
..Default::default() | |
}; | |
let object_validation = schema_object.object(); | |
{ | |
object_validation | |
.properties | |
.insert( | |
"dialStatus".to_owned(), | |
gen.subschema_for::<AsteriskDialStatus>(), | |
); | |
if !<AsteriskDialStatus as schemars::JsonSchema>::_schemars_private_is_option() { | |
object_validation.required.insert("dialStatus".to_owned()); | |
} | |
} | |
schemars::schema::Schema::Object(schema_object) | |
.flatten( | |
schemars::_private::json_schema_for_flatten::< | |
AsteriskLineData, | |
>(gen, false), | |
) | |
.flatten( | |
schemars::_private::json_schema_for_flatten::< | |
prefix_dest, | |
>(gen, false), | |
) | |
}, | |
schemars::schema::Metadata { | |
description: Some( | |
"Available Asterisk 20 DialState fields, cf. https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+ManagerEvent_DialState has the same exact fields as NewConnectedLine plus the same fields again for the destination plus 'DialStatus'" | |
.to_owned(), | |
), | |
..Default::default() | |
}, | |
) | |
} | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment