fix errors/warnings in generated code
remove import of `Write` remove now unused output string in display impls access query fields by reference remove `r#` in vars accessed in format strings replace char literals in write macros with strings
This commit is contained in:
parent
bcfe3e1e6c
commit
48eee70c88
|
@ -22,7 +22,6 @@ fn main() -> eyre::Result<()> {
|
||||||
|
|
||||||
s.push_str("use structs::*;\n");
|
s.push_str("use structs::*;\n");
|
||||||
s.push_str("pub mod structs {\n");
|
s.push_str("pub mod structs {\n");
|
||||||
s.push_str("use std::fmt::Write;\n");
|
|
||||||
if let Some(definitions) = &spec.definitions {
|
if let Some(definitions) = &spec.definitions {
|
||||||
for (name, schema) in definitions {
|
for (name, schema) in definitions {
|
||||||
let strukt = create_struct_for_definition(&spec, name, schema)?;
|
let strukt = create_struct_for_definition(&spec, name, schema)?;
|
||||||
|
@ -900,7 +899,6 @@ fn create_query_struct(spec: &OpenApiV2, path: &str, op: &Operation) -> eyre::Re
|
||||||
|
|
||||||
let mut fields = String::new();
|
let mut fields = String::new();
|
||||||
let mut imp = String::new();
|
let mut imp = String::new();
|
||||||
imp.push_str("let mut s = String::new();\n");
|
|
||||||
for param in params {
|
for param in params {
|
||||||
let param = match ¶m {
|
let param = match ¶m {
|
||||||
MaybeRef::Value { value } => value,
|
MaybeRef::Value { value } => value,
|
||||||
|
@ -928,11 +926,11 @@ fn create_query_struct(spec: &OpenApiV2, path: &str, op: &Operation) -> eyre::Re
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.ok_or_else(|| eyre::eyre!("no type provided for query field"))?;
|
.ok_or_else(|| eyre::eyre!("no type provided for query field"))?;
|
||||||
if required {
|
if required {
|
||||||
writeln!(&mut handler, "let {field_name} = self.{field_name};")?;
|
writeln!(&mut handler, "let {field_name} = &self.{field_name};")?;
|
||||||
} else {
|
} else {
|
||||||
writeln!(
|
writeln!(
|
||||||
&mut handler,
|
&mut handler,
|
||||||
"if let Some({field_name}) = self.{field_name} {{"
|
"if let Some({field_name}) = &self.{field_name} {{"
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
match ty {
|
match ty {
|
||||||
|
@ -947,15 +945,16 @@ fn create_query_struct(spec: &OpenApiV2, path: &str, op: &Operation) -> eyre::Re
|
||||||
writeln!(
|
writeln!(
|
||||||
&mut handler,
|
&mut handler,
|
||||||
"write!(f, \"{}={{{}}}&\")?;",
|
"write!(f, \"{}={{{}}}&\")?;",
|
||||||
param.name, field_name
|
param.name, field_name.strip_prefix("r#").unwrap_or(&field_name)
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ParameterType::Number | ParameterType::Integer | ParameterType::Boolean => {
|
ParameterType::Number | ParameterType::Integer | ParameterType::Boolean => {
|
||||||
writeln!(
|
writeln!(
|
||||||
&mut handler,
|
&mut handler,
|
||||||
"write!(f, \"{}={{{field_name}}}&\")?;",
|
"write!(f, \"{}={{{}}}&\")?;",
|
||||||
param.name
|
param.name,
|
||||||
|
field_name.strip_prefix("r#").unwrap_or(&field_name)
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
ParameterType::Array => {
|
ParameterType::Array => {
|
||||||
|
@ -1025,7 +1024,7 @@ fn create_query_struct(spec: &OpenApiV2, path: &str, op: &Operation) -> eyre::Re
|
||||||
writeln!(&mut handler, "write!(f, \"{}=\")?;", param.name)?;
|
writeln!(&mut handler, "write!(f, \"{}=\")?;", param.name)?;
|
||||||
handler.push_str(item_pusher);
|
handler.push_str(item_pusher);
|
||||||
handler.push('\n');
|
handler.push('\n');
|
||||||
writeln!(&mut handler, "write!(f, '&')?;")?;
|
writeln!(&mut handler, "write!(f, \"&\")?;")?;
|
||||||
writeln!(&mut handler, "}}")?;
|
writeln!(&mut handler, "}}")?;
|
||||||
writeln!(&mut handler, "}}")?;
|
writeln!(&mut handler, "}}")?;
|
||||||
}
|
}
|
||||||
|
@ -1083,10 +1082,10 @@ if !{name}.is_empty() {{
|
||||||
for (item, i) in {name}.iter().enumerate() {{
|
for (item, i) in {name}.iter().enumerate() {{
|
||||||
{item_pusher}
|
{item_pusher}
|
||||||
if i < {name}.len() - 1 {{
|
if i < {name}.len() - 1 {{
|
||||||
write!(f, '{sep}')?;
|
write!(f, \"{sep}\")?;
|
||||||
}}
|
}}
|
||||||
}}
|
}}
|
||||||
write!(f, '&')?;
|
write!(f, \"&\")?;
|
||||||
}}",
|
}}",
|
||||||
param.name
|
param.name
|
||||||
)?;
|
)?;
|
||||||
|
|
Loading…
Reference in a new issue