Contents
- ProducerT <OUT, M, A> (PipeT<Unit, OUT, M, A> Proxy)
- Compose <OUT1> (PipeT<OUT, OUT1, M, A> rhs)
- Compose (ConsumerT<OUT, M, A> rhs)
- | (ProducerT<OUT, M, A> lhs, ConsumerT<OUT, M, A> rhs)
- Map <B> (Func<A, B> f)
- MapM <B> (Func<K<M, A>, K<M, B>> f)
- MapIO <B> (Func<IO<A>, IO<B>> f)
- ApplyBack <B> (ProducerT<OUT, M, Func<A, B>> ff)
- Action <B> (ProducerT<OUT, M, B> fb)
- Bind <B> (Func<A, ProducerT<OUT, M, B>> f)
- Bind <B> (Func<A, K<M, B>> f)
- Bind <B> (Func<A, IO<B>> f)
- Bind <B> (Func<A, Pure<B>> f)
- Bind <B> (Func<A, Lift<B>> f)
- Select <B> (Func<A, B> f)
- SelectMany <B, C> (Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g)
- SelectMany <B, C> (Func<A, K<M, B>> f, Func<A, B, C> g)
- SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> g)
- SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> g)
- SelectMany <B, C> (Func<A, Lift<B>> f, Func<A, B, C> g)
- Fold ( Schedule Time, Func<OUT, A, OUT> Fold, OUT Init)
- FoldUntil ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init)
- FoldUntil ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init)
- FoldWhile ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init)
- FoldWhile ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init)
- ProducerTExtensions
- ToProducer <OUT, M, A> (this K<PipeT<Unit, OUT, M>, A> pipe)
- As <OUT, M, A> (this K<ProducerT<OUT, M>, A> ma)
- ToEff <RT, OUT, A> (this K<ProducerT<OUT, Eff<RT>>, A> ma)
- SelectMany <OUT, M, A, B, C> ( this K<M, A> ma, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g)
- SelectMany <OUT, M, A, B, C> ( this IO<A> ma, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g)
- SelectMany <OUT, M, A, B, C> ( this Pure<A> ma, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g)
- SelectMany <OUT, M, A, B, C> ( this Lift<A> ff, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g)
- Bind <OUT, M, A, B> ( this K<M, A> ma, Func<A, ProducerT<OUT, M, B>> f)
- Bind <OUT, M, A, B> ( this IO<A> ma, Func<A, ProducerT<OUT, M, B>> f)
- Bind <OUT, M, A, B> ( this Pure<A> ma, Func<A, ProducerT<OUT, M, B>> f)
- Bind <OUT, M, A, B> ( this Lift<A> ff, Func<A, ProducerT<OUT, M, B>> f)
- SelectMany <OUT, E, M, A, C> ( this K<ProducerT<OUT, M>, A> ma, Func<A, Guard<E, Unit>> bind, Func<A, Unit, C> project)
- SelectMany <OUT, E, M, B, C> ( this Guard<E, Unit> ma, Func<Unit, K<ProducerT<OUT, M>, B>> bind, Func<Unit, B, C> project)
- ProducerT
- yield <M, OUT> (OUT value)
- yieldAll <M, OUT> (IEnumerable<OUT> values)
- yieldAll <M, OUT> (IAsyncEnumerable<OUT> values)
- yieldRepeat <M, OUT> (K<M, OUT> ma)
- yieldRepeatIO <M, OUT> (IO<OUT> ma)
- pure <OUT, M, A> (A value)
- fail <OUT, E, M, A> (E value)
- error <OUT, M, A> (Error value)
- empty <OUT, M, A> ()
- lift <OUT, M, A> (Func<A> f)
- liftM <OUT, M, A> (K<M, A> ma)
- liftIO <OUT, M, A> (IO<A> ma)
- liftT <OUT, M, A> (Func<ProducerT<OUT, M, A>> f)
- liftT <OUT, M, A> (Func<ValueTask<ProducerT<OUT, M, A>>> f)
- liftT <OUT, M, A> (ValueTask<ProducerT<OUT, M, A>> f)
- repeat <OUT, M, A> (ProducerT<OUT, M, A> ma)
- repeat <OUT, M, A> (Schedule schedule, ProducerT<OUT, M, A> ma)
- repeatM <OUT, M, A> (K<M, A> ma)
- repeatM <OUT, M, A> (Schedule schedule, K<M, A> ma)
- fold <OUT, M, A> ( Schedule Time, Func<OUT, A, OUT> Fold, OUT Init, ProducerT<OUT, M, A> Item)
- foldUntil <OUT, M, A> ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item)
- foldUntil <OUT, M, A> ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item)
- foldWhile <OUT, M, A> ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item)
- foldWhile <OUT, M, A> ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item)
- merge <OUT, M> ( params ProducerT<OUT, M, Unit>[] producers)
- merge <OUT, M> ( Seq<ProducerT<OUT, M, Unit>> producers, Buffer<OUT>? settings = null)
- ProducerT <OUT, M>
record ProducerT <OUT, M, A> (PipeT<Unit, OUT, M, A> Proxy) Source #
ProducerT
streaming producer monad-transformer instance
Methods
method ProducerT<OUT, M, C> SelectMany <B, C> (Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g) Source #
method ProducerT<OUT, M, C> SelectMany <B, C> (Func<A, K<M, B>> f, Func<A, B, C> g) Source #
method ProducerT<OUT, M, C> SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> g) Source #
method ProducerT<OUT, M, C> SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> g) Source #
method ProducerT<OUT, M, C> SelectMany <B, C> (Func<A, Lift<B>> f, Func<A, B, C> g) Source #
method ProducerT<OUT, M, Unit> Fold ( Schedule Time, Func<OUT, A, OUT> Fold, OUT Init) Source #
Fold the given pipe until the Schedule
completes.
Once complete, the pipe yields the aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Time | Schedule to run each item |
param | Fold | Fold function |
param | Init | Initial state |
returns |
method ProducerT<OUT, M, Unit> FoldUntil ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init) Source #
Fold the given pipe until the predicate is true
. Once true
the pipe yields the
aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
returns |
method ProducerT<OUT, M, Unit> FoldUntil ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init) Source #
Fold the given pipe until the predicate is true
or the Schedule
completes.
Once true
, or completed, the pipe yields the aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Time | Schedule to run each item |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
returns |
method ProducerT<OUT, M, Unit> FoldWhile ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init) Source #
Fold the given pipe while the predicate is true
. Once false
the pipe yields the
aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
returns |
method ProducerT<OUT, M, Unit> FoldWhile ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init) Source #
Fold the given pipe while the predicate is true
or the Schedule
completes.
Once false
, or completed, the pipe yields the aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Time | Schedule to run each item |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
returns |
class ProducerTExtensions Source #
Methods
method ProducerT<OUT, M, A> ToProducer <OUT, M, A> (this K<PipeT<Unit, OUT, M>, A> pipe) Source #
Transformation from PipeT
to ProducerT
.
method ProducerT<OUT, M, A> As <OUT, M, A> (this K<ProducerT<OUT, M>, A> ma) Source #
Downcast
method Producer<RT, OUT, A> ToEff <RT, OUT, A> (this K<ProducerT<OUT, Eff<RT>>, A> ma) Source #
Convert to the Eff
version of Producer
method ProducerT<OUT, M, C> SelectMany <OUT, M, A, B, C> ( this K<M, A> ma, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g) Source #
Monad bind
method ProducerT<OUT, M, C> SelectMany <OUT, M, A, B, C> ( this IO<A> ma, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g) Source #
Monad bind
method ProducerT<OUT, M, C> SelectMany <OUT, M, A, B, C> ( this Pure<A> ma, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g) Source #
Monad bind
method ProducerT<OUT, M, C> SelectMany <OUT, M, A, B, C> ( this Lift<A> ff, Func<A, ProducerT<OUT, M, B>> f, Func<A, B, C> g) Source #
Monad bind
method ProducerT<OUT, M, B> Bind <OUT, M, A, B> ( this K<M, A> ma, Func<A, ProducerT<OUT, M, B>> f) Source #
Monad bind
method ProducerT<OUT, M, B> Bind <OUT, M, A, B> ( this IO<A> ma, Func<A, ProducerT<OUT, M, B>> f) Source #
Monad bind
method ProducerT<OUT, M, B> Bind <OUT, M, A, B> ( this Pure<A> ma, Func<A, ProducerT<OUT, M, B>> f) Source #
Monad bind
method ProducerT<OUT, M, B> Bind <OUT, M, A, B> ( this Lift<A> ff, Func<A, ProducerT<OUT, M, B>> f) Source #
Monad bind
method ProducerT<OUT, M, C> SelectMany <OUT, E, M, A, C> ( this K<ProducerT<OUT, M>, A> ma, Func<A, Guard<E, Unit>> bind, Func<A, Unit, C> project) Source #
Monad bind operation
method ProducerT<OUT, M, C> SelectMany <OUT, E, M, B, C> ( this Guard<E, Unit> ma, Func<Unit, K<ProducerT<OUT, M>, B>> bind, Func<Unit, B, C> project) Source #
Monad bind operation
ProducerT
streaming producer monad-transformer
Methods
method ProducerT<OUT, M, Unit> yield <M, OUT> (OUT value) Source #
Yield a value downstream
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
returns |
method ProducerT<OUT, M, Unit> yieldAll <M, OUT> (IEnumerable<OUT> values) Source #
Yield all values downstream
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
returns |
method ProducerT<OUT, M, Unit> yieldAll <M, OUT> (IAsyncEnumerable<OUT> values) Source #
Yield all values downstream
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
returns |
method ProducerT<OUT, M, Unit> yieldRepeat <M, OUT> (K<M, OUT> ma) Source #
Evaluate the M
monad repeatedly, yielding its bound values downstream
Parameters
type | IN | Stream value to consume |
type | OUT | Stream value to produce |
type | M | Lifted monad type |
returns |
method ProducerT<OUT, M, Unit> yieldRepeatIO <M, OUT> (IO<OUT> ma) Source #
Evaluate the IO
monad repeatedly, yielding its bound values downstream
Parameters
type | IN | Stream value to consume |
type | OUT | Stream value to produce |
type | M | Lifted monad type |
returns |
method ProducerT<OUT, M, A> pure <OUT, M, A> (A value) Source #
Create a producer that simply returns a bound value without yielding anything
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> fail <OUT, E, M, A> (E value) Source #
Create a producer that always fails
Parameters
type | OUT | Stream value to produce |
type | E | Failure type |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> error <OUT, M, A> (Error value) Source #
Create a producer that always fails
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> empty <OUT, M, A> () Source #
Create a producer that yields nothing at all
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> lift <OUT, M, A> (Func<A> f) Source #
Create a producer that lazily returns a bound value without yielding anything
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> liftM <OUT, M, A> (K<M, A> ma) Source #
Create a producer that simply returns the bound value of the lifted monad without yielding anything
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> liftIO <OUT, M, A> (IO<A> ma) Source #
Create a producer that simply returns the bound value of the lifted monad without yielding anything
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> liftT <OUT, M, A> (Func<ProducerT<OUT, M, A>> f) Source #
Create a lazy proxy
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> liftT <OUT, M, A> (Func<ValueTask<ProducerT<OUT, M, A>>> f) Source #
Create an asynchronous lazy proxy
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> liftT <OUT, M, A> (ValueTask<ProducerT<OUT, M, A>> f) Source #
Create an asynchronous proxy
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> repeat <OUT, M, A> (ProducerT<OUT, M, A> ma) Source #
Continually repeat the provided operation
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> repeat <OUT, M, A> (Schedule schedule, ProducerT<OUT, M, A> ma) Source #
Repeat the provided operation based on the schedule provided
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> repeatM <OUT, M, A> (K<M, A> ma) Source #
Continually lift & repeat the provided operation
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, A> repeatM <OUT, M, A> (Schedule schedule, K<M, A> ma) Source #
Repeat the provided operation based on the schedule provided
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
returns |
method ProducerT<OUT, M, Unit> fold <OUT, M, A> ( Schedule Time, Func<OUT, A, OUT> Fold, OUT Init, ProducerT<OUT, M, A> Item) Source #
Fold the given pipe until the Schedule
completes.
Once complete, the pipe yields the aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Time | Schedule to run each item |
param | Fold | Fold function |
param | Init | Initial state |
param | Item | Pipe to fold |
returns |
method ProducerT<OUT, M, Unit> foldUntil <OUT, M, A> ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item) Source #
Fold the given pipe until the predicate is true
. Once true
the pipe yields the
aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
param | Item | Pipe to fold |
returns |
method ProducerT<OUT, M, Unit> foldUntil <OUT, M, A> ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item) Source #
Fold the given pipe until the predicate is true
or the Schedule
completes.
Once true
, or completed, the pipe yields the aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Time | Schedule to run each item |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
param | Item | Pipe to fold |
returns |
method ProducerT<OUT, M, Unit> foldWhile <OUT, M, A> ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item) Source #
Fold the given pipe while the predicate is true
. Once false
the pipe yields the
aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
param | Item | Pipe to fold |
returns |
method ProducerT<OUT, M, Unit> foldWhile <OUT, M, A> ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, ProducerT<OUT, M, A> Item) Source #
Fold the given pipe while the predicate is true
or the Schedule
completes.
Once false
, or completed, the pipe yields the aggregated value downstream.
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
type | A | Bound value type |
param | Time | Schedule to run each item |
param | Fold | Fold function |
param | Pred | Until predicate |
param | Init | Initial state |
param | Item | Pipe to fold |
returns |
method ProducerT<OUT, M, Unit> merge <OUT, M> ( params ProducerT<OUT, M, Unit>[] producers) Source #
Merge multiple producers
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
param | producers | Producers to merge |
param | settings | Buffer settings |
returns | Merged producer |
method ProducerT<OUT, M, Unit> merge <OUT, M> ( Seq<ProducerT<OUT, M, Unit>> producers, Buffer<OUT>? settings = null) Source #
Merge multiple producers
Parameters
type | OUT | Stream value to produce |
type | M | Lifted monad type |
param | producers | Producers to merge |
param | settings | Buffer settings |
returns | Merged producer |