LanguageExt.Pipes

LanguageExt.Pipes RequestRespond

Contents

record Request <UOut, UIn, DIn, DOut, M, A> (UOut Value, Func<UIn, Proxy<UOut, UIn, DIn, DOut, M, A>> Next) Source #

where M : Monad<M>

One of the algebraic cases of the Proxy type. This type represents a request.

Parameters

type RT

Aff system runtime

type UOut

Upstream out type

type UIn

Upstream in type

type DIn

Downstream in type

type DOut

Downstream uut type

type A

The monadic bound variable - it doesn't flow up or down stream, it works just like any bound monadic variable. If the effect represented by the Proxy ends, then this will be the result value.

When composing Proxy sub-types (like Producer, Pipe, Consumer, etc.)

Methods

method Proxy<UOut, UIn, DIn, DOut, M, A> ToProxy () Source #

method void Deconstruct (out UOut value, out Func<UIn, Proxy<UOut, UIn, DIn, DOut, M, A>> fun) Source #

method Proxy<UOut, UIn, C1, C, M, A> For <C1, C> ( Func<DOut, Proxy<UOut, UIn, C1, C, M, DIn>> body) Source #

method Proxy<UOut, UIn, DIn, DOut, M, S> Action <S> ( Proxy<UOut, UIn, DIn, DOut, M, S> r) Source #

method Proxy<UOutA, AUInA, DIn, DOut, M, A> ReplaceRequest <UOutA, AUInA> ( Func<UOut, Proxy<UOutA, AUInA, DIn, DOut, M, UIn>> lhs) Source #

method Proxy<UOut, UIn, DInC, DOutC, M, A> ReplaceRespond <DInC, DOutC> ( Func<DOut, Proxy<UOut, UIn, DInC, DOutC, M, DIn>> rhs) Source #

method Proxy<UOutA, AUInA, DIn, DOut, M, A> PairEachRequestWithRespond <UOutA, AUInA> ( Func<UOut, Proxy<UOutA, AUInA, UOut, UIn, M, A>> lhs) Source #

(f +>> p) pairs each 'request' in this with a 'respond' in lhs.

method Proxy<UOut, UIn, DInC, DOutC, M, A> PairEachRespondWithRequest <DInC, DOutC> ( Func<DOut, Proxy<DIn, DOut, DInC, DOutC, M, A>> rhs) Source #

method Proxy<DOut, DIn, UIn, UOut, M, A> Reflect () Source #

method Proxy<UOut, UIn, DIn, DOut, M, A> Observe () Source #

method Proxy<UOut, UIn, DIn, DOut, M, B> Bind <B> (Func<A, Proxy<UOut, UIn, DIn, DOut, M, B>> f) Source #

method Proxy<UOut, UIn, DIn, DOut, M, B> Map <B> (Func<A, B> f) Source #

method Proxy<UOut, UIn, DIn, DOut, M, B> MapM <B> (Func<K<M, A>, K<M, B>> f) Source #

Map the lifted monad

Parameters

type B

The mapped bound value type

param f

The map function

returns

A new Proxy that represents the composition of this Proxy and the result of the map operation

method Proxy<UOut, UIn, DIn, DOut, M, IO<A>> ToIO () Source #

Extract the lifted IO monad (if there is one)

Parameters

param f

The map function

returns

A new Proxy that represents the innermost IO monad, if it exists.

method string ToString () Source #

record Respond <UOut, UIn, DIn, DOut, M, A> (DOut Value, Func<DIn, Proxy<UOut, UIn, DIn, DOut, M, A>> Next) Source #

where M : Monad<M>

One of the algebraic cases of the Proxy type. This type represents a response.

Parameters

type RT

Aff system runtime

type UOut

Upstream out type

type UIn

Upstream in type

type DIn

Downstream in type

type DOut

Downstream uut type

type A

The monadic bound variable - it doesn't flow up or down stream, it works just like any bound monadic variable. If the effect represented by the Proxy ends, then this will be the result value.

When composing Proxy sub-types (like Producer, Pipe, Consumer, etc.)

Methods

method Proxy<UOut, UIn, DIn, DOut, M, A> ToProxy () Source #

method Proxy<UOut, UIn, DIn, DOut, M, B> Bind <B> (Func<A, Proxy<UOut, UIn, DIn, DOut, M, B>> f) Source #

method Proxy<UOut, UIn, DIn, DOut, M, B> Map <B> (Func<A, B> f) Source #

method Proxy<UOut, UIn, DIn, DOut, M, B> MapM <B> (Func<K<M, A>, K<M, B>> f) Source #

Map the lifted monad

Parameters

type B

The mapped bound value type

param f

The map function

returns

A new Proxy that represents the composition of this Proxy and the result of the map operation

method Proxy<UOut, UIn, DIn, DOut, M, IO<A>> ToIO () Source #

Extract the lifted IO monad (if there is one)

Parameters

param f

The map function

returns

A new Proxy that represents the innermost IO monad, if it exists.

method Proxy<UOut, UIn, C1, C, M, A> For <C1, C> (Func<DOut, Proxy<UOut, UIn, C1, C, M, DIn>> body) Source #

method Proxy<UOut, UIn, DIn, DOut, M, S> Action <S> (Proxy<UOut, UIn, DIn, DOut, M, S> r) Source #

method Proxy<UOutA, AUInA, DIn, DOut, M, A> ReplaceRequest <UOutA, AUInA> (Func<UOut, Proxy<UOutA, AUInA, DIn, DOut, M, UIn>> lhs) Source #

method Proxy<UOut, UIn, DInC, DOutC, M, A> ReplaceRespond <DInC, DOutC> ( Func<DOut, Proxy<UOut, UIn, DInC, DOutC, M, DIn>> rhs) Source #

method Proxy<UOutA, AUInA, DIn, DOut, M, A> PairEachRequestWithRespond <UOutA, AUInA> ( Func<UOut, Proxy<UOutA, AUInA, UOut, UIn, M, A>> fb1) Source #

(f +>> p) pairs each 'request' in this with a 'respond' in lhs.

method Proxy<UOut, UIn, DInC, DOutC, M, A> PairEachRespondWithRequest <DInC, DOutC> ( Func<DOut, Proxy<DIn, DOut, DInC, DOutC, M, A>> rhs) Source #

method Proxy<DOut, DIn, UIn, UOut, M, A> Reflect () Source #

method Proxy<UOut, UIn, DIn, DOut, M, A> Observe () Source #

method void Deconstruct (out DOut value, out Func<DIn, Proxy<UOut, UIn, DIn, DOut, M, A>> fun) Source #

method string ToString () Source #