Skip to content

Commit a1b557b

Browse files
committed
ffi(client builder): reduce indent in build_with_qr_code using a let else statement
No functional changes.
1 parent b8fc5f4 commit a1b557b

File tree

1 file changed

+26
-29
lines changed

1 file changed

+26
-29
lines changed

bindings/matrix-sdk-ffi/src/client_builder.rs

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -571,41 +571,38 @@ impl ClientBuilder {
571571
oidc_configuration: &OidcConfiguration,
572572
progress_listener: Box<dyn QrLoginProgressListener>,
573573
) -> Result<Arc<Client>, HumanQrLoginError> {
574-
if let QrCodeModeData::Reciprocate { server_name } = &qr_code_data.inner.mode_data {
575-
let builder = self.server_name_or_homeserver_url(server_name.to_owned());
574+
let QrCodeModeData::Reciprocate { server_name } = &qr_code_data.inner.mode_data else {
575+
return Err(HumanQrLoginError::OtherDeviceNotSignedIn);
576+
};
576577

577-
let client = builder.build().await.map_err(|e| match e {
578-
ClientBuildError::SlidingSyncNotAvailable => {
579-
HumanQrLoginError::SlidingSyncNotAvailable
580-
}
581-
_ => {
582-
error!("Couldn't build the client {e:?}");
583-
HumanQrLoginError::Unknown
584-
}
585-
})?;
578+
let builder = self.server_name_or_homeserver_url(server_name.to_owned());
579+
580+
let client = builder.build().await.map_err(|e| match e {
581+
ClientBuildError::SlidingSyncNotAvailable => HumanQrLoginError::SlidingSyncNotAvailable,
582+
_ => {
583+
error!("Couldn't build the client {e:?}");
584+
HumanQrLoginError::Unknown
585+
}
586+
})?;
586587

587-
let client_metadata = oidc_configuration
588-
.try_into()
589-
.map_err(|_| HumanQrLoginError::OidcMetadataInvalid)?;
588+
let client_metadata =
589+
oidc_configuration.try_into().map_err(|_| HumanQrLoginError::OidcMetadataInvalid)?;
590590

591-
let oidc = client.inner.oidc();
592-
let login = oidc.login_with_qr_code(&qr_code_data.inner, client_metadata);
591+
let oidc = client.inner.oidc();
592+
let login = oidc.login_with_qr_code(&qr_code_data.inner, client_metadata);
593593

594-
let mut progress = login.subscribe_to_progress();
594+
let mut progress = login.subscribe_to_progress();
595595

596-
// We create this task, which will get cancelled once it's dropped, just in case
597-
// the progress stream doesn't end.
598-
let _progress_task = TaskHandle::new(RUNTIME.spawn(async move {
599-
while let Some(state) = progress.next().await {
600-
progress_listener.on_update(state.into());
601-
}
602-
}));
596+
// We create this task, which will get cancelled once it's dropped, just in case
597+
// the progress stream doesn't end.
598+
let _progress_task = TaskHandle::new(RUNTIME.spawn(async move {
599+
while let Some(state) = progress.next().await {
600+
progress_listener.on_update(state.into());
601+
}
602+
}));
603603

604-
login.await?;
604+
login.await?;
605605

606-
Ok(client)
607-
} else {
608-
Err(HumanQrLoginError::OtherDeviceNotSignedIn)
609-
}
606+
Ok(client)
610607
}
611608
}

0 commit comments

Comments
 (0)