FirebaseAuthDesktop constructor

FirebaseAuthDesktop({
  1. required FirebaseApp app,
})

Entry point for the FirebaseAuthDesktop class.

Implementation

FirebaseAuthDesktop({required FirebaseApp app})
    : _app = core_dart.Firebase.app(app.name),
      super(appInstance: app) {
  // Create a app instance broadcast stream for both delegate listener events
  _userChangesListeners[app.name] =
      StreamController<UserPlatform?>.broadcast();
  _authStateChangesListeners[app.name] =
      StreamController<UserPlatform?>.broadcast();
  _idTokenChangesListeners[app.name] =
      StreamController<UserPlatform?>.broadcast();

  _delegate!.authStateChanges().map((auth_dart.User? dartUser) {
    if (dartUser == null) {
      return null;
    }
    return User(this, dartUser);
  }).listen((User? user) {
    _authStateChangesListeners[app.name]!.add(user);
  });

  _delegate!.idTokenChanges().map((auth_dart.User? dartUser) {
    if (dartUser == null) {
      return null;
    }
    return User(this, dartUser);
  }).listen((User? user) {
    _idTokenChangesListeners[app.name]!.add(user);
    _userChangesListeners[app.name]!.add(user);
  });
}