lib/reactor/template.ex

defmodule Reactor.Template do
  @moduledoc """
  Templates used to refer to some sort of computed value.
  """

  alias __MODULE__.{Input, Result, Value}

  @type t :: Input.t() | Result.t() | Value.t()

  @doc "The type for use in option schemas"
  @spec type :: Spark.OptionsHelpers.type()
  def type, do: {:or, [{:struct, Input}, {:struct, Result}, {:struct, Value}]}
end