View Source SpawnSdk.Value (spawn_sdk v0.5.5)

Value is a declarative DSL that provides the Domain Driven aspect of the Spawn technology. It is through a Value that the user can configure the proxy to carry out the infrastructure tasks and from which it provides all the Worflows.

Link to this section Summary

Link to this section Types

@type broadcast() :: SpawnSdk.Flow.Broadcast.t()
@type effects() :: [SpawnSdk.Flow.SideEffect.t()]
@type forward() :: SpawnSdk.Flow.Forward.t()
@type new_state() :: module()
@type pipe() :: SpawnSdk.Flow.Pipe.t()
@type response() :: module()
@type t() :: %SpawnSdk.Value{
  broadcast: SpawnSdk.Flow.Broadcast.t(),
  effects: [SpawnSdk.Flow.SideEffect.t()],
  forward: SpawnSdk.Flow.Forward.t(),
  pipe: SpawnSdk.Flow.Pipe.t(),
  state: module(),
  tags: map(),
  value: module()
}
@type tags() :: map()
@type value() :: t()

Link to this section Functions

Link to this function

broadcast(value, broadcast)

View Source
@spec broadcast(value(), broadcast()) :: value()
@spec effect(value(), effects()) :: value()
@spec effects(value(), effects()) :: value()
@spec forward(value(), forward()) :: value()
Link to this function

noreply!(value, opts \\ [])

View Source
@spec noreply_state!(new_state()) :: {:reply, value()}
@spec of() :: value()
Link to this function

of(value, response, new_state)

View Source
@spec of(value(), response(), new_state()) :: value()
@spec pipe(value(), pipe()) :: value()
@spec reply!(value()) :: {:reply, value()}
@spec state(value(), new_state()) :: value()
@spec tags(value(), tags()) :: value()
@spec value(value(), response()) :: value()