// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. pub(crate) fn de_batch_get_link_attributes_response<'a, I>( tokens: &mut ::std::iter::Peekable, ) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> where I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, { match tokens.next().transpose()? { Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { #[allow(unused_mut)] let mut builder = crate::types::builders::BatchGetLinkAttributesResponseBuilder::default(); loop { match tokens.next().transpose()? { Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { "Attributes" => { builder = builder .set_attributes(crate::protocol_serde::shape_attribute_key_and_value_list::de_attribute_key_and_value_list(tokens)?); } _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, }, other => { return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( "expected object key or end object, found: {:?}", other ))) } } } Ok(Some(builder.build())) } _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( "expected start object or null", )), } }