parseArtists function
Parses artist from results
.
Implementation
List parseArtists(List<JsonMap> results, {bool uploaded = false}) {
final List artists = [];
for (final result in results) {
final data = result[MRLIR];
final artist = <String, dynamic>{};
artist['browseId'] = nav(data, NAVIGATION_BROWSE_ID);
artist['artist'] = getItemText(data as JsonMap, 0);
final pageType = nav(
data,
NAVIGATION_BROWSE + PAGE_TYPE,
nullIfAbsent: true,
);
if (pageType == 'MUSIC_PAGE_TYPE_USER_CHANNEL') {
artist['type'] = 'channel';
} else if (pageType == 'MUSIC_PAGE_TYPE_ARTIST') {
artist['type'] = 'artist';
}
parseMenuPlaylists(data, artist);
if (uploaded) {
artist['songs'] = (getItemText(data, 1) ?? '').split(' ')[0];
} else {
final subtitle = getItemText(data, 1);
if (subtitle != null) {
artist['subscribers'] = subtitle.split(' ')[0];
}
}
artist['thumbnails'] = nav(data, THUMBNAILS, nullIfAbsent: true);
artists.add(artist);
}
return artists;
}