TvShow.fromJson constructor
TvShow.fromJson(
- Map<String, dynamic> map,
- AssetResolver assetResolver
)
Implementation
factory TvShow.fromJson(
Map<String, dynamic> map,
AssetResolver assetResolver,
) =>
TvShow(
id: map["id"],
originalLanguage: map["original_language"],
backdropPath: assetResolver.getBackdropPath(map["backdrop_path"]),
posterPath: assetResolver.getPosterPath(map["poster_path"]),
overview: map["overview"],
popularity: map["popularity"],
voteCount: map["vote_count"],
voteAverage: map["vote_average"],
firstAirDate: Date.tryParse(map["first_air_date"]),
name: map["name"],
originalName: map["original_name"],
originCountry: List.castFrom(map["origin_country"] ?? []),
createdBy: Creator.listFromJson(map["created_by"] ?? [], assetResolver),
episodeRunTime: List.castFrom(map["episode_run_time"] ?? []),
genres: Genre.listFromJson(map["genres"] ?? []),
genreIds:
Genre.listFromJson(map["genres"] ?? []).map((e) => e.id).toList(),
homepage: map["homepage"],
inProduction: map["in_production"],
languages: List.castFrom(map["languages"] ?? []),
lastAirDate: Date.tryParse(map["last_air_date"]),
lastEpisodeToAir: map["last_episode_to_air"] != null
? EpisodeBase.fromJson(map["last_episode_to_air"], assetResolver)
: null,
networks: Company.listFromJson(map["networks"] ?? [], assetResolver),
numOfEpisodes: map["number_of_episodes"],
numOfSeasons: map["number_of_seasons"],
productionCompanies: Company.listFromJson(
map["production_companies"] ?? [], assetResolver),
seasons: SeasonBase.listFromJson(map["seasons"] ?? [], assetResolver),
status: map["status"],
type: map["type"],
images: map.containsKey("images")
? ImageCollection.fromJson(map["images"], assetResolver)
: null,
alternativeTitles: map.containsKey("alternative_titles")
? AlternativeTitle.listFromJson(map["alternative_titles"]["titles"])
: [],
credits: map.containsKey("credits")
? Credits.fromJson(map["credits"], assetResolver)
: null,
externalIds: map.containsKey("external_ids")
? ExternalInfo.fromJson(map["external_ids"])
: null,
keywords: map.containsKey("keywords")
? Keyword.listFromJson(map["keywords"]["keywords"])
: [],
videos: map.containsKey("videos")
? Video.listFromJson(map["videos"]["results"])
: [],
recommendations: map.containsKey("recommendations")
? TvBase.listFromJson(
map["recommendations"]["results"], assetResolver)
: [],
similar: map.containsKey("similar")
? TvBase.listFromJson(map["similar"]["results"], assetResolver)
: [],
watchProviders: map.containsKey("watch/providers")
? WatchProviders.mapFromJson(map["watch/providers"]["results"])
: {},
);