# `Ash.OptionsHelpers`
[🔗](https://github.com/ash-project/ash/blob/v3.27.8/lib/ash/options_helpers.ex#L5)

Helpers for working with nimble options

# `ash_resource`

```elixir
@spec ash_resource() :: {:spark, Ash.Resource}
```

Used to configure Spark to know that the type referenced is an Ash.Resource
also using Spark.

# `ash_type`

```elixir
@spec ash_type() ::
  {:spark_type, Ash.Type, :builtins, [{String.t(), String.t(), String.t()}]}
```

Specifies Ash types that can be allowed when declaring a type for an
attribute, calculation, aggregate, etc.

# `calculation_type`

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

Defines the calculation type used in DSL schema definitions, allowing either
a calculation module/function or an `expr(...)` expression.

# `hide_all_except`

```elixir
@spec hide_all_except(Keyword.t(), [atom()]) :: Keyword.t()
```

Used for marking an option as hidden so it doesn't show up as an option
with Spark.

---

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