# `Literature.Pagination.Paginater`

The `Literature.Pagination.Paginater` protocol should be implemented for any type that requires pagination.

# `t`

```elixir
@type t() :: term()
```

All the types that implement this protocol.

# `paginate`

```elixir
@spec paginate(any(), map(), Keyword.t()) :: Literature.Pagination.Page.t()
```

The paginate function will be invoked with the item to paginate along with an option. It is expected to return a `Literature.Pagination.Page`.

---

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