stream property

Stream<T> stream

Create a broadcast stream to listen value changes.

It also push current value to stream in the first time listen on stream. Should call dispose to close stream when it is no longer needed

Implementation

Stream<T> get stream {
  _streamer ??= StreamController<T>.broadcast(
    onListen: () => _streamListener = listen(() => _streamer!.add(peek)),
    onCancel: () => _streamListener?.dispose(),
  );
  return _streamer!.stream;
}