# Grephql v0.10.1 - API Reference

## Modules

- [Grephql.JSON](Grephql.JSON.md): Behaviour for JSON encoding/decoding.
- [Grephql.Lexer](Grephql.Lexer.md)
- [Grephql.Types.Typename](Grephql.Types.Typename.md): Parameterized Ecto Type for GraphQL `__typename` fields.
- [TypedStructor.Plugins.Access](TypedStructor.Plugins.Access.md): A `TypedStructor` plugin that implements the `Access` behaviour for structs.

- Core API
  - [Grephql](Grephql.md): Compile-time GraphQL client for Elixir.
  - [Grephql.Error](Grephql.Error.md): Represents a GraphQL error from the response.
  - [Grephql.Query](Grephql.Query.md): Represents a compiled GraphQL operation ready for execution.
  - [Grephql.Result](Grephql.Result.md): Represents a GraphQL response.

- Type System
  - [Grephql.EmbeddedSchema](Grephql.EmbeddedSchema.md): Base module for generated GraphQL embedded schemas.
  - [Grephql.InputTypeGenerator](Grephql.InputTypeGenerator.md): Generates Ecto embedded schema modules for GraphQL input types.
  - [Grephql.ResponseDecoder](Grephql.ResponseDecoder.md): Decodes GraphQL JSON response data into typed embedded schema structs.
  - [Grephql.TypeGenerator](Grephql.TypeGenerator.md): Generates EctoTypedSchema embedded schema modules from GraphQL query AST.
  - [Grephql.TypeMapper](Grephql.TypeMapper.md): Maps GraphQL type references to Ecto schema types.
  - [Grephql.Types.DateTime](Grephql.Types.DateTime.md): Ecto Type for GraphQL DateTime custom scalar.
  - [Grephql.Types.Enum](Grephql.Types.Enum.md): Parameterized Ecto Type for GraphQL enum types.
  - [Grephql.Types.PathSegment](Grephql.Types.PathSegment.md): Ecto Type for GraphQL error path segments.
  - [Grephql.Types.Union](Grephql.Types.Union.md): Dynamic parameterized Ecto Type for GraphQL union/interface types.

- Formatting
  - [Grephql.Formatter](Grephql.Formatter.md): Formatter plugin for the `~GQL` sigil.

## Mix Tasks

- Mix Tasks
  - [mix grephql.download_schema](Mix.Tasks.Grephql.DownloadSchema.md): Downloads a GraphQL schema via introspection and saves it as JSON.

