Alembic v2.1.0 Alembic.Pagination.Page
A page using paged pagination where the size of pages is fixed.
Summary
Functions
Extracts number
from query
"page[number]"
and and size
from query
"page[size]"
Extracts number
from uri
query
"page[number]"
and size
from uri
query
"page[size]"
Converts the page
back to params
Types
t :: %Alembic.Pagination.Page{number: non_neg_integer, size: pos_integer}
number
- the 1-based page numbersize
- the size of this page and all pages
Functions
Extracts number
from query
"page[number]"
and and size
from query
"page[size]"
.
iex> Alembic.Pagination.Page.from_query("page%5Bnumber%5D=2&page%5Bsize%5D=10")
%Alembic.Pagination.Page{number: 2, size: 10}
If query
does not have both "page[number]"
and "page[size]"
then nil
is returned
iex> Alembic.Pagination.Page.from_query("page%5Bnumber%5D=2")
nil
iex> Alembic.Pagination.Page.from_query("page%5Bsize%5D=10")
nil
iex> Alembic.Pagination.Page.from_query("")
nil
Extracts number
from uri
query
"page[number]"
and size
from uri
query
"page[size]"
.
iex> Alembic.Pagination.Page.from_uri(%URI{query: "page%5Bnumber%5D=2&page%5Bsize%5D=10"})
%Alembic.Pagination.Page{number: 2, size: 10}
If a URI.t
query
does not have both "page[number]"
and "page[size]"
then nil
is returned
iex> Alembic.Pagination.Page.from_uri(%URI{query: "page%5Bnumber%5D=2"})
nil
iex> Alembic.Pagination.Page.from_uri(%URI{query: "page%5Bsize%5D=10"})
nil
iex> Alembic.Pagination.Page.from_uri(%URI{query: ""})
nil
If a URI.t
does not have a query then nil
is returned
iex> Alembic.Pagination.Page.from_uri(%URI{query: nil})
nil
Specs
to_params(t) :: map
Converts the page
back to params.
iex> Alembic.Pagination.Page.to_params(%Alembic.Pagination.Page{number: 2, size: 10})
%{
"page" => %{
"number" => 2,
"size" => 10
}
}