LanguageExt.Pipes

LanguageExt.Pipes Effect

Contents

record Effect <RT, A> (PipeT<Unit, Void, Eff<RT>, A> Proxy) Source #

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

method Eff<RT, A> Run () Source #

method ValueTask<Eff<RT, A>> RunAsync () Source #

Operators

operator | (Schedule lhs, Effect<RT, A> rhs) Source #

operator | (Effect<RT, A> lhs, Schedule rhs) Source #

class EffectExtensions Source #

Methods

method Effect<RT, A> ToEffect <RT, A> (this K<PipeT<Unit, Void, Eff<RT>>, A> pipe) Source #

Transformation from PipeT to EffectT.

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

Downcast

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

Monad bind

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

Monad bind

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

Monad bind

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

Monad bind

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

Monad bind

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

Monad bind

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

Monad bind

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

Monad bind

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

Monad bind operation

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

Monad bind operation

class Effect Source #

Effect streaming effect monad-transformer

Methods

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

Create an effect that simply returns a bound value without yielding anything

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create an effect that always fails

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

method Effect<RT, A> empty <RT, A> () Source #

Create an effect that yields nothing at all

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create an effect that lazily returns a bound value without yielding anything

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create an effect that simply returns the bound value of the lifted monad without yielding anything

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create an effect that simply returns the bound value of the lifted monad without yielding anything

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create a lazy proxy

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create an asynchronous lazy proxy

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Create an asynchronous proxy

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Continually repeat the provided operation

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Repeat the provided operation based on the schedule provided

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

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

Continually lift & repeat the provided operation

Parameters

type RT

Effect runtime type

type A

Bound value type

returns

method Effect<RT, A> repeatM <RT, 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 A

Bound value type

returns

class Effect <RT> Source #