View Source SpawnSdk.Value (spawn_sdk v1.0.0-rc3)

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()
@spec of(response(), new_state()) :: 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()}
Link to this function

response(value, response)

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