aws_sdk_appsync/protocol_serde/
shape_additional_authentication_providers.rs1pub(crate) fn de_additional_authentication_providers<'a, I>(
3 tokens: &mut ::std::iter::Peekable<I>,
4) -> ::std::result::Result<
5 Option<::std::vec::Vec<crate::types::AdditionalAuthenticationProvider>>,
6 ::aws_smithy_json::deserialize::error::DeserializeError,
7>
8where
9 I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
10{
11 match tokens.next().transpose()? {
12 Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
13 Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
14 let mut items = Vec::new();
15 loop {
16 match tokens.peek() {
17 Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
18 tokens.next().transpose().unwrap();
19 break;
20 }
21 _ => {
22 let value = crate::protocol_serde::shape_additional_authentication_provider::de_additional_authentication_provider(tokens)?;
23 if let Some(value) = value {
24 items.push(value);
25 }
26 }
27 }
28 }
29 Ok(Some(items))
30 }
31 _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
32 "expected start array or null",
33 )),
34 }
35}