list method

Request<List<Topic>> list({
  1. List<String>? idsOrSlugs,
  2. int? page,
  3. int? perPage,
  4. TopicOrder? orderBy,
})

List topics

Get a single page from the list of all topics.

See: Unsplash docs

Implementation

Request<List<Topic>> list({
  List<String>? idsOrSlugs,
  int? page,
  int? perPage,
  TopicOrder? orderBy,
}) {
  assert(page == null || page >= 0);
  assert(perPage == null ||
      perPage >= 0 && perPage <= client.settings.maxPageSize);

  final params = queryParams({
    'ids': idsOrSlugs?.join(','),
    'page': page,
    'per_page': perPage,
    'order_by': orderBy?.let(enumName),
  });

  final url = baseUrl.replace(queryParameters: params);

  return Request(
    client: client,
    httpRequest: http.Request('GET', url),
    isPublicAction: true,
    bodyDeserializer: _deserializeTopics,
  );
}