DEPRECATED. This package is now merged into rxdart_ext package. Please use rxdart_ext package for the same purpose, thanks.
Distinct
&Connectable
&ValueStream
RxDart Stream.- Useful for flutter
BLoC pattern
-StreamBuilder
.
Author: Petrus Nguyễn Thái Học
-
Distinct
: distinct until changed. -
Value
: can synchronous access to the last emitted item. -
NotReplay
: not replay the latest value. -
Connectable
: broadcast stream - can be listened to multiple time.
Stream (dart:core)
^
|
|
|--------------------------------------------|
| |
| |
ValueStream (rxdart) |
^ |
| |
| |
NotReplayValueStream (rxdart_ext) |
^ ConnectableStream (rxdart)
| ^
| |
DistinctValueStream (this package) |
^ |
| |
|------------ -----------|
| |
| |
DistinctValueConnectableStream (this package)
-
Broadcast
-
Single-subscription:
-
Single-subscription
DistinctValueStream
to broadcastDistinctValueStream
import 'package:distinct_value_connectable_stream/distinct_value_connectable_stream.dart';
class UiState { ... }
final Stream<UiState> state$ = ...;
final distinctState$ = state$.publishValueDistinct(UiState.initial());
distinctState$.connect();
StreamBuilder<UiState>(
initialData: distinctState$.value,
stream: distinctState$,
builder: (context, snapshot) {
final UiState state = snapshot.requireData;
return ...;
},
);
Please file feature requests and bugs at the issue tracker.
MIT License
Copyright (c) 2020 Petrus Nguyễn Thái Học