DurableEntityT

endless.core.interpret.DurableEntityT

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

object State

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
State.type
sealed trait State[+S]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Existing[S]
object None.type
class Updated[S]

Types

type DurableEntityT[F[_], S, A] = StateT[F, State[S], A]

DurableEntityT[F, S, A] is a type alias for StateT monad transformer from cats. State is the state of the entity, which can be get (exposed as read) and set (exposed as write)

DurableEntityT[F, S, A] is a type alias for StateT monad transformer from cats. State is the state of the entity, which can be get (exposed as read) and set (exposed as write)

Type parameters

A

value

F

context

S

entity state

Attributes

Value members

Concrete methods

def liftF[F[_] : Applicative, S, A](fa: F[A]): DurableEntityT[F, S, A]
def stateModifier[F[_] : Applicative, S](f: S => S): DurableEntityT[F, S, Unit]
def stateModifierF[F[_] : Applicative, S](f: S => F[S]): DurableEntityT[F, S, Unit]
def stateReader[F[_] : Applicative, S]: DurableEntityT[F, S, Option[S]]
def stateWriter[F[_] : Applicative, S](state: S): DurableEntityT[F, S, Unit]
def unit[F[_] : Applicative, S]: DurableEntityT[F, S, Unit]

Implicits

Implicits

implicit def clockForDurableEntityT[F[_] : Clock, S](implicit evidence$9: Applicative[F], evidence$10: Clock[F], A0: Applicative[[_] =>> DurableEntityT[F, S, _$17]]): Clock[[_] =>> DurableEntityT[F, S, _$18]]
implicit def instance[F[_] : Monad, S]: DurableEntity[[_] =>> DurableEntityT[F, S, _$13], S]

Given that a monad instance can be found for F, this provides an DurableEntityT transformer instance for it. This is used by deployDurableEntity: the createEntity creator for entity algebra can thus be injected with an instance of DurableEntity[F[_]] interpreted with DurableEntityT[F, S, *]

Given that a monad instance can be found for F, this provides an DurableEntityT transformer instance for it. This is used by deployDurableEntity: the createEntity creator for entity algebra can thus be injected with an instance of DurableEntity[F[_]] interpreted with DurableEntityT[F, S, *]

Attributes

implicit def liftK[F[_] : Applicative, S]: FunctionK[F, [_] =>> DurableEntityT[F, S, _$4]]
implicit def loggerForDurableEntityT[F[_] : Applicative, S](implicit evidence$11: Applicative[F], logger: Logger[F]): Logger[[_] =>> DurableEntityT[F, S, _$22]]