# `Bolty.Response`

The result of a single Bolt RUN/PULL exchange returned by `Bolty.query/4`
and friends.

Fields:

  * `results` — row-major list of `%{field => value}` maps; what you usually want.
  * `fields` — list of returned field names in column order.
  * `records` — untransformed column-major rows, parallel to `fields`.
  * `plan`, `profile`, `stats`, `notifications`, `type`, `bookmark` — server
    metadata from the trailing SUCCESS message; shapes follow the Bolt
    protocol.

Implements `Enumerable` over `results` — `Enum.map/2`, `Enum.count/1`, and
`for` comprehensions all work. Use `Bolty.Response.first/1` for the common
single-row case.

# `acc`

```elixir
@type acc() :: any()
```

# `element`

```elixir
@type element() :: any()
```

# `key`

```elixir
@type key() :: any()
```

# `t`

```elixir
@type t() :: %Bolty.Response{
  bookmark: String.t(),
  fields: list(),
  notifications: list(),
  plan: map(),
  profile: any(),
  records: list(),
  results: list(),
  stats: list() | map(),
  type: String.t()
}
```

# `value`

```elixir
@type value() :: any()
```

# `first`

# `new`

---

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