# `Grephql.Query`
[🔗](https://github.com/fahchen/grephql/blob/v0.10.1/lib/grephql/query.ex#L1)

Represents a compiled GraphQL operation ready for execution.

Created at compile time by `defgql`/`defgqlp`.
Contains the query string, operation metadata, and references to
generated type modules.

# `t`

```elixir
@type t() :: %Grephql.Query{
  client_module: module(),
  document: String.t(),
  has_variables?: boolean(),
  input_modules: [module()],
  operation_name: String.t() | nil,
  operation_type: String.t(),
  result_module: module(),
  result_modules: [module()],
  variable_docs: [variable_doc()],
  variables_module: module() | nil
}
```

# `variable_doc`

```elixir
@type variable_doc() :: %{name: String.t(), type: String.t(), required: boolean()}
```

---

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