- Consumer
- Pure <RT, A, R> (R value)
- awaiting <RT, A> ()
- lift <RT, A, R> (Aff<R> ma)
- lift <RT, A, R> (Eff<R> ma)
- lift <RT, A, R> (Aff<RT, R> ma)
- lift <RT, A, R> (Eff<RT, R> ma)
- lift <RT, A> (Aff<RT, Unit> ma)
- lift <RT, A> (Eff<RT, Unit> ma)
- use <RT, IN, R> (Aff<R> ma)
- use <RT, IN, R> (Eff<R> ma)
- use <RT, IN, R> (Aff<RT, R> ma)
- use <RT, IN, R> (Eff<RT, R> ma)
- use <RT, IN, R> (Aff<R> ma, Func<R, Unit> dispose)
- use <RT, IN, R> (Eff<R> ma, Func<R, Unit> dispose)
- use <RT, IN, R> (Aff<RT, R> ma, Func<R, Unit> dispose)
- use <RT, IN, R> (Eff<RT, R> ma, Func<R, Unit> dispose)
- release <RT, IN, R> (R dispose)
- mapM <RT, A, R> (Func<A, Aff<RT, Unit>> f)
- mapM <RT, A> (Func<A, Aff<RT, Unit>> f)
- mapM <RT, A, R> (Func<A, Eff<RT, Unit>> f)
- mapM <RT, A> (Func<A, Eff<RT, Unit>> f)
- mapM <RT, A, R> (Func<A, Aff<Unit>> f)
- mapM <RT, A> (Func<A, Aff<Unit>> f)
- mapM <RT, A, R> (Func<A, Eff<Unit>> f)
- mapM <RT, A> (Func<A, Eff<Unit>> f)
- Consumer <RT, IN, A>
- Value
- Consumer (Proxy<RT, Unit, IN, Unit, Void, A> value)
- ToProxy ()
- Bind <S> (Func<A, Proxy<RT, Unit, IN, Unit, Void, S>> f)
- Bind <B> (Func<A, Consumer<RT, IN, B>> f)
- Map <S> (Func<A, S> f)
- SelectMany <B> (Func<A, Consumer<RT, IN, B>> f)
- SelectMany <B, C> (Func<A, Consumer<RT, IN, B>> f, Func<A, B, C> project)
- Select <B> (Func<A, B> f)
- For <C1, C> (Func<Void, Proxy<RT, Unit, IN, C1, C, Unit>> body)
- Action <S> (Proxy<RT, Unit, IN, Unit, Void, S> r)
- PairEachRequestWithRespond <UOutA, AUInA> ( Func<Unit, Proxy<RT, UOutA, AUInA, Unit, IN, A>> lhs)
- ReplaceRequest <UOutA, AUInA> ( Func<Unit, Proxy<RT, UOutA, AUInA, Unit, Void, IN>> lhs)
- PairEachRespondWithRequest <DInC, DOutC> ( Func<Void, Proxy<RT, Unit, Void, DInC, DOutC, A>> rhs)
- ReplaceRespond <DInC, DOutC> ( Func<Void, Proxy<RT, Unit, IN, DInC, DOutC, Unit>> rhs)
- Reflect ()
- Observe ()
- Deconstruct (out Proxy<RT, Unit, IN, Unit, Void, A> value)
- | (IN p1, Consumer<RT, IN, A> p2)
- SelectMany <B> (Func<A, Release<B>> bind)
- SelectMany <B, C> (Func<A, Release<B>> bind, Func<A, B, C> project)
- SelectMany <B> (Func<A, Consumer<IN, B>> bind)
- SelectMany <B, C> (Func<A, Consumer<IN, B>> bind, Func<A, B, C> project)
- SelectMany <B> (Func<A, ConsumerLift<RT, IN, B>> bind)
- SelectMany <B, C> (Func<A, ConsumerLift<RT, IN, B>> bind, Func<A, B, C> project)
- & ( Consumer<RT, IN, A> lhs, Consumer<RT, IN, A> rhs)
Consumers both can only be awaiting
Upstream | Downstream
+---------+
| |
Unit <== <== Unit
| |
IN ==> ==> Void
| | |
+----|----+
|
A
method Consumer<RT, A, R> Pure <RT, A, R> (R value) Source #
Monad return / pure
method Consumer<RT, A, A> awaiting <RT, A> () Source #
Wait for a value from upstream (whilst in a consumer)
This is the simpler version (fewer generic arguments required) of await
that works
for consumers. In pipes, use Pipe.await
method Consumer<RT, A, R> lift <RT, A, R> (Aff<R> ma) Source #
Lift the IO monad into the Consumer monad transformer (a specialism of the Proxy monad transformer)
method Consumer<RT, A, R> lift <RT, A, R> (Eff<R> ma) Source #
Lift the IO monad into the Consumer monad transformer (a specialism of the Proxy monad transformer)
method Consumer<RT, A, R> lift <RT, A, R> (Aff<RT, R> ma) Source #
Lift the IO monad into the Consumer monad transformer (a specialism of the Proxy monad transformer)
method Consumer<RT, A, R> lift <RT, A, R> (Eff<RT, R> ma) Source #
Lift the IO monad into the Consumer monad transformer (a specialism of the Proxy monad transformer)
method Consumer<RT, A, Unit> lift <RT, A> (Aff<RT, Unit> ma) Source #
Lift the IO monad into the Consumer monad transformer (a specialism of the Proxy monad transformer)
method Consumer<RT, A, Unit> lift <RT, A> (Eff<RT, Unit> ma) Source #
Lift the IO monad into the Consumer monad transformer (a specialism of the Proxy monad transformer)
method Consumer<RT, IN, R> use <RT, IN, R> (Aff<R> ma) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Eff<R> ma) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Aff<RT, R> ma) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Eff<RT, R> ma) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Aff<R> ma, Func<R, Unit> dispose) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Eff<R> ma, Func<R, Unit> dispose) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Aff<RT, R> ma, Func<R, Unit> dispose) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, R> use <RT, IN, R> (Eff<RT, R> ma, Func<R, Unit> dispose) Source #
Lift am IO monad into the Proxy
monad transformer
method Consumer<RT, IN, Unit> release <RT, IN, R> (R dispose) Source #
Release a previously used resource
method Consumer<RT, A, R> mapM <RT, A, R> (Func<A, Aff<RT, Unit>> f) Source #
Consume all values using a monadic function
method Consumer<RT, A, Unit> mapM <RT, A> (Func<A, Aff<RT, Unit>> f) Source #
Consume all values using a monadic function
method Consumer<RT, A, R> mapM <RT, A, R> (Func<A, Eff<RT, Unit>> f) Source #
Consume all values using a monadic function
method Consumer<RT, A, Unit> mapM <RT, A> (Func<A, Eff<RT, Unit>> f) Source #
Consume all values using a monadic function
method Consumer<RT, A, R> mapM <RT, A, R> (Func<A, Aff<Unit>> f) Source #
Consume all values using a monadic function
method Consumer<RT, A, Unit> mapM <RT, A> (Func<A, Aff<Unit>> f) Source #
Consume all values using a monadic function
class Consumer <RT, IN, A> Source #
Consumers both can only be awaiting
Upstream | Downstream
+---------+
| |
Unit <== <== Unit
| |
IN ==> ==> Void
| | |
+----|----+
|
A
method Proxy<RT, Unit, IN, Unit, Void, A> ToProxy () Source #
Calling this will effectively cast the sub-type to the base.
This type wraps up a Proxy
for convenience, and so it's a Proxy
proxy. So calling this method
isn't exactly the same as a cast operation, as it unwraps the Proxy
from within. It has the same effect
however, and removes a level of indirection
returns | A general |
method Proxy<RT, Unit, IN, Unit, Void, S> Bind <S> (Func<A, Proxy<RT, Unit, IN, Unit, Void, S>> f) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Consumer<RT, IN, B> Bind <B> (Func<A, Consumer<RT, IN, B>> f) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Proxy<RT, Unit, IN, Unit, Void, S> Map <S> (Func<A, S> f) Source #
Lifts a pure function into the Proxy
domain, causing it to map the bound value within
type | B | The mapped bound value type |
param | f | The map function |
returns | A new |
method Consumer<RT, IN, B> SelectMany <B> (Func<A, Consumer<RT, IN, B>> f) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Consumer<RT, IN, C> SelectMany <B, C> (Func<A, Consumer<RT, IN, B>> f, Func<A, B, C> project) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Consumer<RT, IN, B> Select <B> (Func<A, B> f) Source #
Lifts a pure function into the Proxy
domain, causing it to map the bound value within
type | B | The mapped bound value type |
param | f | The map function |
returns | A new |
method Proxy<RT, Unit, IN, C1, C, A> For <C1, C> (Func<Void, Proxy<RT, Unit, IN, C1, C, Unit>> body) Source #
For(body)
loops over the Proxy p
replacing each yield
with body
param | body | Any |
returns | A new |
method Proxy<RT, Unit, IN, Unit, Void, S> Action <S> (Proxy<RT, Unit, IN, Unit, Void, S> r) Source #
Applicative action
Invokes this Proxy
, then the Proxy r
param | r |
|
method Proxy<RT, UOutA, AUInA, Unit, Void, A> PairEachRequestWithRespond <UOutA, AUInA> ( Func<Unit, Proxy<RT, UOutA, AUInA, Unit, IN, A>> lhs) Source #
Used by the various composition functions and when composing proxies with the |
operator. You usually
wouldn't need to call this directly, instead either pipe them using |
or call Proxy.compose(lhs, rhs)
(f +>> p) pairs each 'request' in this
with a 'respond' in lhs
.
method Proxy<RT, UOutA, AUInA, Unit, Void, A> ReplaceRequest <UOutA, AUInA> ( Func<Unit, Proxy<RT, UOutA, AUInA, Unit, Void, IN>> lhs) Source #
Used by the various composition functions and when composing proxies with the |
operator. You usually
wouldn't need to call this directly, instead either pipe them using |
or call Proxy.compose(lhs, rhs)
method Proxy<RT, Unit, IN, DInC, DOutC, A> PairEachRespondWithRequest <DInC, DOutC> ( Func<Void, Proxy<RT, Unit, Void, DInC, DOutC, A>> rhs) Source #
Used by the various composition functions and when composing proxies with the |
operator. You usually
wouldn't need to call this directly, instead either pipe them using |
or call Proxy.compose(lhs, rhs)
method Proxy<RT, Unit, IN, DInC, DOutC, A> ReplaceRespond <DInC, DOutC> ( Func<Void, Proxy<RT, Unit, IN, DInC, DOutC, Unit>> rhs) Source #
Used by the various composition functions and when composing proxies with the |
operator. You usually
wouldn't need to call this directly, instead either pipe them using |
or call Proxy.compose(lhs, rhs)
method Proxy<RT, Void, Unit, IN, Unit, A> Reflect () Source #
Reverse the arrows of the Proxy
to find its dual.
returns | The dual of |
method Proxy<RT, Unit, IN, Unit, Void, A> Observe () Source #
Observe(lift (Pure(r))) = Observe(Pure(r))
Observe(lift (m.Bind(f))) = Observe(lift(m.Bind(x => lift(f(x)))))
This correctness comes at a small cost to performance, so use this function sparingly. This function is a convenience for low-level pipes implementers. You do not need to use observe if you stick to the safe API.
method void Deconstruct (out Proxy<RT, Unit, IN, Unit, Void, A> value) Source #
method Consumer<RT, IN, B> SelectMany <B> (Func<A, Release<B>> bind) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | bind | The bind function |
returns | A new |
method Consumer<RT, IN, C> SelectMany <B, C> (Func<A, Release<B>> bind, Func<A, B, C> project) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | bind | The bind function |
returns | A new |
method Consumer<RT, IN, B> SelectMany <B> (Func<A, Consumer<IN, B>> bind) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Consumer<RT, IN, C> SelectMany <B, C> (Func<A, Consumer<IN, B>> bind, Func<A, B, C> project) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Consumer<RT, IN, B> SelectMany <B> (Func<A, ConsumerLift<RT, IN, B>> bind) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |
method Consumer<RT, IN, C> SelectMany <B, C> (Func<A, ConsumerLift<RT, IN, B>> bind, Func<A, B, C> project) Source #
Monadic bind operation, for chaining Proxy
computations together.
type | B | The mapped bound value type |
param | f | The bind function |
returns | A new |