raising errors

raiseError

(Stream.raiseError[IO](Err) ++ Stream('a')).compile.toList

diagram

raiseError (with chunks)

(Stream.raiseError[IO](Err) ++ Stream('a')).compile.toList

diagram

in evalMap

Stream('a', 'b', 'c').evalMap(x => IO.raiseWhen(x == 'b')(Err)).compile.toList

diagram

in evalMap (with chunks)

Stream('a', 'b', 'c').evalMap(x => IO.raiseWhen(x == 'b')(Err)).compile.toList

diagram

propagation

Stream('a', 'b', 'c')
  .evalMap(x => IO.raiseWhen(x == 'b')(Err))
  .map(identity)
  .compile
  .toList

diagram

propagation (with chunks)

Stream('a', 'b', 'c')
  .evalMap(x => IO.raiseWhen(x == 'b')(Err))
  .map(identity)
  .compile
  .toList

diagram