# `Reactor.Template`
[🔗](https://github.com/ash-project/reactor/blob/main/lib/reactor/template.ex/#L6)

Templates used to refer to some sort of computed value.

# `t`

```elixir
@type t() ::
  Reactor.Template.Element.t()
  | Reactor.Template.Input.t()
  | Reactor.Template.Result.t()
  | Reactor.Template.Value.t()
```

# `is_element_template`
*macro* 

```elixir
@spec is_element_template(any()) :: Macro.output()
```

A guard for element templates

# `is_input_template`
*macro* 

```elixir
@spec is_input_template(any()) :: Macro.output()
```

A guard for input templates

# `is_result_template`
*macro* 

```elixir
@spec is_result_template(any()) :: Macro.output()
```

A guard for result templates

# `is_template`
*macro* 

```elixir
@spec is_template(any()) :: Macro.output()
```

A guard to detect all template types

# `is_value_template`
*macro* 

```elixir
@spec is_value_template(any()) :: Macro.output()
```

A guard for value templates

# `type`

```elixir
@spec type() :: Spark.Options.type()
```

The type for use in option schemas

---

*Consult [api-reference.md](api-reference.md) for complete listing*
