AuthProvider<U extends AuthUser> constructor

AuthProvider<U extends AuthUser>({
  1. required Future<U> userBuilder(
    1. User user
    ),
  2. TosAndPrivacyPolicy? policy,
  3. List<AuthUiProvider>? providers,
  4. FirebaseAuth? authInstance,
})

Implementation

AuthProvider({
  required this.userBuilder,
  TosAndPrivacyPolicy? policy,
  List<AuthUiProvider>? providers,
  FirebaseAuth? authInstance,
})  : _authInstance = authInstance ?? FirebaseAuth.instance,
      _authProviders = providers ?? [AuthUiProvider.phone],
      _tosAndPrivacyPolicy = policy ??
          const TosAndPrivacyPolicy(
            tosUrl: "https://www.google.com",
            privacyPolicyUrl: "https://www.google.com",
          ) {
  _cancle = _authInstance.userChanges().listen((user) async {
    if (user != null) {
      try {
        _user = await userBuilder(user);
      } catch (_) {
        _user = null;
      }
    }
    _loading = false;
    notifyListeners();
  }).cancel;
}