TvShow.fromJson constructor

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