View Source SpawnSdk.Value (spawn_sdk v1.3.1)

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.

Summary

Types

@type broadcast() :: SpawnSdk.Flow.Broadcast.t()
@type effects() :: [SpawnSdk.Flow.SideEffect.t()]
@type forward() :: SpawnSdk.Flow.Forward.t()
@type new_state() :: term()
@type pipe() :: SpawnSdk.Flow.Pipe.t()
@type response() :: term()
@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: term(),
  tags: map(),
  value: term()
}
@type tags() :: map()
@type value() :: t()

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()}