replaceOnError method

Stream<T> replaceOnError({
  1. required T defaultValue,
})

Replaces an error event with defaultValue and then completes the stream.

Example:

myStream.replaceOnError(defaultValue: fallback)
  .listen(print, onError: print);

Implementation

Stream<T> replaceOnError({required T defaultValue}) {
  return transform(
    StreamTransformer<T, T>.fromHandlers(
      handleData: (data, sink) => sink.add(data),
      handleError: (error, stackTrace, sink) {
        sink
          ..add(defaultValue)
          ..close();
      },
    ),
  );
}