Movie.fromJson constructor
Movie.fromJson(
- Map<String, dynamic> map,
- AssetResolver assetResolver
)
Implementation
factory Movie.fromJson(
Map<String, dynamic> map,
AssetResolver assetResolver,
) =>
Movie(
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"],
adult: map["adult"] ?? false,
releaseDate: Date.tryParse(map["release_date"]),
originalTitle: map["original_title"],
title: map["title"] ?? '',
video: map["video"] ?? false,
belongsToCollection: map["belongs_to_collection"] != null
? Collection.fromJson(map["belongs_to_collection"], assetResolver)
: null,
budget: map["budget"],
genres: Genre.listFromJson(map["genres"] ?? []),
genreIds:
Genre.listFromJson(map["genres"] ?? []).map((e) => e.id).toList(),
homepage: map["homepage"],
imdbId: map["imdb_id"],
productionCompanies:
Company.listFromJson(map["production_companies"], assetResolver),
productionCountries: Country.listFromJson(map["production_countries"]),
revenue: map["revenue"],
runtime: map["runtime"],
spokenLanguages: Country.listFromJson(map["spoken_languages"] ?? []),
status: map["status"],
tagline: map["tagline"],
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")
? MovieBase.listFromJson(
map["recommendations"]["results"], assetResolver)
: [],
similar: map.containsKey("similar")
? MovieBase.listFromJson(map["similar"]["results"], assetResolver)
: [],
watchProviders: map.containsKey("watch/providers")
? WatchProviders.mapFromJson(map["watch/providers"]["results"])
: {},
);