I am using flutter and firebase for my app. I don't know why I am getting error in below code. With degrade version of flutter(Without null safety) it is working fine but after migrating over null safety, I am facing problem here.
class AuthenticationService {
final FirebaseAuth firebaseAuth = FirebaseAuth.instance;
final firebaseUser = FirebaseAuth.instance.currentUser;
users.User? _userFromFirebase(User user){
return user != null ? users.User(id: user.uid, email: user.email):null;
}
User? user() {
firebaseAuth.authStateChanges().listen((User? user) {
if(user == null){
return null;
} else {
return user; //I am getting error here in return statement
}
});
}
Future loginWithEmail({required String email, required String password}) async {
try{
UserCredential result = await firebaseAuth.signInWithEmailAndPassword(email: email, password: password);
User? user = result.user;
return _userFromFirebase(user!);
} catch (e) {
return e.toString();
}
}
Future register({required String email, required String password}) async {
try{
UserCredential result = await firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
User? user = result.user;
return _userFromFirebase(user!);
} catch (e) {
return e.toString();
}
}
}
In User? user(){}
method, I am getting error in return statement. Can anyone have idea about it??
I think some small mistake is there which I am not able to identifying it.
The error is :
Error: Can't return a value from a void function.