YtPlaylist.fromJson constructor

YtPlaylist.fromJson(
  1. JsonMap jsonData
)

Implementation

factory YtPlaylist.fromJson(JsonMap jsonData) {
  return YtPlaylist(
    thumbnailData: YtThumbnailData.fromJson(
      List<JsonMap>.from(jsonData['thumbnails'] as List),
    ),
    playlistType: YtPlaylistType.fromValue(
      jsonData['category'] as String? ?? 'Playlists',
    ),
    id: jsonData['browseId'] as String? ?? jsonData['playlistId'] as String,
    title: jsonData['title'] as String,
    author:
        (jsonData['author'] is String)
            ? jsonData['author'] as String
            : (List<JsonMap>.from(jsonData['author'] as List)
                .map(
                  (author) =>
                      YtBaseObject.fromJson(author, 'id', 'name').title,
                )
                .join(', ')),

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