parseLibraryArtists function

Future<List> parseLibraryArtists(
  1. JsonMap response,
  2. RequestFuncType requestFunc,
  3. int? limit
)

Parses artists from library.

Implementation

Future<List> parseLibraryArtists(
  JsonMap response,
  RequestFuncType requestFunc,
  int? limit,
) async {
  final results = getLibraryContents(response, MUSIC_SHELF);
  if (results == null) return [];

  final artists = parseArtists(results['contents'] as List<JsonMap>);

  if (results.containsKey('continuations')) {
    List parseFunc(List<JsonMap> contents) => parseArtists(contents);
    final remainingLimit = limit == null ? null : limit - artists.length;
    artists.addAll(
      await getContinuations(
        results,
        'musicShelfContinuation',
        remainingLimit,
        requestFunc,
        parseFunc,
      ),
    );
  }

  return artists;
}