rewrite: Progress on Shikimori integration

This commit is contained in:
Kevin Rodrigues Borges
2026-06-12 16:01:12 +01:00
parent 4a0676da80
commit 0a44722eda
31 changed files with 3415 additions and 1713 deletions

View File

@@ -14,6 +14,10 @@ const String anilistClientSecret = 'xI8KTZlKm2F3kHXLko1ArQ21bKap4MojgDTk6Ukx';
const String anilistGraphQlService = 'anilistGraphQlService';
const String anilistGraphQLEndpoint = 'https://graphql.anilist.co';
// Shikimori API configuration
const String shikimoriOAuthUrl ='https://shikimori.io/oauth/authorize?client_id=$shikimoriClientId&redirect_uri=$shikimoriRedirectUri&response_type=code&scope=user_rates';
const String shikimoriRedirectUri = 'http://localhost:9999/auth';
const String shikimoriClientId = 'sIjHVKp4D3gusN53hob4tDnmvFYgySDiLpWJNTsfVcA';
const String shikimoriClientSecret = '6y39AFgZ8Ww6cESH_BzyZqYjZRSCrTy9meoY1nm2Cj0';
const String shikimoriGraphQlService = 'shikimoriGraphQlService';
const String shikimoriGraphQLEndpoint = 'https://shikimori.io/api/graphql';
// Anizip API configuration

View File

