parseAlbums function

List parseAlbums(
  1. List<JsonMap> results
)

Parses albums from results.

Implementation

List parseAlbums(List<JsonMap> results) {
  final List albums = [];

  for (final result in results) {
    final data = result[MTRIR] as JsonMap;
    final album = <String, dynamic>{};
    album['browseId'] = nav(data, TITLE + NAVIGATION_BROWSE_ID);
    album['playlistId'] = nav(data, MENU_PLAYLIST_ID, nullIfAbsent: true);
    album['title'] = nav(data, TITLE_TEXT);
    album['thumbnails'] = nav(data, THUMBNAIL_RENDERER);

    if (data['subtitle'] != null &&
        (data['subtitle'] as JsonMap).containsKey('runs')) {
      album['type'] = nav(data, SUBTITLE);
      album.addAll(
        parseSongRuns(
          ((data['subtitle'] as JsonMap)['runs'] as List).sublist(2),
        ),
      );
    }

    albums.add(album);
  }

  return albums;
}