# typedGql v0.11.0 - API Reference

## Modules

- [TypedGql.Generation.Context](TypedGql.Generation.Context.md): Read-only context passed to `TypedGql.Generation.Plugin` callbacks.
- [TypedGql.Generation.Field](TypedGql.Generation.Field.md): A single generated schema field, before lowering to EctoTypedSchema AST.
- [TypedGql.Generation.Plugin](TypedGql.Generation.Plugin.md): Behaviour for hooking into the response-type generation pipeline.
- [TypedGql.Generation.Plugins.SkipInclude](TypedGql.Generation.Plugins.SkipInclude.md): Built-in generation plugin for the `@include` and `@skip` directives.
- [TypedGql.Generation.Schema](TypedGql.Generation.Schema.md): A node in the generated-schema tree, built by the resolve step before
lowering to EctoTypedSchema AST.
- [TypedGql.JSON](TypedGql.JSON.md): Behaviour for JSON encoding/decoding.
- [TypedGql.Lexer](TypedGql.Lexer.md)
- [TypedGql.Types.Typename](TypedGql.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
  - [TypedGql](TypedGql.md): Compile-time GraphQL client for Elixir.
  - [TypedGql.Error](TypedGql.Error.md): Represents a GraphQL error from the response.
  - [TypedGql.Query](TypedGql.Query.md): Represents a compiled GraphQL operation ready for execution.
  - [TypedGql.Result](TypedGql.Result.md): Represents a GraphQL response.

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

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

## Mix Tasks

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

