# `JSONAPI.Paginator`
[🔗](https://github.com/beam-community/jsonapi/blob/main/lib/jsonapi/paginator.ex#L1)

Pagination strategy behaviour

# `links`

```elixir
@type links() :: %{
  first: String.t() | nil,
  last: String.t() | nil,
  next: String.t() | nil,
  prev: String.t() | nil
}
```

# `options`

```elixir
@type options() :: Keyword.t()
```

# `page`

```elixir
@type page() :: map()
```

# `params`

```elixir
@type params() :: %{required(String.t()) =&gt; String.t()}
```

# `paginate`

```elixir
@callback paginate(
  data :: term(),
  view :: atom(),
  conn :: Plug.Conn.t(),
  page(),
  options()
) :: links()
```

---

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