fn create_sources()

in sdk/identity/azure_identity/src/credentials/default_azure_credentials.rs [79:123]


    fn create_sources(
        &self,
        included: &Vec<DefaultAzureCredentialType>,
    ) -> azure_core::Result<Vec<DefaultAzureCredentialKind>> {
        #[cfg_attr(target_arch = "wasm32", allow(unused_mut))]
        let mut sources = Vec::<DefaultAzureCredentialKind>::with_capacity(included.len());
        let errors = Vec::new();

        #[cfg_attr(target_arch = "wasm32", allow(clippy::never_loop))]
        for source in included {
            match source {
                #[cfg(not(target_arch = "wasm32"))]
                DefaultAzureCredentialType::AzureCli => {
                    if let Ok(credential) =
                        AzureCliCredential::new(Some(self.options.clone().into()))
                    {
                        sources.push(DefaultAzureCredentialKind::AzureCli(credential));
                    }
                }
                #[cfg(not(target_arch = "wasm32"))]
                DefaultAzureCredentialType::AzureDeveloperCli => {
                    if let Ok(credential) =
                        AzureDeveloperCliCredential::new(Some(self.options.clone().into()))
                    {
                        sources.push(DefaultAzureCredentialKind::AzureDeveloperCli(credential));
                    }
                }
                #[cfg(target_arch = "wasm32")]
                _ => {
                    return Err(Error::with_message(ErrorKind::Credential, || {
                        "No credential providers available"
                    }));
                }
            }
        }
        if sources.is_empty() {
            return Err(Error::with_message(ErrorKind::Credential, || {
                format!(
                    "No credential sources were available to be used for authentication.\n{}",
                    format_aggregate_error(&errors)
                )
            }));
        }
        Ok(sources)
    }