searchResultToDart function

List<YtBaseObject> searchResultToDart(
  1. List results
)

Implementation

List<YtBaseObject> searchResultToDart(List<dynamic> results) {
  return results
      .where(
        (result) =>
            !['episode', 'podcast'].contains((result as JsonMap)['resultType']),
      )
      .map((result) {
        final resultType = (result as JsonMap)['resultType'];
        switch (resultType) {
          case 'album':
            return YtAlbum.fromJson(result);
          case 'artist':
            return YtArtist.fromJson(result);
          case 'playlist':
            return YtPlaylist.fromJson(result);
          case 'song':
            return YtSong.fromJson(result);
          case 'video':
            return YtVideo.fromJson(result);
          default:
            throw UnsupportedError('Unknown resultType: $resultType');
        }
      })
      .toList();
}