# `ExGram.Macros.Checker`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.65.0/lib/ex_gram/macros/checker.ex#L1)

Type checker for the method executer.

# `error_type_element`

```elixir
@type error_type_element() :: {any(), [valid_type()]}
```

# `param_type`

```elixir
@type param_type() :: maybe_improper_list(any(), [valid_type()])
```

# `params_types`

```elixir
@type params_types() :: [param_type()]
```

# `valid_type`

```elixir
@type valid_type() ::
  :integer
  | :string
  | :boolean
  | :float
  | :file
  | {:array, valid_type()}
  | atom()
```

# `check_types`

```elixir
@spec check_types(params_types()) ::
  :ok | {:error, [{error_type_element(), integer()}]}
```

---

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