Skip to content

Instantly share code, notes, and snippets.

@zs-dima
Created August 18, 2021 19:27
Show Gist options
  • Save zs-dima/7718d665d54b8eed32b843db7b90400d to your computer and use it in GitHub Desktop.
Save zs-dima/7718d665d54b8eed32b843db7b90400d to your computer and use it in GitHub Desktop.
IStateObservableEx to discuss
import 'package:bloc/bloc.dart';
extension IStateObservableEx<State extends Object?> on IStateObservable<State> {
StateObservable<SubState> whereState<SubState extends State>() => StateObservable<SubState>(
(state is SubState ? state : null) as SubState,
stream.whereState<SubState>(),
);
}
class StateObservable<State extends Object?> {
final State _state;
final Stream<State> _stream;
StateObservable(this._state, this._stream);
State get state => _state;
Stream<State> get stream => _stream;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment