Track.fromJson constructor

Track.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory Track.fromJson(Map<String, dynamic> json) {
  return Track(
    id: json['id'],
    name: json['name'],
    durationMs: json['duration_ms'],
    isExplicit: json['explicit'],
    isPlayable: json['is_playable'] ?? true,
    popularity: json['popularity'] ?? 0,
    previewUrl: json['preview_url'],
    discNumber: json['disc_number'],
    trackNumber: json['track_number'],
    isLocal: json['is_local'] ?? false,
    spotifyUrl: json['external_urls']['spotify'],
    artists: (json['artists'] as List<dynamic>)
        .map((a) => Artist.fromJson(a))
        .toList(),
    album: Album.fromJson(json['album']),
    availableMarkets: (json['available_markets'] as List<dynamic>?)
        ?.map((e) => e.toString())
        .toList(),
    externalIds: json['external_ids'] != null
        ? ExternalIds.fromJson(json['external_ids'])
        : null,
    images: List<String>.from(
      (json['album']['images'] ?? []).map((img) => img['url']),
    ),
  );
}