getTopTracks method

Future<List<Track>?> getTopTracks({
  1. required String tag,
  2. int page = 1,
  3. int limit = 50,
})

Get the top tracks tagged by this tag, ordered by tag count.

https://www.last.fm/api/show/tag.getTopTracks

Implementation

Future<List<Track>?> getTopTracks({
  required String tag,
  int page = 1,
  int limit = 50,
}) async {
  final parameters = {'tag': tag, 'page': page, 'limit': limit};

  final request = Request(
    api: _api,
    method: 'tag.getTopTracks',
    parameters: parameters,
  );

  final response = await request.send(mode: RequestMode.GET);

  final topTracks = response['tracks']['track'];

  return topTracks == null
      ? null
      : List.generate(
          (topTracks as List).length,
          (i) => Track.fromJson(topTracks[i]),
        );
}