format code
This commit is contained in:
@@ -1,11 +1,6 @@
|
||||
|
||||
use proc_macro2::{Ident, Span, TokenStream};
|
||||
|
||||
|
||||
pub fn enclose_formatted_characters(
|
||||
label: &Ident,
|
||||
label_name: String
|
||||
) -> TokenStream {
|
||||
pub fn enclose_formatted_characters(label: &Ident, label_name: String) -> TokenStream {
|
||||
quote! {
|
||||
let start_event = XmlEvent::start_element(#label_name);
|
||||
let _ret = writer.write(start_event);
|
||||
@@ -19,10 +14,7 @@ pub fn enclose_formatted_characters(
|
||||
}
|
||||
}
|
||||
|
||||
pub fn enclose_formatted_characters_for_value(
|
||||
label: &Ident,
|
||||
label_name: String
|
||||
) -> TokenStream {
|
||||
pub fn enclose_formatted_characters_for_value(label: &Ident, label_name: String) -> TokenStream {
|
||||
quote! {
|
||||
let start_event = XmlEvent::start_element(#label_name);
|
||||
let _ret = writer.write(start_event);
|
||||
@@ -36,10 +28,7 @@ pub fn enclose_formatted_characters_for_value(
|
||||
}
|
||||
}
|
||||
|
||||
pub fn enclose_characters(
|
||||
label: &Option<Ident>,
|
||||
label_name: String
|
||||
) -> TokenStream {
|
||||
pub fn enclose_characters(label: &Option<Ident>, label_name: String) -> TokenStream {
|
||||
quote! {
|
||||
let start_event = XmlEvent::start_element(#label_name);
|
||||
let _ret = writer.write(start_event);
|
||||
@@ -57,7 +46,7 @@ pub fn serialize_element(
|
||||
label: &Option<Ident>,
|
||||
label_name: String,
|
||||
default: &Option<String>,
|
||||
) -> Option<TokenStream> {
|
||||
) -> Option<TokenStream> {
|
||||
let inner = enclose_characters(label, label_name);
|
||||
|
||||
if let Some(ref d) = default {
|
||||
|
||||
@@ -79,7 +79,7 @@ pub fn serialize(
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
Some(FieldType::FieldTypeOption { data_type }) => {
|
||||
let dt = Box::into_raw(data_type);
|
||||
match unsafe { dt.as_ref() } {
|
||||
@@ -108,7 +108,7 @@ pub fn serialize(
|
||||
};
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
Some(&FieldType::FieldTypeBool)
|
||||
| Some(&FieldType::FieldTypeI8)
|
||||
| Some(&FieldType::FieldTypeU8)
|
||||
@@ -160,7 +160,7 @@ pub fn serialize(
|
||||
};
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
Some(&FieldType::FieldTypeVec { .. }) => {
|
||||
let item_ident = Ident::new("yas_item", Span::call_site());
|
||||
let inner = enclose_formatted_characters(&item_ident, label_name);
|
||||
@@ -184,7 +184,7 @@ pub fn serialize(
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
_ => unimplemented!(),
|
||||
}
|
||||
}
|
||||
@@ -228,7 +228,7 @@ pub fn serialize(
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
})
|
||||
@@ -293,8 +293,9 @@ pub fn serialize(
|
||||
| Some(FieldType::FieldTypeI64)
|
||||
| Some(FieldType::FieldTypeU64)
|
||||
| Some(FieldType::FieldTypeF32)
|
||||
| Some(FieldType::FieldTypeF64) =>
|
||||
serialize_element(label, label_name, &field_attrs.default),
|
||||
| Some(FieldType::FieldTypeF64) => {
|
||||
serialize_element(label, label_name, &field_attrs.default)
|
||||
}
|
||||
Some(FieldType::FieldTypeOption { data_type }) => {
|
||||
let dt = Box::into_raw(data_type);
|
||||
match unsafe { dt.as_ref() } {
|
||||
@@ -330,7 +331,7 @@ pub fn serialize(
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
Some(&FieldType::FieldTypeVec { .. }) => {
|
||||
let item_ident = Ident::new("yas_item", Span::call_site());
|
||||
let inner = enclose_formatted_characters_for_value(&item_ident, label_name);
|
||||
@@ -356,7 +357,7 @@ pub fn serialize(
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
Some(&FieldType::FieldTypeStruct { .. }) => Some(quote! {
|
||||
if let Some(ref item) = &self.#label {
|
||||
writer.set_start_event_name(Some(#label_name.to_string()));
|
||||
@@ -416,7 +417,7 @@ pub fn serialize(
|
||||
#inner
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
Some(&FieldType::FieldTypeBool)
|
||||
| Some(&FieldType::FieldTypeI8)
|
||||
| Some(&FieldType::FieldTypeU8)
|
||||
@@ -436,7 +437,7 @@ pub fn serialize(
|
||||
#inner
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
Some(&FieldType::FieldTypeOption { .. }) => Some(quote! {
|
||||
for item in &self.#label {
|
||||
if let Some(value) = item {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
pub mod element;
|
||||
pub mod expand_enum;
|
||||
pub mod expand_struct;
|
||||
|
||||
Reference in New Issue
Block a user