LanguageExt.Pipes

LanguageExt.Pipes Producer

Contents

record Producer <RT, OUT, A> (PipeT<Unit, OUT, Eff<RT>, A> Proxy) Source #

Producer streaming producer monad-transformer instance

Methods

method Producer<RT, OUT1, A> Compose <OUT1> (PipeT<OUT, OUT1, Eff<RT>, A> rhs) Source #

method Producer<RT, OUT1, A> Compose <OUT1> (Pipe<RT, OUT, OUT1, A> rhs) Source #

method Effect<RT, A> Compose (ConsumerT<OUT, Eff<RT>, A> rhs) Source #

method Effect<RT, A> Compose (Consumer<RT, OUT, A> rhs) Source #

method Producer<RT, OUT, B> Map <B> (Func<A, B> f) Source #

method Producer<RT, OUT, B> MapM <B> (Func<Eff<RT, A>, Eff<RT, B>> f) Source #

method Producer<RT, OUT, B> MapIO <B> (Func<IO<A>, IO<B>> f) Source #

method Producer<RT, OUT, B> ApplyBack <B> (Producer<RT, OUT, Func<A, B>> ff) Source #

method Producer<RT, OUT, B> Action <B> (Producer<RT, OUT, B> fb) Source #

method Producer<RT, OUT, B> Bind <B> (Func<A, Producer<RT, OUT, B>> f) Source #

method Producer<RT, OUT, B> Bind <B> (Func<A, K<Eff<RT>, B>> f) Source #

method Producer<RT, OUT, B> Bind <B> (Func<A, IO<B>> f) Source #

method Producer<RT, OUT, B> Bind <B> (Func<A, Pure<B>> f) Source #

method Producer<RT, OUT, B> Bind <B> (Func<A, Lift<B>> f) Source #

method Producer<RT, OUT, B> Select <B> (Func<A, B> f) Source #

method Producer<RT, OUT, C> SelectMany <B, C> (Func<A, Producer<RT, OUT, B>> f, Func<A, B, C> g) Source #

method Producer<RT, OUT, C> SelectMany <B, C> (Func<A, K<Eff<RT>, B>> f, Func<A, B, C> g) Source #

method Producer<RT, OUT, C> SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> g) Source #

method Producer<RT, OUT, C> SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> g) Source #

method Producer<RT, OUT, C> SelectMany <B, C> (Func<A, Lift<B>> f, Func<A, B, C> g) Source #

method Producer<RT, OUT, 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 Producer<RT, OUT, 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 Producer<RT, OUT, 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 Producer<RT, OUT, 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 Producer<RT, OUT, 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

Operators

operator | (Producer<RT, OUT, A> lhs, ConsumerT<OUT, Eff<RT>, A> rhs) Source #

operator | (Producer<RT, OUT, A> lhs, Consumer<RT, OUT, A> rhs) Source #

class ProducerExtensions Source #

Methods

method Producer<RT, OUT, A> ToProducer <RT, OUT, A> (this K<PipeT<Unit, OUT, Eff<RT>>, A> pipe) Source #

Transformation from PipeT to ProducerT.

method Producer<RT, OUT, A> ToProducer <RT, OUT, A> (this K<Pipe<RT, Unit, OUT>, A> pipe) Source #

Transformation from PipeT to ProducerT.

method Producer<RT, OUT, A> As <RT, OUT, A> (this K<Producer<RT, OUT>, A> ma) Source #

Downcast

method Producer<RT, OUT, C> SelectMany <RT, OUT, A, B, C> ( this K<Eff<RT>, A> ma, Func<A, Producer<RT, OUT, B>> f, Func<A, B, C> g) Source #

Monad bind

method Producer<RT, OUT, C> SelectMany <RT, OUT, A, B, C> ( this IO<A> ma, Func<A, Producer<RT, OUT, B>> f, Func<A, B, C> g) Source #

Monad bind

method Producer<RT, OUT, C> SelectMany <RT, OUT, A, B, C> ( this Pure<A> ma, Func<A, Producer<RT, OUT, B>> f, Func<A, B, C> g) Source #

Monad bind

method Producer<RT, OUT, C> SelectMany <RT, OUT, A, B, C> ( this Lift<A> ff, Func<A, Producer<RT, OUT, B>> f, Func<A, B, C> g) Source #

Monad bind

method Producer<RT, OUT, B> Bind <RT, OUT, A, B> ( this K<Eff<RT>, A> ma, Func<A, Producer<RT, OUT, B>> f) Source #

Monad bind

method Producer<RT, OUT, B> Bind <RT, OUT, A, B> ( this IO<A> ma, Func<A, Producer<RT, OUT, B>> f) Source #

Monad bind

method Producer<RT, OUT, B> Bind <RT, OUT, A, B> ( this Pure<A> ma, Func<A, Producer<RT, OUT, B>> f) Source #

Monad bind

method Producer<RT, OUT, B> Bind <RT, OUT, A, B> ( this Lift<A> ff, Func<A, Producer<RT, OUT, B>> f) Source #

Monad bind

method Producer<RT, OUT, C> SelectMany <RT, OUT, A, C> ( this K<Producer<RT, OUT>, A> ma, Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project) Source #

Monad bind operation

