# `FrappeUIPhx.Config`
[🔗](https://github.com/moacirbishopcamata/frappe_ui_phx/blob/v0.3.1/lib/frappe_ui_phx/config.ex#L1)

Resolve e **valida** o módulo configurado para um ponto de extensão
(`IconResolver`, `ToastSink`, `ErrorTranslator`, `Translator`). Um módulo inexistente
ou sem o callback falha na primeira chamada com mensagem clara, em vez de um
`UndefinedFunctionError` no meio da renderização.

# `module!`

```elixir
@spec module!(atom(), module(), atom(), arity()) :: module()
```

Módulo de `config :frappe_ui_phx, key`, ou `default`, garantindo `callback/arity`.

---

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