Movie.fromJson constructor

Movie.fromJson(
  1. Map<String, dynamic> map,
  2. 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"])
          : {},
    );