server_utils v0.3.0 ServerUtils.Parsers.Pagination.Cursor.Parser
Parses a map with a cursor page request to a ServerUtils.Page.CursorPageRequest
struct.
Any missing values will be get the default values. The default values can be configured via the config file
or overrided using default_values_opts
.
Link to this section Summary
Functions
Parses a page params from a cursor pagination request
Link to this section Types
Link to this type
default_values_opts()
default_values_opts() :: [cursor: String.t(), number_of_items: non_neg_integer(), max_number_of_items: non_neg_integer()]
Link to this section Functions
Link to this function
parse_cursor_page_request(params_map, opts \\ [])
parse_cursor_page_request(map(), default_values_opts()) :: CursorPageRequest.t()
Parses a page params from a cursor pagination request.
It returns the CursorPageRequest.t
with the present values and with the default.
Examples
iex> Elixir.ServerUtils.Parsers.Pagination.Cursor.Parser.parse_cursor_page_request(%{"cursor" => "a_cursor", "number_of_items" => 23})
%ServerUtils.Pagination.Cursor.PageRequest{cursor: "a_cursor", number_of_items: 23}
iex> Elixir.ServerUtils.Parsers.Pagination.Cursor.Parser.parse_cursor_page_request(%{"cursor" => "a_cursor", "number_of_items" => 9000})
%ServerUtils.Pagination.Cursor.PageRequest{cursor: "a_cursor",
number_of_items: 50}
iex> Elixir.ServerUtils.Parsers.Pagination.Cursor.Parser.parse_cursor_page_request(%{"cursor": "", "number_of_items": 0})
%ServerUtils.Pagination.Cursor.PageRequest{cursor: "", number_of_items: 25}
iex> Elixir.ServerUtils.Parsers.Pagination.Cursor.Parser.parse_cursor_page_request(%{"number_of_items": 0}, cursor: "a_default_cursor")
%ServerUtils.Pagination.Cursor.PageRequest{cursor: "a_default_cursor", number_of_items: 25}