@@ -5,6 +5,7 @@ import 'package:logger/logger.dart';
import 'package:unyo/core/di/locator.dart';
import 'package:unyo/core/enums/service.dart';
import 'package:unyo/data/repositories/anime_repository_anilist.dart';
import 'package:unyo/data/repositories/anime_repository_shikimori.dart';
import 'package:unyo/domain/entities/media/anime.dart';
import 'package:unyo/domain/entities/media/anime_details.dart';
import 'package:unyo/domain/entities/list/media_list_entry.dart';
@@ -16,9 +17,11 @@ import 'package:unyo/domain/repositories/anime_repository.dart';
///
/// Currently supports:
/// - [Service.anilist] → delegates to [AnimeRepositoryAnilist]
/// - [Service.shikimori] → delegates to [AnimeRepositoryShikimori]
/// - All other services → returns safe empty defaults
class AnimeRepositoryFactory implements AnimeRepository {
final AnimeRepositoryAnilist _animeRepositoryAnilist = sl<AnimeRepositoryAnilist>();
final AnimeRepositoryShikimori _animeRepositoryShikimori = sl<AnimeRepositoryShikimori>();
final Logger _logger = sl<Logger>();
@override
@@ -38,6 +41,12 @@ class AnimeRepositoryFactory implements AnimeRepository {
case Service.mal:
case Service.kitsu:
case Service.shikimori:
_logger.i("Fetching Shikimori recently released anime");
return _animeRepositoryShikimori.getRecentlyReleasedAnimes(
page,
loggedUser,
ignoreCache: ignoreCache,
);
case Service.simkl:
return (false, <Anime>[]);
}
@@ -60,6 +69,12 @@ class AnimeRepositoryFactory implements AnimeRepository {
case Service.mal:
case Service.kitsu:
case Service.shikimori:
_logger.i("Fetching Shikimori trending anime");
return _animeRepositoryShikimori.getTrendingAnimes(
page,
loggedUser,
ignoreCache: ignoreCache,
);
case Service.simkl:
return (false, <Anime>[]);
}
@@ -82,6 +97,12 @@ class AnimeRepositoryFactory implements AnimeRepository {
case Service.mal:
case Service.kitsu:
case Service.shikimori:
_logger.i("Fetching Shikimori popular anime");
return _animeRepositoryShikimori.getPopularAnimes(
page,
loggedUser,
ignoreCache: ignoreCache,
);
case Service.simkl:
return (false, <Anime>[]);
}
@@ -104,6 +125,12 @@ class AnimeRepositoryFactory implements AnimeRepository {
case Service.mal:
case Service.kitsu:
case Service.shikimori:
_logger.i("Fetching Shikimori recently completed anime");
return _animeRepositoryShikimori.getRecentlyCompletedAnimes(
page,
loggedUser,
ignoreCache: ignoreCache,
);
case Service.simkl:
return (false, <Anime>[]);
}
@@ -126,6 +153,12 @@ class AnimeRepositoryFactory implements AnimeRepository {
case Service.mal:
case Service.kitsu:
case Service.shikimori:
_logger.i("Fetching Shikimori upcoming anime");
return _animeRepositoryShikimori.getUpcomingAnimes(
page,
loggedUser,
ignoreCache: ignoreCache,
);
case Service.simkl:
return (false, <Anime>[]);
}
@@ -156,7 +189,7 @@ class AnimeRepositoryFactory implements AnimeRepository {
return (false, AnimeDetailsModel.empty());
case Service.shikimori:
_logger.i("Fetching Anime Details from Shikimori for ${selectedAnime.title.userPreferred}");
return (false, AnimeDetailsModel.empty());
return _animeRepositoryShikimori.getAnimeDetails(selectedAnime, loggedUser);
case Service.kitsu:
_logger.i("Fetching Anime Details from Kitsu for ${selectedAnime.title.userPreferred}");
return (false, AnimeDetailsModel.empty());
@@ -218,7 +251,10 @@ class AnimeRepositoryFactory implements AnimeRepository {
return [];
case Service.shikimori:
_logger.i("Fetching Media Cover Images from Shikimori");
return [];
return _animeRepositoryShikimori.getMediaCoverImages(
loggedUser,
ignoreCache: ignoreCache,
);
case Service.kitsu:
_logger.i("Fetching Media Cover Images from Kitsu");
return [];

View File

@@ -0,0 +1,230 @@
import 'package:unyo/generated/json/base/json_field.dart';
import 'package:unyo/generated/json/anime_details_query_entity.g.dart';
import 'dart:convert';
export 'package:unyo/generated/json/anime_details_query_entity.g.dart';
@JsonSerializable()
class AnimeDetailsQueryEntity {
List<AnimeDetailsQueryAnimes> animes = [];
AnimeDetailsQueryEntity();
factory AnimeDetailsQueryEntity.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryEntityFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimes {
late AnimeDetailsQueryAnimesUserRate userRate = AnimeDetailsQueryAnimesUserRate();
List<AnimeDetailsQueryAnimesCharacterRoles> characterRoles = [];
List<AnimeDetailsQueryAnimesRelated> related = [];
AnimeDetailsQueryAnimes();
factory AnimeDetailsQueryAnimes.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesUserRate {
int episodes = 0;
int score = 0;
int rewatches = 0;
String status = '';
String createdAt = '';
String updatedAt = '';
AnimeDetailsQueryAnimesUserRate();
factory AnimeDetailsQueryAnimesUserRate.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesUserRateFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesUserRateToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesCharacterRoles {
late AnimeDetailsQueryAnimesCharacterRolesCharacter character = AnimeDetailsQueryAnimesCharacterRolesCharacter();
AnimeDetailsQueryAnimesCharacterRoles();
factory AnimeDetailsQueryAnimesCharacterRoles.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesCharacterRolesFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesCharacterRolesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesCharacterRolesCharacter {
String id = '';
late AnimeDetailsQueryAnimesCharacterRolesCharacterPoster poster = AnimeDetailsQueryAnimesCharacterRolesCharacterPoster();
String name = '';
AnimeDetailsQueryAnimesCharacterRolesCharacter();
factory AnimeDetailsQueryAnimesCharacterRolesCharacter.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesCharacterRolesCharacterFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesCharacterRolesCharacterToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesCharacterRolesCharacterPoster {
String originalUrl = '';
AnimeDetailsQueryAnimesCharacterRolesCharacterPoster();
factory AnimeDetailsQueryAnimesCharacterRolesCharacterPoster.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesCharacterRolesCharacterPosterFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesCharacterRolesCharacterPosterToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesRelated {
String relationKind = '';
late AnimeDetailsQueryAnimesRelatedAnime anime = AnimeDetailsQueryAnimesRelatedAnime();
AnimeDetailsQueryAnimesRelated();
factory AnimeDetailsQueryAnimesRelated.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesRelatedFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesRelatedToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesRelatedAnime {
String malId = '';
String id = '';
String english = '';
String name = '';
String russian = '';
String japanese = '';
late AnimeDetailsQueryAnimesRelatedAnimePoster poster = AnimeDetailsQueryAnimesRelatedAnimePoster();
String description = '';
int duration = 0;
late AnimeDetailsQueryAnimesRelatedAnimeAiredOn airedOn = AnimeDetailsQueryAnimesRelatedAnimeAiredOn();
late AnimeDetailsQueryAnimesRelatedAnimeReleasedOn releasedOn = AnimeDetailsQueryAnimesRelatedAnimeReleasedOn();
int episodes = 0;
dynamic nextEpisodeAt;
List<AnimeDetailsQueryAnimesRelatedAnimeGenres> genres = [];
String kind = '';
bool isCensored = false;
double score = 0.0;
String season = '';
String status = '';
AnimeDetailsQueryAnimesRelatedAnime();
factory AnimeDetailsQueryAnimesRelatedAnime.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesRelatedAnimeFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesRelatedAnimeToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesRelatedAnimePoster {
String originalUrl = '';
String mainAlt2xUrl = '';
AnimeDetailsQueryAnimesRelatedAnimePoster();
factory AnimeDetailsQueryAnimesRelatedAnimePoster.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesRelatedAnimePosterFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesRelatedAnimePosterToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesRelatedAnimeAiredOn {
int day = 0;
int month = 0;
int year = 0;
AnimeDetailsQueryAnimesRelatedAnimeAiredOn();
factory AnimeDetailsQueryAnimesRelatedAnimeAiredOn.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesRelatedAnimeAiredOnFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesRelatedAnimeAiredOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesRelatedAnimeReleasedOn {
int day = 0;
int month = 0;
int year = 0;
AnimeDetailsQueryAnimesRelatedAnimeReleasedOn();
factory AnimeDetailsQueryAnimesRelatedAnimeReleasedOn.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesRelatedAnimeReleasedOnFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesRelatedAnimeReleasedOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeDetailsQueryAnimesRelatedAnimeGenres {
String kind = '';
String name = '';
AnimeDetailsQueryAnimesRelatedAnimeGenres();
factory AnimeDetailsQueryAnimesRelatedAnimeGenres.fromJson(Map<String, dynamic> json) => $AnimeDetailsQueryAnimesRelatedAnimeGenresFromJson(json);
Map<String, dynamic> toJson() => $AnimeDetailsQueryAnimesRelatedAnimeGenresToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}

View File

@@ -0,0 +1,124 @@
import 'package:unyo/generated/json/base/json_field.dart';
import 'package:unyo/generated/json/anime_popular_query_entity.g.dart';
import 'dart:convert';
export 'package:unyo/generated/json/anime_popular_query_entity.g.dart';
@JsonSerializable()
class AnimePopularQueryEntity {
List<AnimePopularQueryAnimes> animes = [];
AnimePopularQueryEntity();
factory AnimePopularQueryEntity.fromJson(Map<String, dynamic> json) => $AnimePopularQueryEntityFromJson(json);
Map<String, dynamic> toJson() => $AnimePopularQueryEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimePopularQueryAnimes {
String malId = '';
String id = '';
String english = '';
String name = '';
String russian = '';
String japanese = '';
late AnimePopularQueryAnimesPoster poster = AnimePopularQueryAnimesPoster();
String description = '';
int duration = 0;
late AnimePopularQueryAnimesAiredOn airedOn = AnimePopularQueryAnimesAiredOn();
late AnimePopularQueryAnimesReleasedOn releasedOn = AnimePopularQueryAnimesReleasedOn();
int episodes = 0;
String nextEpisodeAt = '';
List<AnimePopularQueryAnimesGenres> genres = [];
String kind = '';
bool isCensored = false;
double score = 0.0;
String season = '';
String status = '';
AnimePopularQueryAnimes();
factory AnimePopularQueryAnimes.fromJson(Map<String, dynamic> json) => $AnimePopularQueryAnimesFromJson(json);
Map<String, dynamic> toJson() => $AnimePopularQueryAnimesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimePopularQueryAnimesPoster {
String originalUrl = '';
String mainAlt2xUrl = '';
AnimePopularQueryAnimesPoster();
factory AnimePopularQueryAnimesPoster.fromJson(Map<String, dynamic> json) => $AnimePopularQueryAnimesPosterFromJson(json);
Map<String, dynamic> toJson() => $AnimePopularQueryAnimesPosterToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimePopularQueryAnimesAiredOn {
int day = 0;
int month = 0;
int year = 0;
AnimePopularQueryAnimesAiredOn();
factory AnimePopularQueryAnimesAiredOn.fromJson(Map<String, dynamic> json) => $AnimePopularQueryAnimesAiredOnFromJson(json);
Map<String, dynamic> toJson() => $AnimePopularQueryAnimesAiredOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimePopularQueryAnimesReleasedOn {
int day = 0;
int month = 0;
int year = 0;
AnimePopularQueryAnimesReleasedOn();
factory AnimePopularQueryAnimesReleasedOn.fromJson(Map<String, dynamic> json) => $AnimePopularQueryAnimesReleasedOnFromJson(json);
Map<String, dynamic> toJson() => $AnimePopularQueryAnimesReleasedOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimePopularQueryAnimesGenres {
String kind = '';
String name = '';
AnimePopularQueryAnimesGenres();
factory AnimePopularQueryAnimesGenres.fromJson(Map<String, dynamic> json) => $AnimePopularQueryAnimesGenresFromJson(json);
Map<String, dynamic> toJson() => $AnimePopularQueryAnimesGenresToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}

View File

@@ -0,0 +1,124 @@
import 'package:unyo/generated/json/base/json_field.dart';
import 'package:unyo/generated/json/anime_recently_released_query_entity.g.dart';
import 'dart:convert';
export 'package:unyo/generated/json/anime_recently_released_query_entity.g.dart';
@JsonSerializable()
class AnimeRecentlyReleasedQueryEntity {
List<AnimeRecentlyReleasedQueryAnimes> animes = [];
AnimeRecentlyReleasedQueryEntity();
factory AnimeRecentlyReleasedQueryEntity.fromJson(Map<String, dynamic> json) => $AnimeRecentlyReleasedQueryEntityFromJson(json);
Map<String, dynamic> toJson() => $AnimeRecentlyReleasedQueryEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeRecentlyReleasedQueryAnimes {
String malId = '';
String id = '';
String english = '';
String name = '';
String russian = '';
String japanese = '';
late AnimeRecentlyReleasedQueryAnimesPoster poster = AnimeRecentlyReleasedQueryAnimesPoster();
String description = '';
int duration = 0;
late AnimeRecentlyReleasedQueryAnimesAiredOn airedOn = AnimeRecentlyReleasedQueryAnimesAiredOn();
late AnimeRecentlyReleasedQueryAnimesReleasedOn releasedOn = AnimeRecentlyReleasedQueryAnimesReleasedOn();
int episodes = 0;
dynamic nextEpisodeAt;
List<AnimeRecentlyReleasedQueryAnimesGenres> genres = [];
String kind = '';
bool isCensored = false;
double score = 0.0;
String season = '';
String status = '';
AnimeRecentlyReleasedQueryAnimes();
factory AnimeRecentlyReleasedQueryAnimes.fromJson(Map<String, dynamic> json) => $AnimeRecentlyReleasedQueryAnimesFromJson(json);
Map<String, dynamic> toJson() => $AnimeRecentlyReleasedQueryAnimesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeRecentlyReleasedQueryAnimesPoster {
String originalUrl = '';
String mainAlt2xUrl = '';
AnimeRecentlyReleasedQueryAnimesPoster();
factory AnimeRecentlyReleasedQueryAnimesPoster.fromJson(Map<String, dynamic> json) => $AnimeRecentlyReleasedQueryAnimesPosterFromJson(json);
Map<String, dynamic> toJson() => $AnimeRecentlyReleasedQueryAnimesPosterToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeRecentlyReleasedQueryAnimesAiredOn {
int day = 0;
int month = 0;
int year = 0;
AnimeRecentlyReleasedQueryAnimesAiredOn();
factory AnimeRecentlyReleasedQueryAnimesAiredOn.fromJson(Map<String, dynamic> json) => $AnimeRecentlyReleasedQueryAnimesAiredOnFromJson(json);
Map<String, dynamic> toJson() => $AnimeRecentlyReleasedQueryAnimesAiredOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeRecentlyReleasedQueryAnimesReleasedOn {
int day = 0;
int month = 0;
int year = 0;
AnimeRecentlyReleasedQueryAnimesReleasedOn();
factory AnimeRecentlyReleasedQueryAnimesReleasedOn.fromJson(Map<String, dynamic> json) => $AnimeRecentlyReleasedQueryAnimesReleasedOnFromJson(json);
Map<String, dynamic> toJson() => $AnimeRecentlyReleasedQueryAnimesReleasedOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeRecentlyReleasedQueryAnimesGenres {
String kind = '';
String name = '';
AnimeRecentlyReleasedQueryAnimesGenres();
factory AnimeRecentlyReleasedQueryAnimesGenres.fromJson(Map<String, dynamic> json) => $AnimeRecentlyReleasedQueryAnimesGenresFromJson(json);
Map<String, dynamic> toJson() => $AnimeRecentlyReleasedQueryAnimesGenresToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}

View File

@@ -0,0 +1,124 @@
import 'package:unyo/generated/json/base/json_field.dart';
import 'package:unyo/generated/json/anime_trending_query_entity.g.dart';
import 'dart:convert';
export 'package:unyo/generated/json/anime_trending_query_entity.g.dart';
@JsonSerializable()
class AnimeTrendingQueryEntity {
List<AnimeTrendingQueryAnimes> animes = [];
AnimeTrendingQueryEntity();
factory AnimeTrendingQueryEntity.fromJson(Map<String, dynamic> json) => $AnimeTrendingQueryEntityFromJson(json);
Map<String, dynamic> toJson() => $AnimeTrendingQueryEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeTrendingQueryAnimes {
String malId = '';
String id = '';
String english = '';
String name = '';
String russian = '';
String japanese = '';
late AnimeTrendingQueryAnimesPoster poster = AnimeTrendingQueryAnimesPoster();
String description = '';
int duration = 0;
late AnimeTrendingQueryAnimesAiredOn airedOn = AnimeTrendingQueryAnimesAiredOn();
late AnimeTrendingQueryAnimesReleasedOn releasedOn = AnimeTrendingQueryAnimesReleasedOn();
int episodes = 0;
String nextEpisodeAt = '';
List<AnimeTrendingQueryAnimesGenres> genres = [];
String kind = '';
bool isCensored = false;
double score = 0.0;
String season = '';
String status = '';
AnimeTrendingQueryAnimes();
factory AnimeTrendingQueryAnimes.fromJson(Map<String, dynamic> json) => $AnimeTrendingQueryAnimesFromJson(json);
Map<String, dynamic> toJson() => $AnimeTrendingQueryAnimesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeTrendingQueryAnimesPoster {
String originalUrl = '';
String mainAlt2xUrl = '';
AnimeTrendingQueryAnimesPoster();
factory AnimeTrendingQueryAnimesPoster.fromJson(Map<String, dynamic> json) => $AnimeTrendingQueryAnimesPosterFromJson(json);
Map<String, dynamic> toJson() => $AnimeTrendingQueryAnimesPosterToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeTrendingQueryAnimesAiredOn {
int day = 0;
int month = 0;
int year = 0;
AnimeTrendingQueryAnimesAiredOn();
factory AnimeTrendingQueryAnimesAiredOn.fromJson(Map<String, dynamic> json) => $AnimeTrendingQueryAnimesAiredOnFromJson(json);
Map<String, dynamic> toJson() => $AnimeTrendingQueryAnimesAiredOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeTrendingQueryAnimesReleasedOn {
int day = 0;
int month = 0;
int year = 0;
AnimeTrendingQueryAnimesReleasedOn();
factory AnimeTrendingQueryAnimesReleasedOn.fromJson(Map<String, dynamic> json) => $AnimeTrendingQueryAnimesReleasedOnFromJson(json);
Map<String, dynamic> toJson() => $AnimeTrendingQueryAnimesReleasedOnToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AnimeTrendingQueryAnimesGenres {
String kind = '';
String name = '';
AnimeTrendingQueryAnimesGenres();
factory AnimeTrendingQueryAnimesGenres.fromJson(Map<String, dynamic> json) => $AnimeTrendingQueryAnimesGenresFromJson(json);
Map<String, dynamic> toJson() => $AnimeTrendingQueryAnimesGenresToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}

View File

@@ -1,5 +1,8 @@
// External dependencies
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_details_query_entity.dart';
import 'package:unyo/data/models/shikimori/media/shikimori_anime_model.dart';
import 'package:unyo/data/models/shikimori/media/shikimori_media_character.dart';
// Internal dependencies
import 'package:unyo/domain/entities/list/media_list_entry.dart';
@@ -8,12 +11,11 @@ import 'package:unyo/domain/entities/media/anime_details.dart';
import 'package:unyo/domain/entities/media/media_character.dart';
part 'shikimori_anime_details.freezed.dart';
part 'shikimori_anime_details.g.dart';
@freezed
abstract class ShikimoriAnimeDetailsModel
with _$ShikimoriAnimeDetailsModel
implements AnimeDetails {
abstract class ShikimoriAnimeDetailsModel with _$ShikimoriAnimeDetailsModel implements AnimeDetails {
const factory ShikimoriAnimeDetailsModel({
@MediaListEntryConverter() required MediaListEntry mediaListEntry,
@AnimeConverter() required List<Anime> recommendedAnimes,
@@ -30,26 +32,18 @@ abstract class ShikimoriAnimeDetailsModel
_$ShikimoriAnimeDetailsModelFromJson(json);
@override
Map<String, dynamic> toJson() =>
_$ShikimoriAnimeDetailsModelToJson(this as _ShikimoriAnimeDetailsModel);
Map<String, dynamic> toJson() => _$ShikimoriAnimeDetailsModelToJson(this as _ShikimoriAnimeDetailsModel);
// factory ShikimoriAnimeDetailsModel.fromDetailsEntry(
// ShikimoriAnimeDetailsGraphqlAnime entry,) {
// final recommendedAnimes = <Anime>[];
// for (final related in entry.related) {
// recommendedAnimes.add(
// ShikimoriAnimeModel.fromRelatedEntry(related.anime),
// );
// }
//
// final characters = entry.characterRoles
// .map((role) => ShikimoriMediaCharacterModel.fromCharacterRole(role))
// .toList();
//
// return ShikimoriAnimeDetailsModel(
// mediaListEntry: MediaListEntryModel.empty(),
// recommendedAnimes: recommendedAnimes,
// characters: characters,
// );
// }
factory ShikimoriAnimeDetailsModel.fromAnimeDetailsQuery(AnimeDetailsQueryEntity animeDetailsQuery) {
AnimeDetailsQueryAnimes animeDetails = animeDetailsQuery.animes.firstOrNull ?? AnimeDetailsQueryAnimes();
return ShikimoriAnimeDetailsModel(
mediaListEntry: MediaListEntryModel.fromAnimeDetailsQueryAnimesUserRate(animeDetails.userRate),
recommendedAnimes: animeDetails.related
.map((relatedAnime) => ShikimoriAnimeModel.fromRelatedEntry(relatedAnime.anime))
.toList(),
characters: animeDetails.characterRoles
.map((role) => ShikimoriMediaCharacterModel.fromRolesCharacter(role.character))
.toList(),
);
}
}

View File

@@ -1,5 +1,9 @@
// External dependencies
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_details_query_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_popular_query_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_recently_released_query_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_trending_query_entity.dart';
// Internal dependencies
import 'package:unyo/domain/entities/media/airing_episode.dart';
@@ -40,123 +44,132 @@ abstract class ShikimoriAnimeModel with _$ShikimoriAnimeModel implements Anime {
factory ShikimoriAnimeModel.fromJson(Map<String, dynamic> json) =>
_$ShikimoriAnimeModelFromJson(json);
// factory ShikimoriAnimeModel.fromListEntry(
// ShikimoriAnimeListGraphqlAnimes entry,) {
// return ShikimoriAnimeModel(
// id: int.parse(entry.id),
// idMal: int.tryParse(entry.malId) ?? -1,
// title: TitleModel(
// romaji: entry.name,
// english: entry.english,
// userPreferred: entry.name,
// nativeTitle: entry.japanese,
// ),
// averageScore: (entry.score * 10).round(),
// bannerImage: entry.poster.originalUrl,
// countryOfOrigin: 'JP',
// coverImage: entry.poster.mainUrl,
// description: '',
// duration: entry.duration,
// endDate: _formatIncompleteDate(entry.releasedOn),
// startDate: _formatIncompleteDate(entry.airedOn),
// episodes: entry.episodes,
// genres: entry.genres.map((g) => g.name).toList(),
// format: _mapKindToFormat(entry.kind),
// isAdult: entry.rating == 'rx' || !entry.isCensored,
// popularity: 0,
// meanScore: (entry.score * 10).round(),
// season: entry.season,
// status: _mapStatusToAnilist(entry.status),
// isFavourite: false,
// nextAiringEpisode: AiringEpisodeModel(
// episode: entry.episodesAired,
// airingAt: entry.nextEpisodeAt is String ? entry.nextEpisodeAt as String : '',
// ),
// );
// }
factory ShikimoriAnimeModel.fromRelatedEntry(AnimeDetailsQueryAnimesRelatedAnime anime) {
return ShikimoriAnimeModel(
id: _formatId(anime.id),
idMal: anime.malId != "0" ? _formatId(anime.malId) : _formatId(anime.id),
title: TitleModel(
romaji: anime.russian,
english: anime.english,
userPreferred: anime.english,
nativeTitle: anime.japanese,
),
averageScore: anime.score.toInt() * 10,
bannerImage: anime.poster.mainAlt2xUrl,
countryOfOrigin: 'JP',
coverImage: anime.poster.originalUrl,
description: anime.description,
duration: anime.duration,
endDate: "${anime.releasedOn.day}/${anime.releasedOn.month}/${anime.releasedOn.year}",
startDate: "${anime.airedOn.day}/${anime.airedOn.month}/${anime.airedOn.year}",
episodes: anime.episodes,
genres: anime.genres.map((animeGenre) => animeGenre.name).toList(),
format: _formatKind(anime.kind),
isAdult: anime.isCensored,
popularity: 0,
meanScore: anime.score.toInt() * 10,
season: _formatSeason(anime.season),
status: _formatStatus(anime.status),
isFavourite: false,
nextAiringEpisode: AiringEpisodeModel.empty()
);
}
// factory ShikimoriAnimeModel.fromDetailsEntry(
// ShikimoriAnimeDetailsGraphqlAnime entry,) {
// return ShikimoriAnimeModel(
// id: int.parse(entry.id),
// idMal: int.tryParse(entry.malId) ?? -1,
// title: TitleModel(
// romaji: entry.name,
// english: entry.english,
// userPreferred: entry.name,
// nativeTitle: entry.japanese,
// ),
// averageScore: (entry.score * 10).round(),
// bannerImage: entry.poster.originalUrl,
// countryOfOrigin: 'JP',
// coverImage: entry.poster.mainUrl,
// description: entry.description,
// duration: entry.duration,
// endDate: _formatIncompleteDate(entry.releasedOn),
// startDate: _formatIncompleteDate(entry.airedOn),
// episodes: entry.episodes,
// genres: entry.genres.map((g) => g.name).toList(),
// format: _mapKindToFormat(entry.kind),
// isAdult: entry.rating == 'rx' || !entry.isCensored,
// popularity: entry.scoresStats.fold(0, (sum, s) => sum + s.count),
// meanScore: (entry.score * 10).round(),
// season: entry.season,
// status: _mapStatusToAnilist(entry.status),
// isFavourite: false,
// nextAiringEpisode: AiringEpisodeModel(
// episode: entry.episodesAired,
// airingAt: entry.nextEpisodeAt is String ? entry.nextEpisodeAt as String : '',
// ),
// );
// }
factory ShikimoriAnimeModel.fromAnimesPopularQuery(AnimePopularQueryAnimes anime) {
return ShikimoriAnimeModel(
id: _formatId(anime.id),
idMal: anime.malId != "0" ? _formatId(anime.malId) : _formatId(anime.id),
title: TitleModel(
romaji: anime.russian,
english: anime.english,
userPreferred: anime.english,
nativeTitle: anime.japanese,
),
averageScore: anime.score.toInt() * 10,
bannerImage: anime.poster.mainAlt2xUrl,
countryOfOrigin: 'JP',
coverImage: anime.poster.originalUrl,
description: anime.description,
duration: anime.duration,
endDate: "${anime.releasedOn.day}/${anime.releasedOn.month}/${anime.releasedOn.year}",
startDate: "${anime.airedOn.day}/${anime.airedOn.month}/${anime.airedOn.year}",
episodes: anime.episodes,
genres: anime.genres.map((animeGenre) => animeGenre.name).toList(),
format: _formatKind(anime.kind),
isAdult: anime.isCensored,
popularity: 0,
meanScore: anime.score.toInt() * 10,
season: _formatSeason(anime.season),
status: _formatStatus(anime.status),
isFavourite: false,
nextAiringEpisode: AiringEpisodeModel.empty()
);
}
// factory ShikimoriAnimeModel.fromRelatedEntry(
// ShikimoriAnimeDetailsGraphqlAnimeRelatedAnime entry,) {
// return ShikimoriAnimeModel(
// id: int.parse(entry.id),
// idMal: -1,
// title: TitleModel(
// romaji: entry.name,
// english: '',
// userPreferred: entry.name,
// nativeTitle: '',
// ),
// averageScore: 0,
// bannerImage: entry.poster.mainUrl,
// countryOfOrigin: 'JP',
// coverImage: entry.poster.mainUrl,
// description: '',
// duration: 0,
// endDate: '',
// startDate: '',
// episodes: entry.episodes,
// genres: [],
// format: _mapKindToFormat(entry.kind),
// isAdult: false,
// popularity: 0,
// meanScore: 0,
// season: '',
// status: 'FINISHED',
// isFavourite: false,
// nextAiringEpisode: AiringEpisodeModel.empty(),
// );
// }
factory ShikimoriAnimeModel.fromAnimesTrendingQuery(AnimeTrendingQueryAnimes anime) {
return ShikimoriAnimeModel(
id: _formatId(anime.id),
idMal: anime.malId != "0" ? _formatId(anime.malId) : _formatId(anime.id),
title: TitleModel(
romaji: anime.russian,
english: anime.english,
userPreferred: anime.english,
nativeTitle: anime.japanese,
),
averageScore: anime.score.toInt() * 10,
bannerImage: anime.poster.mainAlt2xUrl,
countryOfOrigin: 'JP',
coverImage: anime.poster.originalUrl,
description: anime.description,
duration: anime.duration,
endDate: "${anime.releasedOn.day}/${anime.releasedOn.month}/${anime.releasedOn.year}",
startDate: "${anime.airedOn.day}/${anime.airedOn.month}/${anime.airedOn.year}",
episodes: anime.episodes,
genres: anime.genres.map((animeGenre) => animeGenre.name).toList(),
format: _formatKind(anime.kind),
isAdult: anime.isCensored,
popularity: 0,
meanScore: anime.score.toInt() * 10,
season: _formatSeason(anime.season),
status: _formatStatus(anime.status),
isFavourite: false,
nextAiringEpisode: AiringEpisodeModel.empty()
);
}
factory ShikimoriAnimeModel.fromAnimesRecentlyReleasedQuery(AnimeRecentlyReleasedQueryAnimes anime) {
return ShikimoriAnimeModel(
id: _formatId(anime.id),
idMal: anime.malId != "0" ? _formatId(anime.malId) : _formatId(anime.id),
title: TitleModel(
romaji: anime.russian,
english: anime.english,
userPreferred: anime.english,
nativeTitle: anime.japanese,
),
averageScore: anime.score.toInt() * 10,
bannerImage: anime.poster.mainAlt2xUrl,
countryOfOrigin: 'JP',
coverImage: anime.poster.originalUrl,
description: anime.description,
duration: anime.duration,
endDate: "${anime.releasedOn.day}/${anime.releasedOn.month}/${anime.releasedOn.year}",
startDate: "${anime.airedOn.day}/${anime.airedOn.month}/${anime.airedOn.year}",
episodes: anime.episodes,
genres: anime.genres.map((animeGenre) => animeGenre.name).toList(),
format: _formatKind(anime.kind),
isAdult: anime.isCensored,
popularity: 0,
meanScore: anime.score.toInt() * 10,
season: _formatSeason(anime.season),
status: _formatStatus(anime.status),
isFavourite: false,
nextAiringEpisode: AiringEpisodeModel.empty()
);
}
}
String _formatIncompleteDate(dynamic dateObj) {
if (dateObj == null) return '';
final year = dateObj.year;
final month = dateObj.month;
final day = dateObj.day;
if (year == 0 && month == 0 && day == 0) return '';
final parts = <String>[];
if (day > 0) parts.add(day.toString().padLeft(2, '0'));
if (month > 0) parts.add(month.toString().padLeft(2, '0'));
if (year > 0) parts.add(year.toString());
return parts.join('/');
}
String _mapKindToFormat(String kind) {
String _formatKind(String kind) {
switch (kind) {
case 'tv':
return 'TV';
@@ -181,7 +194,7 @@ String _mapKindToFormat(String kind) {
}
}
String _mapStatusToAnilist(String status) {
String _formatStatus(String status) {
switch (status) {
case 'anons':
return 'NOT_YET_RELEASED';
@@ -193,3 +206,14 @@ String _mapStatusToAnilist(String status) {
return status.toUpperCase();
}
}
String _formatSeason(String season) {
return season
.split("-")
.firstOrNull ?? season;
}
int _formatId(String id) {
// r'\D' is a raw string representing the regex for non-digits
return int.tryParse(id.replaceAll(RegExp(r'\D'), '')) ?? 0;
}

View File

@@ -1,10 +1,12 @@
// External dependencies
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_details_query_entity.dart';
// Internal dependencies
import 'package:unyo/domain/entities/media/media_character.dart';
part 'shikimori_media_character.freezed.dart';
part 'shikimori_media_character.g.dart';
@freezed
@@ -39,29 +41,15 @@ abstract class ShikimoriMediaCharacterModel
Map<String, dynamic> toJson() =>
_$ShikimoriMediaCharacterModelToJson(this as _ShikimoriMediaCharacterModel);
// factory ShikimoriMediaCharacterModel.fromCharacterRole(
// ShikimoriAnimeDetailsGraphqlAnimeCharacterRoles role,) {
// return ShikimoriMediaCharacterModel(
// id: int.parse(role.character.id),
// image: role.character.poster.originalUrl,
// name: role.character.name,
// gender: '',
// description: '',
// dateOfBirth: '',
// age: 0,
// );
// }
// factory ShikimoriMediaCharacterModel.fromMangaCharacterRole(
// ShikimoriMangaDetailsGraphqlMangaCharacterRoles role,) {
// return ShikimoriMediaCharacterModel(
// id: int.parse(role.character.id),
// image: role.character.poster.originalUrl,
// name: role.character.name,
// gender: '',
// description: '',
// dateOfBirth: '',
// age: 0,
// );
// }
factory ShikimoriMediaCharacterModel.fromRolesCharacter(AnimeDetailsQueryAnimesCharacterRolesCharacter character) {
return ShikimoriMediaCharacterModel(
id: int.parse(character.id),
image: character.poster.originalUrl,
name: character.name,
gender: 'Unknown',
description: 'No description available',
dateOfBirth: 'Unknown',
age: -1
);
}
}

View File

@@ -7,8 +7,15 @@ import 'package:logger/logger.dart';
// Internal dependencies
import 'package:unyo/config/config.dart' as config;
import 'package:unyo/core/di/locator.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_details_query_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_popular_query_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_recently_released_query_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_trending_query_entity.dart';
import 'package:unyo/core/services/api/graphql/graphql_response.dart';
import 'package:unyo/core/services/api/graphql/graphql_service.dart';
import 'package:unyo/core/services/api/graphql/queries/shikimori_queries.dart' as shikimori_queries;
import 'package:unyo/data/models/shikimori/media/shikimori_anime_details.dart';
import 'package:unyo/data/models/shikimori/media/shikimori_anime_model.dart';
import 'package:unyo/data/repositories/repository_mixin.dart';
import 'package:unyo/domain/entities/media/anime.dart';
import 'package:unyo/domain/entities/media/anime_details.dart';
@@ -23,162 +30,183 @@ class AnimeRepositoryShikimori with RepositoryMixin implements AnimeRepository {
final Logger _logger = sl<Logger>();
@override
Future<(bool, AnimeDetails)> getAnimeDetails(Anime selectedAnime, User loggedUser) {
// TODO: implement getAnimeDetails
throw UnimplementedError();
Future<(bool, AnimeDetails)> getAnimeDetails(Anime selectedAnime, User loggedUser) async {
// TODO uncomment when ShikimoriUserModel exists
// Map<String, String>? graphQlHeaders = loggedUser is ShikimoriUserModel
// ? {"Authorization": "Bearer ${(loggedUser).accessToken}"}
// : null;
ApiGraphQLResponse<AnimeDetailsQueryEntity> animeDetailsQueryResponse = await _shikimoriGraphQLService
.query<AnimeDetailsQueryEntity>(
query: shikimori_queries.shikimoriAnimeDetailsQuery,
fromJson: AnimeDetailsQueryEntity.fromJson,
variables: {"ids": selectedAnime.id.toString(), "page": 1, "limit": 20},
// headers: graphQlHeaders,
);
throwIfGraphQlError(animeDetailsQueryResponse);
AnimeDetails animeDetails = ShikimoriAnimeDetailsModel.fromAnimeDetailsQuery(
animeDetailsQueryResponse.data,
);
return (true, animeDetails);
}
@override
Future<Map<String, List<Anime>>> getCalendarReleases(int page, User loggedUser) {
Future<Map<String, List<Anime>>> getCalendarReleases(int page, User loggedUser) async {
// TODO: implement getCalendarReleases
throw UnimplementedError();
}
// Daqui
@override
Future<(bool, List<Anime>)> getPopularAnimes(int page, User loggedUser, {bool ignoreCache = false}) {
// TODO: implement getPopularAnimes
throw UnimplementedError();
return {};
}
@override
Future<(bool, List<Anime>)> getRecentlyCompletedAnimes(int page, User loggedUser, {bool ignoreCache = false}) {
// TODO: implement getRecentlyCompletedAnimes
throw UnimplementedError();
Future<(bool, List<Anime>)> getPopularAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// TODO uncomment when ShikimoriUserModel exists
// Map<String, String>? graphQlHeaders = loggedUser is ShikimoriUserModel
// ? {"Authorization": "Bearer ${(loggedUser).accessToken}"}
// : null;
ApiGraphQLResponse<AnimePopularQueryEntity> animePopularQueryResponse = await _shikimoriGraphQLService
.query<AnimePopularQueryEntity>(
query: shikimori_queries.animeUpcomingOrPopularQuery,
fromJson: AnimePopularQueryEntity.fromJson,
variables: {"page": page, "limit": 50, "order": "popularity"},
// headers: graphQlHeaders,
ignoreCache: ignoreCache,
);
throwIfGraphQlError(animePopularQueryResponse);
List<Anime> animes = animePopularQueryResponse.data.animes
.map((anime) => ShikimoriAnimeModel.fromAnimesPopularQuery(anime))
.toList();
return (true, animes);
}
@override
Future<(bool, List<Anime>)> getRecentlyReleasedAnimes(int page, User loggedUser, {bool ignoreCache = false}) {
// TODO: implement getRecentlyReleasedAnimes
throw UnimplementedError();
Future<(bool, List<Anime>)> getRecentlyCompletedAnimes(
int page,
User loggedUser, {
bool ignoreCache = false,
}) async {
// TODO uncomment when ShikimoriUserModel exists
// Map<String, String>? graphQlHeaders = loggedUser is ShikimoriUserModel
// ? {"Authorization": "Bearer ${(loggedUser).accessToken}"}
// : null;
ApiGraphQLResponse<AnimeRecentlyReleasedQueryEntity> animeRecentlyCompletedQueryResponse = await _shikimoriGraphQLService
.query<AnimeRecentlyReleasedQueryEntity>(
query: shikimori_queries.animeRecentlyReleasedOrRecentlyCompletedQuery,
fromJson: AnimeRecentlyReleasedQueryEntity.fromJson,
variables: {
"page": page,
"limit": 50,
"order": "popularity",
"season": _getCurrentSeason(DateTime.now()),
"status": "released"
},
// headers: graphQlHeaders,
ignoreCache: ignoreCache,
);
throwIfGraphQlError(animeRecentlyCompletedQueryResponse);
List<Anime> animes = animeRecentlyCompletedQueryResponse.data.animes
.map((anime) => ShikimoriAnimeModel.fromAnimesRecentlyReleasedQuery(anime))
.toList();
return (true, animes);
}
@override
Future<(bool, List<Anime>)> getTrendingAnimes(int page, User loggedUser, {bool ignoreCache = false}) {
// TODO: implement getTrendingAnimes
throw UnimplementedError();
Future<(bool, List<Anime>)> getRecentlyReleasedAnimes(
int page,
User loggedUser, {
bool ignoreCache = false,
}) async {
// TODO uncomment when ShikimoriUserModel exists
// Map<String, String>? graphQlHeaders = loggedUser is ShikimoriUserModel
// ? {"Authorization": "Bearer ${(loggedUser).accessToken}"}
// : null;
ApiGraphQLResponse<AnimeRecentlyReleasedQueryEntity> animeRecentlyCompletedQueryResponse = await _shikimoriGraphQLService
.query<AnimeRecentlyReleasedQueryEntity>(
query: shikimori_queries.animeRecentlyReleasedOrRecentlyCompletedQuery,
fromJson: AnimeRecentlyReleasedQueryEntity.fromJson,
variables: {
"page": page,
"limit": 50,
"order": "updated_at",
"season": _getCurrentSeason(DateTime.now()),
"status": "ongoing"
},
// headers: graphQlHeaders,
ignoreCache: ignoreCache,
);
throwIfGraphQlError(animeRecentlyCompletedQueryResponse);
List<Anime> animes = animeRecentlyCompletedQueryResponse.data.animes
.map((anime) => ShikimoriAnimeModel.fromAnimesRecentlyReleasedQuery(anime))
.toList();
return (true, animes);
}
@override
Future<(bool, List<Anime>)> getUpcomingAnimes(int page, User loggedUser, {bool ignoreCache = false}) {
// TODO: implement getUpcomingAnimes
throw UnimplementedError();
}
// Ate aqui
@override
Future<Map<String, (bool, List<String>)>> getUserAnimeAdvancedSearchFilters() {
// TODO: implement getUserAnimeAdvancedSearchFilters
throw UnimplementedError();
Future<(bool, List<Anime>)> getTrendingAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// TODO uncomment when ShikimoriUserModel exists
// Map<String, String>? graphQlHeaders = loggedUser is ShikimoriUserModel
// ? {"Authorization": "Bearer ${(loggedUser).accessToken}"}
// : null;
print("THIS: ${_getCurrentSeason(DateTime.now())}");
ApiGraphQLResponse<AnimeTrendingQueryEntity> animeTrendingQueryResponse = await _shikimoriGraphQLService
.query<AnimeTrendingQueryEntity>(
query: shikimori_queries.animeTrendingQuery,
fromJson: AnimeTrendingQueryEntity.fromJson,
variables: {
"page": page,
"limit": 50,
"order": "popularity",
"season": _getCurrentSeason(DateTime.now())
},
// headers: graphQlHeaders,
ignoreCache: ignoreCache,
);
throwIfGraphQlError(animeTrendingQueryResponse);
List<Anime> animes = animeTrendingQueryResponse.data.animes
.map((anime) => ShikimoriAnimeModel.fromAnimesTrendingQuery(anime))
.toList();
return (true, animes);
}
@override
Future<List<Anime>> performAnimeAdvancedSearch(String query, List<String> selectedGenres, String? selectedSeason, String? selectedFormat, int? selectedYear, String? selectedAiringStatus, String sort, int page, User loggedUser) {
Future<(bool, List<Anime>)> getUpcomingAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// TODO uncomment when ShikimoriUserModel exists
// Map<String, String>? graphQlHeaders = loggedUser is ShikimoriUserModel
// ? {"Authorization": "Bearer ${(loggedUser).accessToken}"}
// : null;
ApiGraphQLResponse<AnimePopularQueryEntity> animeUpcomingQueryResponse = await _shikimoriGraphQLService
.query<AnimePopularQueryEntity>(
query: shikimori_queries.animeUpcomingOrPopularQuery,
fromJson: AnimePopularQueryEntity.fromJson,
variables: {"page": page, "limit": 50, "order": "aired_on"},
// headers: graphQlHeaders,
ignoreCache: ignoreCache,
);
throwIfGraphQlError(animeUpcomingQueryResponse);
List<Anime> animes = animeUpcomingQueryResponse.data.animes
.map((anime) => ShikimoriAnimeModel.fromAnimesPopularQuery(anime))
.toList();
return (true, animes);
}
@override
Future<Map<String, (bool, List<String>)>> getUserAnimeAdvancedSearchFilters() async {
return {};
}
@override
Future<List<Anime>> performAnimeAdvancedSearch(
String query,
List<String> selectedGenres,
String? selectedSeason,
String? selectedFormat,
int? selectedYear,
String? selectedAiringStatus,
String sort,
int page,
User loggedUser,
) async {
// TODO: implement performAnimeAdvancedSearch
throw UnimplementedError();
return <Anime>[];
}
// @override
// Future<(bool, List<Anime>)> getPopularAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// _logger.i("Fetching Shikimori popular anime");
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeListGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeListQuery,
// fromJson: ShikimoriAnimeListGraphqlEntity.fromJson,
// variables: {
// "page": page,
// "limit": 31,
// "order": "popularity",
// "censored": loggedUser.settings.enableNsfwContent ? null : false,
// },
// ignoreCache: ignoreCache,
// );
// throwIfGraphQlError(response);
// final animes = _processPaginatedResponse(response.data.animes, 30);
// return (animes.$1, animes.$2.map((e) => ShikimoriAnimeModel.fromListEntry(e)).toList());
// }
// @override
// Future<(bool, List<Anime>)> getTrendingAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// _logger.i("Fetching Shikimori trending anime");
// // Shikimori doesn't have a native "trending" concept; use popularity as closest equivalent
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeListGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeListQuery,
// fromJson: ShikimoriAnimeListGraphqlEntity.fromJson,
// variables: {
// "page": page,
// "limit": 31,
// "order": "popularity",
// "censored": loggedUser.settings.enableNsfwContent ? null : false,
// },
// ignoreCache: ignoreCache,
// );
// throwIfGraphQlError(response);
// final animes = _processPaginatedResponse(response.data.animes, 30);
// return (animes.$1, animes.$2.map((e) => ShikimoriAnimeModel.fromListEntry(e)).toList());
// }
// @override
// Future<(bool, List<Anime>)> getRecentlyReleasedAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// _logger.i("Fetching Shikimori recently released anime");
// final now = DateTime.now();
// final currentSeason = _getCurrentSeason(now);
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeListGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeListQuery,
// fromJson: ShikimoriAnimeListGraphqlEntity.fromJson,
// variables: {
// "page": page,
// "limit": 31,
// "order": "aired_on",
// "status": "released",
// "season": currentSeason,
// "censored": loggedUser.settings.enableNsfwContent ? null : false,
// },
// ignoreCache: ignoreCache,
// );
// throwIfGraphQlError(response);
// final animes = _processPaginatedResponse(response.data.animes, 30);
// return (animes.$1, animes.$2.map((e) => ShikimoriAnimeModel.fromListEntry(e)).toList());
// }
// @override
// Future<(bool, List<Anime>)> getRecentlyCompletedAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// _logger.i("Fetching Shikimori recently completed anime");
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeListGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeListQuery,
// fromJson: ShikimoriAnimeListGraphqlEntity.fromJson,
// variables: {
// "page": page,
// "limit": 31,
// "order": "aired_on",
// "status": "released",
// "censored": loggedUser.settings.enableNsfwContent ? null : false,
// },
// ignoreCache: ignoreCache,
// );
// throwIfGraphQlError(response);
// final animes = _processPaginatedResponse(response.data.animes, 30);
// return (animes.$1, animes.$2.map((e) => ShikimoriAnimeModel.fromListEntry(e)).toList());
// }
// @override
// Future<(bool, List<Anime>)> getUpcomingAnimes(int page, User loggedUser, {bool ignoreCache = false}) async {
// _logger.i("Fetching Shikimori upcoming anime");
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeListGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeListQuery,
// fromJson: ShikimoriAnimeListGraphqlEntity.fromJson,
// variables: {
// "page": page,
// "limit": 31,
// "order": "popularity",
// "status": "anons",
// "censored": loggedUser.settings.enableNsfwContent ? null : false,
// },
// ignoreCache: ignoreCache,
// );
// throwIfGraphQlError(response);
// final animes = _processPaginatedResponse(response.data.animes, 30);
// return (animes.$1, animes.$2.map((e) => ShikimoriAnimeModel.fromListEntry(e)).toList());
// }
// @override
// Future<Map<String, List<Anime>>> getCalendarReleases(int page, User loggedUser) async {
// _logger.i("Fetching Shikimori calendar releases");
@@ -223,161 +251,37 @@ class AnimeRepositoryShikimori with RepositoryMixin implements AnimeRepository {
// return Map.fromEntries(sortedEntries);
// }
// @override
// Future<(bool, AnimeDetails)> getAnimeDetails(Anime selectedAnime, User loggedUser) async {
// _logger.i("Fetching Anime Details from Shikimori for ${selectedAnime.title.userPreferred}");
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeDetailsGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeDetailsQuery,
// fromJson: ShikimoriAnimeDetailsGraphqlEntity.fromJson,
// variables: {"ids": selectedAnime.id.toString()},
// );
// throwIfGraphQlError(response);
// if (response.data.anime.isEmpty) {
// return (false, AnimeDetailsModel.empty());
// }
// final animeDetails = ShikimoriAnimeDetailsModel.fromDetailsEntry(response.data.anime.first);
// return (true, animeDetails);
// }
// @override
// Future<Map<String, (bool, List<String>)>> getUserAnimeAdvancedSearchFilters() async {
// _logger.i("Fetching Shikimori anime advanced search filters");
// final filters = <String, (bool, List<String>)>{};
// // Fetch genres from API
// final genresResponse = await _shikimoriGraphQLService.query<ShikimoriGenresGraphqlEntity>(
// query: shikimori_queries.shikimoriGenresListQuery,
// fromJson: ShikimoriGenresGraphqlEntity.fromJson,
// variables: {"entryType": "Anime"},
// );
// throwIfGraphQlError(genresResponse);
// final genreNames = genresResponse.data.genres.map((g) => g.name).toList();
// filters.addAll({
// 'genres': (true, TextUtils.capitalizeList(genreNames)),
// });
// filters.addAll({
// 'seasons': (
// true,
// TextUtils.capitalizeList(
// ShikimoriSeasonFilters.values.map((e) => e.name).toList(),
// ),
// ),
// });
// filters.addAll({
// 'formats': (
// true,
// TextUtils.capitalizeList(
// ShikimoriFormatFilters.values.map((e) => e.name.replaceAll('_', ' ')).toList(),
// ),
// ),
// });
// filters.addAll({
// 'airingStatuses': (
// true,
// TextUtils.capitalizeList(
// ShikimoriAiringStatusFilters.values.map((e) => e.name.replaceAll('_', ' ')).toList(),
// ),
// ),
// });
// filters.addAll({
// 'years': (
// true,
// List<String>.generate(
// DateTime.now().year - 1939,
// (index) => (1940 + index).toString(),
// ).reversed.toList(),
// ),
// });
// filters.addAll({
// 'sortOptions': (
// true,
// TextUtils.capitalizeList(
// ShikimoriSortOptions.values.map((e) => e.name.replaceAll('_', ' ')).toList(),
// ),
// ),
// });
// filters.addAll({
// 'sortOrders': (
// true,
// TextUtils.capitalizeList(
// ShikimoriSortOrder.values.map((e) => e.name).toList(),
// ),
// ),
// });
// return filters;
// }
// @override
// Future<List<Anime>> performAnimeAdvancedSearch(
// String query,
// List<String> selectedGenres,
// String? selectedSeason,
// String? selectedFormat,
// int? selectedYear,
// String? selectedAiringStatus,
// String sort,
// int page,
// User loggedUser,
// ) async {
// _logger.i("Performing Shikimori anime advanced search");
// // Map genre names to IDs if needed - for now, Shikimori search uses genre IDs
// // But since we don't have ID mapping easily, we'll use genre names
// // Actually Shikimori genre filter accepts IDs, not names
// // For simplicity, we'll skip genre filtering in search or map common ones
// final genreIds = await _mapGenreNamesToIds(selectedGenres, "Anime");
// final response = await _shikimoriGraphQLService.query<ShikimoriAnimeListGraphqlEntity>(
// query: shikimori_queries.shikimoriAnimeListQuery,
// fromJson: ShikimoriAnimeListGraphqlEntity.fromJson,
// variables: {
// "page": page,
// "limit": 50,
// "order": _mapSortToShikimori(sort),
// if (query.isNotEmpty) "search": query,
// if (genreIds.isNotEmpty) "genre": genreIds.join(','),
// if (selectedSeason != null && selectedSeason.isNotEmpty) "season": selectedSeason.toLowerCase(),
// if (selectedYear != null) "season": "$selectedYear",
// if (selectedAiringStatus != null && selectedAiringStatus.isNotEmpty)
// "status": _mapAiringStatusToShikimori(selectedAiringStatus),
// if (selectedFormat != null && selectedFormat.isNotEmpty)
// "kind": _mapFormatToShikimoriKind(selectedFormat),
// "censored": loggedUser.settings.enableNsfwContent ? null : false,
// },
// );
// throwIfGraphQlError(response);
// return response.data.animes.map((e) => ShikimoriAnimeModel.fromListEntry(e)).toList();
// }
@override
Future<List<String>> getMediaCoverImages(User loggedUser, {bool ignoreCache = false}) async {
_logger.i("Fetching Media Cover Images from Shikimori");
final (hasNext, animes) = await getPopularAnimes(1, loggedUser, ignoreCache: ignoreCache);
return animes.map((anime) => anime.coverImage).where((coverImage) => coverImage != "").shuffled(Random()).toList();
return animes
.map((anime) => anime.coverImage)
.where((coverImage) => coverImage != "")
.shuffled(Random())
.toList();
}
@override
Future<MediaListEntry> updateMediaListEntry(MediaListEntry newMediaListEntry, Anime selectedAnime, User loggedUser) async {
Future<MediaListEntry> updateMediaListEntry(
MediaListEntry newMediaListEntry,
Anime selectedAnime,
User loggedUser,
) async {
_logger.i("Updating Media List Entry to $newMediaListEntry on Shikimori");
// Metadata-only scope: return empty
return MediaListEntryModel.empty();
}
@override
Future<MediaListEntry> getMediaListEntry(Anime selectedAnime, User loggedUser, {bool ignoreCache = false}) async {
Future<MediaListEntry> getMediaListEntry(
Anime selectedAnime,
User loggedUser, {
bool ignoreCache = false,
}) async {
_logger.i("Fetching User Media List Entry from Shikimori for ${selectedAnime.title.userPreferred}");
// Metadata-only scope: return empty
return MediaListEntryModel.empty();
}
// Helper methods
// (bool, List<ShikimoriAnimeListGraphqlAnimes>) _processPaginatedResponse(
// List<ShikimoriAnimeListGraphqlAnimes> results,
// int limit,
// ) {
// final hasNextPage = results.length > limit;
// final items = hasNextPage ? results.take(limit).toList() : results;
// return (hasNextPage, items);
// }
String _getCurrentSeason(DateTime date) {
final month = date.month;
String season;
@@ -393,24 +297,6 @@ class AnimeRepositoryShikimori with RepositoryMixin implements AnimeRepository {
return "${season}_${date.year}";
}
// Future<List<String>> _mapGenreNamesToIds(List<String> genreNames, String entryType) async {
// if (genreNames.isEmpty) return [];
// final genresResponse = await _shikimoriGraphQLService.query<ShikimoriGenresGraphqlEntity>(
// query: shikimori_queries.shikimoriGenresListQuery,
// fromJson: ShikimoriGenresGraphqlEntity.fromJson,
// variables: {"entryType": entryType},
// );
// throwIfGraphQlError(genresResponse);
// final genreMap = <String, String>{};
// for (final genre in genresResponse.data.genres) {
// genreMap[genre.name.toLowerCase()] = genre.id;
// }
// return genreNames
// .map((name) => genreMap[name.toLowerCase()])
// .whereType<String>()
// .toList();
// }
String _mapSortToShikimori(String sort) {
// sort comes as "popularity_desc" or "score_desc" etc.
final parts = sort.toLowerCase().split('_');

View File

@@ -2,11 +2,12 @@ import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hive_ce/hive.dart';
import 'package:unyo/core/services/api/dto/anilist/media_details_media_list_entry_entity.dart';
import 'package:unyo/core/services/api/dto/anilist/save_media_list_entry_entity.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_details_query_entity.dart';
import 'package:unyo/data/adapters/adapters_names.dart' as names;
import 'package:unyo/data/adapters/adapters_types.dart' as types;
import 'package:unyo/presentation/widgets/text/text_utils.dart';
part 'media_list_entry.freezed.dart';
part 'media_list_entry.g.dart';
abstract class MediaListEntry {
@@ -98,6 +99,18 @@ abstract class MediaListEntryModel with _$MediaListEntryModel implements MediaLi
@override
Map<String, dynamic> toJson() => _$MediaListEntryModelToJson(this as _MediaListEntryModel);
factory MediaListEntryModel.fromAnimeDetailsQueryAnimesUserRate(AnimeDetailsQueryAnimesUserRate userRate) {
return MediaListEntryModel(
progress: userRate.episodes,
progressVolumes: 0,
score: userRate.score.toDouble(),
repeat: userRate.rewatches,
status: userRate.status.toUpperCase().replaceAll("_", " "),
startedAt: TextUtils.formatISO8601DateTime(userRate.createdAt),
completedAt: TextUtils.formatISO8601DateTime(userRate.updatedAt),
);
}
}
class MediaListEntryConverter implements JsonConverter<MediaListEntry, Map<String, dynamic>> {

View File

@@ -0,0 +1,561 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_details_query_entity.dart';
AnimeDetailsQueryEntity $AnimeDetailsQueryEntityFromJson(Map<String, dynamic> json) {
final AnimeDetailsQueryEntity animeDetailsQueryEntity = AnimeDetailsQueryEntity();
final List<AnimeDetailsQueryAnimes>? animes = (json['animes'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<AnimeDetailsQueryAnimes>(e) as AnimeDetailsQueryAnimes).toList();
if (animes != null) {
animeDetailsQueryEntity.animes = animes;
}
return animeDetailsQueryEntity;
}
Map<String, dynamic> $AnimeDetailsQueryEntityToJson(AnimeDetailsQueryEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['animes'] = entity.animes.map((v) => v.toJson()).toList();
return data;
}
extension AnimeDetailsQueryEntityExtension on AnimeDetailsQueryEntity {
AnimeDetailsQueryEntity copyWith({
List<AnimeDetailsQueryAnimes>? animes,
}) {
return AnimeDetailsQueryEntity()
..animes = animes ?? this.animes;
}
}
AnimeDetailsQueryAnimes $AnimeDetailsQueryAnimesFromJson(Map<String, dynamic> json) {
final AnimeDetailsQueryAnimes animeDetailsQueryAnimes = AnimeDetailsQueryAnimes();
final AnimeDetailsQueryAnimesUserRate? userRate = jsonConvert.convert<AnimeDetailsQueryAnimesUserRate>(
json['userRate']);
if (userRate != null) {
animeDetailsQueryAnimes.userRate = userRate;
}
final List<AnimeDetailsQueryAnimesCharacterRoles>? characterRoles = (json['characterRoles'] as List<
dynamic>?)
?.map(
(e) =>
jsonConvert.convert<AnimeDetailsQueryAnimesCharacterRoles>(e) as AnimeDetailsQueryAnimesCharacterRoles)
.toList();
if (characterRoles != null) {
animeDetailsQueryAnimes.characterRoles = characterRoles;
}
final List<AnimeDetailsQueryAnimesRelated>? related = (json['related'] as List<dynamic>?)
?.map(
(e) => jsonConvert.convert<AnimeDetailsQueryAnimesRelated>(e) as AnimeDetailsQueryAnimesRelated)
.toList();
if (related != null) {
animeDetailsQueryAnimes.related = related;
}
return animeDetailsQueryAnimes;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesToJson(AnimeDetailsQueryAnimes entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['userRate'] = entity.userRate.toJson();
data['characterRoles'] = entity.characterRoles.map((v) => v.toJson()).toList();
data['related'] = entity.related.map((v) => v.toJson()).toList();
return data;
}
extension AnimeDetailsQueryAnimesExtension on AnimeDetailsQueryAnimes {
AnimeDetailsQueryAnimes copyWith({
AnimeDetailsQueryAnimesUserRate? userRate,
List<AnimeDetailsQueryAnimesCharacterRoles>? characterRoles,
List<AnimeDetailsQueryAnimesRelated>? related,
}) {
return AnimeDetailsQueryAnimes()
..userRate = userRate ?? this.userRate
..characterRoles = characterRoles ?? this.characterRoles
..related = related ?? this.related;
}
}
AnimeDetailsQueryAnimesUserRate $AnimeDetailsQueryAnimesUserRateFromJson(Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesUserRate animeDetailsQueryAnimesUserRate = AnimeDetailsQueryAnimesUserRate();
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
animeDetailsQueryAnimesUserRate.episodes = episodes;
}
final int? score = jsonConvert.convert<int>(json['score']);
if (score != null) {
animeDetailsQueryAnimesUserRate.score = score;
}
final int? rewatches = jsonConvert.convert<int>(json['rewatches']);
if (rewatches != null) {
animeDetailsQueryAnimesUserRate.rewatches = rewatches;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
animeDetailsQueryAnimesUserRate.status = status;
}
final String? createdAt = jsonConvert.convert<String>(json['createdAt']);
if (createdAt != null) {
animeDetailsQueryAnimesUserRate.createdAt = createdAt;
}
final String? updatedAt = jsonConvert.convert<String>(json['updatedAt']);
if (updatedAt != null) {
animeDetailsQueryAnimesUserRate.updatedAt = updatedAt;
}
return animeDetailsQueryAnimesUserRate;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesUserRateToJson(AnimeDetailsQueryAnimesUserRate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['episodes'] = entity.episodes;
data['score'] = entity.score;
data['rewatches'] = entity.rewatches;
data['status'] = entity.status;
data['createdAt'] = entity.createdAt;
data['updatedAt'] = entity.updatedAt;
return data;
}
extension AnimeDetailsQueryAnimesUserRateExtension on AnimeDetailsQueryAnimesUserRate {
AnimeDetailsQueryAnimesUserRate copyWith({
int? episodes,
int? score,
int? rewatches,
String? status,
String? createdAt,
String? updatedAt,
}) {
return AnimeDetailsQueryAnimesUserRate()
..episodes = episodes ?? this.episodes
..score = score ?? this.score
..rewatches = rewatches ?? this.rewatches
..status = status ?? this.status
..createdAt = createdAt ?? this.createdAt
..updatedAt = updatedAt ?? this.updatedAt;
}
}
AnimeDetailsQueryAnimesCharacterRoles $AnimeDetailsQueryAnimesCharacterRolesFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesCharacterRoles animeDetailsQueryAnimesCharacterRoles = AnimeDetailsQueryAnimesCharacterRoles();
final AnimeDetailsQueryAnimesCharacterRolesCharacter? character = jsonConvert.convert<
AnimeDetailsQueryAnimesCharacterRolesCharacter>(json['character']);
if (character != null) {
animeDetailsQueryAnimesCharacterRoles.character = character;
}
return animeDetailsQueryAnimesCharacterRoles;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesCharacterRolesToJson(
AnimeDetailsQueryAnimesCharacterRoles entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['character'] = entity.character.toJson();
return data;
}
extension AnimeDetailsQueryAnimesCharacterRolesExtension on AnimeDetailsQueryAnimesCharacterRoles {
AnimeDetailsQueryAnimesCharacterRoles copyWith({
AnimeDetailsQueryAnimesCharacterRolesCharacter? character,
}) {
return AnimeDetailsQueryAnimesCharacterRoles()
..character = character ?? this.character;
}
}
AnimeDetailsQueryAnimesCharacterRolesCharacter $AnimeDetailsQueryAnimesCharacterRolesCharacterFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesCharacterRolesCharacter animeDetailsQueryAnimesCharacterRolesCharacter = AnimeDetailsQueryAnimesCharacterRolesCharacter();
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
animeDetailsQueryAnimesCharacterRolesCharacter.id = id;
}
final AnimeDetailsQueryAnimesCharacterRolesCharacterPoster? poster = jsonConvert.convert<
AnimeDetailsQueryAnimesCharacterRolesCharacterPoster>(json['poster']);
if (poster != null) {
animeDetailsQueryAnimesCharacterRolesCharacter.poster = poster;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeDetailsQueryAnimesCharacterRolesCharacter.name = name;
}
return animeDetailsQueryAnimesCharacterRolesCharacter;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesCharacterRolesCharacterToJson(
AnimeDetailsQueryAnimesCharacterRolesCharacter entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
data['poster'] = entity.poster.toJson();
data['name'] = entity.name;
return data;
}
extension AnimeDetailsQueryAnimesCharacterRolesCharacterExtension on AnimeDetailsQueryAnimesCharacterRolesCharacter {
AnimeDetailsQueryAnimesCharacterRolesCharacter copyWith({
String? id,
AnimeDetailsQueryAnimesCharacterRolesCharacterPoster? poster,
String? name,
}) {
return AnimeDetailsQueryAnimesCharacterRolesCharacter()
..id = id ?? this.id
..poster = poster ?? this.poster
..name = name ?? this.name;
}
}
AnimeDetailsQueryAnimesCharacterRolesCharacterPoster $AnimeDetailsQueryAnimesCharacterRolesCharacterPosterFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesCharacterRolesCharacterPoster animeDetailsQueryAnimesCharacterRolesCharacterPoster = AnimeDetailsQueryAnimesCharacterRolesCharacterPoster();
final String? originalUrl = jsonConvert.convert<String>(json['originalUrl']);
if (originalUrl != null) {
animeDetailsQueryAnimesCharacterRolesCharacterPoster.originalUrl = originalUrl;
}
return animeDetailsQueryAnimesCharacterRolesCharacterPoster;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesCharacterRolesCharacterPosterToJson(
AnimeDetailsQueryAnimesCharacterRolesCharacterPoster entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['originalUrl'] = entity.originalUrl;
return data;
}
extension AnimeDetailsQueryAnimesCharacterRolesCharacterPosterExtension on AnimeDetailsQueryAnimesCharacterRolesCharacterPoster {
AnimeDetailsQueryAnimesCharacterRolesCharacterPoster copyWith({
String? originalUrl,
}) {
return AnimeDetailsQueryAnimesCharacterRolesCharacterPoster()
..originalUrl = originalUrl ?? this.originalUrl;
}
}
AnimeDetailsQueryAnimesRelated $AnimeDetailsQueryAnimesRelatedFromJson(Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesRelated animeDetailsQueryAnimesRelated = AnimeDetailsQueryAnimesRelated();
final String? relationKind = jsonConvert.convert<String>(json['relationKind']);
if (relationKind != null) {
animeDetailsQueryAnimesRelated.relationKind = relationKind;
}
final AnimeDetailsQueryAnimesRelatedAnime? anime = jsonConvert.convert<AnimeDetailsQueryAnimesRelatedAnime>(
json['anime']);
if (anime != null) {
animeDetailsQueryAnimesRelated.anime = anime;
}
return animeDetailsQueryAnimesRelated;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesRelatedToJson(AnimeDetailsQueryAnimesRelated entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['relationKind'] = entity.relationKind;
data['anime'] = entity.anime.toJson();
return data;
}
extension AnimeDetailsQueryAnimesRelatedExtension on AnimeDetailsQueryAnimesRelated {
AnimeDetailsQueryAnimesRelated copyWith({
String? relationKind,
AnimeDetailsQueryAnimesRelatedAnime? anime,
}) {
return AnimeDetailsQueryAnimesRelated()
..relationKind = relationKind ?? this.relationKind
..anime = anime ?? this.anime;
}
}
AnimeDetailsQueryAnimesRelatedAnime $AnimeDetailsQueryAnimesRelatedAnimeFromJson(Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesRelatedAnime animeDetailsQueryAnimesRelatedAnime = AnimeDetailsQueryAnimesRelatedAnime();
final String? malId = jsonConvert.convert<String>(json['malId']);
if (malId != null) {
animeDetailsQueryAnimesRelatedAnime.malId = malId;
}
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
animeDetailsQueryAnimesRelatedAnime.id = id;
}
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
animeDetailsQueryAnimesRelatedAnime.english = english;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeDetailsQueryAnimesRelatedAnime.name = name;
}
final String? russian = jsonConvert.convert<String>(json['russian']);
if (russian != null) {
animeDetailsQueryAnimesRelatedAnime.russian = russian;
}
final String? japanese = jsonConvert.convert<String>(json['japanese']);
if (japanese != null) {
animeDetailsQueryAnimesRelatedAnime.japanese = japanese;
}
final AnimeDetailsQueryAnimesRelatedAnimePoster? poster = jsonConvert.convert<
AnimeDetailsQueryAnimesRelatedAnimePoster>(json['poster']);
if (poster != null) {
animeDetailsQueryAnimesRelatedAnime.poster = poster;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
animeDetailsQueryAnimesRelatedAnime.description = description;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
animeDetailsQueryAnimesRelatedAnime.duration = duration;
}
final AnimeDetailsQueryAnimesRelatedAnimeAiredOn? airedOn = jsonConvert.convert<
AnimeDetailsQueryAnimesRelatedAnimeAiredOn>(json['airedOn']);
if (airedOn != null) {
animeDetailsQueryAnimesRelatedAnime.airedOn = airedOn;
}
final AnimeDetailsQueryAnimesRelatedAnimeReleasedOn? releasedOn = jsonConvert.convert<
AnimeDetailsQueryAnimesRelatedAnimeReleasedOn>(json['releasedOn']);
if (releasedOn != null) {
animeDetailsQueryAnimesRelatedAnime.releasedOn = releasedOn;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
animeDetailsQueryAnimesRelatedAnime.episodes = episodes;
}
final dynamic nextEpisodeAt = json['nextEpisodeAt'];
if (nextEpisodeAt != null) {
animeDetailsQueryAnimesRelatedAnime.nextEpisodeAt = nextEpisodeAt;
}
final List<AnimeDetailsQueryAnimesRelatedAnimeGenres>? genres = (json['genres'] as List<dynamic>?)?.map(
(e) =>
jsonConvert.convert<AnimeDetailsQueryAnimesRelatedAnimeGenres>(
e) as AnimeDetailsQueryAnimesRelatedAnimeGenres).toList();
if (genres != null) {
animeDetailsQueryAnimesRelatedAnime.genres = genres;
}
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animeDetailsQueryAnimesRelatedAnime.kind = kind;
}
final bool? isCensored = jsonConvert.convert<bool>(json['isCensored']);
if (isCensored != null) {
animeDetailsQueryAnimesRelatedAnime.isCensored = isCensored;
}
final double? score = jsonConvert.convert<double>(json['score']);
if (score != null) {
animeDetailsQueryAnimesRelatedAnime.score = score;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
animeDetailsQueryAnimesRelatedAnime.season = season;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
animeDetailsQueryAnimesRelatedAnime.status = status;
}
return animeDetailsQueryAnimesRelatedAnime;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesRelatedAnimeToJson(AnimeDetailsQueryAnimesRelatedAnime entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['malId'] = entity.malId;
data['id'] = entity.id;
data['english'] = entity.english;
data['name'] = entity.name;
data['russian'] = entity.russian;
data['japanese'] = entity.japanese;
data['poster'] = entity.poster.toJson();
data['description'] = entity.description;
data['duration'] = entity.duration;
data['airedOn'] = entity.airedOn.toJson();
data['releasedOn'] = entity.releasedOn.toJson();
data['episodes'] = entity.episodes;
data['nextEpisodeAt'] = entity.nextEpisodeAt;
data['genres'] = entity.genres.map((v) => v.toJson()).toList();
data['kind'] = entity.kind;
data['isCensored'] = entity.isCensored;
data['score'] = entity.score;
data['season'] = entity.season;
data['status'] = entity.status;
return data;
}
extension AnimeDetailsQueryAnimesRelatedAnimeExtension on AnimeDetailsQueryAnimesRelatedAnime {
AnimeDetailsQueryAnimesRelatedAnime copyWith({
String? malId,
String? id,
String? english,
String? name,
String? russian,
String? japanese,
AnimeDetailsQueryAnimesRelatedAnimePoster? poster,
String? description,
int? duration,
AnimeDetailsQueryAnimesRelatedAnimeAiredOn? airedOn,
AnimeDetailsQueryAnimesRelatedAnimeReleasedOn? releasedOn,
int? episodes,
dynamic nextEpisodeAt,
List<AnimeDetailsQueryAnimesRelatedAnimeGenres>? genres,
String? kind,
bool? isCensored,
double? score,
String? season,
String? status,
}) {
return AnimeDetailsQueryAnimesRelatedAnime()
..malId = malId ?? this.malId
..id = id ?? this.id
..english = english ?? this.english
..name = name ?? this.name
..russian = russian ?? this.russian
..japanese = japanese ?? this.japanese
..poster = poster ?? this.poster
..description = description ?? this.description
..duration = duration ?? this.duration
..airedOn = airedOn ?? this.airedOn
..releasedOn = releasedOn ?? this.releasedOn
..episodes = episodes ?? this.episodes
..nextEpisodeAt = nextEpisodeAt ?? this.nextEpisodeAt
..genres = genres ?? this.genres
..kind = kind ?? this.kind
..isCensored = isCensored ?? this.isCensored
..score = score ?? this.score
..season = season ?? this.season
..status = status ?? this.status;
}
}
AnimeDetailsQueryAnimesRelatedAnimePoster $AnimeDetailsQueryAnimesRelatedAnimePosterFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesRelatedAnimePoster animeDetailsQueryAnimesRelatedAnimePoster = AnimeDetailsQueryAnimesRelatedAnimePoster();
final String? originalUrl = jsonConvert.convert<String>(json['originalUrl']);
if (originalUrl != null) {
animeDetailsQueryAnimesRelatedAnimePoster.originalUrl = originalUrl;
}
final String? mainAlt2xUrl = jsonConvert.convert<String>(json['mainAlt2xUrl']);
if (mainAlt2xUrl != null) {
animeDetailsQueryAnimesRelatedAnimePoster.mainAlt2xUrl = mainAlt2xUrl;
}
return animeDetailsQueryAnimesRelatedAnimePoster;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesRelatedAnimePosterToJson(
AnimeDetailsQueryAnimesRelatedAnimePoster entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['originalUrl'] = entity.originalUrl;
data['mainAlt2xUrl'] = entity.mainAlt2xUrl;
return data;
}
extension AnimeDetailsQueryAnimesRelatedAnimePosterExtension on AnimeDetailsQueryAnimesRelatedAnimePoster {
AnimeDetailsQueryAnimesRelatedAnimePoster copyWith({
String? originalUrl,
String? mainAlt2xUrl,
}) {
return AnimeDetailsQueryAnimesRelatedAnimePoster()
..originalUrl = originalUrl ?? this.originalUrl
..mainAlt2xUrl = mainAlt2xUrl ?? this.mainAlt2xUrl;
}
}
AnimeDetailsQueryAnimesRelatedAnimeAiredOn $AnimeDetailsQueryAnimesRelatedAnimeAiredOnFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesRelatedAnimeAiredOn animeDetailsQueryAnimesRelatedAnimeAiredOn = AnimeDetailsQueryAnimesRelatedAnimeAiredOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeDetailsQueryAnimesRelatedAnimeAiredOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeDetailsQueryAnimesRelatedAnimeAiredOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeDetailsQueryAnimesRelatedAnimeAiredOn.year = year;
}
return animeDetailsQueryAnimesRelatedAnimeAiredOn;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesRelatedAnimeAiredOnToJson(
AnimeDetailsQueryAnimesRelatedAnimeAiredOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimeDetailsQueryAnimesRelatedAnimeAiredOnExtension on AnimeDetailsQueryAnimesRelatedAnimeAiredOn {
AnimeDetailsQueryAnimesRelatedAnimeAiredOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeDetailsQueryAnimesRelatedAnimeAiredOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimeDetailsQueryAnimesRelatedAnimeReleasedOn $AnimeDetailsQueryAnimesRelatedAnimeReleasedOnFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesRelatedAnimeReleasedOn animeDetailsQueryAnimesRelatedAnimeReleasedOn = AnimeDetailsQueryAnimesRelatedAnimeReleasedOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeDetailsQueryAnimesRelatedAnimeReleasedOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeDetailsQueryAnimesRelatedAnimeReleasedOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeDetailsQueryAnimesRelatedAnimeReleasedOn.year = year;
}
return animeDetailsQueryAnimesRelatedAnimeReleasedOn;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesRelatedAnimeReleasedOnToJson(
AnimeDetailsQueryAnimesRelatedAnimeReleasedOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimeDetailsQueryAnimesRelatedAnimeReleasedOnExtension on AnimeDetailsQueryAnimesRelatedAnimeReleasedOn {
AnimeDetailsQueryAnimesRelatedAnimeReleasedOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeDetailsQueryAnimesRelatedAnimeReleasedOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimeDetailsQueryAnimesRelatedAnimeGenres $AnimeDetailsQueryAnimesRelatedAnimeGenresFromJson(
Map<String, dynamic> json) {
final AnimeDetailsQueryAnimesRelatedAnimeGenres animeDetailsQueryAnimesRelatedAnimeGenres = AnimeDetailsQueryAnimesRelatedAnimeGenres();
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animeDetailsQueryAnimesRelatedAnimeGenres.kind = kind;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeDetailsQueryAnimesRelatedAnimeGenres.name = name;
}
return animeDetailsQueryAnimesRelatedAnimeGenres;
}
Map<String, dynamic> $AnimeDetailsQueryAnimesRelatedAnimeGenresToJson(
AnimeDetailsQueryAnimesRelatedAnimeGenres entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['kind'] = entity.kind;
data['name'] = entity.name;
return data;
}
extension AnimeDetailsQueryAnimesRelatedAnimeGenresExtension on AnimeDetailsQueryAnimesRelatedAnimeGenres {
AnimeDetailsQueryAnimesRelatedAnimeGenres copyWith({
String? kind,
String? name,
}) {
return AnimeDetailsQueryAnimesRelatedAnimeGenres()
..kind = kind ?? this.kind
..name = name ?? this.name;
}
}

View File

@@ -0,0 +1,321 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_popular_query_entity.dart';
AnimePopularQueryEntity $AnimePopularQueryEntityFromJson(Map<String, dynamic> json) {
final AnimePopularQueryEntity animePopularQueryEntity = AnimePopularQueryEntity();
final List<AnimePopularQueryAnimes>? animes = (json['animes'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<AnimePopularQueryAnimes>(e) as AnimePopularQueryAnimes).toList();
if (animes != null) {
animePopularQueryEntity.animes = animes;
}
return animePopularQueryEntity;
}
Map<String, dynamic> $AnimePopularQueryEntityToJson(AnimePopularQueryEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['animes'] = entity.animes.map((v) => v.toJson()).toList();
return data;
}
extension AnimePopularQueryEntityExtension on AnimePopularQueryEntity {
AnimePopularQueryEntity copyWith({
List<AnimePopularQueryAnimes>? animes,
}) {
return AnimePopularQueryEntity()
..animes = animes ?? this.animes;
}
}
AnimePopularQueryAnimes $AnimePopularQueryAnimesFromJson(Map<String, dynamic> json) {
final AnimePopularQueryAnimes animePopularQueryAnimes = AnimePopularQueryAnimes();
final String? malId = jsonConvert.convert<String>(json['malId']);
if (malId != null) {
animePopularQueryAnimes.malId = malId;
}
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
animePopularQueryAnimes.id = id;
}
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
animePopularQueryAnimes.english = english;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animePopularQueryAnimes.name = name;
}
final String? russian = jsonConvert.convert<String>(json['russian']);
if (russian != null) {
animePopularQueryAnimes.russian = russian;
}
final String? japanese = jsonConvert.convert<String>(json['japanese']);
if (japanese != null) {
animePopularQueryAnimes.japanese = japanese;
}
final AnimePopularQueryAnimesPoster? poster = jsonConvert.convert<AnimePopularQueryAnimesPoster>(
json['poster']);
if (poster != null) {
animePopularQueryAnimes.poster = poster;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
animePopularQueryAnimes.description = description;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
animePopularQueryAnimes.duration = duration;
}
final AnimePopularQueryAnimesAiredOn? airedOn = jsonConvert.convert<AnimePopularQueryAnimesAiredOn>(
json['airedOn']);
if (airedOn != null) {
animePopularQueryAnimes.airedOn = airedOn;
}
final AnimePopularQueryAnimesReleasedOn? releasedOn = jsonConvert.convert<
AnimePopularQueryAnimesReleasedOn>(json['releasedOn']);
if (releasedOn != null) {
animePopularQueryAnimes.releasedOn = releasedOn;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
animePopularQueryAnimes.episodes = episodes;
}
final String? nextEpisodeAt = jsonConvert.convert<String>(json['nextEpisodeAt']);
if (nextEpisodeAt != null) {
animePopularQueryAnimes.nextEpisodeAt = nextEpisodeAt;
}
final List<AnimePopularQueryAnimesGenres>? genres = (json['genres'] as List<dynamic>?)
?.map(
(e) => jsonConvert.convert<AnimePopularQueryAnimesGenres>(e) as AnimePopularQueryAnimesGenres)
.toList();
if (genres != null) {
animePopularQueryAnimes.genres = genres;
}
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animePopularQueryAnimes.kind = kind;
}
final bool? isCensored = jsonConvert.convert<bool>(json['isCensored']);
if (isCensored != null) {
animePopularQueryAnimes.isCensored = isCensored;
}
final double? score = jsonConvert.convert<double>(json['score']);
if (score != null) {
animePopularQueryAnimes.score = score;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
animePopularQueryAnimes.season = season;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
animePopularQueryAnimes.status = status;
}
return animePopularQueryAnimes;
}
Map<String, dynamic> $AnimePopularQueryAnimesToJson(AnimePopularQueryAnimes entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['malId'] = entity.malId;
data['id'] = entity.id;
data['english'] = entity.english;
data['name'] = entity.name;
data['russian'] = entity.russian;
data['japanese'] = entity.japanese;
data['poster'] = entity.poster.toJson();
data['description'] = entity.description;
data['duration'] = entity.duration;
data['airedOn'] = entity.airedOn.toJson();
data['releasedOn'] = entity.releasedOn.toJson();
data['episodes'] = entity.episodes;
data['nextEpisodeAt'] = entity.nextEpisodeAt;
data['genres'] = entity.genres.map((v) => v.toJson()).toList();
data['kind'] = entity.kind;
data['isCensored'] = entity.isCensored;
data['score'] = entity.score;
data['season'] = entity.season;
data['status'] = entity.status;
return data;
}
extension AnimePopularQueryAnimesExtension on AnimePopularQueryAnimes {
AnimePopularQueryAnimes copyWith({
String? malId,
String? id,
String? english,
String? name,
String? russian,
String? japanese,
AnimePopularQueryAnimesPoster? poster,
String? description,
int? duration,
AnimePopularQueryAnimesAiredOn? airedOn,
AnimePopularQueryAnimesReleasedOn? releasedOn,
int? episodes,
String? nextEpisodeAt,
List<AnimePopularQueryAnimesGenres>? genres,
String? kind,
bool? isCensored,
double? score,
String? season,
String? status,
}) {
return AnimePopularQueryAnimes()
..malId = malId ?? this.malId
..id = id ?? this.id
..english = english ?? this.english
..name = name ?? this.name
..russian = russian ?? this.russian
..japanese = japanese ?? this.japanese
..poster = poster ?? this.poster
..description = description ?? this.description
..duration = duration ?? this.duration
..airedOn = airedOn ?? this.airedOn
..releasedOn = releasedOn ?? this.releasedOn
..episodes = episodes ?? this.episodes
..nextEpisodeAt = nextEpisodeAt ?? this.nextEpisodeAt
..genres = genres ?? this.genres
..kind = kind ?? this.kind
..isCensored = isCensored ?? this.isCensored
..score = score ?? this.score
..season = season ?? this.season
..status = status ?? this.status;
}
}
AnimePopularQueryAnimesPoster $AnimePopularQueryAnimesPosterFromJson(Map<String, dynamic> json) {
final AnimePopularQueryAnimesPoster animePopularQueryAnimesPoster = AnimePopularQueryAnimesPoster();
final String? originalUrl = jsonConvert.convert<String>(json['originalUrl']);
if (originalUrl != null) {
animePopularQueryAnimesPoster.originalUrl = originalUrl;
}
final String? mainAlt2xUrl = jsonConvert.convert<String>(json['mainAlt2xUrl']);
if (mainAlt2xUrl != null) {
animePopularQueryAnimesPoster.mainAlt2xUrl = mainAlt2xUrl;
}
return animePopularQueryAnimesPoster;
}
Map<String, dynamic> $AnimePopularQueryAnimesPosterToJson(AnimePopularQueryAnimesPoster entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['originalUrl'] = entity.originalUrl;
data['mainAlt2xUrl'] = entity.mainAlt2xUrl;
return data;
}
extension AnimePopularQueryAnimesPosterExtension on AnimePopularQueryAnimesPoster {
AnimePopularQueryAnimesPoster copyWith({
String? originalUrl,
String? mainAlt2xUrl,
}) {
return AnimePopularQueryAnimesPoster()
..originalUrl = originalUrl ?? this.originalUrl
..mainAlt2xUrl = mainAlt2xUrl ?? this.mainAlt2xUrl;
}
}
AnimePopularQueryAnimesAiredOn $AnimePopularQueryAnimesAiredOnFromJson(Map<String, dynamic> json) {
final AnimePopularQueryAnimesAiredOn animePopularQueryAnimesAiredOn = AnimePopularQueryAnimesAiredOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animePopularQueryAnimesAiredOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animePopularQueryAnimesAiredOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animePopularQueryAnimesAiredOn.year = year;
}
return animePopularQueryAnimesAiredOn;
}
Map<String, dynamic> $AnimePopularQueryAnimesAiredOnToJson(AnimePopularQueryAnimesAiredOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimePopularQueryAnimesAiredOnExtension on AnimePopularQueryAnimesAiredOn {
AnimePopularQueryAnimesAiredOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimePopularQueryAnimesAiredOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimePopularQueryAnimesReleasedOn $AnimePopularQueryAnimesReleasedOnFromJson(Map<String, dynamic> json) {
final AnimePopularQueryAnimesReleasedOn animePopularQueryAnimesReleasedOn = AnimePopularQueryAnimesReleasedOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animePopularQueryAnimesReleasedOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animePopularQueryAnimesReleasedOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animePopularQueryAnimesReleasedOn.year = year;
}
return animePopularQueryAnimesReleasedOn;
}
Map<String, dynamic> $AnimePopularQueryAnimesReleasedOnToJson(AnimePopularQueryAnimesReleasedOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimePopularQueryAnimesReleasedOnExtension on AnimePopularQueryAnimesReleasedOn {
AnimePopularQueryAnimesReleasedOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimePopularQueryAnimesReleasedOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimePopularQueryAnimesGenres $AnimePopularQueryAnimesGenresFromJson(Map<String, dynamic> json) {
final AnimePopularQueryAnimesGenres animePopularQueryAnimesGenres = AnimePopularQueryAnimesGenres();
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animePopularQueryAnimesGenres.kind = kind;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animePopularQueryAnimesGenres.name = name;
}
return animePopularQueryAnimesGenres;
}
Map<String, dynamic> $AnimePopularQueryAnimesGenresToJson(AnimePopularQueryAnimesGenres entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['kind'] = entity.kind;
data['name'] = entity.name;
return data;
}
extension AnimePopularQueryAnimesGenresExtension on AnimePopularQueryAnimesGenres {
AnimePopularQueryAnimesGenres copyWith({
String? kind,
String? name,
}) {
return AnimePopularQueryAnimesGenres()
..kind = kind ?? this.kind
..name = name ?? this.name;
}
}

View File

@@ -0,0 +1,340 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_recently_released_query_entity.dart';
AnimeRecentlyReleasedQueryEntity $AnimeRecentlyReleasedQueryEntityFromJson(
Map<String, dynamic> json) {
final AnimeRecentlyReleasedQueryEntity animeRecentlyReleasedQueryEntity = AnimeRecentlyReleasedQueryEntity();
final List<
AnimeRecentlyReleasedQueryAnimes>? animes = (json['animes'] as List<
dynamic>?)?.map(
(e) =>
jsonConvert.convert<AnimeRecentlyReleasedQueryAnimes>(
e) as AnimeRecentlyReleasedQueryAnimes).toList();
if (animes != null) {
animeRecentlyReleasedQueryEntity.animes = animes;
}
return animeRecentlyReleasedQueryEntity;
}
Map<String, dynamic> $AnimeRecentlyReleasedQueryEntityToJson(
AnimeRecentlyReleasedQueryEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['animes'] = entity.animes.map((v) => v.toJson()).toList();
return data;
}
extension AnimeRecentlyReleasedQueryEntityExtension on AnimeRecentlyReleasedQueryEntity {
AnimeRecentlyReleasedQueryEntity copyWith({
List<AnimeRecentlyReleasedQueryAnimes>? animes,
}) {
return AnimeRecentlyReleasedQueryEntity()
..animes = animes ?? this.animes;
}
}
AnimeRecentlyReleasedQueryAnimes $AnimeRecentlyReleasedQueryAnimesFromJson(
Map<String, dynamic> json) {
final AnimeRecentlyReleasedQueryAnimes animeRecentlyReleasedQueryAnimes = AnimeRecentlyReleasedQueryAnimes();
final String? malId = jsonConvert.convert<String>(json['malId']);
if (malId != null) {
animeRecentlyReleasedQueryAnimes.malId = malId;
}
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
animeRecentlyReleasedQueryAnimes.id = id;
}
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
animeRecentlyReleasedQueryAnimes.english = english;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeRecentlyReleasedQueryAnimes.name = name;
}
final String? russian = jsonConvert.convert<String>(json['russian']);
if (russian != null) {
animeRecentlyReleasedQueryAnimes.russian = russian;
}
final String? japanese = jsonConvert.convert<String>(json['japanese']);
if (japanese != null) {
animeRecentlyReleasedQueryAnimes.japanese = japanese;
}
final AnimeRecentlyReleasedQueryAnimesPoster? poster = jsonConvert.convert<
AnimeRecentlyReleasedQueryAnimesPoster>(json['poster']);
if (poster != null) {
animeRecentlyReleasedQueryAnimes.poster = poster;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
animeRecentlyReleasedQueryAnimes.description = description;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
animeRecentlyReleasedQueryAnimes.duration = duration;
}
final AnimeRecentlyReleasedQueryAnimesAiredOn? airedOn = jsonConvert.convert<
AnimeRecentlyReleasedQueryAnimesAiredOn>(json['airedOn']);
if (airedOn != null) {
animeRecentlyReleasedQueryAnimes.airedOn = airedOn;
}
final AnimeRecentlyReleasedQueryAnimesReleasedOn? releasedOn = jsonConvert
.convert<AnimeRecentlyReleasedQueryAnimesReleasedOn>(json['releasedOn']);
if (releasedOn != null) {
animeRecentlyReleasedQueryAnimes.releasedOn = releasedOn;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
animeRecentlyReleasedQueryAnimes.episodes = episodes;
}
final dynamic nextEpisodeAt = json['nextEpisodeAt'];
if (nextEpisodeAt != null) {
animeRecentlyReleasedQueryAnimes.nextEpisodeAt = nextEpisodeAt;
}
final List<
AnimeRecentlyReleasedQueryAnimesGenres>? genres = (json['genres'] as List<
dynamic>?)?.map(
(e) =>
jsonConvert.convert<AnimeRecentlyReleasedQueryAnimesGenres>(
e) as AnimeRecentlyReleasedQueryAnimesGenres).toList();
if (genres != null) {
animeRecentlyReleasedQueryAnimes.genres = genres;
}
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animeRecentlyReleasedQueryAnimes.kind = kind;
}
final bool? isCensored = jsonConvert.convert<bool>(json['isCensored']);
if (isCensored != null) {
animeRecentlyReleasedQueryAnimes.isCensored = isCensored;
}
final double? score = jsonConvert.convert<double>(json['score']);
if (score != null) {
animeRecentlyReleasedQueryAnimes.score = score;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
animeRecentlyReleasedQueryAnimes.season = season;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
animeRecentlyReleasedQueryAnimes.status = status;
}
return animeRecentlyReleasedQueryAnimes;
}
Map<String, dynamic> $AnimeRecentlyReleasedQueryAnimesToJson(
AnimeRecentlyReleasedQueryAnimes entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['malId'] = entity.malId;
data['id'] = entity.id;
data['english'] = entity.english;
data['name'] = entity.name;
data['russian'] = entity.russian;
data['japanese'] = entity.japanese;
data['poster'] = entity.poster.toJson();
data['description'] = entity.description;
data['duration'] = entity.duration;
data['airedOn'] = entity.airedOn.toJson();
data['releasedOn'] = entity.releasedOn.toJson();
data['episodes'] = entity.episodes;
data['nextEpisodeAt'] = entity.nextEpisodeAt;
data['genres'] = entity.genres.map((v) => v.toJson()).toList();
data['kind'] = entity.kind;
data['isCensored'] = entity.isCensored;
data['score'] = entity.score;
data['season'] = entity.season;
data['status'] = entity.status;
return data;
}
extension AnimeRecentlyReleasedQueryAnimesExtension on AnimeRecentlyReleasedQueryAnimes {
AnimeRecentlyReleasedQueryAnimes copyWith({
String? malId,
String? id,
String? english,
String? name,
String? russian,
String? japanese,
AnimeRecentlyReleasedQueryAnimesPoster? poster,
String? description,
int? duration,
AnimeRecentlyReleasedQueryAnimesAiredOn? airedOn,
AnimeRecentlyReleasedQueryAnimesReleasedOn? releasedOn,
int? episodes,
dynamic nextEpisodeAt,
List<AnimeRecentlyReleasedQueryAnimesGenres>? genres,
String? kind,
bool? isCensored,
double? score,
String? season,
String? status,
}) {
return AnimeRecentlyReleasedQueryAnimes()
..malId = malId ?? this.malId
..id = id ?? this.id
..english = english ?? this.english
..name = name ?? this.name
..russian = russian ?? this.russian
..japanese = japanese ?? this.japanese
..poster = poster ?? this.poster
..description = description ?? this.description
..duration = duration ?? this.duration
..airedOn = airedOn ?? this.airedOn
..releasedOn = releasedOn ?? this.releasedOn
..episodes = episodes ?? this.episodes
..nextEpisodeAt = nextEpisodeAt ?? this.nextEpisodeAt
..genres = genres ?? this.genres
..kind = kind ?? this.kind
..isCensored = isCensored ?? this.isCensored
..score = score ?? this.score
..season = season ?? this.season
..status = status ?? this.status;
}
}
AnimeRecentlyReleasedQueryAnimesPoster $AnimeRecentlyReleasedQueryAnimesPosterFromJson(
Map<String, dynamic> json) {
final AnimeRecentlyReleasedQueryAnimesPoster animeRecentlyReleasedQueryAnimesPoster = AnimeRecentlyReleasedQueryAnimesPoster();
final String? originalUrl = jsonConvert.convert<String>(json['originalUrl']);
if (originalUrl != null) {
animeRecentlyReleasedQueryAnimesPoster.originalUrl = originalUrl;
}
final String? mainAlt2xUrl = jsonConvert.convert<String>(
json['mainAlt2xUrl']);
if (mainAlt2xUrl != null) {
animeRecentlyReleasedQueryAnimesPoster.mainAlt2xUrl = mainAlt2xUrl;
}
return animeRecentlyReleasedQueryAnimesPoster;
}
Map<String, dynamic> $AnimeRecentlyReleasedQueryAnimesPosterToJson(
AnimeRecentlyReleasedQueryAnimesPoster entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['originalUrl'] = entity.originalUrl;
data['mainAlt2xUrl'] = entity.mainAlt2xUrl;
return data;
}
extension AnimeRecentlyReleasedQueryAnimesPosterExtension on AnimeRecentlyReleasedQueryAnimesPoster {
AnimeRecentlyReleasedQueryAnimesPoster copyWith({
String? originalUrl,
String? mainAlt2xUrl,
}) {
return AnimeRecentlyReleasedQueryAnimesPoster()
..originalUrl = originalUrl ?? this.originalUrl
..mainAlt2xUrl = mainAlt2xUrl ?? this.mainAlt2xUrl;
}
}
AnimeRecentlyReleasedQueryAnimesAiredOn $AnimeRecentlyReleasedQueryAnimesAiredOnFromJson(
Map<String, dynamic> json) {
final AnimeRecentlyReleasedQueryAnimesAiredOn animeRecentlyReleasedQueryAnimesAiredOn = AnimeRecentlyReleasedQueryAnimesAiredOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeRecentlyReleasedQueryAnimesAiredOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeRecentlyReleasedQueryAnimesAiredOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeRecentlyReleasedQueryAnimesAiredOn.year = year;
}
return animeRecentlyReleasedQueryAnimesAiredOn;
}
Map<String, dynamic> $AnimeRecentlyReleasedQueryAnimesAiredOnToJson(
AnimeRecentlyReleasedQueryAnimesAiredOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimeRecentlyReleasedQueryAnimesAiredOnExtension on AnimeRecentlyReleasedQueryAnimesAiredOn {
AnimeRecentlyReleasedQueryAnimesAiredOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeRecentlyReleasedQueryAnimesAiredOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimeRecentlyReleasedQueryAnimesReleasedOn $AnimeRecentlyReleasedQueryAnimesReleasedOnFromJson(
Map<String, dynamic> json) {
final AnimeRecentlyReleasedQueryAnimesReleasedOn animeRecentlyReleasedQueryAnimesReleasedOn = AnimeRecentlyReleasedQueryAnimesReleasedOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeRecentlyReleasedQueryAnimesReleasedOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeRecentlyReleasedQueryAnimesReleasedOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeRecentlyReleasedQueryAnimesReleasedOn.year = year;
}
return animeRecentlyReleasedQueryAnimesReleasedOn;
}
Map<String, dynamic> $AnimeRecentlyReleasedQueryAnimesReleasedOnToJson(
AnimeRecentlyReleasedQueryAnimesReleasedOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimeRecentlyReleasedQueryAnimesReleasedOnExtension on AnimeRecentlyReleasedQueryAnimesReleasedOn {
AnimeRecentlyReleasedQueryAnimesReleasedOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeRecentlyReleasedQueryAnimesReleasedOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimeRecentlyReleasedQueryAnimesGenres $AnimeRecentlyReleasedQueryAnimesGenresFromJson(
Map<String, dynamic> json) {
final AnimeRecentlyReleasedQueryAnimesGenres animeRecentlyReleasedQueryAnimesGenres = AnimeRecentlyReleasedQueryAnimesGenres();
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animeRecentlyReleasedQueryAnimesGenres.kind = kind;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeRecentlyReleasedQueryAnimesGenres.name = name;
}
return animeRecentlyReleasedQueryAnimesGenres;
}
Map<String, dynamic> $AnimeRecentlyReleasedQueryAnimesGenresToJson(
AnimeRecentlyReleasedQueryAnimesGenres entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['kind'] = entity.kind;
data['name'] = entity.name;
return data;
}
extension AnimeRecentlyReleasedQueryAnimesGenresExtension on AnimeRecentlyReleasedQueryAnimesGenres {
AnimeRecentlyReleasedQueryAnimesGenres copyWith({
String? kind,
String? name,
}) {
return AnimeRecentlyReleasedQueryAnimesGenres()
..kind = kind ?? this.kind
..name = name ?? this.name;
}
}

View File

@@ -0,0 +1,321 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/shikimori/anime_trending_query_entity.dart';
AnimeTrendingQueryEntity $AnimeTrendingQueryEntityFromJson(Map<String, dynamic> json) {
final AnimeTrendingQueryEntity animeTrendingQueryEntity = AnimeTrendingQueryEntity();
final List<AnimeTrendingQueryAnimes>? animes = (json['animes'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<AnimeTrendingQueryAnimes>(e) as AnimeTrendingQueryAnimes).toList();
if (animes != null) {
animeTrendingQueryEntity.animes = animes;
}
return animeTrendingQueryEntity;
}
Map<String, dynamic> $AnimeTrendingQueryEntityToJson(AnimeTrendingQueryEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['animes'] = entity.animes.map((v) => v.toJson()).toList();
return data;
}
extension AnimeTrendingQueryEntityExtension on AnimeTrendingQueryEntity {
AnimeTrendingQueryEntity copyWith({
List<AnimeTrendingQueryAnimes>? animes,
}) {
return AnimeTrendingQueryEntity()
..animes = animes ?? this.animes;
}
}
AnimeTrendingQueryAnimes $AnimeTrendingQueryAnimesFromJson(Map<String, dynamic> json) {
final AnimeTrendingQueryAnimes animeTrendingQueryAnimes = AnimeTrendingQueryAnimes();
final String? malId = jsonConvert.convert<String>(json['malId']);
if (malId != null) {
animeTrendingQueryAnimes.malId = malId;
}
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
animeTrendingQueryAnimes.id = id;
}
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
animeTrendingQueryAnimes.english = english;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeTrendingQueryAnimes.name = name;
}
final String? russian = jsonConvert.convert<String>(json['russian']);
if (russian != null) {
animeTrendingQueryAnimes.russian = russian;
}
final String? japanese = jsonConvert.convert<String>(json['japanese']);
if (japanese != null) {
animeTrendingQueryAnimes.japanese = japanese;
}
final AnimeTrendingQueryAnimesPoster? poster = jsonConvert.convert<AnimeTrendingQueryAnimesPoster>(
json['poster']);
if (poster != null) {
animeTrendingQueryAnimes.poster = poster;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
animeTrendingQueryAnimes.description = description;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
animeTrendingQueryAnimes.duration = duration;
}
final AnimeTrendingQueryAnimesAiredOn? airedOn = jsonConvert.convert<AnimeTrendingQueryAnimesAiredOn>(
json['airedOn']);
if (airedOn != null) {
animeTrendingQueryAnimes.airedOn = airedOn;
}
final AnimeTrendingQueryAnimesReleasedOn? releasedOn = jsonConvert.convert<
AnimeTrendingQueryAnimesReleasedOn>(json['releasedOn']);
if (releasedOn != null) {
animeTrendingQueryAnimes.releasedOn = releasedOn;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
animeTrendingQueryAnimes.episodes = episodes;
}
final String? nextEpisodeAt = jsonConvert.convert<String>(json['nextEpisodeAt']);
if (nextEpisodeAt != null) {
animeTrendingQueryAnimes.nextEpisodeAt = nextEpisodeAt;
}
final List<AnimeTrendingQueryAnimesGenres>? genres = (json['genres'] as List<dynamic>?)
?.map(
(e) => jsonConvert.convert<AnimeTrendingQueryAnimesGenres>(e) as AnimeTrendingQueryAnimesGenres)
.toList();
if (genres != null) {
animeTrendingQueryAnimes.genres = genres;
}
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animeTrendingQueryAnimes.kind = kind;
}
final bool? isCensored = jsonConvert.convert<bool>(json['isCensored']);
if (isCensored != null) {
animeTrendingQueryAnimes.isCensored = isCensored;
}
final double? score = jsonConvert.convert<double>(json['score']);
if (score != null) {
animeTrendingQueryAnimes.score = score;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
animeTrendingQueryAnimes.season = season;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
animeTrendingQueryAnimes.status = status;
}
return animeTrendingQueryAnimes;
}
Map<String, dynamic> $AnimeTrendingQueryAnimesToJson(AnimeTrendingQueryAnimes entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['malId'] = entity.malId;
data['id'] = entity.id;
data['english'] = entity.english;
data['name'] = entity.name;
data['russian'] = entity.russian;
data['japanese'] = entity.japanese;
data['poster'] = entity.poster.toJson();
data['description'] = entity.description;
data['duration'] = entity.duration;
data['airedOn'] = entity.airedOn.toJson();
data['releasedOn'] = entity.releasedOn.toJson();
data['episodes'] = entity.episodes;
data['nextEpisodeAt'] = entity.nextEpisodeAt;
data['genres'] = entity.genres.map((v) => v.toJson()).toList();
data['kind'] = entity.kind;
data['isCensored'] = entity.isCensored;
data['score'] = entity.score;
data['season'] = entity.season;
data['status'] = entity.status;
return data;
}
extension AnimeTrendingQueryAnimesExtension on AnimeTrendingQueryAnimes {
AnimeTrendingQueryAnimes copyWith({
String? malId,
String? id,
String? english,
String? name,
String? russian,
String? japanese,
AnimeTrendingQueryAnimesPoster? poster,
String? description,
int? duration,
AnimeTrendingQueryAnimesAiredOn? airedOn,
AnimeTrendingQueryAnimesReleasedOn? releasedOn,
int? episodes,
String? nextEpisodeAt,
List<AnimeTrendingQueryAnimesGenres>? genres,
String? kind,
bool? isCensored,
double? score,
String? season,
String? status,
}) {
return AnimeTrendingQueryAnimes()
..malId = malId ?? this.malId
..id = id ?? this.id
..english = english ?? this.english
..name = name ?? this.name
..russian = russian ?? this.russian
..japanese = japanese ?? this.japanese
..poster = poster ?? this.poster
..description = description ?? this.description
..duration = duration ?? this.duration
..airedOn = airedOn ?? this.airedOn
..releasedOn = releasedOn ?? this.releasedOn
..episodes = episodes ?? this.episodes
..nextEpisodeAt = nextEpisodeAt ?? this.nextEpisodeAt
..genres = genres ?? this.genres
..kind = kind ?? this.kind
..isCensored = isCensored ?? this.isCensored
..score = score ?? this.score
..season = season ?? this.season
..status = status ?? this.status;
}
}
AnimeTrendingQueryAnimesPoster $AnimeTrendingQueryAnimesPosterFromJson(Map<String, dynamic> json) {
final AnimeTrendingQueryAnimesPoster animeTrendingQueryAnimesPoster = AnimeTrendingQueryAnimesPoster();
final String? originalUrl = jsonConvert.convert<String>(json['originalUrl']);
if (originalUrl != null) {
animeTrendingQueryAnimesPoster.originalUrl = originalUrl;
}
final String? mainAlt2xUrl = jsonConvert.convert<String>(json['mainAlt2xUrl']);
if (mainAlt2xUrl != null) {
animeTrendingQueryAnimesPoster.mainAlt2xUrl = mainAlt2xUrl;
}
return animeTrendingQueryAnimesPoster;
}
Map<String, dynamic> $AnimeTrendingQueryAnimesPosterToJson(AnimeTrendingQueryAnimesPoster entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['originalUrl'] = entity.originalUrl;
data['mainAlt2xUrl'] = entity.mainAlt2xUrl;
return data;
}
extension AnimeTrendingQueryAnimesPosterExtension on AnimeTrendingQueryAnimesPoster {
AnimeTrendingQueryAnimesPoster copyWith({
String? originalUrl,
String? mainAlt2xUrl,
}) {
return AnimeTrendingQueryAnimesPoster()
..originalUrl = originalUrl ?? this.originalUrl
..mainAlt2xUrl = mainAlt2xUrl ?? this.mainAlt2xUrl;
}
}
AnimeTrendingQueryAnimesAiredOn $AnimeTrendingQueryAnimesAiredOnFromJson(Map<String, dynamic> json) {
final AnimeTrendingQueryAnimesAiredOn animeTrendingQueryAnimesAiredOn = AnimeTrendingQueryAnimesAiredOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeTrendingQueryAnimesAiredOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeTrendingQueryAnimesAiredOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeTrendingQueryAnimesAiredOn.year = year;
}
return animeTrendingQueryAnimesAiredOn;
}
Map<String, dynamic> $AnimeTrendingQueryAnimesAiredOnToJson(AnimeTrendingQueryAnimesAiredOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimeTrendingQueryAnimesAiredOnExtension on AnimeTrendingQueryAnimesAiredOn {
AnimeTrendingQueryAnimesAiredOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeTrendingQueryAnimesAiredOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimeTrendingQueryAnimesReleasedOn $AnimeTrendingQueryAnimesReleasedOnFromJson(Map<String, dynamic> json) {
final AnimeTrendingQueryAnimesReleasedOn animeTrendingQueryAnimesReleasedOn = AnimeTrendingQueryAnimesReleasedOn();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeTrendingQueryAnimesReleasedOn.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeTrendingQueryAnimesReleasedOn.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeTrendingQueryAnimesReleasedOn.year = year;
}
return animeTrendingQueryAnimesReleasedOn;
}
Map<String, dynamic> $AnimeTrendingQueryAnimesReleasedOnToJson(AnimeTrendingQueryAnimesReleasedOn entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
data['month'] = entity.month;
data['year'] = entity.year;
return data;
}
extension AnimeTrendingQueryAnimesReleasedOnExtension on AnimeTrendingQueryAnimesReleasedOn {
AnimeTrendingQueryAnimesReleasedOn copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeTrendingQueryAnimesReleasedOn()
..day = day ?? this.day
..month = month ?? this.month
..year = year ?? this.year;
}
}
AnimeTrendingQueryAnimesGenres $AnimeTrendingQueryAnimesGenresFromJson(Map<String, dynamic> json) {
final AnimeTrendingQueryAnimesGenres animeTrendingQueryAnimesGenres = AnimeTrendingQueryAnimesGenres();
final String? kind = jsonConvert.convert<String>(json['kind']);
if (kind != null) {
animeTrendingQueryAnimesGenres.kind = kind;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
animeTrendingQueryAnimesGenres.name = name;
}
return animeTrendingQueryAnimesGenres;
}
Map<String, dynamic> $AnimeTrendingQueryAnimesGenresToJson(AnimeTrendingQueryAnimesGenres entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['kind'] = entity.kind;
data['name'] = entity.name;
return data;
}
extension AnimeTrendingQueryAnimesGenresExtension on AnimeTrendingQueryAnimesGenres {
AnimeTrendingQueryAnimesGenres copyWith({
String? kind,
String? name,
}) {
return AnimeTrendingQueryAnimesGenres()
..kind = kind ?? this.kind
..name = name ?? this.name;
}
}

View File

@@ -7,11 +7,8 @@ AniskipTimesEntity $AniskipTimesEntityFromJson(Map<String, dynamic> json) {
if (found != null) {
aniskipTimesEntity.found = found;
}
final List<AniskipTimesResults>? results = (json['results'] as List<dynamic>?)
?.map(
(e) =>
jsonConvert.convert<AniskipTimesResults>(e) as AniskipTimesResults)
.toList();
final List<AniskipTimesResults>? results = (json['results'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<AniskipTimesResults>(e) as AniskipTimesResults).toList();
if (results != null) {
aniskipTimesEntity.results = results;
}
@@ -52,8 +49,8 @@ extension AniskipTimesEntityExtension on AniskipTimesEntity {
AniskipTimesResults $AniskipTimesResultsFromJson(Map<String, dynamic> json) {
final AniskipTimesResults aniskipTimesResults = AniskipTimesResults();
final AniskipTimesResultsInterval? interval = jsonConvert.convert<
AniskipTimesResultsInterval>(json['interval']);
final AniskipTimesResultsInterval? interval = jsonConvert.convert<AniskipTimesResultsInterval>(
json['interval']);
if (interval != null) {
aniskipTimesResults.interval = interval;
}
@@ -65,8 +62,7 @@ AniskipTimesResults $AniskipTimesResultsFromJson(Map<String, dynamic> json) {
if (skipId != null) {
aniskipTimesResults.skipId = skipId;
}
final double? episodeLength = jsonConvert.convert<double>(
json['episodeLength']);
final double? episodeLength = jsonConvert.convert<double>(json['episodeLength']);
if (episodeLength != null) {
aniskipTimesResults.episodeLength = episodeLength;
}
@@ -97,8 +93,7 @@ extension AniskipTimesResultsExtension on AniskipTimesResults {
}
}
AniskipTimesResultsInterval $AniskipTimesResultsIntervalFromJson(
Map<String, dynamic> json) {
AniskipTimesResultsInterval $AniskipTimesResultsIntervalFromJson(Map<String, dynamic> json) {
final AniskipTimesResultsInterval aniskipTimesResultsInterval = AniskipTimesResultsInterval();
final double? startTime = jsonConvert.convert<double>(json['startTime']);
if (startTime != null) {
@@ -111,8 +106,7 @@ AniskipTimesResultsInterval $AniskipTimesResultsIntervalFromJson(
return aniskipTimesResultsInterval;
}
Map<String, dynamic> $AniskipTimesResultsIntervalToJson(
AniskipTimesResultsInterval entity) {
Map<String, dynamic> $AniskipTimesResultsIntervalToJson(AniskipTimesResultsInterval entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['startTime'] = entity.startTime;
data['endTime'] = entity.endTime;

View File

@@ -1,8 +1,7 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/extensions/aniyomi_repo_json_entity.dart';
AniyomiRepoJsonEntity $AniyomiRepoJsonEntityFromJson(
Map<String, dynamic> json) {
AniyomiRepoJsonEntity $AniyomiRepoJsonEntityFromJson(Map<String, dynamic> json) {
final AniyomiRepoJsonEntity aniyomiRepoJsonEntity = AniyomiRepoJsonEntity();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
@@ -32,20 +31,15 @@ AniyomiRepoJsonEntity $AniyomiRepoJsonEntityFromJson(
if (nsfw != null) {
aniyomiRepoJsonEntity.nsfw = nsfw;
}
final List<AniyomiRepoJsonSources>? sources = (json['sources'] as List<
dynamic>?)
?.map(
(e) =>
jsonConvert.convert<AniyomiRepoJsonSources>(e) as AniyomiRepoJsonSources)
.toList();
final List<AniyomiRepoJsonSources>? sources = (json['sources'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<AniyomiRepoJsonSources>(e) as AniyomiRepoJsonSources).toList();
if (sources != null) {
aniyomiRepoJsonEntity.sources = sources;
}
return aniyomiRepoJsonEntity;
}
Map<String, dynamic> $AniyomiRepoJsonEntityToJson(
AniyomiRepoJsonEntity entity) {
Map<String, dynamic> $AniyomiRepoJsonEntityToJson(AniyomiRepoJsonEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['pkg'] = entity.pkg;
@@ -81,8 +75,7 @@ extension AniyomiRepoJsonEntityExtension on AniyomiRepoJsonEntity {
}
}
AniyomiRepoJsonSources $AniyomiRepoJsonSourcesFromJson(
Map<String, dynamic> json) {
AniyomiRepoJsonSources $AniyomiRepoJsonSourcesFromJson(Map<String, dynamic> json) {
final AniyomiRepoJsonSources aniyomiRepoJsonSources = AniyomiRepoJsonSources();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
@@ -103,8 +96,7 @@ AniyomiRepoJsonSources $AniyomiRepoJsonSourcesFromJson(
return aniyomiRepoJsonSources;
}
Map<String, dynamic> $AniyomiRepoJsonSourcesToJson(
AniyomiRepoJsonSources entity) {
Map<String, dynamic> $AniyomiRepoJsonSourcesToJson(AniyomiRepoJsonSources entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['lang'] = entity.lang;

View File

@@ -1,8 +1,7 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/anizip/anizip_episode_info_entity.dart';
AnizipEpisodeInfoEntity $AnizipEpisodeInfoEntityFromJson(
Map<String, dynamic> json) {
AnizipEpisodeInfoEntity $AnizipEpisodeInfoEntityFromJson(Map<String, dynamic> json) {
final AnizipEpisodeInfoEntity anizipEpisodeInfoEntity = AnizipEpisodeInfoEntity();
final int? tvdbShowId = jsonConvert.convert<int>(json['tvdbShowId']);
if (tvdbShowId != null) {
@@ -20,13 +19,11 @@ AnizipEpisodeInfoEntity $AnizipEpisodeInfoEntityFromJson(
if (episodeNumber != null) {
anizipEpisodeInfoEntity.episodeNumber = episodeNumber;
}
final int? absoluteEpisodeNumber = jsonConvert.convert<int>(
json['absoluteEpisodeNumber']);
final int? absoluteEpisodeNumber = jsonConvert.convert<int>(json['absoluteEpisodeNumber']);
if (absoluteEpisodeNumber != null) {
anizipEpisodeInfoEntity.absoluteEpisodeNumber = absoluteEpisodeNumber;
}
final AnizipEpisodeInfoTitle? title = jsonConvert.convert<
AnizipEpisodeInfoTitle>(json['title']);
final AnizipEpisodeInfoTitle? title = jsonConvert.convert<AnizipEpisodeInfoTitle>(json['title']);
if (title != null) {
anizipEpisodeInfoEntity.title = title;
}
@@ -77,8 +74,7 @@ AnizipEpisodeInfoEntity $AnizipEpisodeInfoEntityFromJson(
return anizipEpisodeInfoEntity;
}
Map<String, dynamic> $AnizipEpisodeInfoEntityToJson(
AnizipEpisodeInfoEntity entity) {
Map<String, dynamic> $AnizipEpisodeInfoEntityToJson(AnizipEpisodeInfoEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['tvdbShowId'] = entity.tvdbShowId;
data['tvdbId'] = entity.tvdbId;
@@ -125,8 +121,7 @@ extension AnizipEpisodeInfoEntityExtension on AnizipEpisodeInfoEntity {
..tvdbId = tvdbId ?? this.tvdbId
..seasonNumber = seasonNumber ?? this.seasonNumber
..episodeNumber = episodeNumber ?? this.episodeNumber
..absoluteEpisodeNumber = absoluteEpisodeNumber ??
this.absoluteEpisodeNumber
..absoluteEpisodeNumber = absoluteEpisodeNumber ?? this.absoluteEpisodeNumber
..title = title ?? this.title
..airDate = airDate ?? this.airDate
..airDateUtc = airDateUtc ?? this.airDateUtc
@@ -142,8 +137,7 @@ extension AnizipEpisodeInfoEntityExtension on AnizipEpisodeInfoEntity {
}
}
AnizipEpisodeInfoTitle $AnizipEpisodeInfoTitleFromJson(
Map<String, dynamic> json) {
AnizipEpisodeInfoTitle $AnizipEpisodeInfoTitleFromJson(Map<String, dynamic> json) {
final AnizipEpisodeInfoTitle anizipEpisodeInfoTitle = AnizipEpisodeInfoTitle();
final String? ja = jsonConvert.convert<String>(json['ja']);
if (ja != null) {
@@ -164,8 +158,7 @@ AnizipEpisodeInfoTitle $AnizipEpisodeInfoTitleFromJson(
return anizipEpisodeInfoTitle;
}
Map<String, dynamic> $AnizipEpisodeInfoTitleToJson(
AnizipEpisodeInfoTitle entity) {
Map<String, dynamic> $AnizipEpisodeInfoTitleToJson(AnizipEpisodeInfoTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['ja'] = entity.ja;
data['en'] = entity.en;

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,8 @@ import 'package:unyo/core/services/api/dto/anilist/media_advanced_search_query_g
MediaAdvancedSearchQueryGraphqlEntity $MediaAdvancedSearchQueryGraphqlEntityFromJson(
Map<String, dynamic> json) {
final MediaAdvancedSearchQueryGraphqlEntity mediaAdvancedSearchQueryGraphqlEntity = MediaAdvancedSearchQueryGraphqlEntity();
final MediaAdvancedSearchQueryGraphqlPage? page = jsonConvert.convert<
MediaAdvancedSearchQueryGraphqlPage>(json['Page']);
final MediaAdvancedSearchQueryGraphqlPage? page = jsonConvert.convert<MediaAdvancedSearchQueryGraphqlPage>(
json['Page']);
if (page != null) {
mediaAdvancedSearchQueryGraphqlEntity.page = page;
}
@@ -28,12 +28,9 @@ extension MediaAdvancedSearchQueryGraphqlEntityExtension on MediaAdvancedSearchQ
}
}
MediaAdvancedSearchQueryGraphqlPage $MediaAdvancedSearchQueryGraphqlPageFromJson(
Map<String, dynamic> json) {
MediaAdvancedSearchQueryGraphqlPage $MediaAdvancedSearchQueryGraphqlPageFromJson(Map<String, dynamic> json) {
final MediaAdvancedSearchQueryGraphqlPage mediaAdvancedSearchQueryGraphqlPage = MediaAdvancedSearchQueryGraphqlPage();
final List<
MediaAdvancedSearchQueryGraphqlPageMedia>? media = (json['media'] as List<
dynamic>?)?.map(
final List<MediaAdvancedSearchQueryGraphqlPageMedia>? media = (json['media'] as List<dynamic>?)?.map(
(e) =>
jsonConvert.convert<MediaAdvancedSearchQueryGraphqlPageMedia>(
e) as MediaAdvancedSearchQueryGraphqlPageMedia).toList();
@@ -43,8 +40,7 @@ MediaAdvancedSearchQueryGraphqlPage $MediaAdvancedSearchQueryGraphqlPageFromJson
return mediaAdvancedSearchQueryGraphqlPage;
}
Map<String, dynamic> $MediaAdvancedSearchQueryGraphqlPageToJson(
MediaAdvancedSearchQueryGraphqlPage entity) {
Map<String, dynamic> $MediaAdvancedSearchQueryGraphqlPageToJson(MediaAdvancedSearchQueryGraphqlPage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['media'] = entity.media.map((v) => v.toJson()).toList();
return data;
@@ -70,8 +66,8 @@ MediaAdvancedSearchQueryGraphqlPageMedia $MediaAdvancedSearchQueryGraphqlPageMed
if (idMal != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.idMal = idMal;
}
final MediaAdvancedSearchQueryGraphqlPageMediaTitle? title = jsonConvert
.convert<MediaAdvancedSearchQueryGraphqlPageMediaTitle>(json['title']);
final MediaAdvancedSearchQueryGraphqlPageMediaTitle? title = jsonConvert.convert<
MediaAdvancedSearchQueryGraphqlPageMediaTitle>(json['title']);
if (title != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.title = title;
}
@@ -87,14 +83,12 @@ MediaAdvancedSearchQueryGraphqlPageMedia $MediaAdvancedSearchQueryGraphqlPageMed
if (chapters != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.chapters = chapters;
}
final String? countryOfOrigin = jsonConvert.convert<String>(
json['countryOfOrigin']);
final String? countryOfOrigin = jsonConvert.convert<String>(json['countryOfOrigin']);
if (countryOfOrigin != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.countryOfOrigin = countryOfOrigin;
}
final MediaAdvancedSearchQueryGraphqlPageMediaCoverImage? coverImage = jsonConvert
.convert<MediaAdvancedSearchQueryGraphqlPageMediaCoverImage>(
json['coverImage']);
final MediaAdvancedSearchQueryGraphqlPageMediaCoverImage? coverImage = jsonConvert.convert<
MediaAdvancedSearchQueryGraphqlPageMediaCoverImage>(json['coverImage']);
if (coverImage != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.coverImage = coverImage;
}
@@ -106,15 +100,13 @@ MediaAdvancedSearchQueryGraphqlPageMedia $MediaAdvancedSearchQueryGraphqlPageMed
if (duration != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.duration = duration;
}
final MediaAdvancedSearchQueryGraphqlPageMediaEndDate? endDate = jsonConvert
.convert<MediaAdvancedSearchQueryGraphqlPageMediaEndDate>(
json['endDate']);
final MediaAdvancedSearchQueryGraphqlPageMediaEndDate? endDate = jsonConvert.convert<
MediaAdvancedSearchQueryGraphqlPageMediaEndDate>(json['endDate']);
if (endDate != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.endDate = endDate;
}
final MediaAdvancedSearchQueryGraphqlPageMediaStartDate? startDate = jsonConvert
.convert<MediaAdvancedSearchQueryGraphqlPageMediaStartDate>(
json['startDate']);
final MediaAdvancedSearchQueryGraphqlPageMediaStartDate? startDate = jsonConvert.convert<
MediaAdvancedSearchQueryGraphqlPageMediaStartDate>(json['startDate']);
if (startDate != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.startDate = startDate;
}
@@ -151,12 +143,10 @@ MediaAdvancedSearchQueryGraphqlPageMedia $MediaAdvancedSearchQueryGraphqlPageMed
if (isFavourite != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.isFavourite = isFavourite;
}
final MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode? nextAiringEpisode = jsonConvert
.convert<MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode>(
json['nextAiringEpisode']);
final MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode? nextAiringEpisode = jsonConvert.convert<
MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode>(json['nextAiringEpisode']);
if (nextAiringEpisode != null) {
mediaAdvancedSearchQueryGraphqlPageMedia.nextAiringEpisode =
nextAiringEpisode;
mediaAdvancedSearchQueryGraphqlPageMedia.nextAiringEpisode = nextAiringEpisode;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
@@ -259,8 +249,7 @@ MediaAdvancedSearchQueryGraphqlPageMediaTitle $MediaAdvancedSearchQueryGraphqlPa
if (romaji != null) {
mediaAdvancedSearchQueryGraphqlPageMediaTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaAdvancedSearchQueryGraphqlPageMediaTitle.userPreferred = userPreferred;
}
@@ -407,14 +396,12 @@ MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode $MediaAdvancedSearchQu
}
final int? airingAt = jsonConvert.convert<int>(json['airingAt']);
if (airingAt != null) {
mediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode.airingAt =
airingAt;
mediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode.airingAt = airingAt;
}
return mediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode;
}
Map<String,
dynamic> $MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisodeToJson(
Map<String, dynamic> $MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisodeToJson(
MediaAdvancedSearchQueryGraphqlPageMediaNextAiringEpisode entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['episode'] = entity.episode;

View File

@@ -1,19 +1,17 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/anilist/media_collection_graphql_entity.dart';
MediaCollectionGraphqlEntity $MediaCollectionGraphqlEntityFromJson(
Map<String, dynamic> json) {
MediaCollectionGraphqlEntity $MediaCollectionGraphqlEntityFromJson(Map<String, dynamic> json) {
final MediaCollectionGraphqlEntity mediaCollectionGraphqlEntity = MediaCollectionGraphqlEntity();
final MediaCollectionGraphqlDtoData? data = jsonConvert.convert<
MediaCollectionGraphqlDtoData>(json['data']);
final MediaCollectionGraphqlDtoData? data = jsonConvert.convert<MediaCollectionGraphqlDtoData>(
json['data']);
if (data != null) {
mediaCollectionGraphqlEntity.data = data;
}
return mediaCollectionGraphqlEntity;
}
Map<String, dynamic> $MediaCollectionGraphqlEntityToJson(
MediaCollectionGraphqlEntity entity) {
Map<String, dynamic> $MediaCollectionGraphqlEntityToJson(MediaCollectionGraphqlEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['data'] = entity.data.toJson();
return data;
@@ -28,20 +26,17 @@ extension MediaCollectionGraphqlEntityExtension on MediaCollectionGraphqlEntity
}
}
MediaCollectionGraphqlDtoData $MediaCollectionGraphqlDtoDataFromJson(
Map<String, dynamic> json) {
MediaCollectionGraphqlDtoData $MediaCollectionGraphqlDtoDataFromJson(Map<String, dynamic> json) {
final MediaCollectionGraphqlDtoData mediaCollectionGraphqlDtoData = MediaCollectionGraphqlDtoData();
final MediaCollectionGraphqlDtoDataMediaListCollection? mediaListCollection = jsonConvert
.convert<MediaCollectionGraphqlDtoDataMediaListCollection>(
json['MediaListCollection']);
final MediaCollectionGraphqlDtoDataMediaListCollection? mediaListCollection = jsonConvert.convert<
MediaCollectionGraphqlDtoDataMediaListCollection>(json['MediaListCollection']);
if (mediaListCollection != null) {
mediaCollectionGraphqlDtoData.mediaListCollection = mediaListCollection;
}
return mediaCollectionGraphqlDtoData;
}
Map<String, dynamic> $MediaCollectionGraphqlDtoDataToJson(
MediaCollectionGraphqlDtoData entity) {
Map<String, dynamic> $MediaCollectionGraphqlDtoDataToJson(MediaCollectionGraphqlDtoData entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['MediaListCollection'] = entity.mediaListCollection.toJson();
return data;
@@ -59,20 +54,18 @@ extension MediaCollectionGraphqlDtoDataExtension on MediaCollectionGraphqlDtoDat
MediaCollectionGraphqlDtoDataMediaListCollection $MediaCollectionGraphqlDtoDataMediaListCollectionFromJson(
Map<String, dynamic> json) {
final MediaCollectionGraphqlDtoDataMediaListCollection mediaCollectionGraphqlDtoDataMediaListCollection = MediaCollectionGraphqlDtoDataMediaListCollection();
final List<
MediaCollectionGraphqlDtoDataMediaListCollectionLists>? lists = (json['lists'] as List<
dynamic>?)?.map(
final List<MediaCollectionGraphqlDtoDataMediaListCollectionLists>? lists = (json['lists'] as List<dynamic>?)
?.map(
(e) =>
jsonConvert.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionLists>(
e) as MediaCollectionGraphqlDtoDataMediaListCollectionLists).toList();
jsonConvert.convert<MediaCollectionGraphqlDtoDataMediaListCollectionLists>(
e) as MediaCollectionGraphqlDtoDataMediaListCollectionLists)
.toList();
if (lists != null) {
mediaCollectionGraphqlDtoDataMediaListCollection.lists = lists;
}
final bool? hasNextChunk = jsonConvert.convert<bool>(json['hasNextChunk']);
if (hasNextChunk != null) {
mediaCollectionGraphqlDtoDataMediaListCollection.hasNextChunk =
hasNextChunk;
mediaCollectionGraphqlDtoDataMediaListCollection.hasNextChunk = hasNextChunk;
}
return mediaCollectionGraphqlDtoDataMediaListCollection;
}
@@ -101,13 +94,10 @@ MediaCollectionGraphqlDtoDataMediaListCollectionLists $MediaCollectionGraphqlDto
final MediaCollectionGraphqlDtoDataMediaListCollectionLists mediaCollectionGraphqlDtoDataMediaListCollectionLists = MediaCollectionGraphqlDtoDataMediaListCollectionLists();
final List<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries>? entries = (json['entries'] as List<
dynamic>?)
?.map(
dynamic>?)?.map(
(e) =>
jsonConvert.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries>(
e) as MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries)
.toList();
jsonConvert.convert<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries>(
e) as MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries).toList();
if (entries != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionLists.entries = entries;
}
@@ -117,14 +107,12 @@ MediaCollectionGraphqlDtoDataMediaListCollectionLists $MediaCollectionGraphqlDto
}
final bool? isCustomList = jsonConvert.convert<bool>(json['isCustomList']);
if (isCustomList != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionLists.isCustomList =
isCustomList;
mediaCollectionGraphqlDtoDataMediaListCollectionLists.isCustomList = isCustomList;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionLists;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionLists entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['entries'] = entity.entries.map((v) => v.toJson()).toList();
@@ -149,18 +137,15 @@ extension MediaCollectionGraphqlDtoDataMediaListCollectionListsExtension on Medi
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesFromJson(
Map<String, dynamic> json) {
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries mediaCollectionGraphqlDtoDataMediaListCollectionListsEntries = MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries();
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia? media = jsonConvert
.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia>(
json['media']);
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia? media = jsonConvert.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia>(json['media']);
if (media != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntries.media = media;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionListsEntries;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['media'] = entity.media.toJson();
@@ -185,128 +170,98 @@ MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia $MediaCollecti
}
final int? idMal = jsonConvert.convert<int>(json['idMal']);
if (idMal != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.idMal =
idMal;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.idMal = idMal;
}
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle? title = jsonConvert
.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle>(
json['title']);
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle? title = jsonConvert.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle>(json['title']);
if (title != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.title =
title;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.title = title;
}
final int? averageScore = jsonConvert.convert<int>(json['averageScore']);
if (averageScore != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.averageScore = averageScore;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.averageScore = averageScore;
}
final String? bannerImage = jsonConvert.convert<String>(json['bannerImage']);
if (bannerImage != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.bannerImage = bannerImage;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.bannerImage = bannerImage;
}
final int? chapters = jsonConvert.convert<int>(json['chapters']);
if (chapters != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.chapters =
chapters;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.chapters = chapters;
}
final String? countryOfOrigin = jsonConvert.convert<String>(
json['countryOfOrigin']);
final String? countryOfOrigin = jsonConvert.convert<String>(json['countryOfOrigin']);
if (countryOfOrigin != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.countryOfOrigin = countryOfOrigin;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.countryOfOrigin = countryOfOrigin;
}
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage? coverImage = jsonConvert
.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage>(
.convert<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage>(
json['coverImage']);
if (coverImage != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.coverImage = coverImage;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.coverImage = coverImage;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.description = description;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.description = description;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.duration =
duration;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.duration = duration;
}
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate? endDate = jsonConvert
.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate>(
json['endDate']);
.convert<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate>(json['endDate']);
if (endDate != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.endDate =
endDate;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.endDate = endDate;
}
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate? startDate = jsonConvert
.convert<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate>(
json['startDate']);
.convert<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate>(json['startDate']);
if (startDate != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.startDate = startDate;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.startDate = startDate;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.episodes =
episodes;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.episodes = episodes;
}
final List<String>? genres = (json['genres'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<String>(e) as String).toList();
if (genres != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.genres =
genres;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.genres = genres;
}
final String? format = jsonConvert.convert<String>(json['format']);
if (format != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.format =
format;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.format = format;
}
final bool? isAdult = jsonConvert.convert<bool>(json['isAdult']);
if (isAdult != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.isAdult =
isAdult;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.isAdult = isAdult;
}
final int? popularity = jsonConvert.convert<int>(json['popularity']);
if (popularity != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.popularity = popularity;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.popularity = popularity;
}
final int? meanScore = jsonConvert.convert<int>(json['meanScore']);
if (meanScore != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.meanScore = meanScore;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.meanScore = meanScore;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.season =
season;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.season = season;
}
final bool? isFavourite = jsonConvert.convert<bool>(json['isFavourite']);
if (isFavourite != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.isFavourite = isFavourite;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.isFavourite = isFavourite;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.status =
status;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.status = status;
}
final dynamic nextAiringEpisode = json['nextAiringEpisode'];
if (nextAiringEpisode != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.nextAiringEpisode = nextAiringEpisode;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.nextAiringEpisode = nextAiringEpisode;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
@@ -390,30 +345,24 @@ MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle $MediaCol
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle = MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle();
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle
.english = english;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle.english = english;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle
.userPreferred = userPreferred;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle.userPreferred = userPreferred;
}
final String? romaji = jsonConvert.convert<String>(json['romaji']);
if (romaji != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle
.romaji = romaji;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle.romaji = romaji;
}
final String? native = jsonConvert.convert<String>(json['native']);
if (native != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle
.native = native;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle.native = native;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitleToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitleToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['english'] = entity.english;
@@ -424,13 +373,12 @@ Map<String,
}
extension MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitleExtension on MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle copyWith(
{
String? english,
String? userPreferred,
String? romaji,
String? native,
}) {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle copyWith({
String? english,
String? userPreferred,
String? romaji,
String? native,
}) {
return MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle()
..english = english ?? this.english
..userPreferred = userPreferred ?? this.userPreferred
@@ -444,14 +392,12 @@ MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage $Med
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage = MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage();
final String? large = jsonConvert.convert<String>(json['large']);
if (large != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage
.large = large;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage.large = large;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImageToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImageToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -459,10 +405,9 @@ Map<String,
}
extension MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImageExtension on MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage copyWith(
{
String? large,
}) {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage copyWith({
String? large,
}) {
return MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage()
..large = large ?? this.large;
}
@@ -473,24 +418,20 @@ MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate $MediaC
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate = MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate
.day = day;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate
.month = month;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate
.year = year;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate.year = year;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDateToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDateToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -500,12 +441,11 @@ Map<String,
}
extension MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDateExtension on MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate copyWith(
{
int? day,
int? month,
int? year,
}) {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate copyWith({
int? day,
int? month,
int? year,
}) {
return MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -518,24 +458,20 @@ MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate $Medi
final MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate = MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate
.day = day;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate
.month = month;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate
.year = year;
mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate.year = year;
}
return mediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate;
}
Map<String,
dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDateToJson(
Map<String, dynamic> $MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDateToJson(
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -545,12 +481,11 @@ Map<String,
}
extension MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDateExtension on MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate copyWith(
{
int? day,
int? month,
int? year,
}) {
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate copyWith({
int? day,
int? month,
int? year,
}) {
return MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate()
..day = day ?? this.day
..month = month ?? this.month

View File

@@ -4,8 +4,8 @@ import 'package:unyo/core/services/api/dto/anilist/media_collection_recently_com
MediaCollectionRecentlyCompletedGraphqlEntity $MediaCollectionRecentlyCompletedGraphqlEntityFromJson(
Map<String, dynamic> json) {
final MediaCollectionRecentlyCompletedGraphqlEntity mediaCollectionRecentlyCompletedGraphqlEntity = MediaCollectionRecentlyCompletedGraphqlEntity();
final MediaCollectionRecentlyCompletedGraphqlDtoPage? page = jsonConvert
.convert<MediaCollectionRecentlyCompletedGraphqlDtoPage>(json['Page']);
final MediaCollectionRecentlyCompletedGraphqlDtoPage? page = jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPage>(json['Page']);
if (page != null) {
mediaCollectionRecentlyCompletedGraphqlEntity.page = page;
}
@@ -31,13 +31,12 @@ extension MediaCollectionRecentlyCompletedGraphqlEntityExtension on MediaCollect
MediaCollectionRecentlyCompletedGraphqlDtoPage $MediaCollectionRecentlyCompletedGraphqlDtoPageFromJson(
Map<String, dynamic> json) {
final MediaCollectionRecentlyCompletedGraphqlDtoPage mediaCollectionRecentlyCompletedGraphqlDtoPage = MediaCollectionRecentlyCompletedGraphqlDtoPage();
final List<
MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>? media = (json['media'] as List<
dynamic>?)?.map(
final List<MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>? media = (json['media'] as List<dynamic>?)
?.map(
(e) =>
jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>(
e) as MediaCollectionRecentlyCompletedGraphqlDtoPageMedia).toList();
jsonConvert.convert<MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>(
e) as MediaCollectionRecentlyCompletedGraphqlDtoPageMedia)
.toList();
if (media != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPage.media = media;
}
@@ -65,8 +64,7 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMedia $MediaCollectionRecentlyComp
final MediaCollectionRecentlyCompletedGraphqlDtoPageMedia mediaCollectionRecentlyCompletedGraphqlDtoPageMedia = MediaCollectionRecentlyCompletedGraphqlDtoPageMedia();
final dynamic nextAiringEpisode = json['nextAiringEpisode'];
if (nextAiringEpisode != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.nextAiringEpisode =
nextAiringEpisode;
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.nextAiringEpisode = nextAiringEpisode;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
@@ -74,8 +72,7 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMedia $MediaCollectionRecentlyComp
}
final bool? isFavourite = jsonConvert.convert<bool>(json['isFavourite']);
if (isFavourite != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.isFavourite =
isFavourite;
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.isFavourite = isFavourite;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
@@ -114,15 +111,13 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMedia $MediaCollectionRecentlyComp
if (episodes != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.episodes = episodes;
}
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate? endDate = jsonConvert
.convert<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate>(
json['endDate']);
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate? endDate = jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate>(json['endDate']);
if (endDate != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.endDate = endDate;
}
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate? startDate = jsonConvert
.convert<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate>(
json['startDate']);
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate? startDate = jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate>(json['startDate']);
if (startDate != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.startDate = startDate;
}
@@ -132,20 +127,16 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMedia $MediaCollectionRecentlyComp
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.description =
description;
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.description = description;
}
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage? coverImage = jsonConvert
.convert<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage>(
json['coverImage']);
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage? coverImage = jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage>(json['coverImage']);
if (coverImage != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.coverImage = coverImage;
}
final String? countryOfOrigin = jsonConvert.convert<String>(
json['countryOfOrigin']);
final String? countryOfOrigin = jsonConvert.convert<String>(json['countryOfOrigin']);
if (countryOfOrigin != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.countryOfOrigin =
countryOfOrigin;
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.countryOfOrigin = countryOfOrigin;
}
final int? chapters = jsonConvert.convert<int>(json['chapters']);
if (chapters != null) {
@@ -153,17 +144,14 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMedia $MediaCollectionRecentlyComp
}
final String? bannerImage = jsonConvert.convert<String>(json['bannerImage']);
if (bannerImage != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.bannerImage =
bannerImage;
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.bannerImage = bannerImage;
}
final int? averageScore = jsonConvert.convert<int>(json['averageScore']);
if (averageScore != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.averageScore =
averageScore;
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.averageScore = averageScore;
}
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle? title = jsonConvert
.convert<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle>(
json['title']);
final MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle? title = jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle>(json['title']);
if (title != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMedia.title = title;
}
@@ -267,8 +255,7 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate $MediaCollectionRecen
return mediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate;
}
Map<String,
dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDateToJson(
Map<String, dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDateToJson(
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -308,8 +295,7 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate $MediaCollectionRec
return mediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate;
}
Map<String,
dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDateToJson(
Map<String, dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDateToJson(
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -341,8 +327,7 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage $MediaCollectionRe
return mediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage;
}
Map<String,
dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImageToJson(
Map<String, dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImageToJson(
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -373,17 +358,14 @@ MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle $MediaCollectionRecentl
if (romaji != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle.userPreferred =
userPreferred;
mediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle.userPreferred = userPreferred;
}
return mediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle;
}
Map<String,
dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitleToJson(
Map<String, dynamic> $MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitleToJson(
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['english'] = entity.english;

View File

@@ -4,8 +4,8 @@ import 'package:unyo/core/services/api/dto/anilist/media_collection_recently_rel
MediaCollectionRecentlyReleasedGraphqlEntity $MediaCollectionRecentlyReleasedGraphqlEntityFromJson(
Map<String, dynamic> json) {
final MediaCollectionRecentlyReleasedGraphqlEntity mediaCollectionRecentlyReleasedGraphqlEntity = MediaCollectionRecentlyReleasedGraphqlEntity();
final MediaCollectionRecentlyReleasedGraphqlDtoPage? page = jsonConvert
.convert<MediaCollectionRecentlyReleasedGraphqlDtoPage>(json['Page']);
final MediaCollectionRecentlyReleasedGraphqlDtoPage? page = jsonConvert.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPage>(json['Page']);
if (page != null) {
mediaCollectionRecentlyReleasedGraphqlEntity.page = page;
}
@@ -33,16 +33,12 @@ MediaCollectionRecentlyReleasedGraphqlDtoPage $MediaCollectionRecentlyReleasedGr
final MediaCollectionRecentlyReleasedGraphqlDtoPage mediaCollectionRecentlyReleasedGraphqlDtoPage = MediaCollectionRecentlyReleasedGraphqlDtoPage();
final List<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>? airingSchedules = (json['airingSchedules'] as List<
dynamic>?)
?.map(
dynamic>?)?.map(
(e) =>
jsonConvert.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>(
e) as MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules)
.toList();
jsonConvert.convert<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>(
e) as MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules).toList();
if (airingSchedules != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPage.airingSchedules =
airingSchedules;
mediaCollectionRecentlyReleasedGraphqlDtoPage.airingSchedules = airingSchedules;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPage;
}
@@ -50,15 +46,13 @@ MediaCollectionRecentlyReleasedGraphqlDtoPage $MediaCollectionRecentlyReleasedGr
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['airingSchedules'] =
entity.airingSchedules.map((v) => v.toJson()).toList();
data['airingSchedules'] = entity.airingSchedules.map((v) => v.toJson()).toList();
return data;
}
extension MediaCollectionRecentlyReleasedGraphqlDtoPageExtension on MediaCollectionRecentlyReleasedGraphqlDtoPage {
MediaCollectionRecentlyReleasedGraphqlDtoPage copyWith({
List<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>? airingSchedules,
List<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>? airingSchedules,
}) {
return MediaCollectionRecentlyReleasedGraphqlDtoPage()
..airingSchedules = airingSchedules ?? this.airingSchedules;
@@ -68,18 +62,15 @@ extension MediaCollectionRecentlyReleasedGraphqlDtoPageExtension on MediaCollect
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesFromJson(
Map<String, dynamic> json) {
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules();
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia? media = jsonConvert
.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia>(
json['media']);
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia? media = jsonConvert.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia>(json['media']);
if (media != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules.media = media;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules;
}
Map<String,
dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesToJson(
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['media'] = entity.media.toJson();
@@ -99,27 +90,22 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia $MediaCollecti
Map<String, dynamic> json) {
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia();
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode? nextAiringEpisode = jsonConvert
.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode>(
.convert<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode>(
json['nextAiringEpisode']);
if (nextAiringEpisode != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.nextAiringEpisode = nextAiringEpisode;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.nextAiringEpisode = nextAiringEpisode;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.status =
status;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.status = status;
}
final bool? isFavourite = jsonConvert.convert<bool>(json['isFavourite']);
if (isFavourite != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.isFavourite = isFavourite;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.isFavourite = isFavourite;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.season =
season;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.season = season;
}
final int? id = jsonConvert.convert<int>(json['id']);
if (id != null) {
@@ -127,108 +113,82 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia $MediaCollecti
}
final int? idMal = jsonConvert.convert<int>(json['idMal']);
if (idMal != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.idMal =
idMal;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.idMal = idMal;
}
final bool? isAdult = jsonConvert.convert<bool>(json['isAdult']);
if (isAdult != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.isAdult =
isAdult;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.isAdult = isAdult;
}
final int? meanScore = jsonConvert.convert<int>(json['meanScore']);
if (meanScore != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.meanScore = meanScore;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.meanScore = meanScore;
}
final int? popularity = jsonConvert.convert<int>(json['popularity']);
if (popularity != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.popularity = popularity;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.popularity = popularity;
}
final List<String>? genres = (json['genres'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<String>(e) as String).toList();
if (genres != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.genres =
genres;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.genres = genres;
}
final String? format = jsonConvert.convert<String>(json['format']);
if (format != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.format =
format;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.format = format;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.episodes =
episodes;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.episodes = episodes;
}
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate? endDate = jsonConvert
.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate>(
json['endDate']);
.convert<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate>(json['endDate']);
if (endDate != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.endDate =
endDate;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.endDate = endDate;
}
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate? startDate = jsonConvert
.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate>(
json['startDate']);
.convert<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate>(json['startDate']);
if (startDate != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.startDate = startDate;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.startDate = startDate;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.duration =
duration;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.duration = duration;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.description = description;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.description = description;
}
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage? coverImage = jsonConvert
.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage>(
.convert<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage>(
json['coverImage']);
if (coverImage != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.coverImage = coverImage;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.coverImage = coverImage;
}
final String? countryOfOrigin = jsonConvert.convert<String>(
json['countryOfOrigin']);
final String? countryOfOrigin = jsonConvert.convert<String>(json['countryOfOrigin']);
if (countryOfOrigin != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.countryOfOrigin = countryOfOrigin;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.countryOfOrigin = countryOfOrigin;
}
final int? chapters = jsonConvert.convert<int>(json['chapters']);
if (chapters != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.chapters =
chapters;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.chapters = chapters;
}
final String? bannerImage = jsonConvert.convert<String>(json['bannerImage']);
if (bannerImage != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.bannerImage = bannerImage;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.bannerImage = bannerImage;
}
final int? averageScore = jsonConvert.convert<int>(json['averageScore']);
if (averageScore != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.averageScore = averageScore;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.averageScore = averageScore;
}
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle? title = jsonConvert
.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle>(
json['title']);
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle? title = jsonConvert.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle>(json['title']);
if (title != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.title =
title;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.title = title;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia;
}
Map<String,
dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaToJson(
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['nextAiringEpisode'] = entity.nextAiringEpisode.toJson();
@@ -312,13 +272,11 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpiso
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode();
final int? episode = jsonConvert.convert<int>(json['episode']);
if (episode != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode
.episode = episode;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode.episode = episode;
}
final int? airingAt = jsonConvert.convert<int>(json['airingAt']);
if (airingAt != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode
.airingAt = airingAt;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode.airingAt = airingAt;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode;
}
@@ -333,11 +291,10 @@ Map<String,
}
extension MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisodeExtension on MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode copyWith(
{
int? episode,
int? airingAt,
}) {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode copyWith({
int? episode,
int? airingAt,
}) {
return MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode()
..episode = episode ?? this.episode
..airingAt = airingAt ?? this.airingAt;
@@ -349,24 +306,20 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate $MediaC
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate
.day = day;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate
.month = month;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate
.year = year;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate.year = year;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate;
}
Map<String,
dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDateToJson(
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDateToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -376,12 +329,11 @@ Map<String,
}
extension MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDateExtension on MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate copyWith(
{
int? day,
int? month,
int? year,
}) {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate copyWith({
int? day,
int? month,
int? year,
}) {
return MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -394,24 +346,20 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate $Medi
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate
.day = day;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate
.month = month;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate
.year = year;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate.year = year;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate;
}
Map<String,
dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDateToJson(
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDateToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -421,12 +369,11 @@ Map<String,
}
extension MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDateExtension on MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate copyWith(
{
int? day,
int? month,
int? year,
}) {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate copyWith({
int? day,
int? month,
int? year,
}) {
return MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -439,14 +386,12 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage $Med
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage();
final String? large = jsonConvert.convert<String>(json['large']);
if (large != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage
.large = large;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage.large = large;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage;
}
Map<String,
dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImageToJson(
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImageToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -454,10 +399,9 @@ Map<String,
}
extension MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImageExtension on MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage copyWith(
{
String? large,
}) {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage copyWith({
String? large,
}) {
return MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage()
..large = large ?? this.large;
}
@@ -468,30 +412,24 @@ MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle $MediaCol
final MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle = MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle();
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle
.english = english;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle.english = english;
}
final String? native = jsonConvert.convert<String>(json['native']);
if (native != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle
.native = native;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle.native = native;
}
final String? romaji = jsonConvert.convert<String>(json['romaji']);
if (romaji != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle
.romaji = romaji;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle
.userPreferred = userPreferred;
mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle.userPreferred = userPreferred;
}
return mediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle;
}
Map<String,
dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitleToJson(
Map<String, dynamic> $MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitleToJson(
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['english'] = entity.english;
@@ -502,13 +440,12 @@ Map<String,
}
extension MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitleExtension on MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle copyWith(
{
String? english,
String? native,
String? romaji,
String? userPreferred,
}) {
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle copyWith({
String? english,
String? native,
String? romaji,
String? userPreferred,
}) {
return MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle()
..english = english ?? this.english
..native = native ?? this.native

View File

@@ -4,8 +4,8 @@ import 'package:unyo/core/services/api/dto/anilist/media_collection_trendingOrPo
MediaCollectionTrendingOrPopularGraphqlEntity $MediaCollectionTrendingOrPopularGraphqlEntityFromJson(
Map<String, dynamic> json) {
final MediaCollectionTrendingOrPopularGraphqlEntity mediaCollectionTrendingOrPopularGraphqlEntity = MediaCollectionTrendingOrPopularGraphqlEntity();
final MediaCollectionTrendingOrPopularGraphqlDtoPage? page = jsonConvert
.convert<MediaCollectionTrendingOrPopularGraphqlDtoPage>(json['Page']);
final MediaCollectionTrendingOrPopularGraphqlDtoPage? page = jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPage>(json['Page']);
if (page != null) {
mediaCollectionTrendingOrPopularGraphqlEntity.page = page;
}
@@ -31,13 +31,12 @@ extension MediaCollectionTrendingOrPopularGraphqlEntityExtension on MediaCollect
MediaCollectionTrendingOrPopularGraphqlDtoPage $MediaCollectionTrendingOrPopularGraphqlDtoPageFromJson(
Map<String, dynamic> json) {
final MediaCollectionTrendingOrPopularGraphqlDtoPage mediaCollectionTrendingOrPopularGraphqlDtoPage = MediaCollectionTrendingOrPopularGraphqlDtoPage();
final List<
MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>? media = (json['media'] as List<
dynamic>?)?.map(
final List<MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>? media = (json['media'] as List<dynamic>?)
?.map(
(e) =>
jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>(
e) as MediaCollectionTrendingOrPopularGraphqlDtoPageMedia).toList();
jsonConvert.convert<MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>(
e) as MediaCollectionTrendingOrPopularGraphqlDtoPageMedia)
.toList();
if (media != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPage.media = media;
}
@@ -65,8 +64,7 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMedia $MediaCollectionTrendingOrPo
final MediaCollectionTrendingOrPopularGraphqlDtoPageMedia mediaCollectionTrendingOrPopularGraphqlDtoPageMedia = MediaCollectionTrendingOrPopularGraphqlDtoPageMedia();
final dynamic nextAiringEpisode = json['nextAiringEpisode'];
if (nextAiringEpisode != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.nextAiringEpisode =
nextAiringEpisode;
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.nextAiringEpisode = nextAiringEpisode;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
@@ -74,8 +72,7 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMedia $MediaCollectionTrendingOrPo
}
final bool? isFavourite = jsonConvert.convert<bool>(json['isFavourite']);
if (isFavourite != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.isFavourite =
isFavourite;
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.isFavourite = isFavourite;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
@@ -114,15 +111,13 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMedia $MediaCollectionTrendingOrPo
if (episodes != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.episodes = episodes;
}
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate? endDate = jsonConvert
.convert<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate>(
json['endDate']);
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate? endDate = jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate>(json['endDate']);
if (endDate != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.endDate = endDate;
}
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate? startDate = jsonConvert
.convert<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate>(
json['startDate']);
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate? startDate = jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate>(json['startDate']);
if (startDate != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.startDate = startDate;
}
@@ -132,20 +127,16 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMedia $MediaCollectionTrendingOrPo
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.description =
description;
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.description = description;
}
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage? coverImage = jsonConvert
.convert<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage>(
json['coverImage']);
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage? coverImage = jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage>(json['coverImage']);
if (coverImage != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.coverImage = coverImage;
}
final String? countryOfOrigin = jsonConvert.convert<String>(
json['countryOfOrigin']);
final String? countryOfOrigin = jsonConvert.convert<String>(json['countryOfOrigin']);
if (countryOfOrigin != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.countryOfOrigin =
countryOfOrigin;
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.countryOfOrigin = countryOfOrigin;
}
final int? chapters = jsonConvert.convert<int>(json['chapters']);
if (chapters != null) {
@@ -153,17 +144,14 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMedia $MediaCollectionTrendingOrPo
}
final String? bannerImage = jsonConvert.convert<String>(json['bannerImage']);
if (bannerImage != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.bannerImage =
bannerImage;
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.bannerImage = bannerImage;
}
final int? averageScore = jsonConvert.convert<int>(json['averageScore']);
if (averageScore != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.averageScore =
averageScore;
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.averageScore = averageScore;
}
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle? title = jsonConvert
.convert<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle>(
json['title']);
final MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle? title = jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle>(json['title']);
if (title != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMedia.title = title;
}
@@ -267,8 +255,7 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate $MediaCollectionTrend
return mediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate;
}
Map<String,
dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDateToJson(
Map<String, dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDateToJson(
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -308,8 +295,7 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate $MediaCollectionTre
return mediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate;
}
Map<String,
dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDateToJson(
Map<String, dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDateToJson(
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -341,8 +327,7 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage $MediaCollectionTr
return mediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage;
}
Map<String,
dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImageToJson(
Map<String, dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImageToJson(
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -373,17 +358,14 @@ MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle $MediaCollectionTrendin
if (romaji != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle.userPreferred =
userPreferred;
mediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle.userPreferred = userPreferred;
}
return mediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle;
}
Map<String,
dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitleToJson(
Map<String, dynamic> $MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitleToJson(
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['english'] = entity.english;

View File

@@ -31,9 +31,7 @@ extension MediaCollectionUpcomingGraphqlEntityExtension on MediaCollectionUpcomi
MediaCollectionUpcomingGraphqlDtoPage $MediaCollectionUpcomingGraphqlDtoPageFromJson(
Map<String, dynamic> json) {
final MediaCollectionUpcomingGraphqlDtoPage mediaCollectionUpcomingGraphqlDtoPage = MediaCollectionUpcomingGraphqlDtoPage();
final List<
MediaCollectionUpcomingGraphqlDtoPageMedia>? media = (json['media'] as List<
dynamic>?)?.map(
final List<MediaCollectionUpcomingGraphqlDtoPageMedia>? media = (json['media'] as List<dynamic>?)?.map(
(e) =>
jsonConvert.convert<MediaCollectionUpcomingGraphqlDtoPageMedia>(
e) as MediaCollectionUpcomingGraphqlDtoPageMedia).toList();
@@ -62,12 +60,10 @@ extension MediaCollectionUpcomingGraphqlDtoPageExtension on MediaCollectionUpcom
MediaCollectionUpcomingGraphqlDtoPageMedia $MediaCollectionUpcomingGraphqlDtoPageMediaFromJson(
Map<String, dynamic> json) {
final MediaCollectionUpcomingGraphqlDtoPageMedia mediaCollectionUpcomingGraphqlDtoPageMedia = MediaCollectionUpcomingGraphqlDtoPageMedia();
final MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode? nextAiringEpisode = jsonConvert
.convert<MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode>(
json['nextAiringEpisode']);
final MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode? nextAiringEpisode = jsonConvert.convert<
MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode>(json['nextAiringEpisode']);
if (nextAiringEpisode != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.nextAiringEpisode =
nextAiringEpisode;
mediaCollectionUpcomingGraphqlDtoPageMedia.nextAiringEpisode = nextAiringEpisode;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
@@ -114,15 +110,13 @@ MediaCollectionUpcomingGraphqlDtoPageMedia $MediaCollectionUpcomingGraphqlDtoPag
if (episodes != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.episodes = episodes;
}
final MediaCollectionUpcomingGraphqlDtoPageMediaEndDate? endDate = jsonConvert
.convert<MediaCollectionUpcomingGraphqlDtoPageMediaEndDate>(
json['endDate']);
final MediaCollectionUpcomingGraphqlDtoPageMediaEndDate? endDate = jsonConvert.convert<
MediaCollectionUpcomingGraphqlDtoPageMediaEndDate>(json['endDate']);
if (endDate != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.endDate = endDate;
}
final MediaCollectionUpcomingGraphqlDtoPageMediaStartDate? startDate = jsonConvert
.convert<MediaCollectionUpcomingGraphqlDtoPageMediaStartDate>(
json['startDate']);
final MediaCollectionUpcomingGraphqlDtoPageMediaStartDate? startDate = jsonConvert.convert<
MediaCollectionUpcomingGraphqlDtoPageMediaStartDate>(json['startDate']);
if (startDate != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.startDate = startDate;
}
@@ -134,17 +128,14 @@ MediaCollectionUpcomingGraphqlDtoPageMedia $MediaCollectionUpcomingGraphqlDtoPag
if (description != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.description = description;
}
final MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage? coverImage = jsonConvert
.convert<MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage>(
json['coverImage']);
final MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage? coverImage = jsonConvert.convert<
MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage>(json['coverImage']);
if (coverImage != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.coverImage = coverImage;
}
final String? countryOfOrigin = jsonConvert.convert<String>(
json['countryOfOrigin']);
final String? countryOfOrigin = jsonConvert.convert<String>(json['countryOfOrigin']);
if (countryOfOrigin != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.countryOfOrigin =
countryOfOrigin;
mediaCollectionUpcomingGraphqlDtoPageMedia.countryOfOrigin = countryOfOrigin;
}
final int? chapters = jsonConvert.convert<int>(json['chapters']);
if (chapters != null) {
@@ -158,8 +149,8 @@ MediaCollectionUpcomingGraphqlDtoPageMedia $MediaCollectionUpcomingGraphqlDtoPag
if (averageScore != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.averageScore = averageScore;
}
final MediaCollectionUpcomingGraphqlDtoPageMediaTitle? title = jsonConvert
.convert<MediaCollectionUpcomingGraphqlDtoPageMediaTitle>(json['title']);
final MediaCollectionUpcomingGraphqlDtoPageMediaTitle? title = jsonConvert.convert<
MediaCollectionUpcomingGraphqlDtoPageMediaTitle>(json['title']);
if (title != null) {
mediaCollectionUpcomingGraphqlDtoPageMedia.title = title;
}
@@ -250,19 +241,16 @@ MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode $MediaCollectionUpco
final MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode mediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode = MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode();
final int? episode = jsonConvert.convert<int>(json['episode']);
if (episode != null) {
mediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.episode =
episode;
mediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.episode = episode;
}
final int? airingAt = jsonConvert.convert<int>(json['airingAt']);
if (airingAt != null) {
mediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.airingAt =
airingAt;
mediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.airingAt = airingAt;
}
return mediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode;
}
Map<String,
dynamic> $MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisodeToJson(
Map<String, dynamic> $MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisodeToJson(
MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['episode'] = entity.episode;
@@ -371,8 +359,7 @@ MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage $MediaCollectionUpcomingGra
return mediaCollectionUpcomingGraphqlDtoPageMediaCoverImage;
}
Map<String,
dynamic> $MediaCollectionUpcomingGraphqlDtoPageMediaCoverImageToJson(
Map<String, dynamic> $MediaCollectionUpcomingGraphqlDtoPageMediaCoverImageToJson(
MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -403,11 +390,9 @@ MediaCollectionUpcomingGraphqlDtoPageMediaTitle $MediaCollectionUpcomingGraphqlD
if (romaji != null) {
mediaCollectionUpcomingGraphqlDtoPageMediaTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaCollectionUpcomingGraphqlDtoPageMediaTitle.userPreferred =
userPreferred;
mediaCollectionUpcomingGraphqlDtoPageMediaTitle.userPreferred = userPreferred;
}
return mediaCollectionUpcomingGraphqlDtoPageMediaTitle;
}

View File

@@ -1,19 +1,16 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/anilist/media_details_graphql_entity.dart';
MediaDetailsGraphqlEntity $MediaDetailsGraphqlEntityFromJson(
Map<String, dynamic> json) {
MediaDetailsGraphqlEntity $MediaDetailsGraphqlEntityFromJson(Map<String, dynamic> json) {
final MediaDetailsGraphqlEntity mediaDetailsGraphqlEntity = MediaDetailsGraphqlEntity();
final MediaDetailsGraphqlMedia? media = jsonConvert.convert<
MediaDetailsGraphqlMedia>(json['Media']);
final MediaDetailsGraphqlMedia? media = jsonConvert.convert<MediaDetailsGraphqlMedia>(json['Media']);
if (media != null) {
mediaDetailsGraphqlEntity.media = media;
}
return mediaDetailsGraphqlEntity;
}
Map<String, dynamic> $MediaDetailsGraphqlEntityToJson(
MediaDetailsGraphqlEntity entity) {
Map<String, dynamic> $MediaDetailsGraphqlEntityToJson(MediaDetailsGraphqlEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['Media'] = entity.media.toJson();
return data;
@@ -28,21 +25,19 @@ extension MediaDetailsGraphqlEntityExtension on MediaDetailsGraphqlEntity {
}
}
MediaDetailsGraphqlMedia $MediaDetailsGraphqlMediaFromJson(
Map<String, dynamic> json) {
MediaDetailsGraphqlMedia $MediaDetailsGraphqlMediaFromJson(Map<String, dynamic> json) {
final MediaDetailsGraphqlMedia mediaDetailsGraphqlMedia = MediaDetailsGraphqlMedia();
final int? id = jsonConvert.convert<int>(json['id']);
if (id != null) {
mediaDetailsGraphqlMedia.id = id;
}
final MediaDetailsGraphqlMediaTitle? title = jsonConvert.convert<
MediaDetailsGraphqlMediaTitle>(json['title']);
final MediaDetailsGraphqlMediaTitle? title = jsonConvert.convert<MediaDetailsGraphqlMediaTitle>(
json['title']);
if (title != null) {
mediaDetailsGraphqlMedia.title = title;
}
final MediaDetailsGraphqlMediaRecommendations? recommendations = jsonConvert
.convert<MediaDetailsGraphqlMediaRecommendations>(
json['recommendations']);
final MediaDetailsGraphqlMediaRecommendations? recommendations = jsonConvert.convert<
MediaDetailsGraphqlMediaRecommendations>(json['recommendations']);
if (recommendations != null) {
mediaDetailsGraphqlMedia.recommendations = recommendations;
}
@@ -54,8 +49,7 @@ MediaDetailsGraphqlMedia $MediaDetailsGraphqlMediaFromJson(
return mediaDetailsGraphqlMedia;
}
Map<String, dynamic> $MediaDetailsGraphqlMediaToJson(
MediaDetailsGraphqlMedia entity) {
Map<String, dynamic> $MediaDetailsGraphqlMediaToJson(MediaDetailsGraphqlMedia entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
data['title'] = entity.title.toJson();
@@ -79,8 +73,7 @@ extension MediaDetailsGraphqlMediaExtension on MediaDetailsGraphqlMedia {
}
}
MediaDetailsGraphqlMediaTitle $MediaDetailsGraphqlMediaTitleFromJson(
Map<String, dynamic> json) {
MediaDetailsGraphqlMediaTitle $MediaDetailsGraphqlMediaTitleFromJson(Map<String, dynamic> json) {
final MediaDetailsGraphqlMediaTitle mediaDetailsGraphqlMediaTitle = MediaDetailsGraphqlMediaTitle();
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
@@ -94,16 +87,14 @@ MediaDetailsGraphqlMediaTitle $MediaDetailsGraphqlMediaTitleFromJson(
if (native != null) {
mediaDetailsGraphqlMediaTitle.native = native;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaDetailsGraphqlMediaTitle.userPreferred = userPreferred;
}
return mediaDetailsGraphqlMediaTitle;
}
Map<String, dynamic> $MediaDetailsGraphqlMediaTitleToJson(
MediaDetailsGraphqlMediaTitle entity) {
Map<String, dynamic> $MediaDetailsGraphqlMediaTitleToJson(MediaDetailsGraphqlMediaTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['english'] = entity.english;
data['romaji'] = entity.romaji;
@@ -130,12 +121,9 @@ extension MediaDetailsGraphqlMediaTitleExtension on MediaDetailsGraphqlMediaTitl
MediaDetailsGraphqlMediaRecommendations $MediaDetailsGraphqlMediaRecommendationsFromJson(
Map<String, dynamic> json) {
final MediaDetailsGraphqlMediaRecommendations mediaDetailsGraphqlMediaRecommendations = MediaDetailsGraphqlMediaRecommendations();
final List<
MediaDetailsGraphqlMediaRecommendationsNodes>? nodes = (json['nodes'] as List<
dynamic>?)?.map(
final List<MediaDetailsGraphqlMediaRecommendationsNodes>? nodes = (json['nodes'] as List<dynamic>?)?.map(
(e) =>
jsonConvert.convert<
MediaDetailsGraphqlMediaRecommendationsNodes>(
jsonConvert.convert<MediaDetailsGraphqlMediaRecommendationsNodes>(
e) as MediaDetailsGraphqlMediaRecommendationsNodes).toList();
if (nodes != null) {
mediaDetailsGraphqlMediaRecommendations.nodes = nodes;
@@ -163,11 +151,9 @@ MediaDetailsGraphqlMediaRecommendationsNodes $MediaDetailsGraphqlMediaRecommenda
Map<String, dynamic> json) {
final MediaDetailsGraphqlMediaRecommendationsNodes mediaDetailsGraphqlMediaRecommendationsNodes = MediaDetailsGraphqlMediaRecommendationsNodes();
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation? mediaRecommendation = jsonConvert
.convert<MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation>(
json['mediaRecommendation']);
.convert<MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation>(json['mediaRecommendation']);
if (mediaRecommendation != null) {
mediaDetailsGraphqlMediaRecommendationsNodes.mediaRecommendation =
mediaRecommendation;
mediaDetailsGraphqlMediaRecommendationsNodes.mediaRecommendation = mediaRecommendation;
}
return mediaDetailsGraphqlMediaRecommendationsNodes;
}
@@ -197,117 +183,89 @@ MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation $MediaDetailsGra
}
final int? idMal = jsonConvert.convert<int>(json['idMal']);
if (idMal != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.idMal =
idMal;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.idMal = idMal;
}
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate? startDate = jsonConvert
.convert<
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate>(
json['startDate']);
.convert<MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate>(json['startDate']);
if (startDate != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.startDate =
startDate;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.startDate = startDate;
}
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate? endDate = jsonConvert
.convert<
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate>(
json['endDate']);
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate? endDate = jsonConvert.convert<
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate>(json['endDate']);
if (endDate != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.endDate =
endDate;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.endDate = endDate;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.season =
season;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.season = season;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.status =
status;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.status = status;
}
final bool? isFavourite = jsonConvert.convert<bool>(json['isFavourite']);
if (isFavourite != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation
.isFavourite = isFavourite;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.isFavourite = isFavourite;
}
final bool? isAdult = jsonConvert.convert<bool>(json['isAdult']);
if (isAdult != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.isAdult =
isAdult;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.isAdult = isAdult;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.episodes =
episodes;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.episodes = episodes;
}
final int? chapters = jsonConvert.convert<int>(json['chapters']);
if (chapters != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.chapters =
chapters;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.chapters = chapters;
}
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle? title = jsonConvert
.convert<
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle>(
json['title']);
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle? title = jsonConvert.convert<
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle>(json['title']);
if (title != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.title =
title;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.title = title;
}
final String? bannerImage = jsonConvert.convert<String>(json['bannerImage']);
if (bannerImage != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation
.bannerImage = bannerImage;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.bannerImage = bannerImage;
}
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage? coverImage = jsonConvert
.convert<
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage>(
json['coverImage']);
.convert<MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage>(json['coverImage']);
if (coverImage != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.coverImage =
coverImage;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.coverImage = coverImage;
}
final int? averageScore = jsonConvert.convert<int>(json['averageScore']);
if (averageScore != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation
.averageScore = averageScore;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.averageScore = averageScore;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.duration =
duration;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.duration = duration;
}
final String? format = jsonConvert.convert<String>(json['format']);
if (format != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.format =
format;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.format = format;
}
final List<String>? genres = (json['genres'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<String>(e) as String).toList();
if (genres != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.genres =
genres;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.genres = genres;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation
.description = description;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.description = description;
}
final int? meanScore = jsonConvert.convert<int>(json['meanScore']);
if (meanScore != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.meanScore =
meanScore;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.meanScore = meanScore;
}
final dynamic nextAiringEpisode = json['nextAiringEpisode'];
if (nextAiringEpisode != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation
.nextAiringEpisode = nextAiringEpisode;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation.nextAiringEpisode = nextAiringEpisode;
}
return mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation;
}
Map<String,
dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationToJson(
Map<String, dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationToJson(
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendation entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
@@ -385,24 +343,20 @@ MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate $MediaD
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate = MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate
.day = day;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate
.month = month;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate
.year = year;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate.year = year;
}
return mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate;
}
Map<String,
dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDateToJson(
Map<String, dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDateToJson(
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -412,12 +366,11 @@ Map<String,
}
extension MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDateExtension on MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate copyWith(
{
int? day,
int? month,
int? year,
}) {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate copyWith({
int? day,
int? month,
int? year,
}) {
return MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationStartDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -430,24 +383,20 @@ MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate $MediaDet
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate = MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate.day =
day;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate
.month = month;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate
.year = year;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate.year = year;
}
return mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate;
}
Map<String,
dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDateToJson(
Map<String, dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDateToJson(
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -457,12 +406,11 @@ Map<String,
}
extension MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDateExtension on MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate copyWith(
{
int? day,
int? month,
int? year,
}) {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate copyWith({
int? day,
int? month,
int? year,
}) {
return MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationEndDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -475,30 +423,24 @@ MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle $MediaDetai
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle = MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle();
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle
.english = english;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle.english = english;
}
final String? native = jsonConvert.convert<String>(json['native']);
if (native != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle
.native = native;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle.native = native;
}
final String? romaji = jsonConvert.convert<String>(json['romaji']);
if (romaji != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle
.romaji = romaji;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle
.userPreferred = userPreferred;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle.userPreferred = userPreferred;
}
return mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle;
}
Map<String,
dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitleToJson(
Map<String, dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitleToJson(
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['english'] = entity.english;
@@ -509,13 +451,12 @@ Map<String,
}
extension MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitleExtension on MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle copyWith(
{
String? english,
String? native,
String? romaji,
String? userPreferred,
}) {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle copyWith({
String? english,
String? native,
String? romaji,
String? userPreferred,
}) {
return MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationTitle()
..english = english ?? this.english
..native = native ?? this.native
@@ -529,14 +470,12 @@ MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage $Media
final MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage = MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage();
final String? large = jsonConvert.convert<String>(json['large']);
if (large != null) {
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage
.large = large;
mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage.large = large;
}
return mediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage;
}
Map<String,
dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImageToJson(
Map<String, dynamic> $MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImageToJson(
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -544,21 +483,17 @@ Map<String,
}
extension MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImageExtension on MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage copyWith(
{
String? large,
}) {
MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage copyWith({
String? large,
}) {
return MediaDetailsGraphqlMediaRecommendationsNodesMediaRecommendationCoverImage()
..large = large ?? this.large;
}
}
MediaDetailsGraphqlMediaCharacters $MediaDetailsGraphqlMediaCharactersFromJson(
Map<String, dynamic> json) {
MediaDetailsGraphqlMediaCharacters $MediaDetailsGraphqlMediaCharactersFromJson(Map<String, dynamic> json) {
final MediaDetailsGraphqlMediaCharacters mediaDetailsGraphqlMediaCharacters = MediaDetailsGraphqlMediaCharacters();
final List<
MediaDetailsGraphqlMediaCharactersNodes>? nodes = (json['nodes'] as List<
dynamic>?)?.map(
final List<MediaDetailsGraphqlMediaCharactersNodes>? nodes = (json['nodes'] as List<dynamic>?)?.map(
(e) =>
jsonConvert.convert<MediaDetailsGraphqlMediaCharactersNodes>(
e) as MediaDetailsGraphqlMediaCharactersNodes).toList();
@@ -568,8 +503,7 @@ MediaDetailsGraphqlMediaCharacters $MediaDetailsGraphqlMediaCharactersFromJson(
return mediaDetailsGraphqlMediaCharacters;
}
Map<String, dynamic> $MediaDetailsGraphqlMediaCharactersToJson(
MediaDetailsGraphqlMediaCharacters entity) {
Map<String, dynamic> $MediaDetailsGraphqlMediaCharactersToJson(MediaDetailsGraphqlMediaCharacters entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['nodes'] = entity.nodes.map((v) => v.toJson()).toList();
return data;
@@ -591,8 +525,8 @@ MediaDetailsGraphqlMediaCharactersNodes $MediaDetailsGraphqlMediaCharactersNodes
if (id != null) {
mediaDetailsGraphqlMediaCharactersNodes.id = id;
}
final MediaDetailsGraphqlMediaCharactersNodesImage? image = jsonConvert
.convert<MediaDetailsGraphqlMediaCharactersNodesImage>(json['image']);
final MediaDetailsGraphqlMediaCharactersNodesImage? image = jsonConvert.convert<
MediaDetailsGraphqlMediaCharactersNodesImage>(json['image']);
if (image != null) {
mediaDetailsGraphqlMediaCharactersNodes.image = image;
}
@@ -609,9 +543,8 @@ MediaDetailsGraphqlMediaCharactersNodes $MediaDetailsGraphqlMediaCharactersNodes
if (description != null) {
mediaDetailsGraphqlMediaCharactersNodes.description = description;
}
final MediaDetailsGraphqlMediaCharactersNodesDateOfBirth? dateOfBirth = jsonConvert
.convert<MediaDetailsGraphqlMediaCharactersNodesDateOfBirth>(
json['dateOfBirth']);
final MediaDetailsGraphqlMediaCharactersNodesDateOfBirth? dateOfBirth = jsonConvert.convert<
MediaDetailsGraphqlMediaCharactersNodesDateOfBirth>(json['dateOfBirth']);
if (dateOfBirth != null) {
mediaDetailsGraphqlMediaCharactersNodes.dateOfBirth = dateOfBirth;
}
@@ -685,8 +618,7 @@ extension MediaDetailsGraphqlMediaCharactersNodesImageExtension on MediaDetailsG
MediaDetailsGraphqlMediaCharactersNodesName $MediaDetailsGraphqlMediaCharactersNodesNameFromJson(
Map<String, dynamic> json) {
final MediaDetailsGraphqlMediaCharactersNodesName mediaDetailsGraphqlMediaCharactersNodesName = MediaDetailsGraphqlMediaCharactersNodesName();
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
mediaDetailsGraphqlMediaCharactersNodesName.userPreferred = userPreferred;
}

View File

@@ -1,19 +1,17 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/anilist/media_details_media_list_entry_entity.dart';
MediaDetailsMediaListEntryEntity $MediaDetailsMediaListEntryEntityFromJson(
Map<String, dynamic> json) {
MediaDetailsMediaListEntryEntity $MediaDetailsMediaListEntryEntityFromJson(Map<String, dynamic> json) {
final MediaDetailsMediaListEntryEntity mediaDetailsMediaListEntryEntity = MediaDetailsMediaListEntryEntity();
final MediaDetailsMediaListEntryMedia? media = jsonConvert.convert<
MediaDetailsMediaListEntryMedia>(json['Media']);
final MediaDetailsMediaListEntryMedia? media = jsonConvert.convert<MediaDetailsMediaListEntryMedia>(
json['Media']);
if (media != null) {
mediaDetailsMediaListEntryEntity.media = media;
}
return mediaDetailsMediaListEntryEntity;
}
Map<String, dynamic> $MediaDetailsMediaListEntryEntityToJson(
MediaDetailsMediaListEntryEntity entity) {
Map<String, dynamic> $MediaDetailsMediaListEntryEntityToJson(MediaDetailsMediaListEntryEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['Media'] = entity.media.toJson();
return data;
@@ -28,20 +26,17 @@ extension MediaDetailsMediaListEntryEntityExtension on MediaDetailsMediaListEntr
}
}
MediaDetailsMediaListEntryMedia $MediaDetailsMediaListEntryMediaFromJson(
Map<String, dynamic> json) {
MediaDetailsMediaListEntryMedia $MediaDetailsMediaListEntryMediaFromJson(Map<String, dynamic> json) {
final MediaDetailsMediaListEntryMedia mediaDetailsMediaListEntryMedia = MediaDetailsMediaListEntryMedia();
final MediaDetailsMediaListEntryMediaMediaListEntry? mediaListEntry = jsonConvert
.convert<MediaDetailsMediaListEntryMediaMediaListEntry>(
json['mediaListEntry']);
final MediaDetailsMediaListEntryMediaMediaListEntry? mediaListEntry = jsonConvert.convert<
MediaDetailsMediaListEntryMediaMediaListEntry>(json['mediaListEntry']);
if (mediaListEntry != null) {
mediaDetailsMediaListEntryMedia.mediaListEntry = mediaListEntry;
}
return mediaDetailsMediaListEntryMedia;
}
Map<String, dynamic> $MediaDetailsMediaListEntryMediaToJson(
MediaDetailsMediaListEntryMedia entity) {
Map<String, dynamic> $MediaDetailsMediaListEntryMediaToJson(MediaDetailsMediaListEntryMedia entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['mediaListEntry'] = entity.mediaListEntry.toJson();
return data;
@@ -75,34 +70,28 @@ MediaDetailsMediaListEntryMediaMediaListEntry $MediaDetailsMediaListEntryMediaMe
if (status != null) {
mediaDetailsMediaListEntryMediaMediaListEntry.status = status;
}
final MediaDetailsMediaListEntryMediaMediaListEntryStartedAt? startedAt = jsonConvert
.convert<MediaDetailsMediaListEntryMediaMediaListEntryStartedAt>(
json['startedAt']);
final MediaDetailsMediaListEntryMediaMediaListEntryStartedAt? startedAt = jsonConvert.convert<
MediaDetailsMediaListEntryMediaMediaListEntryStartedAt>(json['startedAt']);
if (startedAt != null) {
mediaDetailsMediaListEntryMediaMediaListEntry.startedAt = startedAt;
}
final MediaDetailsMediaListEntryMediaMediaListEntryCompletedAt? completedAt = jsonConvert
.convert<MediaDetailsMediaListEntryMediaMediaListEntryCompletedAt>(
json['completedAt']);
final MediaDetailsMediaListEntryMediaMediaListEntryCompletedAt? completedAt = jsonConvert.convert<
MediaDetailsMediaListEntryMediaMediaListEntryCompletedAt>(json['completedAt']);
if (completedAt != null) {
mediaDetailsMediaListEntryMediaMediaListEntry.completedAt = completedAt;
}
final List<
MediaDetailsMediaListEntryMediaMediaListEntryCustomLists>? customLists = (json['customLists'] as List<
dynamic>?)
?.map(
dynamic>?)?.map(
(e) =>
jsonConvert.convert<
MediaDetailsMediaListEntryMediaMediaListEntryCustomLists>(
e) as MediaDetailsMediaListEntryMediaMediaListEntryCustomLists)
.toList();
jsonConvert.convert<MediaDetailsMediaListEntryMediaMediaListEntryCustomLists>(
e) as MediaDetailsMediaListEntryMediaMediaListEntryCustomLists).toList();
if (customLists != null) {
mediaDetailsMediaListEntryMediaMediaListEntry.customLists = customLists;
}
final int? progressVolumes = json['progressVolumes'];
final int? progressVolumes = jsonConvert.convert<int>(json['progressVolumes']);
if (progressVolumes != null) {
mediaDetailsMediaListEntryMediaMediaListEntry.progressVolumes =
progressVolumes;
mediaDetailsMediaListEntryMediaMediaListEntry.progressVolumes = progressVolumes;
}
return mediaDetailsMediaListEntryMediaMediaListEntry;
}
@@ -162,8 +151,7 @@ MediaDetailsMediaListEntryMediaMediaListEntryStartedAt $MediaDetailsMediaListEnt
return mediaDetailsMediaListEntryMediaMediaListEntryStartedAt;
}
Map<String,
dynamic> $MediaDetailsMediaListEntryMediaMediaListEntryStartedAtToJson(
Map<String, dynamic> $MediaDetailsMediaListEntryMediaMediaListEntryStartedAtToJson(
MediaDetailsMediaListEntryMediaMediaListEntryStartedAt entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -203,8 +191,7 @@ MediaDetailsMediaListEntryMediaMediaListEntryCompletedAt $MediaDetailsMediaListE
return mediaDetailsMediaListEntryMediaMediaListEntryCompletedAt;
}
Map<String,
dynamic> $MediaDetailsMediaListEntryMediaMediaListEntryCompletedAtToJson(
Map<String, dynamic> $MediaDetailsMediaListEntryMediaMediaListEntryCompletedAtToJson(
MediaDetailsMediaListEntryMediaMediaListEntryCompletedAt entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;
@@ -240,8 +227,7 @@ MediaDetailsMediaListEntryMediaMediaListEntryCustomLists $MediaDetailsMediaListE
return mediaDetailsMediaListEntryMediaMediaListEntryCustomLists;
}
Map<String,
dynamic> $MediaDetailsMediaListEntryMediaMediaListEntryCustomListsToJson(
Map<String, dynamic> $MediaDetailsMediaListEntryMediaMediaListEntryCustomListsToJson(
MediaDetailsMediaListEntryMediaMediaListEntryCustomLists entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;

View File

@@ -1,20 +1,17 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/anilist/save_media_list_entry_entity.dart';
SaveMediaListEntryEntity $SaveMediaListEntryEntityFromJson(
Map<String, dynamic> json) {
SaveMediaListEntryEntity $SaveMediaListEntryEntityFromJson(Map<String, dynamic> json) {
final SaveMediaListEntryEntity saveMediaListEntryEntity = SaveMediaListEntryEntity();
final SaveMediaListEntrySaveMediaListEntry? saveMediaListEntry = jsonConvert
.convert<SaveMediaListEntrySaveMediaListEntry>(
json['SaveMediaListEntry']);
final SaveMediaListEntrySaveMediaListEntry? saveMediaListEntry = jsonConvert.convert<
SaveMediaListEntrySaveMediaListEntry>(json['SaveMediaListEntry']);
if (saveMediaListEntry != null) {
saveMediaListEntryEntity.saveMediaListEntry = saveMediaListEntry;
}
return saveMediaListEntryEntity;
}
Map<String, dynamic> $SaveMediaListEntryEntityToJson(
SaveMediaListEntryEntity entity) {
Map<String, dynamic> $SaveMediaListEntryEntityToJson(SaveMediaListEntryEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['SaveMediaListEntry'] = entity.saveMediaListEntry.toJson();
return data;
@@ -36,8 +33,7 @@ SaveMediaListEntrySaveMediaListEntry $SaveMediaListEntrySaveMediaListEntryFromJs
if (progress != null) {
saveMediaListEntrySaveMediaListEntry.progress = progress;
}
final int? progressVolumes = jsonConvert.convert<int>(
json['progressVolumes']);
final int? progressVolumes = jsonConvert.convert<int>(json['progressVolumes']);
if (progressVolumes != null) {
saveMediaListEntrySaveMediaListEntry.progressVolumes = progressVolumes;
}
@@ -53,15 +49,13 @@ SaveMediaListEntrySaveMediaListEntry $SaveMediaListEntrySaveMediaListEntryFromJs
if (status != null) {
saveMediaListEntrySaveMediaListEntry.status = status;
}
final SaveMediaListEntrySaveMediaListEntryStartedAt? startedAt = jsonConvert
.convert<SaveMediaListEntrySaveMediaListEntryStartedAt>(
json['startedAt']);
final SaveMediaListEntrySaveMediaListEntryStartedAt? startedAt = jsonConvert.convert<
SaveMediaListEntrySaveMediaListEntryStartedAt>(json['startedAt']);
if (startedAt != null) {
saveMediaListEntrySaveMediaListEntry.startedAt = startedAt;
}
final SaveMediaListEntrySaveMediaListEntryCompletedAt? completedAt = jsonConvert
.convert<SaveMediaListEntrySaveMediaListEntryCompletedAt>(
json['completedAt']);
final SaveMediaListEntrySaveMediaListEntryCompletedAt? completedAt = jsonConvert.convert<
SaveMediaListEntrySaveMediaListEntryCompletedAt>(json['completedAt']);
if (completedAt != null) {
saveMediaListEntrySaveMediaListEntry.completedAt = completedAt;
}

View File

@@ -1,8 +1,7 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/extensions/tachiyomi_repo_json_entity.dart';
TachiyomiRepoJsonEntity $TachiyomiRepoJsonEntityFromJson(
Map<String, dynamic> json) {
TachiyomiRepoJsonEntity $TachiyomiRepoJsonEntityFromJson(Map<String, dynamic> json) {
final TachiyomiRepoJsonEntity tachiyomiRepoJsonEntity = TachiyomiRepoJsonEntity();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
@@ -32,19 +31,15 @@ TachiyomiRepoJsonEntity $TachiyomiRepoJsonEntityFromJson(
if (nsfw != null) {
tachiyomiRepoJsonEntity.nsfw = nsfw;
}
final List<TachiyomiRepoJsonSources>? sources = (json['sources'] as List<
dynamic>?)?.map(
(e) =>
jsonConvert.convert<TachiyomiRepoJsonSources>(
e) as TachiyomiRepoJsonSources).toList();
final List<TachiyomiRepoJsonSources>? sources = (json['sources'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<TachiyomiRepoJsonSources>(e) as TachiyomiRepoJsonSources).toList();
if (sources != null) {
tachiyomiRepoJsonEntity.sources = sources;
}
return tachiyomiRepoJsonEntity;
}
Map<String, dynamic> $TachiyomiRepoJsonEntityToJson(
TachiyomiRepoJsonEntity entity) {
Map<String, dynamic> $TachiyomiRepoJsonEntityToJson(TachiyomiRepoJsonEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['pkg'] = entity.pkg;
@@ -80,8 +75,7 @@ extension TachiyomiRepoJsonEntityExtension on TachiyomiRepoJsonEntity {
}
}
TachiyomiRepoJsonSources $TachiyomiRepoJsonSourcesFromJson(
Map<String, dynamic> json) {
TachiyomiRepoJsonSources $TachiyomiRepoJsonSourcesFromJson(Map<String, dynamic> json) {
final TachiyomiRepoJsonSources tachiyomiRepoJsonSources = TachiyomiRepoJsonSources();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
@@ -102,8 +96,7 @@ TachiyomiRepoJsonSources $TachiyomiRepoJsonSourcesFromJson(
return tachiyomiRepoJsonSources;
}
Map<String, dynamic> $TachiyomiRepoJsonSourcesToJson(
TachiyomiRepoJsonSources entity) {
Map<String, dynamic> $TachiyomiRepoJsonSourcesToJson(TachiyomiRepoJsonSources entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['lang'] = entity.lang;

View File

@@ -3,8 +3,7 @@ import 'package:unyo/core/services/api/dto/anilist/viewer_graphql_entity.dart';
ViewerGraphqlEntity $ViewerGraphqlEntityFromJson(Map<String, dynamic> json) {
final ViewerGraphqlEntity viewerGraphqlEntity = ViewerGraphqlEntity();
final ViewerGraphqlDtoViewer? viewer = jsonConvert.convert<
ViewerGraphqlDtoViewer>(json['Viewer']);
final ViewerGraphqlDtoViewer? viewer = jsonConvert.convert<ViewerGraphqlDtoViewer>(json['Viewer']);
if (viewer != null) {
viewerGraphqlEntity.viewer = viewer;
}
@@ -26,8 +25,7 @@ extension ViewerGraphqlEntityExtension on ViewerGraphqlEntity {
}
}
ViewerGraphqlDtoViewer $ViewerGraphqlDtoViewerFromJson(
Map<String, dynamic> json) {
ViewerGraphqlDtoViewer $ViewerGraphqlDtoViewerFromJson(Map<String, dynamic> json) {
final ViewerGraphqlDtoViewer viewerGraphqlDtoViewer = ViewerGraphqlDtoViewer();
final int? id = jsonConvert.convert<int>(json['id']);
if (id != null) {
@@ -37,14 +35,13 @@ ViewerGraphqlDtoViewer $ViewerGraphqlDtoViewerFromJson(
if (bannerImage != null) {
viewerGraphqlDtoViewer.bannerImage = bannerImage;
}
final ViewerGraphqlDtoViewerAvatar? avatar = jsonConvert.convert<
ViewerGraphqlDtoViewerAvatar>(json['avatar']);
final ViewerGraphqlDtoViewerAvatar? avatar = jsonConvert.convert<ViewerGraphqlDtoViewerAvatar>(
json['avatar']);
if (avatar != null) {
viewerGraphqlDtoViewer.avatar = avatar;
}
final ViewerGraphqlDtoViewerMediaListOptions? mediaListOptions = jsonConvert
.convert<ViewerGraphqlDtoViewerMediaListOptions>(
json['mediaListOptions']);
final ViewerGraphqlDtoViewerMediaListOptions? mediaListOptions = jsonConvert.convert<
ViewerGraphqlDtoViewerMediaListOptions>(json['mediaListOptions']);
if (mediaListOptions != null) {
viewerGraphqlDtoViewer.mediaListOptions = mediaListOptions;
}
@@ -55,8 +52,7 @@ ViewerGraphqlDtoViewer $ViewerGraphqlDtoViewerFromJson(
return viewerGraphqlDtoViewer;
}
Map<String, dynamic> $ViewerGraphqlDtoViewerToJson(
ViewerGraphqlDtoViewer entity) {
Map<String, dynamic> $ViewerGraphqlDtoViewerToJson(ViewerGraphqlDtoViewer entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
data['bannerImage'] = entity.bannerImage;
@@ -83,8 +79,7 @@ extension ViewerGraphqlDtoViewerExtension on ViewerGraphqlDtoViewer {
}
}
ViewerGraphqlDtoViewerAvatar $ViewerGraphqlDtoViewerAvatarFromJson(
Map<String, dynamic> json) {
ViewerGraphqlDtoViewerAvatar $ViewerGraphqlDtoViewerAvatarFromJson(Map<String, dynamic> json) {
final ViewerGraphqlDtoViewerAvatar viewerGraphqlDtoViewerAvatar = ViewerGraphqlDtoViewerAvatar();
final String? medium = jsonConvert.convert<String>(json['medium']);
if (medium != null) {
@@ -93,8 +88,7 @@ ViewerGraphqlDtoViewerAvatar $ViewerGraphqlDtoViewerAvatarFromJson(
return viewerGraphqlDtoViewerAvatar;
}
Map<String, dynamic> $ViewerGraphqlDtoViewerAvatarToJson(
ViewerGraphqlDtoViewerAvatar entity) {
Map<String, dynamic> $ViewerGraphqlDtoViewerAvatarToJson(ViewerGraphqlDtoViewerAvatar entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['medium'] = entity.medium;
return data;
@@ -112,15 +106,13 @@ extension ViewerGraphqlDtoViewerAvatarExtension on ViewerGraphqlDtoViewerAvatar
ViewerGraphqlDtoViewerMediaListOptions $ViewerGraphqlDtoViewerMediaListOptionsFromJson(
Map<String, dynamic> json) {
final ViewerGraphqlDtoViewerMediaListOptions viewerGraphqlDtoViewerMediaListOptions = ViewerGraphqlDtoViewerMediaListOptions();
final ViewerGraphqlDtoViewerMediaListOptionsAnimeList? animeList = jsonConvert
.convert<ViewerGraphqlDtoViewerMediaListOptionsAnimeList>(
json['animeList']);
final ViewerGraphqlDtoViewerMediaListOptionsAnimeList? animeList = jsonConvert.convert<
ViewerGraphqlDtoViewerMediaListOptionsAnimeList>(json['animeList']);
if (animeList != null) {
viewerGraphqlDtoViewerMediaListOptions.animeList = animeList;
}
final ViewerGraphqlDtoViewerMediaListOptionsMangaList? mangaList = jsonConvert
.convert<ViewerGraphqlDtoViewerMediaListOptionsMangaList>(
json['mangaList']);
final ViewerGraphqlDtoViewerMediaListOptionsMangaList? mangaList = jsonConvert.convert<
ViewerGraphqlDtoViewerMediaListOptionsMangaList>(json['mangaList']);
if (mangaList != null) {
viewerGraphqlDtoViewerMediaListOptions.mangaList = mangaList;
}
@@ -156,10 +148,8 @@ extension ViewerGraphqlDtoViewerMediaListOptionsExtension on ViewerGraphqlDtoVie
ViewerGraphqlDtoViewerMediaListOptionsAnimeList $ViewerGraphqlDtoViewerMediaListOptionsAnimeListFromJson(
Map<String, dynamic> json) {
final ViewerGraphqlDtoViewerMediaListOptionsAnimeList viewerGraphqlDtoViewerMediaListOptionsAnimeList = ViewerGraphqlDtoViewerMediaListOptionsAnimeList();
final List<String>? customLists = (json['customLists'] as List<dynamic>?)
?.map(
(e) => jsonConvert.convert<String>(e) as String)
.toList();
final List<String>? customLists = (json['customLists'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<String>(e) as String).toList();
if (customLists != null) {
viewerGraphqlDtoViewerMediaListOptionsAnimeList.customLists = customLists;
}
@@ -185,10 +175,8 @@ extension ViewerGraphqlDtoViewerMediaListOptionsAnimeListExtension on ViewerGrap
ViewerGraphqlDtoViewerMediaListOptionsMangaList $ViewerGraphqlDtoViewerMediaListOptionsMangaListFromJson(
Map<String, dynamic> json) {
final ViewerGraphqlDtoViewerMediaListOptionsMangaList viewerGraphqlDtoViewerMediaListOptionsMangaList = ViewerGraphqlDtoViewerMediaListOptionsMangaList();
final List<dynamic>? customLists = (json['customLists'] as List<dynamic>?)
?.map(
(e) => e)
.toList();
final List<dynamic>? customLists = (json['customLists'] as List<dynamic>?)?.map(
(e) => e).toList();
if (customLists != null) {
viewerGraphqlDtoViewerMediaListOptionsMangaList.customLists = customLists;
}

View File

@@ -46,6 +46,18 @@ class TextUtils {
}
}
static List<String> formatISO8601DateTime(String isoDateTime) {
if (isoDateTime.isEmpty) {
return ["~", "~", "~"];
}
final dateTime = DateTime.parse(isoDateTime);
return [
"${dateTime.day != 0 ? dateTime.day : "~"}",
"${dateTime.month != 0 ? dateTime.month : "~"}",
"${dateTime.year != 0 ? dateTime.year : "~"}",
];
}
static String formatMilliseconds(int milliseconds) {
final totalSeconds = milliseconds ~/ 1000;
final hours = totalSeconds ~/ 3600;