method Producer<RT, OUT, C> SelectMany <RT, OUT, B, C> ( this Guard<Error, Unit> ma, Func<Unit, K<Producer<RT, OUT>, B>> bind, Func<Unit, B, C> project) Source #

Monad bind operation

class Producer Source #

ProducerT streaming producer monad-transformer

Methods

method Producer<RT, OUT, Unit> yield <RT, OUT> (OUT value) Source #

Yield a value downstream

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

returns

method Producer<RT, OUT, Unit> yieldAll <RT, OUT> (IEnumerable<OUT> values) Source #

Yield all values downstream

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

returns

method Producer<RT, OUT, Unit> yieldAll <RT, OUT> (IAsyncEnumerable<OUT> values) Source #

Yield all values downstream

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

returns

method Producer<RT, OUT, Unit> yieldRepeat <RT, OUT> (K<Eff<RT>, OUT> ma) Source #

Evaluate the M monad repeatedly, yielding its bound values downstream

Parameters

type RT

Effect runtime type

type IN

Stream value to consume

type OUT

Stream value to produce

returns

method Producer<RT, OUT, Unit> yieldRepeatIO <RT, OUT> (IO<OUT> ma) Source #

Evaluate the IO monad repeatedly, yielding its bound values downstream

Parameters

type RT

Effect runtime type

type IN

Stream value to consume

type OUT

Stream value to produce

returns

method Producer<RT, OUT, A> pure <RT, OUT, A> (A value) Source #

Create a producer that simply returns a bound value without yielding anything

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> error <RT, OUT, A> (Error value) Source #

Create a producer that always fails

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> empty <RT, OUT, A> () Source #

Create a producer that yields nothing at all

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> lift <RT, OUT, A> (Func<A> f) Source #

Create a producer that lazily returns a bound value without yielding anything

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> liftM <RT, OUT, A> (K<Eff<RT>, A> ma) Source #

Create a producer that simply returns the bound value of the lifted monad without yielding anything

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> liftIO <RT, OUT, A> (IO<A> ma) Source #

Create a producer that simply returns the bound value of the lifted monad without yielding anything

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> liftT <RT, OUT, A> (Func<Producer<RT, OUT, A>> f) Source #

Create a lazy proxy

Parameters

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> liftT <RT, OUT, A> (Func<ValueTask<Producer<RT, OUT, A>>> f) Source #

Create an asynchronous lazy proxy

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> liftT <RT, OUT, A> (ValueTask<Producer<RT, OUT, A>> f) Source #

Create an asynchronous proxy

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> repeat <RT, OUT, A> (Producer<RT, OUT, A> ma) Source #

Continually repeat the provided operation

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> repeat <RT, OUT, A> (Schedule schedule, Producer<RT, OUT, A> ma) Source #

Repeat the provided operation based on the schedule provided

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> repeatM <RT, OUT, A> (K<Eff<RT>, A> ma) Source #

Continually lift & repeat the provided operation

Parameters

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, A> repeatM <RT, OUT, A> (Schedule schedule, K<Eff<RT>, A> ma) Source #

Repeat the provided operation based on the schedule provided

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

returns

method Producer<RT, OUT, Unit> fold <RT, OUT, A> ( Schedule Time, Func<OUT, A, OUT> Fold, OUT Init, Producer<RT, OUT, A> Item) Source #

Fold the given pipe until the Schedule completes. Once complete, the pipe yields the aggregated value downstream.

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

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 Producer<RT, OUT, Unit> foldUntil <RT, OUT, A> ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, Producer<RT, OUT, A> Item) Source #

Fold the given pipe until the predicate is true. Once true the pipe yields the aggregated value downstream.

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

param Fold

Fold function

param Pred

Until predicate

param Init

Initial state

param Item

Pipe to fold

returns

method Producer<RT, OUT, Unit> foldUntil <RT, OUT, A> ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, Producer<RT, OUT, 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 RT

Effect runtime type

type OUT

Stream value to produce

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 Producer<RT, OUT, Unit> foldWhile <RT, OUT, M, A> ( Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, Producer<RT, OUT, A> Item) Source #

Fold the given pipe while the predicate is true. Once false the pipe yields the aggregated value downstream.

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

type A

Bound value type

param Fold

Fold function

param Pred

Until predicate

param Init

Initial state

param Item

Pipe to fold

returns

method Producer<RT, OUT, Unit> foldWhile <RT, OUT, A> ( Schedule Time, Func<OUT, A, OUT> Fold, Func<(OUT State, A Value), bool> Pred, OUT Init, Producer<RT, OUT, 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 RT

Effect runtime type

type OUT

Stream value to produce

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 Producer<RT, OUT, Unit> merge <RT, OUT> ( params Producer<RT, OUT, Unit>[] producers) Source #

Merge multiple producers

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

param producers

Producers to merge

param settings

Buffer settings

returns

Merged producer

method Producer<RT, OUT, Unit> merge <RT, OUT> ( Seq<Producer<RT, OUT, Unit>> producers, Buffer<OUT>? settings = null) Source #

Merge multiple producers

Parameters

type RT

Effect runtime type

type OUT

Stream value to produce

param producers

Producers to merge

param settings

Buffer settings

returns

Merged producer

class Producer <RT, OUT> Source #