fix clippy feedbacks and format code
This commit is contained in:
parent
943abf4296
commit
2b701262ac
@ -12,17 +12,18 @@ pub fn to_string<T: YaSerialize>(model: &T) -> Result<String, String> {
|
|||||||
Ok(String::from(data))
|
Ok(String::from(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_string_with_config<T: YaSerialize>(
|
pub fn to_string_with_config<T: YaSerialize>(model: &T, config: &Config) -> Result<String, String> {
|
||||||
model: &T,
|
|
||||||
config: &Config,
|
|
||||||
) -> Result<String, String> {
|
|
||||||
let buf = Cursor::new(Vec::new());
|
let buf = Cursor::new(Vec::new());
|
||||||
let cursor = serialize_with_writer(model, buf, config)?;
|
let cursor = serialize_with_writer(model, buf, config)?;
|
||||||
let data = str::from_utf8(cursor.get_ref()).expect("Found invalid UTF-8");
|
let data = str::from_utf8(cursor.get_ref()).expect("Found invalid UTF-8");
|
||||||
Ok(String::from(data))
|
Ok(String::from(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn serialize_with_writer<W: Write, T: YaSerialize>(model: &T, writer: W, _config: &Config) -> Result<W, String> {
|
pub fn serialize_with_writer<W: Write, T: YaSerialize>(
|
||||||
|
model: &T,
|
||||||
|
writer: W,
|
||||||
|
_config: &Config,
|
||||||
|
) -> Result<W, String> {
|
||||||
let mut serializer = Serializer::new_from_writer(writer);
|
let mut serializer = Serializer::new_from_writer(writer);
|
||||||
match model.serialize(&mut serializer) {
|
match model.serialize(&mut serializer) {
|
||||||
Ok(()) => Ok(serializer.into_inner()),
|
Ok(()) => Ok(serializer.into_inner()),
|
||||||
@ -112,10 +113,10 @@ pub struct Config {
|
|||||||
|
|
||||||
impl Default for Config {
|
impl Default for Config {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Config{
|
Config {
|
||||||
perform_indent: false,
|
perform_indent: false,
|
||||||
write_document_declaration: true,
|
write_document_declaration: true,
|
||||||
indent_string: None
|
indent_string: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -396,14 +396,12 @@ pub fn parse(
|
|||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
let label_name = if let Some(value) = field_attrs.rename {
|
let label_name = if let Some(ref value) = field_attrs.rename {
|
||||||
Ident::new(&value.to_string(), Span::call_site()).to_string()
|
Ident::new(&value.to_string(), Span::call_site()).to_string()
|
||||||
} else {
|
} else {
|
||||||
field.ident.clone().unwrap().to_string()
|
field.ident.clone().unwrap().to_string()
|
||||||
};
|
};
|
||||||
|
|
||||||
let visitor_label = Ident::new(&format!("__Visitor{}", label_name), Span::call_site());
|
|
||||||
|
|
||||||
match get_field_type(field) {
|
match get_field_type(field) {
|
||||||
Some(FieldType::FieldTypeString) => {
|
Some(FieldType::FieldTypeString) => {
|
||||||
let visitor = Ident::new("visit_str", Span::call_site());
|
let visitor = Ident::new("visit_str", Span::call_site());
|
||||||
@ -411,10 +409,8 @@ pub fn parse(
|
|||||||
"e! {String},
|
"e! {String},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -424,10 +420,8 @@ pub fn parse(
|
|||||||
"e! {bool},
|
"e! {bool},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -437,10 +431,8 @@ pub fn parse(
|
|||||||
"e! {i8},
|
"e! {i8},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -450,10 +442,8 @@ pub fn parse(
|
|||||||
"e! {u8},
|
"e! {u8},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -463,10 +453,8 @@ pub fn parse(
|
|||||||
"e! {u16},
|
"e! {u16},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -476,10 +464,8 @@ pub fn parse(
|
|||||||
"e! {i16},
|
"e! {i16},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -489,10 +475,8 @@ pub fn parse(
|
|||||||
"e! {u32},
|
"e! {u32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -502,10 +486,8 @@ pub fn parse(
|
|||||||
"e! {i32},
|
"e! {i32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -515,10 +497,8 @@ pub fn parse(
|
|||||||
"e! {u64},
|
"e! {u64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -528,10 +508,8 @@ pub fn parse(
|
|||||||
"e! {i64},
|
"e! {i64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -541,10 +519,8 @@ pub fn parse(
|
|||||||
"e! {f32},
|
"e! {f32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -554,10 +530,8 @@ pub fn parse(
|
|||||||
"e! {f64},
|
"e! {f64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= value},
|
"e! {= value},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -584,10 +558,8 @@ pub fn parse(
|
|||||||
"e! {String},
|
"e! {String},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -597,10 +569,8 @@ pub fn parse(
|
|||||||
"e! {bool},
|
"e! {bool},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -610,10 +580,8 @@ pub fn parse(
|
|||||||
"e! {u8},
|
"e! {u8},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -623,10 +591,8 @@ pub fn parse(
|
|||||||
"e! {i8},
|
"e! {i8},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -636,10 +602,8 @@ pub fn parse(
|
|||||||
"e! {u16},
|
"e! {u16},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -649,10 +613,8 @@ pub fn parse(
|
|||||||
"e! {i16},
|
"e! {i16},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -662,10 +624,8 @@ pub fn parse(
|
|||||||
"e! {u32},
|
"e! {u32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -675,10 +635,8 @@ pub fn parse(
|
|||||||
"e! {i32},
|
"e! {i32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -688,10 +646,8 @@ pub fn parse(
|
|||||||
"e! {u64},
|
"e! {u64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -701,10 +657,8 @@ pub fn parse(
|
|||||||
"e! {i64},
|
"e! {i64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -714,10 +668,8 @@ pub fn parse(
|
|||||||
"e! {f32},
|
"e! {f32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -727,10 +679,8 @@ pub fn parse(
|
|||||||
"e! {f64},
|
"e! {f64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {= Some(value)},
|
"e! {= Some(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -763,10 +713,8 @@ pub fn parse(
|
|||||||
"e! {String},
|
"e! {String},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -776,10 +724,8 @@ pub fn parse(
|
|||||||
"e! {bool},
|
"e! {bool},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -789,10 +735,8 @@ pub fn parse(
|
|||||||
"e! {i8},
|
"e! {i8},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -802,10 +746,8 @@ pub fn parse(
|
|||||||
"e! {u8},
|
"e! {u8},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -815,10 +757,8 @@ pub fn parse(
|
|||||||
"e! {i16},
|
"e! {i16},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -828,10 +768,8 @@ pub fn parse(
|
|||||||
"e! {u16},
|
"e! {u16},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -841,10 +779,8 @@ pub fn parse(
|
|||||||
"e! {i32},
|
"e! {i32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -854,10 +790,8 @@ pub fn parse(
|
|||||||
"e! {u32},
|
"e! {u32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -867,10 +801,8 @@ pub fn parse(
|
|||||||
"e! {i64},
|
"e! {i64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -880,10 +812,8 @@ pub fn parse(
|
|||||||
"e! {u64},
|
"e! {u64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -893,10 +823,8 @@ pub fn parse(
|
|||||||
"e! {f32},
|
"e! {f32},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -906,10 +834,8 @@ pub fn parse(
|
|||||||
"e! {f64},
|
"e! {f64},
|
||||||
&visitor,
|
&visitor,
|
||||||
"e! {.push(value)},
|
"e! {.push(value)},
|
||||||
&visitor_label,
|
&field_attrs,
|
||||||
label,
|
label,
|
||||||
&label_name,
|
|
||||||
&field_attrs.prefix,
|
|
||||||
&namespaces,
|
&namespaces,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -1354,17 +1280,25 @@ fn build_call_visitor(
|
|||||||
field_type: &TokenStream,
|
field_type: &TokenStream,
|
||||||
visitor: &Ident,
|
visitor: &Ident,
|
||||||
action: &TokenStream,
|
action: &TokenStream,
|
||||||
visitor_label: &Ident,
|
field_attrs: &YaSerdeAttribute,
|
||||||
label: &Option<Ident>,
|
label: &Option<Ident>,
|
||||||
label_name: &str,
|
|
||||||
prefix: &Option<String>,
|
|
||||||
namespaces: &BTreeMap<String, String>,
|
namespaces: &BTreeMap<String, String>,
|
||||||
) -> Option<TokenStream> {
|
) -> Option<TokenStream> {
|
||||||
|
let prefix = field_attrs.prefix.clone();
|
||||||
|
|
||||||
|
// let label = &field.ident;
|
||||||
|
let label_name = if let Some(ref value) = field_attrs.rename {
|
||||||
|
Ident::new(&value.to_string(), Span::call_site()).to_string()
|
||||||
|
} else {
|
||||||
|
label.clone().unwrap().to_string()
|
||||||
|
};
|
||||||
|
let visitor_label = Ident::new(&format!("__Visitor{}", label_name), Span::call_site());
|
||||||
|
|
||||||
let namespaces_matches: TokenStream = namespaces
|
let namespaces_matches: TokenStream = namespaces
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(p, ns)| {
|
.map(|(p, ns)| {
|
||||||
let str_ns = ns.as_str();
|
let str_ns = ns.as_str();
|
||||||
if *prefix == Some(p.to_string()) {
|
if prefix == Some(p.to_string()) {
|
||||||
Some(quote!(#str_ns => {}))
|
Some(quote!(#str_ns => {}))
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user