YtAlbum.fromJson constructor

YtAlbum.fromJson(
  1. JsonMap jsonData, {
  2. YtAlbumType? type,
})

Implementation

factory YtAlbum.fromJson(JsonMap jsonData, {YtAlbumType? type}) {
  return YtAlbum(
    thumbnailData: YtThumbnailData.fromJson(
      List<JsonMap>.from(jsonData['thumbnails'] as List),
    ),
    albumType:
        type ??
        YtAlbumType.fromValue(
          jsonData['type'] as String? ?? jsonData['resultType'] as String,
        ),
    id: jsonData['browseId'] as String,
    title: jsonData['title'] as String,
    artists:
        jsonData['artists'] != null
            ? List<JsonMap>.from(jsonData['artists'] as List)
                .map((artist) => YtBaseObject.fromJson(artist, 'id', 'name'))
                .toList()
            : [],

    duration: jsonData['duration'] as Duration?,
    isExplicit: jsonData['isExplicit'] as bool?,
    playlistId:
        jsonData['playlistId'] as String? ??
        jsonData['audioPlaylistId'] as String,
    year:
        ((jsonData['year'] is String)
            ? (int.tryParse(jsonData['year'] as String))
            : (jsonData['year'] as int?)),
  );
}