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
					
				
					 1 changed files with 9 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -22,7 +22,6 @@ fn main() -> eyre::Result<()> {
 | 
			
		|||
 | 
			
		||||
    s.push_str("use structs::*;\n");
 | 
			
		||||
    s.push_str("pub mod structs {\n");
 | 
			
		||||
    s.push_str("use std::fmt::Write;\n");
 | 
			
		||||
    if let Some(definitions) = &spec.definitions {
 | 
			
		||||
        for (name, schema) in definitions {
 | 
			
		||||
            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 imp = String::new();
 | 
			
		||||
    imp.push_str("let mut s = String::new();\n");
 | 
			
		||||
    for param in params {
 | 
			
		||||
        let param = match ¶m {
 | 
			
		||||
            MaybeRef::Value { value } => value,
 | 
			
		||||
| 
						 | 
				
			
			@ -928,11 +926,11 @@ fn create_query_struct(spec: &OpenApiV2, path: &str, op: &Operation) -> eyre::Re
 | 
			
		|||
                .as_ref()
 | 
			
		||||
                .ok_or_else(|| eyre::eyre!("no type provided for query field"))?;
 | 
			
		||||
            if required {
 | 
			
		||||
                writeln!(&mut handler, "let {field_name} = self.{field_name};")?;
 | 
			
		||||
                writeln!(&mut handler, "let {field_name} = &self.{field_name};")?;
 | 
			
		||||
            } else {
 | 
			
		||||
                writeln!(
 | 
			
		||||
                    &mut handler,
 | 
			
		||||
                    "if let Some({field_name}) = self.{field_name} {{"
 | 
			
		||||
                    "if let Some({field_name}) = &self.{field_name} {{"
 | 
			
		||||
                )?;
 | 
			
		||||
            }
 | 
			
		||||
            match ty {
 | 
			
		||||
| 
						 | 
				
			
			@ -947,15 +945,16 @@ fn create_query_struct(spec: &OpenApiV2, path: &str, op: &Operation) -> eyre::Re
 | 
			
		|||
                        writeln!(
 | 
			
		||||
                            &mut handler,
 | 
			
		||||
                            "write!(f, \"{}={{{}}}&\")?;",
 | 
			
		||||
                            param.name, field_name
 | 
			
		||||
                            param.name, field_name.strip_prefix("r#").unwrap_or(&field_name)
 | 
			
		||||
                        )?;
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                ParameterType::Number | ParameterType::Integer | ParameterType::Boolean => {
 | 
			
		||||
                    writeln!(
 | 
			
		||||
                        &mut handler,
 | 
			
		||||
                        "write!(f, \"{}={{{field_name}}}&\")?;",
 | 
			
		||||
                        param.name
 | 
			
		||||
                        "write!(f, \"{}={{{}}}&\")?;",
 | 
			
		||||
                        param.name,
 | 
			
		||||
                        field_name.strip_prefix("r#").unwrap_or(&field_name)
 | 
			
		||||
                    )?;
 | 
			
		||||
                }
 | 
			
		||||
                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)?;
 | 
			
		||||
                            handler.push_str(item_pusher);
 | 
			
		||||
                            handler.push('\n');
 | 
			
		||||
                            writeln!(&mut handler, "write!(f, '&')?;")?;
 | 
			
		||||
                            writeln!(&mut handler, "write!(f, \"&\")?;")?;
 | 
			
		||||
                            writeln!(&mut handler, "}}")?;
 | 
			
		||||
                            writeln!(&mut handler, "}}")?;
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			@ -1083,10 +1082,10 @@ if !{name}.is_empty() {{
 | 
			
		|||
    for (item, i) in {name}.iter().enumerate() {{
 | 
			
		||||
        {item_pusher}
 | 
			
		||||
        if i < {name}.len() - 1 {{
 | 
			
		||||
            write!(f, '{sep}')?;
 | 
			
		||||
            write!(f, \"{sep}\")?;
 | 
			
		||||
        }}
 | 
			
		||||
    }}
 | 
			
		||||
    write!(f, '&')?;
 | 
			
		||||
    write!(f, \"&\")?;
 | 
			
		||||
}}",
 | 
			
		||||
        param.name
 | 
			
		||||
    )?;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue