searchPhotos method

Future<SearchResult<Photo?>?> searchPhotos(
  1. String query, {
  2. Collection collection = Collection.Regular,
  3. int resultsPerPage = 15,
  4. int page = 1,
})

Implementation

Future<SearchResult<Photo?>?> searchPhotos(String query,
    {Collection collection = Collection.Regular,
    int resultsPerPage = 15,
    int page = 1}) async {
  var url = _getPhotoEndpoint(collection, query, page, resultsPerPage);

  String? data = await _getData(url);

  if (data == null) return null;

  var resultData = jsonDecode(data);

  var photosData = resultData['photos'];

  if (photosData == null) return null;

  var photos = <Photo?>[];

  for (dynamic photoData in photosData) {
    photos.add(_buildPhoto(photoData));
  }
  return new SearchResult(resultData['page'], resultData['per_page'],
      resultData['total_results'], resultData['next_page'], photos);
}