Store.withTransformer constructor

Store.withTransformer(
  1. StreamTransformer transformer
)

Construct a new Store instance with a transformer.

The standard behavior of the "trigger" stream will be modified. The underlying stream will be transformed using transformer.

As an example, transformer could be used to throttle the number of triggers this Store emits for state that may update extremely frequently (like scroll position).

Implementation

Store.withTransformer(StreamTransformer<dynamic, dynamic> transformer)
    : _streamController = StreamController<Store>() {
  manageStreamController(_streamController);

  // apply a transform to the stream if supplied
  _stream = _streamController.stream
      .transform(transformer as StreamTransformer<Store, dynamic>)
      .asBroadcastStream() as Stream<Store>;
}