mapEventToState method
@Deprecated - Use on
Must be implemented when a class extends Bloc
.
mapEventToState is called whenever an event
is added
and is responsible for converting that event
into a new state.
mapEventToState can yield
zero, one, or multiple states for an event.
Implementation
@override
Stream<LoginState> mapEventToState(
LoginEvent event,
) async* {
if (event is LoginButtonTapEvent) {
yield LoginLoadingState();
try {
final response = await controller.authLogin(
email: event.email, password: event.password);
if (response.ok) {
final localUser = await sessionManager.getCurrentUser();
if (response.user?.id != localUser?.id) {
await sessionManager.clearBiometrics();
}
yield LoginSuccessState(response);
return;
}
yield LoginFailureState(errorMessage: response.message!);
} catch (e) {
yield LoginFailureState(errorMessage: e.toString());
}
}
}