ruma_client_api: Simplify Response::init_fields
This commit is contained in:
parent
af7333203a
commit
b6394a32b7
@ -35,21 +35,18 @@ impl Response {
|
||||
|
||||
/// Produces code for a response struct initializer.
|
||||
pub fn init_fields(&self) -> TokenStream {
|
||||
let fields = self.fields.iter().map(|response_field| match response_field {
|
||||
ResponseField::Body(field) => {
|
||||
let field_name =
|
||||
field.ident.as_ref().expect("expected field to have an identifier");
|
||||
let fields = self.fields.iter().map(|response_field| {
|
||||
let field = response_field.field();
|
||||
let field_name = field.ident.as_ref().expect("expected field to have an identifier");
|
||||
let span = field.span();
|
||||
|
||||
match response_field {
|
||||
ResponseField::Body(_) => {
|
||||
quote_spanned! {span=>
|
||||
#field_name: response_body.#field_name
|
||||
}
|
||||
}
|
||||
ResponseField::Header(field, header_name) => {
|
||||
let field_name =
|
||||
field.ident.as_ref().expect("expected field to have an identifier");
|
||||
let span = field.span();
|
||||
|
||||
ResponseField::Header(_, header_name) => {
|
||||
quote_spanned! {span=>
|
||||
#field_name: headers.remove(ruma_api::exports::http::header::#header_name)
|
||||
.expect("response missing expected header")
|
||||
@ -58,15 +55,12 @@ impl Response {
|
||||
.to_owned()
|
||||
}
|
||||
}
|
||||
ResponseField::NewtypeBody(field) => {
|
||||
let field_name =
|
||||
field.ident.as_ref().expect("expected field to have an identifier");
|
||||
let span = field.span();
|
||||
|
||||
ResponseField::NewtypeBody(_) => {
|
||||
quote_spanned! {span=>
|
||||
#field_name: response_body.0
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
quote! {
|
||||
|
Loading…
x
Reference in New Issue
Block a user