asNetworkStates method

Stream<NetworkState> asNetworkStates()

Wraps each emission with LoadingSuccess states.

Errors are emitted as Error states.

Implementation

Stream<NetworkState> asNetworkStates() {
  return transform(
    StreamTransformer<T, NetworkState>.fromHandlers(
      handleData: (data, sink) {
        sink.add(Success<T>(data));
      },
      handleError: (error, stackTrace, sink) {
        sink.add(Error(
          error.toString(),
          exception: error,
          stackTrace: stackTrace,
        ));
      },
      handleDone: (sink) => sink.close(),
    ),
  );
}