defmodule Stripe.List do
@moduledoc """
Work with Stripe list objects.
A list is a general-purpose Stripe object which holds one or more
other Stripe objects in its "data" property.
In its current iteration it simply allows serializing into a properly
typed struct.
In future iterations, it should:
- Support multiple types of objects in its collection
- Support fetching the next set of objects (pagination)
"""
use Stripe.Entity
@type value :: term
@type t(value) :: %__MODULE__{
object: String.t(),
data: [value],
has_more: boolean,
total_count: integer | nil,
url: String.t()
}
defstruct [:object, :data, :has_more, :total_count, :url]
end