Jidoka.Runtime.LocalOperations (Jidoka v0.8.0-beta.1)

Copy Markdown View Source

Runtime support for executing local Elixir functions as Jidoka operations.

This is mainly useful for deterministic tests, examples, and simple in-process operations. Production tool authoring should normally use Jidoka.Action, which is backed by Jido.Action.

Summary

Functions

Builds an operation function from a map of operation handlers.

Types

handler()

@type handler() ::
  (map() -> term())
  | (Jidoka.Effect.Intent.t(), Jidoka.Effect.Journal.t() -> term())

Functions

operations(handlers)

@spec operations(%{required(String.t() | atom()) => handler()}) ::
  Jidoka.Runtime.Capabilities.operation_capability()

Builds an operation function from a map of operation handlers.

operations =
  Jidoka.Runtime.LocalOperations.operations(%{
    "local_time" => fn %{"city" => city} -> {:ok, %{city: city, time: "09:30"}} end
  })