distinct_value_connectable_stream 2.0.0 distinct_value_connectable_stream: ^2.0.0 copied to clipboard
Distinct value connectable stream for RxDart, useful for BLoC pattern
distinct_value_connectable_stream #
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)
API #
-
Broadcast
-
Single-subscription:
-
Single-subscription
DistinctValueStream
to broadcastDistinctValueStream
Usage #
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 ...;
},
);
Features and bugs #
Please file feature requests and bugs at the issue tracker.
License #
MIT License
Copyright (c) 2020 Petrus Nguyễn Thái Học