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<UserState> mapEventToState(
UserEvent event,
) async* {
if (event is UserProfileFetchEvent) {
emit(UserProfileLoading());
final localUser = await sessionManager.getCurrentUser();
if (localUser != null) {
emit(UserProfileLoadSuccess(user: localUser));
}
final response = await controller.getUserProfile();
if (response.ok && response.response != null) {
emit(UserProfileLoadSuccess(user: response.response!));
return;
}
emit(UserProfileLoadFailure(
message: response.message ?? 'An Unknown Error Occurred.'));
}
if (event is UserProfileUpdateEvent) {
yield UserInformationUpdating();
final result = await controller.userInformationUpdate(
model: event.userModel, token: event.token);
if (result.ok) {
yield UserInformationUpdateSuccess(phone: result.data?.phone ?? '');
return;
}
yield UserInformationUpdateFailure(
message: result.message ?? 'An unknown error occurred.');
}
}