fix: use correct behavior subject for stream session #204

Merged
hugo merged 1 commits from authentication/fix/session-stream into master 2023-08-16 13:21:13 +00:00

View File

@ -16,6 +16,7 @@
import 'dart:async'; import 'dart:async';
import 'package:rxdart/streams.dart';
import 'package:rxdart/subjects.dart'; import 'package:rxdart/subjects.dart';
import 'package:wyatt_authentication_bloc/src/domain/data_sources/local/authentication_session_data_source.dart'; import 'package:wyatt_authentication_bloc/src/domain/data_sources/local/authentication_session_data_source.dart';
import 'package:wyatt_authentication_bloc/src/domain/entities/auth_session.dart'; import 'package:wyatt_authentication_bloc/src/domain/entities/auth_session.dart';
@ -28,7 +29,7 @@ class AuthenticationSessionDataSourceImpl<Data>
/// {@macro authentication_session_data_source_impl} /// {@macro authentication_session_data_source_impl}
AuthenticationSessionDataSourceImpl(); AuthenticationSessionDataSourceImpl();
final StreamController<AuthenticationSession<Data>> _sessionStream = final BehaviorSubject<AuthenticationSession<Data>> _sessionStream =
BehaviorSubject(); BehaviorSubject();
@override @override
@ -37,9 +38,10 @@ class AuthenticationSessionDataSourceImpl<Data>
} }
@override @override
Future<AuthenticationSession<Data>> currentSession() => sessionStream().last; Future<AuthenticationSession<Data>> currentSession() async =>
_sessionStream.value;
@override @override
Stream<AuthenticationSession<Data>> sessionStream() => Stream<AuthenticationSession<Data>> sessionStream() =>
_sessionStream.stream.asBroadcastStream(); _sessionStream.shareValue();
} }