# ash_phoenix_gen_api v1.0.3 - API Reference

## Modules

- [AshPhoenixGenApi](AshPhoenixGenApi.md): Ash extension for generating PhoenixGenApi function configurations from Ash resources.
- [AshPhoenixGenApi.Verifiers.VerifyActionConfigs](AshPhoenixGenApi.Verifiers.VerifyActionConfigs.md): Verifier for the `gen_api` section of `AshPhoenixGenApi.Resource`.
- [AshPhoenixGenApi.Verifiers.VerifyDomainConfig](AshPhoenixGenApi.Verifiers.VerifyDomainConfig.md): Verifier for the `gen_api` section of `AshPhoenixGenApi.Domain`.

- Extensions
  - [AshPhoenixGenApi.Domain](AshPhoenixGenApi.Domain.md): Ash Domain extension for PhoenixGenApi configuration.
  - [AshPhoenixGenApi.Resource](AshPhoenixGenApi.Resource.md): Ash extension for generating PhoenixGenApi function configurations from Ash resources.
  - [AshPhoenixGenApi.Resource.ActionConfig](AshPhoenixGenApi.Resource.ActionConfig.md): Configuration struct for a single PhoenixGenApi action endpoint.
  - [AshPhoenixGenApi.Resource.MfaConfig](AshPhoenixGenApi.Resource.MfaConfig.md): Configuration struct for a standalone PhoenixGenApi MFA endpoint.

- Shared Internals
  - [AshPhoenixGenApi.Resource.EffectiveField](AshPhoenixGenApi.Resource.EffectiveField.md): A macro that generates common `effective_*` functions for configuration structs.
  - [AshPhoenixGenApi.Resource.SharedTypes](AshPhoenixGenApi.Resource.SharedTypes.md): Shared type definitions for ActionConfig and MfaConfig.

- Introspection
  - [AshPhoenixGenApi.Domain.Info](AshPhoenixGenApi.Domain.Info.md): Introspection helpers for the `AshPhoenixGenApi.Domain` DSL extension.
  - [AshPhoenixGenApi.Resource.Info](AshPhoenixGenApi.Resource.Info.md): Introspection helpers for the `AshPhoenixGenApi.Resource` DSL extension.

- Transformers
  - [AshPhoenixGenApi.Transformers.DefineDomainSupporter](AshPhoenixGenApi.Transformers.DefineDomainSupporter.md): Transformer that generates the PhoenixGenApi supporter module for an Ash domain.
  - [AshPhoenixGenApi.Transformers.DefineFunConfigs](AshPhoenixGenApi.Transformers.DefineFunConfigs.md): Transformer that generates PhoenixGenApi FunConfig structs and code interface
functions from Ash resource actions.

- Type Mapping
  - [AshPhoenixGenApi.TypeMapper](AshPhoenixGenApi.TypeMapper.md): Maps Ash types to PhoenixGenApi argument types.
PhoenixGenApi supports the following argument types

- Utilities
  - [AshPhoenixGenApi.Codec](AshPhoenixGenApi.Codec.md): Encodes Ash resource struct results based on `result_encoder` configuration.
  - [AshPhoenixGenApi.JsonConfig](AshPhoenixGenApi.JsonConfig.md): Utility for generating JSON function config lists from Ash resources and domains.

