# `Arc.Page`
[🔗](https://github.com/Cratis/Arc.Elixir/blob/main/lib/arc/read_model.ex#L184)

A page of results from a query that pages itself, for example a query over a database.

Return `{:ok, %Arc.Page{items: items, total: total}}` from a query and Arc reports the
`paging` block of the result envelope from it instead of paging a list in memory.

# `t`

```elixir
@type t() :: %Arc.Page{
  items: [term()],
  page: non_neg_integer(),
  size: non_neg_integer(),
  total: non_neg_integer()
}
```

---

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