Bloc: Error type '_BroadcastStream<LoginEvent>' is not a subtype of type 'Observable<LoginEvent>' in type cast

Created on 30 Jul 2020  路  2Comments  路  Source: felangel/bloc

Hi there,

I'm migrating my flutter_bloc lib 5.0.0 to 6.01 and I faced this issue.I have no idea how to fix it. You can see below the method:

  @override
  Stream<Transition<LoginEvent, LoginState>> transformEvents(
    Stream<LoginEvent> events,
    TransitionFunction<LoginEvent, LoginState> transitionFn,
  ) {
    final observableStream = events as Observable<LoginEvent>;
    final nonDebounceStream = observableStream
        .where((event) => event is! EmailChanged && event is! PasswordChanged);
    final debounceStream = observableStream
        .where((event) => event is EmailChanged && event is PasswordChanged)
        .debounceTime(Duration(milliseconds: 300));
    return super.transformEvents(
        MergeStream([nonDebounceStream, debounceStream]), transitionFn);
  }

The error happens in this line:
final observableStream = events as Observable<LoginEvent>;

Thanks for your help.

question

All 2 comments

Hi @dirceudn 馃憢

You're probably using an old version of rxdart. Observable class was deprecated so you should directly work with the events as a Stream instead. e.g.:

final nonDebounceStream = events
        .where((event) => event is! EmailChanged && event is! PasswordChanged);

Works fine :D. Thank you very much.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

RobPFarley picture RobPFarley  路  3Comments

rsnider19 picture rsnider19  路  3Comments

nerder picture nerder  路  3Comments

hivesey picture hivesey  路  3Comments

timtraversy picture timtraversy  路  3Comments