ClearBank.Schemas.PaginatedResponse (ClearBank v1.0.0)

Copy Markdown View Source

Generic typed wrapper for paginated API responses.

Usage

{:ok, body} = ClearBank.Accounts.list(client)
paginated = ClearBank.Schemas.PaginatedResponse.from_map(body, "accounts", &ClearBank.Schemas.Account.from_map/1)
paginated.data       # => [%Account{}, ...]
paginated.total_count
paginated.page_number
paginated.page_size

Summary

Types

t(item)

@type t(item) :: %ClearBank.Schemas.PaginatedResponse{
  data: [item],
  page_number: pos_integer(),
  page_size: pos_integer(),
  total_count: non_neg_integer()
}

Functions

from_map(body, data_key, item_parser)

@spec from_map(map(), String.t(), (map() -> any())) :: t(any())