Stomaton

edomata.core.Stomaton
See theStomaton companion object
final case class Stomaton[F[_], -Env, S, R, E, A](run: (Env, S) => F[ResponseE[R, E, (S, A)]]) extends AnyVal

Attributes

Companion
object
Source
Stomaton.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

inline def >>[Env2 <: Env, B](f: => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

Attributes

Source
Stomaton.scala
inline def >>=[Env2 <: Env, B](f: A => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

Attributes

Source
Stomaton.scala
inline def andThen[Env2 <: Env, B](f: => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

Attributes

Source
Stomaton.scala
def contramap[Env2](f: Env2 => Env): Stomaton[F, Env2, S, R, E, A]

creates a new stomaton that translates some input to what this stomaton can understand

creates a new stomaton that translates some input to what this stomaton can understand

Attributes

Source
Stomaton.scala
def decide[B](f: A => EitherNec[R, B])(using Monad[F]): Stomaton[F, Env, S, R, E, B]

Attributes

Source
Stomaton.scala
def decideS(f: S => EitherNec[R, S])(using Monad[F]): Stomaton[F, Env, S, R, E, S]

Attributes

Source
Stomaton.scala
def flatMap[Env2 <: Env, B](f: A => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

binds another stomaton to this one.

binds another stomaton to this one.

Attributes

Source
Stomaton.scala
def handleErrorWith[Env2 <: Env](f: (Type[R]) => Stomaton[F, Env2, S, R, E, A])(using Monad[F]): Stomaton[F, Env2, S, R, E, A]

Attributes

Source
Stomaton.scala
def map[B](f: A => B)(using Functor[F]): Stomaton[F, Env, S, R, E, B]

maps output result

maps output result

Attributes

Source
Stomaton.scala
def mapK[G[_]](fk: FunctionK[F, G]): Stomaton[G, Env, S, R, E, A]

translates this program in another language mapped by a natural transformation

translates this program in another language mapped by a natural transformation

Attributes

Source
Stomaton.scala
def modify(f: S => S)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

Attributes

Source
Stomaton.scala
def publish(ns: E*)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

Adds notification without considering decision state

Adds notification without considering decision state

Attributes

Source
Stomaton.scala
def publishOnRejection(ns: E*)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

publishes these notifications if this edomaton is rejected

publishes these notifications if this edomaton is rejected

Attributes

Source
Stomaton.scala
def publishOnRejectionWith(f: (Type[R]) => Seq[E])(using Functor[F]): Stomaton[F, Env, S, R, E, A]

If this edomaton is rejected, uses given function to decide what to publish

If this edomaton is rejected, uses given function to decide what to publish

Attributes

Source
Stomaton.scala
def set(s: S)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

Attributes

Source
Stomaton.scala
def transform[R2 >: R, E2 >: E, B](f: (ResponseE[R, E, (S, A)]) => ResponseE[R2, E2, (S, B)])(using Functor[F]): Stomaton[F, Env, S, R2, E2, B]

transforms underlying response

transforms underlying response

Attributes

Source
Stomaton.scala

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product