BehaviorSubject<T>.seeded constructor
BehaviorSubject<T>.seeded (
- T seedValue, {
- void onListen()?,
- void onCancel()?,
- bool sync = false,
Constructs a BehaviorSubject, optionally pass handlers for
onListen
, onCancel
and a flag to handle events sync
.
seedValue
becomes the current value and is emitted immediately.
See also StreamController.broadcast
Implementation
factory BehaviorSubject.seeded(
T seedValue, {
void Function()? onListen,
void Function()? onCancel,
bool sync = false,
}) {
// ignore: close_sinks
final controller = StreamController<T>.broadcast(
onListen: onListen,
onCancel: onCancel,
sync: sync,
);
final wrapper = _Wrapper<T>.seeded(seedValue);
return BehaviorSubject<T>._(
controller,
Rx.defer<T>(_deferStream(wrapper, controller, sync), reusable: true),
wrapper,
);
}