Builds a new Subscriber that can be subscribed to an Observable for consuming a stream, with a callback that should eventually get called with a materialized result.
Builds a new Subscriber that can be subscribed to an Observable for consuming a stream, with a callback that should eventually get called with a materialized result.
Notes:
Task
returned by apply
loses the ability to cancel the stream, as that Task
will
complete before the stream is finished
is the Callback that will get called once the created subscriber is finished.
is the Scheduler that will get used for subscribing to the source observable and to process the events.
a new subscriber that can be used to consume observables.
Given a source Observable, convert it into a Task by piggybacking on createSubscriber.
Given a source Observable, convert it into a Task by piggybacking on createSubscriber.
Given a contravariant mapping function, transform the source consumer by transforming the input.
Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.
Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.
Note that for applying the mapping function an
asynchronous boundary is forced, otherwise it could
trigger a stack overflow exception. For more efficient
mapping of the result, it's probably better to map
the resulting Task
on Observable.consumeWith.
mapTask for a variant that can map the output
to a Task
that can be processed asynchronously.
Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.
Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.
The mapping function returns results using a generic F[_]
data type that must implement the cats.effect.Effect
type
class. Examples of such classes are cats.effect.IO
and
monix.eval.Task, thus being able to do asynchronous
processing.
See mapTask for the version that's specialized on Task
.
Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.
Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.
The mapping function returns a Task that can be used to process results asynchronously.
Note that for applying the mapping function an
asynchronous boundary is forced, otherwise it could
trigger a stack overflow exception. For more efficient
mapping of the result, it's probably better to map
the resulting Task
on Observable.consumeWith.
See mapEval for the version that can work with any
data type that implements cats.effect.Effect
.
Given a function that transforms the input stream, uses it to transform the source consumer into one that accepts events of the type specified by the transformation function.
The
Consumer
is a specification of how to consume an observable.It is a factory of subscribers with a completion callback attached, being effectively a way to transform observables into tasks for less error prone consuming of streams.