rewrite: Progress on the Extensions Screen

This commit is contained in:
2025-10-15 00:40:09 +01:00
parent 26bab4cbc4
commit 0870da0630
33 changed files with 2121 additions and 1173 deletions

View File

@@ -3,4 +3,4 @@ root = true
[*.dart]
indent_style = space
indent_size = 2
max_line_length = 140
max_line_length = 110

View File

@@ -1,16 +1,37 @@
import 'dart:async';
import 'package:logger/logger.dart';
import 'package:unyo/application/cubits/effect_mixin.dart';
import 'package:unyo/application/effects/app_effects.dart';
import 'package:unyo/application/states/extensions_state.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:unyo/core/di/locator.dart';
import 'package:unyo/core/notification/user_notifier.dart';
import 'package:unyo/core/services/api/http/http_exception.dart';
import 'package:unyo/domain/entities/extension.dart';
import 'package:unyo/domain/entities/user.dart';
import 'package:unyo/domain/repositories/extension_repository.dart';
class ExtensionsCubit extends Cubit<ExtensionsState> with EffectMixin<ExtensionsState> {
final Logger _logger = sl<Logger>();
ExtensionsCubit() : super(
const ExtensionsState(),
) {
// Repositories
final ExtensionRepository _extensionRepositoryAniyomi;
// Notifiers
final UserNotifier _loggedUserNotifier;
late StreamSubscription<User> _loggedUserSubscription;
ExtensionsCubit(this._extensionRepositoryAniyomi, this._loggedUserNotifier)
: super(
ExtensionsState(
loggedUser: UserModel.empty(),
installedAnimeExtensions: [],
installedMangaExtensions: [],
availableAnimeExtensions: [],
availableMangaExtensions: [],
),
) {
_init();
}
@@ -22,7 +43,58 @@ class ExtensionsCubit extends Cubit<ExtensionsState> with EffectMixin<Extensions
@override
Logger get logger => _logger;
void _init() {
@override
Future<void> close() {
_loggedUserSubscription.cancel();
return super.close();
}
}
void _init() {
_loggedUserSubscription = _loggedUserNotifier.userStream.listen((loggedUser) {
_fetchAvailableAnimeExtensions(loggedUser);
_fetchAvailableMangaExtensions(loggedUser);
emit(state.copyWith(
loggedUser: loggedUser
));
});
}
Future<void> _fetchAvailableAnimeExtensions(User loggedUser) async {
try {
_logger.i("Fetching available anime extensions for Aniyomi");
Set<Extension> availableAniyomiExtensions = await _extensionRepositoryAniyomi
.getAvailableAnimeExtensions(loggedUser);
emit(state.copyWith(
availableAnimeExtensions: availableAniyomiExtensions.toList()
));
} on HttpServerException catch (e, stackTrace) {
handleError(
"Failed to fetch available anime extensions:",
responseBody: e.message,
stackTrace: stackTrace,
);
} catch (e, stackTrace) {
handleError("Failed to fetch available anime extensions $e", stackTrace: stackTrace);
}
}
Future<void> _fetchAvailableMangaExtensions(User loggedUser) async {
try {
_logger.i("Fetching available manga extensions for Aniyomi");
Set<Extension> availableTachiyomiExtensions = await _extensionRepositoryAniyomi
.getAvailableMangaExtensions(loggedUser);
emit(state.copyWith(
availableMangaExtensions: availableTachiyomiExtensions.toList()
));
} on HttpServerException catch (e, stackTrace) {
handleError(
"Failed to fetch available manga extensions:",
responseBody: e.message,
stackTrace: stackTrace,
);
} catch (e, stackTrace) {
handleError("Failed to fetch available manga extensions $e", stackTrace: stackTrace);
}
}
}

View File

@@ -1,12 +1,19 @@
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:unyo/application/cubits/effect_mixin.dart';
import 'package:unyo/application/effects/app_effects.dart';
import 'package:unyo/domain/entities/extension.dart';
import 'package:unyo/domain/entities/user.dart';
part 'extensions_state.freezed.dart';
@freezed
abstract class ExtensionsState with _$ExtensionsState implements HasEffects{
const factory ExtensionsState({
required User loggedUser,
required List<Extension> installedAnimeExtensions,
required List<Extension> installedMangaExtensions,
required List<Extension> availableAnimeExtensions,
required List<Extension> availableMangaExtensions,
@Default(<AppEffect>[]) List<AppEffect> effects,
}) = _ExtensionsState;

View File

@@ -14,7 +14,7 @@ T _$identity<T>(T value) => value;
/// @nodoc
mixin _$ExtensionsState {
List<AppEffect> get effects;
User get loggedUser; List<Extension> get installedAnimeExtensions; List<Extension> get installedMangaExtensions; List<Extension> get availableAnimeExtensions; List<Extension> get availableMangaExtensions; List<AppEffect> get effects;
/// Create a copy of ExtensionsState
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@@ -25,16 +25,16 @@ $ExtensionsStateCopyWith<ExtensionsState> get copyWith => _$ExtensionsStateCopyW
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is ExtensionsState&&const DeepCollectionEquality().equals(other.effects, effects));
return identical(this, other) || (other.runtimeType == runtimeType&&other is ExtensionsState&&(identical(other.loggedUser, loggedUser) || other.loggedUser == loggedUser)&&const DeepCollectionEquality().equals(other.installedAnimeExtensions, installedAnimeExtensions)&&const DeepCollectionEquality().equals(other.installedMangaExtensions, installedMangaExtensions)&&const DeepCollectionEquality().equals(other.availableAnimeExtensions, availableAnimeExtensions)&&const DeepCollectionEquality().equals(other.availableMangaExtensions, availableMangaExtensions)&&const DeepCollectionEquality().equals(other.effects, effects));
}
@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(effects));
int get hashCode => Object.hash(runtimeType,loggedUser,const DeepCollectionEquality().hash(installedAnimeExtensions),const DeepCollectionEquality().hash(installedMangaExtensions),const DeepCollectionEquality().hash(availableAnimeExtensions),const DeepCollectionEquality().hash(availableMangaExtensions),const DeepCollectionEquality().hash(effects));
@override
String toString() {
return 'ExtensionsState(effects: $effects)';
return 'ExtensionsState(loggedUser: $loggedUser, installedAnimeExtensions: $installedAnimeExtensions, installedMangaExtensions: $installedMangaExtensions, availableAnimeExtensions: $availableAnimeExtensions, availableMangaExtensions: $availableMangaExtensions, effects: $effects)';
}
@@ -45,7 +45,7 @@ abstract mixin class $ExtensionsStateCopyWith<$Res> {
factory $ExtensionsStateCopyWith(ExtensionsState value, $Res Function(ExtensionsState) _then) = _$ExtensionsStateCopyWithImpl;
@useResult
$Res call({
List<AppEffect> effects
User loggedUser, List<Extension> installedAnimeExtensions, List<Extension> installedMangaExtensions, List<Extension> availableAnimeExtensions, List<Extension> availableMangaExtensions, List<AppEffect> effects
});
@@ -62,9 +62,14 @@ class _$ExtensionsStateCopyWithImpl<$Res>
/// Create a copy of ExtensionsState
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? effects = null,}) {
@pragma('vm:prefer-inline') @override $Res call({Object? loggedUser = null,Object? installedAnimeExtensions = null,Object? installedMangaExtensions = null,Object? availableAnimeExtensions = null,Object? availableMangaExtensions = null,Object? effects = null,}) {
return _then(_self.copyWith(
effects: null == effects ? _self.effects : effects // ignore: cast_nullable_to_non_nullable
loggedUser: null == loggedUser ? _self.loggedUser : loggedUser // ignore: cast_nullable_to_non_nullable
as User,installedAnimeExtensions: null == installedAnimeExtensions ? _self.installedAnimeExtensions : installedAnimeExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,installedMangaExtensions: null == installedMangaExtensions ? _self.installedMangaExtensions : installedMangaExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,availableAnimeExtensions: null == availableAnimeExtensions ? _self.availableAnimeExtensions : availableAnimeExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,availableMangaExtensions: null == availableMangaExtensions ? _self.availableMangaExtensions : availableMangaExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,effects: null == effects ? _self.effects : effects // ignore: cast_nullable_to_non_nullable
as List<AppEffect>,
));
}
@@ -150,10 +155,10 @@ return $default(_that);case _:
/// }
/// ```
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( List<AppEffect> effects)? $default,{required TResult orElse(),}) {final _that = this;
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( User loggedUser, List<Extension> installedAnimeExtensions, List<Extension> installedMangaExtensions, List<Extension> availableAnimeExtensions, List<Extension> availableMangaExtensions, List<AppEffect> effects)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _ExtensionsState() when $default != null:
return $default(_that.effects);case _:
return $default(_that.loggedUser,_that.installedAnimeExtensions,_that.installedMangaExtensions,_that.availableAnimeExtensions,_that.availableMangaExtensions,_that.effects);case _:
return orElse();
}
@@ -171,10 +176,10 @@ return $default(_that.effects);case _:
/// }
/// ```
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( List<AppEffect> effects) $default,) {final _that = this;
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( User loggedUser, List<Extension> installedAnimeExtensions, List<Extension> installedMangaExtensions, List<Extension> availableAnimeExtensions, List<Extension> availableMangaExtensions, List<AppEffect> effects) $default,) {final _that = this;
switch (_that) {
case _ExtensionsState():
return $default(_that.effects);case _:
return $default(_that.loggedUser,_that.installedAnimeExtensions,_that.installedMangaExtensions,_that.availableAnimeExtensions,_that.availableMangaExtensions,_that.effects);case _:
throw StateError('Unexpected subclass');
}
@@ -191,10 +196,10 @@ return $default(_that.effects);case _:
/// }
/// ```
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( List<AppEffect> effects)? $default,) {final _that = this;
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( User loggedUser, List<Extension> installedAnimeExtensions, List<Extension> installedMangaExtensions, List<Extension> availableAnimeExtensions, List<Extension> availableMangaExtensions, List<AppEffect> effects)? $default,) {final _that = this;
switch (_that) {
case _ExtensionsState() when $default != null:
return $default(_that.effects);case _:
return $default(_that.loggedUser,_that.installedAnimeExtensions,_that.installedMangaExtensions,_that.availableAnimeExtensions,_that.availableMangaExtensions,_that.effects);case _:
return null;
}
@@ -206,9 +211,38 @@ return $default(_that.effects);case _:
class _ExtensionsState extends ExtensionsState {
const _ExtensionsState({final List<AppEffect> effects = const <AppEffect>[]}): _effects = effects,super._();
const _ExtensionsState({required this.loggedUser, required final List<Extension> installedAnimeExtensions, required final List<Extension> installedMangaExtensions, required final List<Extension> availableAnimeExtensions, required final List<Extension> availableMangaExtensions, final List<AppEffect> effects = const <AppEffect>[]}): _installedAnimeExtensions = installedAnimeExtensions,_installedMangaExtensions = installedMangaExtensions,_availableAnimeExtensions = availableAnimeExtensions,_availableMangaExtensions = availableMangaExtensions,_effects = effects,super._();
@override final User loggedUser;
final List<Extension> _installedAnimeExtensions;
@override List<Extension> get installedAnimeExtensions {
if (_installedAnimeExtensions is EqualUnmodifiableListView) return _installedAnimeExtensions;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_installedAnimeExtensions);
}
final List<Extension> _installedMangaExtensions;
@override List<Extension> get installedMangaExtensions {
if (_installedMangaExtensions is EqualUnmodifiableListView) return _installedMangaExtensions;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_installedMangaExtensions);
}
final List<Extension> _availableAnimeExtensions;
@override List<Extension> get availableAnimeExtensions {
if (_availableAnimeExtensions is EqualUnmodifiableListView) return _availableAnimeExtensions;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_availableAnimeExtensions);
}
final List<Extension> _availableMangaExtensions;
@override List<Extension> get availableMangaExtensions {
if (_availableMangaExtensions is EqualUnmodifiableListView) return _availableMangaExtensions;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_availableMangaExtensions);
}
final List<AppEffect> _effects;
@override@JsonKey() List<AppEffect> get effects {
if (_effects is EqualUnmodifiableListView) return _effects;
@@ -227,16 +261,16 @@ _$ExtensionsStateCopyWith<_ExtensionsState> get copyWith => __$ExtensionsStateCo
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is _ExtensionsState&&const DeepCollectionEquality().equals(other._effects, _effects));
return identical(this, other) || (other.runtimeType == runtimeType&&other is _ExtensionsState&&(identical(other.loggedUser, loggedUser) || other.loggedUser == loggedUser)&&const DeepCollectionEquality().equals(other._installedAnimeExtensions, _installedAnimeExtensions)&&const DeepCollectionEquality().equals(other._installedMangaExtensions, _installedMangaExtensions)&&const DeepCollectionEquality().equals(other._availableAnimeExtensions, _availableAnimeExtensions)&&const DeepCollectionEquality().equals(other._availableMangaExtensions, _availableMangaExtensions)&&const DeepCollectionEquality().equals(other._effects, _effects));
}
@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_effects));
int get hashCode => Object.hash(runtimeType,loggedUser,const DeepCollectionEquality().hash(_installedAnimeExtensions),const DeepCollectionEquality().hash(_installedMangaExtensions),const DeepCollectionEquality().hash(_availableAnimeExtensions),const DeepCollectionEquality().hash(_availableMangaExtensions),const DeepCollectionEquality().hash(_effects));
@override
String toString() {
return 'ExtensionsState(effects: $effects)';
return 'ExtensionsState(loggedUser: $loggedUser, installedAnimeExtensions: $installedAnimeExtensions, installedMangaExtensions: $installedMangaExtensions, availableAnimeExtensions: $availableAnimeExtensions, availableMangaExtensions: $availableMangaExtensions, effects: $effects)';
}
@@ -247,7 +281,7 @@ abstract mixin class _$ExtensionsStateCopyWith<$Res> implements $ExtensionsState
factory _$ExtensionsStateCopyWith(_ExtensionsState value, $Res Function(_ExtensionsState) _then) = __$ExtensionsStateCopyWithImpl;
@override @useResult
$Res call({
List<AppEffect> effects
User loggedUser, List<Extension> installedAnimeExtensions, List<Extension> installedMangaExtensions, List<Extension> availableAnimeExtensions, List<Extension> availableMangaExtensions, List<AppEffect> effects
});
@@ -264,9 +298,14 @@ class __$ExtensionsStateCopyWithImpl<$Res>
/// Create a copy of ExtensionsState
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? effects = null,}) {
@override @pragma('vm:prefer-inline') $Res call({Object? loggedUser = null,Object? installedAnimeExtensions = null,Object? installedMangaExtensions = null,Object? availableAnimeExtensions = null,Object? availableMangaExtensions = null,Object? effects = null,}) {
return _then(_ExtensionsState(
effects: null == effects ? _self._effects : effects // ignore: cast_nullable_to_non_nullable
loggedUser: null == loggedUser ? _self.loggedUser : loggedUser // ignore: cast_nullable_to_non_nullable
as User,installedAnimeExtensions: null == installedAnimeExtensions ? _self._installedAnimeExtensions : installedAnimeExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,installedMangaExtensions: null == installedMangaExtensions ? _self._installedMangaExtensions : installedMangaExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,availableAnimeExtensions: null == availableAnimeExtensions ? _self._availableAnimeExtensions : availableAnimeExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,availableMangaExtensions: null == availableMangaExtensions ? _self._availableMangaExtensions : availableMangaExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,effects: null == effects ? _self._effects : effects // ignore: cast_nullable_to_non_nullable
as List<AppEffect>,
));
}

View File

@@ -21,5 +21,8 @@ const Set<String> cacheDisabledEndpoints = <String>{
const Set<String> cacheIgnoredHeaders = <String>{
'Authorization'
};
// Extensions condiguration
const String aniyomiExtensionsRepositoryUrl = 'https://gitea.k3vinb5.dev/Backups/kohi-den-extensions/raw/branch/main/index.min.json';
const String tachiyomiExtensionsRepositoryUrl = 'https://gitea.k3vinb5.dev/Backups/keiyoushi-extensions/raw/branch/repo/index.min.json';
// TODO move to an asset
const plusImageUrl = "https://i.ibb.co/Kj8CQZH/cross.png";

View File

@@ -27,6 +27,7 @@ import 'package:unyo/core/theme/color_image_service.dart';
import 'package:unyo/core/theme/theme_service.dart';
import 'package:unyo/data/repositories/anime_repository_anilist.dart';
import 'package:unyo/data/repositories/episode_repository_anizip.dart';
import 'package:unyo/data/repositories/extension_repository_aniyomi.dart';
import 'package:unyo/data/repositories/manga_repository_anilist.dart';
import 'package:unyo/data/repositories/repositories.dart';
import 'package:unyo/application/cubits/home_cubit.dart';
@@ -83,6 +84,7 @@ void setupLocator() {
sl.registerLazySingleton<EpisodeRepositoryAnizip>(
() => EpisodeRepositoryAnizip(),
);
sl.registerLazySingleton<ExtensionRepositoryAniyomi>(() => ExtensionRepositoryAniyomi());
// Cubits / Blocs
sl.registerFactory<LoginCubit>(
@@ -125,7 +127,10 @@ void setupLocator() {
sl<UserNotifier>(instanceName: config.loggedUserNotifier),
),
);
sl.registerFactory<ExtensionsCubit>(() => ExtensionsCubit());
sl.registerFactory<ExtensionsCubit>(() => ExtensionsCubit(
sl<ExtensionRepositoryAniyomi>(),
sl<UserNotifier>(instanceName: config.loggedUserNotifier),
));
sl.registerFactory<MediaListCubit>(
() => MediaListCubit(
sl<UserNotifier>(instanceName: config.loggedUserNotifier),

View File

@@ -0,0 +1,46 @@
import 'package:unyo/generated/json/base/json_field.dart';
import 'package:unyo/generated/json/aniyomi_repo_json_entity.g.dart';
import 'dart:convert';
export 'package:unyo/generated/json/aniyomi_repo_json_entity.g.dart';
@JsonSerializable()
class AniyomiRepoJsonEntity {
late String name = '';
late String pkg = '';
late String apk = '';
late String lang = '';
late double code;
late String version = '';
late double nsfw;
late List<AniyomiRepoJsonSources> sources = [];
AniyomiRepoJsonEntity();
factory AniyomiRepoJsonEntity.fromJson(Map<String, dynamic> json) => $AniyomiRepoJsonEntityFromJson(json);
Map<String, dynamic> toJson() => $AniyomiRepoJsonEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class AniyomiRepoJsonSources {
late String name = '';
late String lang = '';
late String id = '';
late String baseUrl = '';
AniyomiRepoJsonSources();
factory AniyomiRepoJsonSources.fromJson(Map<String, dynamic> json) => $AniyomiRepoJsonSourcesFromJson(json);
Map<String, dynamic> toJson() => $AniyomiRepoJsonSourcesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}

View File

@@ -0,0 +1,46 @@
import 'package:unyo/generated/json/base/json_field.dart';
import 'package:unyo/generated/json/tachiyomi_repo_json_entity.g.dart';
import 'dart:convert';
export 'package:unyo/generated/json/tachiyomi_repo_json_entity.g.dart';
@JsonSerializable()
class TachiyomiRepoJsonEntity {
late String name = '';
late String pkg = '';
late String apk = '';
late String lang = '';
late double code;
late String version = '';
late double nsfw;
late List<TachiyomiRepoJsonSources> sources = [];
TachiyomiRepoJsonEntity();
factory TachiyomiRepoJsonEntity.fromJson(Map<String, dynamic> json) => $TachiyomiRepoJsonEntityFromJson(json);
Map<String, dynamic> toJson() => $TachiyomiRepoJsonEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class TachiyomiRepoJsonSources {
late String name = '';
late String lang = '';
late String id = '';
late String baseUrl = '';
TachiyomiRepoJsonSources();
factory TachiyomiRepoJsonSources.fromJson(Map<String, dynamic> json) => $TachiyomiRepoJsonSourcesFromJson(json);
Map<String, dynamic> toJson() => $TachiyomiRepoJsonSourcesToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}

View File

@@ -232,6 +232,14 @@ class HttpService {
final status = response.statusCode;
if (status >= 200 && status < 300) {
_logger.d("Response from server is successful with status code $status");
if (json.decode(response.body) is List<dynamic>) {
final jsonList = json.decode(response.body) as List<dynamic>;
return ApiResponse(
data: fromJson({'list': jsonList}),
statusCode: status,
headers: response.headers
);
}
final jsonMap = json.decode(response.body) as Map<String, dynamic>;
return ApiResponse(
data: fromJson(jsonMap),

View File

@@ -4,4 +4,5 @@ const settingsModelAdapterName = 'SettingsModelAdapter';
const serviceEnumAdapterName = 'ServiceEnumAdapter';
const anilistAnimeDetailsModelAdapterName = 'AnimeProgressModelAdapter';
const mediaListModelAdapterName = 'MediaListModelAdapter';
const episodeServiceEnumAdapterName = 'EpisodeServiceEnumAdapter';
const episodeServiceEnumAdapterName = 'EpisodeServiceEnumAdapter';
const extensionModelAdapterName = 'ExtensionModelAdapter';

View File

@@ -4,4 +4,5 @@ const settingsAdapterType = 2;
const serviceAdapterType = 3;
const anilistAnimeDetailsAdapterType = 4;
const mediaListAdapterType = 5;
const episodeServiceAdapterType = 6;
const episodeServiceAdapterType = 6;
const extensionAdapterType = 7;

View File

@@ -0,0 +1,93 @@
import 'package:logger/logger.dart';
import 'package:unyo/core/di/locator.dart';
import 'package:unyo/core/services/api/dto/extensions/aniyomi_repo_json_entity.dart';
import 'package:unyo/core/services/api/dto/extensions/tachiyomi_repo_json_entity.dart';
import 'package:unyo/core/services/api/http/api_response.dart';
import 'package:unyo/core/services/api/http/http_service.dart';
import 'package:unyo/domain/entities/extension.dart';
import 'package:unyo/domain/entities/user.dart';
import 'package:unyo/domain/repositories/extension_repository.dart';
class ExtensionRepositoryAniyomi implements ExtensionRepository {
final Logger _logger = sl<Logger>();
final HttpService _httpService = sl<HttpService>();
@override
Future<Set<Extension>> getAvailableAnimeExtensions(User user) async {
_logger.d("Fetching available anime extensions for AniyomiBridge.");
final String aniyomiExtensionsRepositoryUrl = user.settings.aniyomiExtensionsRepositoryUrl;
ApiResponse<List<AniyomiRepoJsonEntity>> repositoryResponse = await _httpService.get(
aniyomiExtensionsRepositoryUrl,
fromJson: _parseAniyomiRepoJsonList,
);
return repositoryResponse.data
.map(
(aniyomiRepoJsonEntity) => ExtensionModel(
name: aniyomiRepoJsonEntity.name.replaceFirst("Aniyomi: ", ""),
pkg: aniyomiRepoJsonEntity.pkg,
apk:
"${aniyomiExtensionsRepositoryUrl.replaceFirst("index.min.json", "apk/")}${aniyomiRepoJsonEntity.apk}.png",
icon:
"${aniyomiExtensionsRepositoryUrl.replaceFirst("index.min.json", "icon/")}${aniyomiRepoJsonEntity.pkg}.png",
lang: aniyomiRepoJsonEntity.lang,
version: aniyomiRepoJsonEntity.version,
nsfw: aniyomiRepoJsonEntity.nsfw.toInt(),
type: 'Aniyomi',
),
)
.toSet();
}
@override
Future<Set<Extension>> getAvailableMangaExtensions(User user) async{
_logger.i("Fetching available manga extensions for AniyomiBridge.");
final String tachiyomiExtensionsRepositoryUrl = user.settings.tachiyomiExtensionsRepositoryUrl;
ApiResponse<List<TachiyomiRepoJsonEntity>> repositoryResponse = await _httpService.get(
tachiyomiExtensionsRepositoryUrl,
fromJson: _parseTachiyomiRepoJsonList,
);
return repositoryResponse.data
.map(
(tachiyomiRepoJsonEntity) => ExtensionModel(
name: tachiyomiRepoJsonEntity.name.replaceFirst("Tachiyomi: ", ""),
pkg: tachiyomiRepoJsonEntity.pkg,
apk:
"${tachiyomiExtensionsRepositoryUrl.replaceFirst("index.min.json", "apk/")}${tachiyomiRepoJsonEntity.apk}.png",
icon:
"${tachiyomiExtensionsRepositoryUrl.replaceFirst("index.min.json", "icon/")}${tachiyomiRepoJsonEntity.pkg}.png",
lang: tachiyomiRepoJsonEntity.lang,
version: tachiyomiRepoJsonEntity.version,
nsfw: tachiyomiRepoJsonEntity.nsfw.toInt(),
type: 'Tachiyomi',
),
)
.toSet();
}
@override
Future<Set<Extension>> getInstalledAnimeExtensions(User user) {
throw UnimplementedError();
}
@override
Future<Set<Extension>> getInstalledMangaExtensions(User user) {
throw UnimplementedError();
}
@override
Future<void> updateRepositoryUrl(String newUrl) {
throw UnimplementedError();
}
List<AniyomiRepoJsonEntity> _parseAniyomiRepoJsonList(Map<String, dynamic> json) {
return ((json['list'] as List<dynamic>?) ?? [])
.map((jsonItem) => AniyomiRepoJsonEntity.fromJson(jsonItem as Map<String, dynamic>))
.toList();
}
List<TachiyomiRepoJsonEntity> _parseTachiyomiRepoJsonList(Map<String, dynamic> json) {
return ((json['list'] as List<dynamic>?) ?? [])
.map((jsonItem) => TachiyomiRepoJsonEntity.fromJson(jsonItem as Map<String, dynamic>))
.toList();
}
}

View File

@@ -0,0 +1,76 @@
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hive_ce/hive.dart';
import 'package:unyo/data/adapters/adapters_names.dart' as names;
import 'package:unyo/data/adapters/adapters_types.dart' as types;
part 'extension.freezed.dart';
part 'extension.g.dart';
abstract class Extension {
final String name;
final String pkg;
final String apk;
final String icon;
final String lang;
final String version;
final int nsfw;
final String type;
const Extension({
required this.name,
required this.pkg,
required this.apk,
required this.icon,
required this.lang,
required this.version,
required this.nsfw,
required this.type,
});
@override
String toString() {
return 'Extension()';
}
}
@freezed
@HiveType(typeId: types.extensionAdapterType, adapterName: names.extensionModelAdapterName)
abstract class ExtensionModel with _$ExtensionModel implements Extension {
const factory ExtensionModel({
@HiveField(0) required String name,
@HiveField(1) required String pkg,
@HiveField(2) required String apk,
@HiveField(3) required String icon,
@HiveField(4) required String lang,
@HiveField(5) required String version,
@HiveField(6) required int nsfw,
@HiveField(7) required String type,
}) = _ExtensionModel;
factory ExtensionModel.empty() => const ExtensionModel(
name: '',
pkg: '',
apk: '',
icon: '',
lang: '',
version: '',
nsfw: 0,
type: 'Aniyomi',
);
factory ExtensionModel.fromJson(Map<String, dynamic> json) => _$ExtensionModelFromJson(json);
@override
Map<String, dynamic> toJson() => _$ExtensionModelToJson(this as _ExtensionModel);
}
class ExtensionConverter implements JsonConverter<Extension, Map<String, dynamic>> {
const ExtensionConverter();
@override
Extension fromJson(Map<String, dynamic> json) => ExtensionModel.fromJson(json);
@override
Map<String, dynamic> toJson(Extension object) => (object as ExtensionModel).toJson();
}

View File

@@ -0,0 +1,290 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
// coverage:ignore-file
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
part of 'extension.dart';
// **************************************************************************
// FreezedGenerator
// **************************************************************************
// dart format off
T _$identity<T>(T value) => value;
/// @nodoc
mixin _$ExtensionModel {
@HiveField(0) String get name;@HiveField(1) String get pkg;@HiveField(2) String get apk;@HiveField(3) String get icon;@HiveField(4) String get lang;@HiveField(5) String get version;@HiveField(6) int get nsfw;@HiveField(7) String get type;
/// Create a copy of ExtensionModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$ExtensionModelCopyWith<ExtensionModel> get copyWith => _$ExtensionModelCopyWithImpl<ExtensionModel>(this as ExtensionModel, _$identity);
/// Serializes this ExtensionModel to a JSON map.
Map<String, dynamic> toJson();
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is ExtensionModel&&(identical(other.name, name) || other.name == name)&&(identical(other.pkg, pkg) || other.pkg == pkg)&&(identical(other.apk, apk) || other.apk == apk)&&(identical(other.icon, icon) || other.icon == icon)&&(identical(other.lang, lang) || other.lang == lang)&&(identical(other.version, version) || other.version == version)&&(identical(other.nsfw, nsfw) || other.nsfw == nsfw)&&(identical(other.type, type) || other.type == type));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,name,pkg,apk,icon,lang,version,nsfw,type);
}
/// @nodoc
abstract mixin class $ExtensionModelCopyWith<$Res> {
factory $ExtensionModelCopyWith(ExtensionModel value, $Res Function(ExtensionModel) _then) = _$ExtensionModelCopyWithImpl;
@useResult
$Res call({
@HiveField(0) String name,@HiveField(1) String pkg,@HiveField(2) String apk,@HiveField(3) String icon,@HiveField(4) String lang,@HiveField(5) String version,@HiveField(6) int nsfw,@HiveField(7) String type
});
}
/// @nodoc
class _$ExtensionModelCopyWithImpl<$Res>
implements $ExtensionModelCopyWith<$Res> {
_$ExtensionModelCopyWithImpl(this._self, this._then);
final ExtensionModel _self;
final $Res Function(ExtensionModel) _then;
/// Create a copy of ExtensionModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? name = null,Object? pkg = null,Object? apk = null,Object? icon = null,Object? lang = null,Object? version = null,Object? nsfw = null,Object? type = null,}) {
return _then(_self.copyWith(
name: null == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String,pkg: null == pkg ? _self.pkg : pkg // ignore: cast_nullable_to_non_nullable
as String,apk: null == apk ? _self.apk : apk // ignore: cast_nullable_to_non_nullable
as String,icon: null == icon ? _self.icon : icon // ignore: cast_nullable_to_non_nullable
as String,lang: null == lang ? _self.lang : lang // ignore: cast_nullable_to_non_nullable
as String,version: null == version ? _self.version : version // ignore: cast_nullable_to_non_nullable
as String,nsfw: null == nsfw ? _self.nsfw : nsfw // ignore: cast_nullable_to_non_nullable
as int,type: null == type ? _self.type : type // ignore: cast_nullable_to_non_nullable
as String,
));
}
}
/// Adds pattern-matching-related methods to [ExtensionModel].
extension ExtensionModelPatterns on ExtensionModel {
/// A variant of `map` that fallback to returning `orElse`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
/// case final Subclass value:
/// return ...;
/// case _:
/// return orElse();
/// }
/// ```
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _ExtensionModel value)? $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _ExtensionModel() when $default != null:
return $default(_that);case _:
return orElse();
}
}
/// A `switch`-like method, using callbacks.
///
/// Callbacks receives the raw object, upcasted.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
/// case final Subclass value:
/// return ...;
/// case final Subclass2 value:
/// return ...;
/// }
/// ```
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _ExtensionModel value) $default,){
final _that = this;
switch (_that) {
case _ExtensionModel():
return $default(_that);case _:
throw StateError('Unexpected subclass');
}
}
/// A variant of `map` that fallback to returning `null`.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
/// case final Subclass value:
/// return ...;
/// case _:
/// return null;
/// }
/// ```
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _ExtensionModel value)? $default,){
final _that = this;
switch (_that) {
case _ExtensionModel() when $default != null:
return $default(_that);case _:
return null;
}
}
/// A variant of `when` that fallback to an `orElse` callback.
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
/// case Subclass(:final field):
/// return ...;
/// case _:
/// return orElse();
/// }
/// ```
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function(@HiveField(0) String name, @HiveField(1) String pkg, @HiveField(2) String apk, @HiveField(3) String icon, @HiveField(4) String lang, @HiveField(5) String version, @HiveField(6) int nsfw, @HiveField(7) String type)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _ExtensionModel() when $default != null:
return $default(_that.name,_that.pkg,_that.apk,_that.icon,_that.lang,_that.version,_that.nsfw,_that.type);case _:
return orElse();
}
}
/// A `switch`-like method, using callbacks.
///
/// As opposed to `map`, this offers destructuring.
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
/// case Subclass(:final field):
/// return ...;
/// case Subclass2(:final field2):
/// return ...;
/// }
/// ```
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function(@HiveField(0) String name, @HiveField(1) String pkg, @HiveField(2) String apk, @HiveField(3) String icon, @HiveField(4) String lang, @HiveField(5) String version, @HiveField(6) int nsfw, @HiveField(7) String type) $default,) {final _that = this;
switch (_that) {
case _ExtensionModel():
return $default(_that.name,_that.pkg,_that.apk,_that.icon,_that.lang,_that.version,_that.nsfw,_that.type);case _:
throw StateError('Unexpected subclass');
}
}
/// A variant of `when` that fallback to returning `null`
///
/// It is equivalent to doing:
/// ```dart
/// switch (sealedClass) {
/// case Subclass(:final field):
/// return ...;
/// case _:
/// return null;
/// }
/// ```
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function(@HiveField(0) String name, @HiveField(1) String pkg, @HiveField(2) String apk, @HiveField(3) String icon, @HiveField(4) String lang, @HiveField(5) String version, @HiveField(6) int nsfw, @HiveField(7) String type)? $default,) {final _that = this;
switch (_that) {
case _ExtensionModel() when $default != null:
return $default(_that.name,_that.pkg,_that.apk,_that.icon,_that.lang,_that.version,_that.nsfw,_that.type);case _:
return null;
}
}
}
/// @nodoc
@JsonSerializable()
class _ExtensionModel implements ExtensionModel {
const _ExtensionModel({@HiveField(0) required this.name, @HiveField(1) required this.pkg, @HiveField(2) required this.apk, @HiveField(3) required this.icon, @HiveField(4) required this.lang, @HiveField(5) required this.version, @HiveField(6) required this.nsfw, @HiveField(7) required this.type});
factory _ExtensionModel.fromJson(Map<String, dynamic> json) => _$ExtensionModelFromJson(json);
@override@HiveField(0) final String name;
@override@HiveField(1) final String pkg;
@override@HiveField(2) final String apk;
@override@HiveField(3) final String icon;
@override@HiveField(4) final String lang;
@override@HiveField(5) final String version;
@override@HiveField(6) final int nsfw;
@override@HiveField(7) final String type;
/// Create a copy of ExtensionModel
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$ExtensionModelCopyWith<_ExtensionModel> get copyWith => __$ExtensionModelCopyWithImpl<_ExtensionModel>(this, _$identity);
@override
Map<String, dynamic> toJson() {
return _$ExtensionModelToJson(this, );
}
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is _ExtensionModel&&(identical(other.name, name) || other.name == name)&&(identical(other.pkg, pkg) || other.pkg == pkg)&&(identical(other.apk, apk) || other.apk == apk)&&(identical(other.icon, icon) || other.icon == icon)&&(identical(other.lang, lang) || other.lang == lang)&&(identical(other.version, version) || other.version == version)&&(identical(other.nsfw, nsfw) || other.nsfw == nsfw)&&(identical(other.type, type) || other.type == type));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,name,pkg,apk,icon,lang,version,nsfw,type);
}
/// @nodoc
abstract mixin class _$ExtensionModelCopyWith<$Res> implements $ExtensionModelCopyWith<$Res> {
factory _$ExtensionModelCopyWith(_ExtensionModel value, $Res Function(_ExtensionModel) _then) = __$ExtensionModelCopyWithImpl;
@override @useResult
$Res call({
@HiveField(0) String name,@HiveField(1) String pkg,@HiveField(2) String apk,@HiveField(3) String icon,@HiveField(4) String lang,@HiveField(5) String version,@HiveField(6) int nsfw,@HiveField(7) String type
});
}
/// @nodoc
class __$ExtensionModelCopyWithImpl<$Res>
implements _$ExtensionModelCopyWith<$Res> {
__$ExtensionModelCopyWithImpl(this._self, this._then);
final _ExtensionModel _self;
final $Res Function(_ExtensionModel) _then;
/// Create a copy of ExtensionModel
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? name = null,Object? pkg = null,Object? apk = null,Object? icon = null,Object? lang = null,Object? version = null,Object? nsfw = null,Object? type = null,}) {
return _then(_ExtensionModel(
name: null == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String,pkg: null == pkg ? _self.pkg : pkg // ignore: cast_nullable_to_non_nullable
as String,apk: null == apk ? _self.apk : apk // ignore: cast_nullable_to_non_nullable
as String,icon: null == icon ? _self.icon : icon // ignore: cast_nullable_to_non_nullable
as String,lang: null == lang ? _self.lang : lang // ignore: cast_nullable_to_non_nullable
as String,version: null == version ? _self.version : version // ignore: cast_nullable_to_non_nullable
as String,nsfw: null == nsfw ? _self.nsfw : nsfw // ignore: cast_nullable_to_non_nullable
as int,type: null == type ? _self.type : type // ignore: cast_nullable_to_non_nullable
as String,
));
}
}
// dart format on

View File

@@ -0,0 +1,90 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'extension.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class ExtensionModelAdapter extends TypeAdapter<ExtensionModel> {
@override
final typeId = 7;
@override
ExtensionModel read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return ExtensionModel(
name: fields[0] as String,
pkg: fields[1] as String,
apk: fields[2] as String,
icon: fields[3] as String,
lang: fields[4] as String,
version: fields[5] as String,
nsfw: (fields[6] as num).toInt(),
type: fields[7] as String,
);
}
@override
void write(BinaryWriter writer, ExtensionModel obj) {
writer
..writeByte(8)
..writeByte(0)
..write(obj.name)
..writeByte(1)
..write(obj.pkg)
..writeByte(2)
..write(obj.apk)
..writeByte(3)
..write(obj.icon)
..writeByte(4)
..write(obj.lang)
..writeByte(5)
..write(obj.version)
..writeByte(6)
..write(obj.nsfw)
..writeByte(7)
..write(obj.type);
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is ExtensionModelAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
_ExtensionModel _$ExtensionModelFromJson(Map<String, dynamic> json) =>
_ExtensionModel(
name: json['name'] as String,
pkg: json['pkg'] as String,
apk: json['apk'] as String,
icon: json['icon'] as String,
lang: json['lang'] as String,
version: json['version'] as String,
nsfw: (json['nsfw'] as num).toInt(),
type: json['type'] as String,
);
Map<String, dynamic> _$ExtensionModelToJson(_ExtensionModel instance) =>
<String, dynamic>{
'name': instance.name,
'pkg': instance.pkg,
'apk': instance.apk,
'icon': instance.icon,
'lang': instance.lang,
'version': instance.version,
'nsfw': instance.nsfw,
'type': instance.type,
};

View File

@@ -4,39 +4,53 @@ import 'package:unyo/core/enums/episode_service.dart';
import 'package:unyo/core/enums/service.dart';
import 'package:unyo/data/adapters/adapters_names.dart' as names;
import 'package:unyo/data/adapters/adapters_types.dart' as types;
import 'package:unyo/config/config.dart' as config;
import 'package:unyo/domain/entities/extension.dart';
part 'settings.freezed.dart';
part 'settings.g.dart';
abstract class Settings {
final String language;
final Service service;
final EpisodeService episodeService;
final List<Extension> installedAnimeExtensions;
final List<Extension> installedMangaExtensions;
final String aniyomiExtensionsRepositoryUrl;
final String tachiyomiExtensionsRepositoryUrl;
const Settings(this.episodeService, {required this.service, required this.language});
const Settings({
required this.service,
required this.language,
required this.episodeService,
required this.installedAnimeExtensions,
required this.installedMangaExtensions,
required this.aniyomiExtensionsRepositoryUrl,
required this.tachiyomiExtensionsRepositoryUrl
});
}
@freezed
@HiveType(typeId: types.settingsAdapterType, adapterName: names.settingsModelAdapterName)
abstract class SettingsModel with _$SettingsModel implements Settings {
const factory SettingsModel({
@HiveField(0) required String language,
@HiveField(1) required Service service,
@HiveField(2) required EpisodeService episodeService,
@HiveField(0) @Default('en') String language,
@HiveField(1) @Default(Service.anilist) Service service,
@HiveField(2) @Default(EpisodeService.anizip) EpisodeService episodeService,
@HiveField(3) @ExtensionConverter() @Default([]) List<Extension> installedAnimeExtensions,
@HiveField(4) @ExtensionConverter() @Default([]) List<Extension> installedMangaExtensions,
@HiveField(5) @Default(config.aniyomiExtensionsRepositoryUrl) String aniyomiExtensionsRepositoryUrl,
@HiveField(6) @Default(config.tachiyomiExtensionsRepositoryUrl) String tachiyomiExtensionsRepositoryUrl,
}) = _SettingsModel;
factory SettingsModel.empty() => const SettingsModel(
language: 'en',
service: Service.anilist,
episodeService: EpisodeService.anizip
);
factory SettingsModel.empty() =>
const SettingsModel();
factory SettingsModel.fromJson(Map<String, dynamic> json) =>
_$SettingsModelFromJson(json);
factory SettingsModel.fromJson(Map<String, dynamic> json) => _$SettingsModelFromJson(json);
@override
Map<String, dynamic> toJson() =>
_$SettingsModelToJson(this as _SettingsModel);
Map<String, dynamic> toJson() => _$SettingsModelToJson(this as _SettingsModel);
}
class SettingsConverter implements JsonConverter<Settings, Map<String, dynamic>> {
@@ -46,6 +60,5 @@ class SettingsConverter implements JsonConverter<Settings, Map<String, dynamic>>
Settings fromJson(Map<String, dynamic> json) => SettingsModel.fromJson(json);
@override
Map<String, dynamic> toJson(Settings object) =>
(object as SettingsModel).toJson();
}
Map<String, dynamic> toJson(Settings object) => (object as SettingsModel).toJson();
}

View File

@@ -15,7 +15,7 @@ T _$identity<T>(T value) => value;
/// @nodoc
mixin _$SettingsModel {
@HiveField(0) String get language;@HiveField(1) Service get service;@HiveField(2) EpisodeService get episodeService;
@HiveField(0) String get language;@HiveField(1) Service get service;@HiveField(2) EpisodeService get episodeService;@HiveField(3)@ExtensionConverter() List<Extension> get installedAnimeExtensions;@HiveField(4)@ExtensionConverter() List<Extension> get installedMangaExtensions;@HiveField(5) String get aniyomiExtensionsRepositoryUrl;@HiveField(6) String get tachiyomiExtensionsRepositoryUrl;
/// Create a copy of SettingsModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@@ -28,16 +28,16 @@ $SettingsModelCopyWith<SettingsModel> get copyWith => _$SettingsModelCopyWithImp
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is SettingsModel&&(identical(other.language, language) || other.language == language)&&(identical(other.service, service) || other.service == service)&&(identical(other.episodeService, episodeService) || other.episodeService == episodeService));
return identical(this, other) || (other.runtimeType == runtimeType&&other is SettingsModel&&(identical(other.language, language) || other.language == language)&&(identical(other.service, service) || other.service == service)&&(identical(other.episodeService, episodeService) || other.episodeService == episodeService)&&const DeepCollectionEquality().equals(other.installedAnimeExtensions, installedAnimeExtensions)&&const DeepCollectionEquality().equals(other.installedMangaExtensions, installedMangaExtensions)&&(identical(other.aniyomiExtensionsRepositoryUrl, aniyomiExtensionsRepositoryUrl) || other.aniyomiExtensionsRepositoryUrl == aniyomiExtensionsRepositoryUrl)&&(identical(other.tachiyomiExtensionsRepositoryUrl, tachiyomiExtensionsRepositoryUrl) || other.tachiyomiExtensionsRepositoryUrl == tachiyomiExtensionsRepositoryUrl));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,language,service,episodeService);
int get hashCode => Object.hash(runtimeType,language,service,episodeService,const DeepCollectionEquality().hash(installedAnimeExtensions),const DeepCollectionEquality().hash(installedMangaExtensions),aniyomiExtensionsRepositoryUrl,tachiyomiExtensionsRepositoryUrl);
@override
String toString() {
return 'SettingsModel(language: $language, service: $service, episodeService: $episodeService)';
return 'SettingsModel(language: $language, service: $service, episodeService: $episodeService, installedAnimeExtensions: $installedAnimeExtensions, installedMangaExtensions: $installedMangaExtensions, aniyomiExtensionsRepositoryUrl: $aniyomiExtensionsRepositoryUrl, tachiyomiExtensionsRepositoryUrl: $tachiyomiExtensionsRepositoryUrl)';
}
@@ -48,7 +48,7 @@ abstract mixin class $SettingsModelCopyWith<$Res> {
factory $SettingsModelCopyWith(SettingsModel value, $Res Function(SettingsModel) _then) = _$SettingsModelCopyWithImpl;
@useResult
$Res call({
@HiveField(0) String language,@HiveField(1) Service service,@HiveField(2) EpisodeService episodeService
@HiveField(0) String language,@HiveField(1) Service service,@HiveField(2) EpisodeService episodeService,@HiveField(3)@ExtensionConverter() List<Extension> installedAnimeExtensions,@HiveField(4)@ExtensionConverter() List<Extension> installedMangaExtensions,@HiveField(5) String aniyomiExtensionsRepositoryUrl,@HiveField(6) String tachiyomiExtensionsRepositoryUrl
});
@@ -65,12 +65,16 @@ class _$SettingsModelCopyWithImpl<$Res>
/// Create a copy of SettingsModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? language = null,Object? service = null,Object? episodeService = null,}) {
@pragma('vm:prefer-inline') @override $Res call({Object? language = null,Object? service = null,Object? episodeService = null,Object? installedAnimeExtensions = null,Object? installedMangaExtensions = null,Object? aniyomiExtensionsRepositoryUrl = null,Object? tachiyomiExtensionsRepositoryUrl = null,}) {
return _then(_self.copyWith(
language: null == language ? _self.language : language // ignore: cast_nullable_to_non_nullable
as String,service: null == service ? _self.service : service // ignore: cast_nullable_to_non_nullable
as Service,episodeService: null == episodeService ? _self.episodeService : episodeService // ignore: cast_nullable_to_non_nullable
as EpisodeService,
as EpisodeService,installedAnimeExtensions: null == installedAnimeExtensions ? _self.installedAnimeExtensions : installedAnimeExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,installedMangaExtensions: null == installedMangaExtensions ? _self.installedMangaExtensions : installedMangaExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,aniyomiExtensionsRepositoryUrl: null == aniyomiExtensionsRepositoryUrl ? _self.aniyomiExtensionsRepositoryUrl : aniyomiExtensionsRepositoryUrl // ignore: cast_nullable_to_non_nullable
as String,tachiyomiExtensionsRepositoryUrl: null == tachiyomiExtensionsRepositoryUrl ? _self.tachiyomiExtensionsRepositoryUrl : tachiyomiExtensionsRepositoryUrl // ignore: cast_nullable_to_non_nullable
as String,
));
}
@@ -155,10 +159,10 @@ return $default(_that);case _:
/// }
/// ```
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function(@HiveField(0) String language, @HiveField(1) Service service, @HiveField(2) EpisodeService episodeService)? $default,{required TResult orElse(),}) {final _that = this;
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function(@HiveField(0) String language, @HiveField(1) Service service, @HiveField(2) EpisodeService episodeService, @HiveField(3)@ExtensionConverter() List<Extension> installedAnimeExtensions, @HiveField(4)@ExtensionConverter() List<Extension> installedMangaExtensions, @HiveField(5) String aniyomiExtensionsRepositoryUrl, @HiveField(6) String tachiyomiExtensionsRepositoryUrl)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _SettingsModel() when $default != null:
return $default(_that.language,_that.service,_that.episodeService);case _:
return $default(_that.language,_that.service,_that.episodeService,_that.installedAnimeExtensions,_that.installedMangaExtensions,_that.aniyomiExtensionsRepositoryUrl,_that.tachiyomiExtensionsRepositoryUrl);case _:
return orElse();
}
@@ -176,10 +180,10 @@ return $default(_that.language,_that.service,_that.episodeService);case _:
/// }
/// ```
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function(@HiveField(0) String language, @HiveField(1) Service service, @HiveField(2) EpisodeService episodeService) $default,) {final _that = this;
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function(@HiveField(0) String language, @HiveField(1) Service service, @HiveField(2) EpisodeService episodeService, @HiveField(3)@ExtensionConverter() List<Extension> installedAnimeExtensions, @HiveField(4)@ExtensionConverter() List<Extension> installedMangaExtensions, @HiveField(5) String aniyomiExtensionsRepositoryUrl, @HiveField(6) String tachiyomiExtensionsRepositoryUrl) $default,) {final _that = this;
switch (_that) {
case _SettingsModel():
return $default(_that.language,_that.service,_that.episodeService);case _:
return $default(_that.language,_that.service,_that.episodeService,_that.installedAnimeExtensions,_that.installedMangaExtensions,_that.aniyomiExtensionsRepositoryUrl,_that.tachiyomiExtensionsRepositoryUrl);case _:
throw StateError('Unexpected subclass');
}
@@ -196,10 +200,10 @@ return $default(_that.language,_that.service,_that.episodeService);case _:
/// }
/// ```
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function(@HiveField(0) String language, @HiveField(1) Service service, @HiveField(2) EpisodeService episodeService)? $default,) {final _that = this;
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function(@HiveField(0) String language, @HiveField(1) Service service, @HiveField(2) EpisodeService episodeService, @HiveField(3)@ExtensionConverter() List<Extension> installedAnimeExtensions, @HiveField(4)@ExtensionConverter() List<Extension> installedMangaExtensions, @HiveField(5) String aniyomiExtensionsRepositoryUrl, @HiveField(6) String tachiyomiExtensionsRepositoryUrl)? $default,) {final _that = this;
switch (_that) {
case _SettingsModel() when $default != null:
return $default(_that.language,_that.service,_that.episodeService);case _:
return $default(_that.language,_that.service,_that.episodeService,_that.installedAnimeExtensions,_that.installedMangaExtensions,_that.aniyomiExtensionsRepositoryUrl,_that.tachiyomiExtensionsRepositoryUrl);case _:
return null;
}
@@ -211,12 +215,28 @@ return $default(_that.language,_that.service,_that.episodeService);case _:
@JsonSerializable()
class _SettingsModel implements SettingsModel {
const _SettingsModel({@HiveField(0) required this.language, @HiveField(1) required this.service, @HiveField(2) required this.episodeService});
const _SettingsModel({@HiveField(0) this.language = 'en', @HiveField(1) this.service = Service.anilist, @HiveField(2) this.episodeService = EpisodeService.anizip, @HiveField(3)@ExtensionConverter() final List<Extension> installedAnimeExtensions = const [], @HiveField(4)@ExtensionConverter() final List<Extension> installedMangaExtensions = const [], @HiveField(5) this.aniyomiExtensionsRepositoryUrl = config.aniyomiExtensionsRepositoryUrl, @HiveField(6) this.tachiyomiExtensionsRepositoryUrl = config.tachiyomiExtensionsRepositoryUrl}): _installedAnimeExtensions = installedAnimeExtensions,_installedMangaExtensions = installedMangaExtensions;
factory _SettingsModel.fromJson(Map<String, dynamic> json) => _$SettingsModelFromJson(json);
@override@HiveField(0) final String language;
@override@HiveField(1) final Service service;
@override@HiveField(2) final EpisodeService episodeService;
@override@JsonKey()@HiveField(0) final String language;
@override@JsonKey()@HiveField(1) final Service service;
@override@JsonKey()@HiveField(2) final EpisodeService episodeService;
final List<Extension> _installedAnimeExtensions;
@override@JsonKey()@HiveField(3)@ExtensionConverter() List<Extension> get installedAnimeExtensions {
if (_installedAnimeExtensions is EqualUnmodifiableListView) return _installedAnimeExtensions;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_installedAnimeExtensions);
}
final List<Extension> _installedMangaExtensions;
@override@JsonKey()@HiveField(4)@ExtensionConverter() List<Extension> get installedMangaExtensions {
if (_installedMangaExtensions is EqualUnmodifiableListView) return _installedMangaExtensions;
// ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_installedMangaExtensions);
}
@override@JsonKey()@HiveField(5) final String aniyomiExtensionsRepositoryUrl;
@override@JsonKey()@HiveField(6) final String tachiyomiExtensionsRepositoryUrl;
/// Create a copy of SettingsModel
/// with the given fields replaced by the non-null parameter values.
@@ -231,16 +251,16 @@ Map<String, dynamic> toJson() {
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is _SettingsModel&&(identical(other.language, language) || other.language == language)&&(identical(other.service, service) || other.service == service)&&(identical(other.episodeService, episodeService) || other.episodeService == episodeService));
return identical(this, other) || (other.runtimeType == runtimeType&&other is _SettingsModel&&(identical(other.language, language) || other.language == language)&&(identical(other.service, service) || other.service == service)&&(identical(other.episodeService, episodeService) || other.episodeService == episodeService)&&const DeepCollectionEquality().equals(other._installedAnimeExtensions, _installedAnimeExtensions)&&const DeepCollectionEquality().equals(other._installedMangaExtensions, _installedMangaExtensions)&&(identical(other.aniyomiExtensionsRepositoryUrl, aniyomiExtensionsRepositoryUrl) || other.aniyomiExtensionsRepositoryUrl == aniyomiExtensionsRepositoryUrl)&&(identical(other.tachiyomiExtensionsRepositoryUrl, tachiyomiExtensionsRepositoryUrl) || other.tachiyomiExtensionsRepositoryUrl == tachiyomiExtensionsRepositoryUrl));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,language,service,episodeService);
int get hashCode => Object.hash(runtimeType,language,service,episodeService,const DeepCollectionEquality().hash(_installedAnimeExtensions),const DeepCollectionEquality().hash(_installedMangaExtensions),aniyomiExtensionsRepositoryUrl,tachiyomiExtensionsRepositoryUrl);
@override
String toString() {
return 'SettingsModel(language: $language, service: $service, episodeService: $episodeService)';
return 'SettingsModel(language: $language, service: $service, episodeService: $episodeService, installedAnimeExtensions: $installedAnimeExtensions, installedMangaExtensions: $installedMangaExtensions, aniyomiExtensionsRepositoryUrl: $aniyomiExtensionsRepositoryUrl, tachiyomiExtensionsRepositoryUrl: $tachiyomiExtensionsRepositoryUrl)';
}
@@ -251,7 +271,7 @@ abstract mixin class _$SettingsModelCopyWith<$Res> implements $SettingsModelCopy
factory _$SettingsModelCopyWith(_SettingsModel value, $Res Function(_SettingsModel) _then) = __$SettingsModelCopyWithImpl;
@override @useResult
$Res call({
@HiveField(0) String language,@HiveField(1) Service service,@HiveField(2) EpisodeService episodeService
@HiveField(0) String language,@HiveField(1) Service service,@HiveField(2) EpisodeService episodeService,@HiveField(3)@ExtensionConverter() List<Extension> installedAnimeExtensions,@HiveField(4)@ExtensionConverter() List<Extension> installedMangaExtensions,@HiveField(5) String aniyomiExtensionsRepositoryUrl,@HiveField(6) String tachiyomiExtensionsRepositoryUrl
});
@@ -268,12 +288,16 @@ class __$SettingsModelCopyWithImpl<$Res>
/// Create a copy of SettingsModel
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? language = null,Object? service = null,Object? episodeService = null,}) {
@override @pragma('vm:prefer-inline') $Res call({Object? language = null,Object? service = null,Object? episodeService = null,Object? installedAnimeExtensions = null,Object? installedMangaExtensions = null,Object? aniyomiExtensionsRepositoryUrl = null,Object? tachiyomiExtensionsRepositoryUrl = null,}) {
return _then(_SettingsModel(
language: null == language ? _self.language : language // ignore: cast_nullable_to_non_nullable
as String,service: null == service ? _self.service : service // ignore: cast_nullable_to_non_nullable
as Service,episodeService: null == episodeService ? _self.episodeService : episodeService // ignore: cast_nullable_to_non_nullable
as EpisodeService,
as EpisodeService,installedAnimeExtensions: null == installedAnimeExtensions ? _self._installedAnimeExtensions : installedAnimeExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,installedMangaExtensions: null == installedMangaExtensions ? _self._installedMangaExtensions : installedMangaExtensions // ignore: cast_nullable_to_non_nullable
as List<Extension>,aniyomiExtensionsRepositoryUrl: null == aniyomiExtensionsRepositoryUrl ? _self.aniyomiExtensionsRepositoryUrl : aniyomiExtensionsRepositoryUrl // ignore: cast_nullable_to_non_nullable
as String,tachiyomiExtensionsRepositoryUrl: null == tachiyomiExtensionsRepositoryUrl ? _self.tachiyomiExtensionsRepositoryUrl : tachiyomiExtensionsRepositoryUrl // ignore: cast_nullable_to_non_nullable
as String,
));
}

View File

@@ -17,22 +17,45 @@ class SettingsModelAdapter extends TypeAdapter<SettingsModel> {
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return SettingsModel(
language: fields[0] as String,
service: fields[1] as Service,
episodeService: fields[2] as EpisodeService,
language: fields[0] == null ? 'en' : fields[0] as String,
service: fields[1] == null ? Service.anilist : fields[1] as Service,
episodeService:
fields[2] == null
? EpisodeService.anizip
: fields[2] as EpisodeService,
installedAnimeExtensions:
fields[3] == null ? [] : (fields[3] as List).cast<Extension>(),
installedMangaExtensions:
fields[4] == null ? [] : (fields[4] as List).cast<Extension>(),
aniyomiExtensionsRepositoryUrl:
fields[5] == null
? 'https://gitea.k3vinb5.dev/Backups/kohi-den-extensions/raw/branch/main/index.min.json'
: fields[5] as String,
tachiyomiExtensionsRepositoryUrl:
fields[6] == null
? 'https://gitea.k3vinb5.dev/Backups/keiyoushi-extensions/raw/branch/repo/index.min.json'
: fields[6] as String,
);
}
@override
void write(BinaryWriter writer, SettingsModel obj) {
writer
..writeByte(3)
..writeByte(7)
..writeByte(0)
..write(obj.language)
..writeByte(1)
..write(obj.service)
..writeByte(2)
..write(obj.episodeService);
..write(obj.episodeService)
..writeByte(3)
..write(obj.installedAnimeExtensions)
..writeByte(4)
..write(obj.installedMangaExtensions)
..writeByte(5)
..write(obj.aniyomiExtensionsRepositoryUrl)
..writeByte(6)
..write(obj.tachiyomiExtensionsRepositoryUrl);
}
@override
@@ -50,22 +73,56 @@ class SettingsModelAdapter extends TypeAdapter<SettingsModel> {
// JsonSerializableGenerator
// **************************************************************************
_SettingsModel _$SettingsModelFromJson(Map<String, dynamic> json) =>
_SettingsModel(
language: json['language'] as String,
service: $enumDecode(_$ServiceEnumMap, json['service']),
episodeService: $enumDecode(
_$EpisodeServiceEnumMap,
json['episodeService'],
),
);
_SettingsModel _$SettingsModelFromJson(
Map<String, dynamic> json,
) => _SettingsModel(
language: json['language'] as String? ?? 'en',
service:
$enumDecodeNullable(_$ServiceEnumMap, json['service']) ?? Service.anilist,
episodeService:
$enumDecodeNullable(_$EpisodeServiceEnumMap, json['episodeService']) ??
EpisodeService.anizip,
installedAnimeExtensions:
(json['installedAnimeExtensions'] as List<dynamic>?)
?.map(
(e) =>
const ExtensionConverter().fromJson(e as Map<String, dynamic>),
)
.toList() ??
const [],
installedMangaExtensions:
(json['installedMangaExtensions'] as List<dynamic>?)
?.map(
(e) =>
const ExtensionConverter().fromJson(e as Map<String, dynamic>),
)
.toList() ??
const [],
aniyomiExtensionsRepositoryUrl:
json['aniyomiExtensionsRepositoryUrl'] as String? ??
config.aniyomiExtensionsRepositoryUrl,
tachiyomiExtensionsRepositoryUrl:
json['tachiyomiExtensionsRepositoryUrl'] as String? ??
config.tachiyomiExtensionsRepositoryUrl,
);
Map<String, dynamic> _$SettingsModelToJson(_SettingsModel instance) =>
<String, dynamic>{
'language': instance.language,
'service': _$ServiceEnumMap[instance.service]!,
'episodeService': _$EpisodeServiceEnumMap[instance.episodeService]!,
};
Map<String, dynamic> _$SettingsModelToJson(
_SettingsModel instance,
) => <String, dynamic>{
'language': instance.language,
'service': _$ServiceEnumMap[instance.service]!,
'episodeService': _$EpisodeServiceEnumMap[instance.episodeService]!,
'installedAnimeExtensions':
instance.installedAnimeExtensions
.map(const ExtensionConverter().toJson)
.toList(),
'installedMangaExtensions':
instance.installedMangaExtensions
.map(const ExtensionConverter().toJson)
.toList(),
'aniyomiExtensionsRepositoryUrl': instance.aniyomiExtensionsRepositoryUrl,
'tachiyomiExtensionsRepositoryUrl': instance.tachiyomiExtensionsRepositoryUrl,
};
const _$ServiceEnumMap = {
Service.anilist: 'anilist',

View File

@@ -0,0 +1,10 @@
import 'package:unyo/domain/entities/extension.dart';
import 'package:unyo/domain/entities/user.dart';
abstract class ExtensionRepository {
Future<Set<Extension>> getAvailableAnimeExtensions(User loggedUser);
Future<Set<Extension>> getAvailableMangaExtensions(User loggedUser);
Future<Set<Extension>> getInstalledAnimeExtensions(User loggedUser);
Future<Set<Extension>> getInstalledMangaExtensions(User loggedUser);
Future<void> updateRepositoryUrl(String newUrl);
}

View File

@@ -1,19 +1,16 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/anime_details_graphql_dto_entity.dart';
AnimeDetailsGraphqlDtoEntity $AnimeDetailsGraphqlDtoEntityFromJson(
Map<String, dynamic> json) {
AnimeDetailsGraphqlDtoEntity $AnimeDetailsGraphqlDtoEntityFromJson(Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoEntity animeDetailsGraphqlDtoEntity = AnimeDetailsGraphqlDtoEntity();
final AnimeDetailsGraphqlDtoData? data = jsonConvert.convert<
AnimeDetailsGraphqlDtoData>(json['data']);
final AnimeDetailsGraphqlDtoData? data = jsonConvert.convert<AnimeDetailsGraphqlDtoData>(json['data']);
if (data != null) {
animeDetailsGraphqlDtoEntity.data = data;
}
return animeDetailsGraphqlDtoEntity;
}
Map<String, dynamic> $AnimeDetailsGraphqlDtoEntityToJson(
AnimeDetailsGraphqlDtoEntity entity) {
Map<String, dynamic> $AnimeDetailsGraphqlDtoEntityToJson(AnimeDetailsGraphqlDtoEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['data'] = entity.data.toJson();
return data;
@@ -28,8 +25,7 @@ extension AnimeDetailsGraphqlDtoEntityExtension on AnimeDetailsGraphqlDtoEntity
}
}
AnimeDetailsGraphqlDtoData $AnimeDetailsGraphqlDtoDataFromJson(
Map<String, dynamic> json) {
AnimeDetailsGraphqlDtoData $AnimeDetailsGraphqlDtoDataFromJson(Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoData animeDetailsGraphqlDtoData = AnimeDetailsGraphqlDtoData();
final AnimeDetailsGraphqlDtoDataMediaList? mediaList = jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaList>(json['MediaList']);
@@ -39,8 +35,7 @@ AnimeDetailsGraphqlDtoData $AnimeDetailsGraphqlDtoDataFromJson(
return animeDetailsGraphqlDtoData;
}
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataToJson(
AnimeDetailsGraphqlDtoData entity) {
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataToJson(AnimeDetailsGraphqlDtoData entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['MediaList'] = entity.mediaList.toJson();
return data;
@@ -55,8 +50,7 @@ extension AnimeDetailsGraphqlDtoDataExtension on AnimeDetailsGraphqlDtoData {
}
}
AnimeDetailsGraphqlDtoDataMediaList $AnimeDetailsGraphqlDtoDataMediaListFromJson(
Map<String, dynamic> json) {
AnimeDetailsGraphqlDtoDataMediaList $AnimeDetailsGraphqlDtoDataMediaListFromJson(Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoDataMediaList animeDetailsGraphqlDtoDataMediaList = AnimeDetailsGraphqlDtoDataMediaList();
final int? progress = jsonConvert.convert<int>(json['progress']);
if (progress != null) {
@@ -78,8 +72,7 @@ AnimeDetailsGraphqlDtoDataMediaList $AnimeDetailsGraphqlDtoDataMediaListFromJson
return animeDetailsGraphqlDtoDataMediaList;
}
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListToJson(
AnimeDetailsGraphqlDtoDataMediaList entity) {
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListToJson(AnimeDetailsGraphqlDtoDataMediaList entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['progress'] = entity.progress;
data['score'] = entity.score;
@@ -106,15 +99,13 @@ extension AnimeDetailsGraphqlDtoDataMediaListExtension on AnimeDetailsGraphqlDto
AnimeDetailsGraphqlDtoDataMediaListMedia $AnimeDetailsGraphqlDtoDataMediaListMediaFromJson(
Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoDataMediaListMedia animeDetailsGraphqlDtoDataMediaListMedia = AnimeDetailsGraphqlDtoDataMediaListMedia();
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations? recommendations = jsonConvert
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations>(
json['recommendations']);
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations? recommendations = jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations>(json['recommendations']);
if (recommendations != null) {
animeDetailsGraphqlDtoDataMediaListMedia.recommendations = recommendations;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaCharacters? characters = jsonConvert
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaCharacters>(
json['characters']);
final AnimeDetailsGraphqlDtoDataMediaListMediaCharacters? characters = jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaCharacters>(json['characters']);
if (characters != null) {
animeDetailsGraphqlDtoDataMediaListMedia.characters = characters;
}
@@ -143,23 +134,18 @@ extension AnimeDetailsGraphqlDtoDataMediaListMediaExtension on AnimeDetailsGraph
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsFromJson(
Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations animeDetailsGraphqlDtoDataMediaListMediaRecommendations = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations();
final List<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>? nodes = (json['nodes'] as List<
dynamic>?)
?.map(
final List<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>? nodes = (json['nodes'] as List<
dynamic>?)?.map(
(e) =>
jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>(
e) as AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes)
.toList();
jsonConvert.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>(
e) as AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes).toList();
if (nodes != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendations.nodes = nodes;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendations;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['nodes'] = entity.nodes.map((v) => v.toJson()).toList();
@@ -179,18 +165,15 @@ AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes $AnimeDetailsGraphq
Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes();
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation? mediaRecommendation = jsonConvert
.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation>(
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation>(
json['mediaRecommendation']);
if (mediaRecommendation != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes
.mediaRecommendation = mediaRecommendation;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes.mediaRecommendation = mediaRecommendation;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['mediaRecommendation'] = entity.mediaRecommendation.toJson();
@@ -211,117 +194,95 @@ AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation();
final int? id = jsonConvert.convert<int>(json['id']);
if (id != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.id = id;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.id = id;
}
final int? idMal = jsonConvert.convert<int>(json['idMal']);
if (idMal != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.idMal = idMal;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.idMal = idMal;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate? startDate = jsonConvert
.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate>(
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate>(
json['startDate']);
if (startDate != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.startDate = startDate;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.startDate = startDate;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate? endDate = jsonConvert
.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate>(
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate>(
json['endDate']);
if (endDate != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.endDate = endDate;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.endDate = endDate;
}
final String? season = jsonConvert.convert<String>(json['season']);
if (season != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.season = season;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.season = season;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.status = status;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.status = status;
}
final bool? isFavourite = jsonConvert.convert<bool>(json['isFavourite']);
if (isFavourite != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.isFavourite = isFavourite;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.isFavourite = isFavourite;
}
final bool? isAdult = jsonConvert.convert<bool>(json['isAdult']);
if (isAdult != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.isAdult = isAdult;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.isAdult = isAdult;
}
final int? episodes = jsonConvert.convert<int>(json['episodes']);
if (episodes != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.episodes = episodes;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.episodes = episodes;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle? title = jsonConvert
.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle>(
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle>(
json['title']);
if (title != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.title = title;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.title = title;
}
final String? bannerImage = jsonConvert.convert<String>(json['bannerImage']);
if (bannerImage != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.bannerImage = bannerImage;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.bannerImage = bannerImage;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage? coverImage = jsonConvert
.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage>(
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage>(
json['coverImage']);
if (coverImage != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.coverImage = coverImage;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.coverImage = coverImage;
}
final int? averageScore = jsonConvert.convert<int>(json['averageScore']);
if (averageScore != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.averageScore = averageScore;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.averageScore =
averageScore;
}
final int? duration = jsonConvert.convert<int>(json['duration']);
if (duration != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.duration = duration;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.duration = duration;
}
final String? format = jsonConvert.convert<String>(json['format']);
if (format != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.format = format;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.format = format;
}
final List<String>? genres = (json['genres'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<String>(e) as String).toList();
if (genres != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.genres = genres;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.genres = genres;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.description = description;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.description = description;
}
final int? meanScore = jsonConvert.convert<int>(json['meanScore']);
if (meanScore != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.meanScore = meanScore;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.meanScore = meanScore;
}
final dynamic nextAiringEpisode = json['nextAiringEpisode'];
if (nextAiringEpisode != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.nextAiringEpisode = nextAiringEpisode;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.nextAiringEpisode =
nextAiringEpisode;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
@@ -347,28 +308,27 @@ Map<String,
}
extension AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationExtension on AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation copyWith(
{
int? id,
int? idMal,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate? startDate,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate? endDate,
String? season,
String? status,
bool? isFavourite,
bool? isAdult,
int? episodes,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle? title,
String? bannerImage,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage? coverImage,
int? averageScore,
int? duration,
String? format,
List<String>? genres,
String? description,
int? meanScore,
dynamic nextAiringEpisode,
}) {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation copyWith({
int? id,
int? idMal,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate? startDate,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate? endDate,
String? season,
String? status,
bool? isFavourite,
bool? isAdult,
int? episodes,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle? title,
String? bannerImage,
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage? coverImage,
int? averageScore,
int? duration,
String? format,
List<String>? genres,
String? description,
int? meanScore,
dynamic nextAiringEpisode,
}) {
return AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation()
..id = id ?? this.id
..idMal = idMal ?? this.idMal
@@ -397,18 +357,15 @@ AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationS
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate
.day = day;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate
.month = month;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate
.year = year;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate.year = year;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate;
}
@@ -424,12 +381,11 @@ Map<String,
}
extension AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDateExtension on AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate copyWith(
{
int? day,
int? month,
int? year,
}) {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -442,18 +398,15 @@ AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationE
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate();
final int? day = jsonConvert.convert<int>(json['day']);
if (day != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate
.day = day;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate.day = day;
}
final int? month = jsonConvert.convert<int>(json['month']);
if (month != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate
.month = month;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate.month = month;
}
final int? year = jsonConvert.convert<int>(json['year']);
if (year != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate
.year = year;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate.year = year;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate;
}
@@ -469,12 +422,11 @@ Map<String,
}
extension AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDateExtension on AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate copyWith(
{
int? day,
int? month,
int? year,
}) {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate copyWith({
int? day,
int? month,
int? year,
}) {
return AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate()
..day = day ?? this.day
..month = month ?? this.month
@@ -487,24 +439,20 @@ AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationT
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle();
final String? english = jsonConvert.convert<String>(json['english']);
if (english != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle
.english = english;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle.english = english;
}
final String? native = jsonConvert.convert<String>(json['native']);
if (native != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle
.native = native;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle.native = native;
}
final String? romaji = jsonConvert.convert<String>(json['romaji']);
if (romaji != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle
.romaji = romaji;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle.romaji = romaji;
}
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle
.userPreferred = userPreferred;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle.userPreferred =
userPreferred;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle;
}
@@ -521,13 +469,12 @@ Map<String,
}
extension AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitleExtension on AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle copyWith(
{
String? english,
String? native,
String? romaji,
String? userPreferred,
}) {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle copyWith({
String? english,
String? native,
String? romaji,
String? userPreferred,
}) {
return AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle()
..english = english ?? this.english
..native = native ?? this.native
@@ -541,8 +488,7 @@ AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationC
final AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage = AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage();
final String? large = jsonConvert.convert<String>(json['large']);
if (large != null) {
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage
.large = large;
animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage.large = large;
}
return animeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage;
}
@@ -556,10 +502,9 @@ Map<String,
}
extension AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImageExtension on AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage copyWith(
{
String? large,
}) {
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage copyWith({
String? large,
}) {
return AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage()
..large = large ?? this.large;
}
@@ -568,15 +513,11 @@ extension AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecom
AnimeDetailsGraphqlDtoDataMediaListMediaCharacters $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersFromJson(
Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoDataMediaListMediaCharacters animeDetailsGraphqlDtoDataMediaListMediaCharacters = AnimeDetailsGraphqlDtoDataMediaListMediaCharacters();
final List<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>? nodes = (json['nodes'] as List<
dynamic>?)
?.map(
final List<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>? nodes = (json['nodes'] as List<
dynamic>?)?.map(
(e) =>
jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>(
e) as AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes)
.toList();
jsonConvert.convert<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>(
e) as AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes).toList();
if (nodes != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharacters.nodes = nodes;
}
@@ -606,15 +547,13 @@ AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes $AnimeDetailsGraphqlDtoD
if (id != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.id = id;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage? image = jsonConvert
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage>(
json['image']);
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage? image = jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage>(json['image']);
if (image != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.image = image;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName? name = jsonConvert
.convert<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName>(
json['name']);
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName? name = jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName>(json['name']);
if (name != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.name = name;
}
@@ -624,16 +563,12 @@ AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes $AnimeDetailsGraphqlDtoD
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.description =
description;
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.description = description;
}
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth? dateOfBirth = jsonConvert
.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth>(
json['dateOfBirth']);
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth? dateOfBirth = jsonConvert.convert<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth>(json['dateOfBirth']);
if (dateOfBirth != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.dateOfBirth =
dateOfBirth;
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.dateOfBirth = dateOfBirth;
}
final String? age = jsonConvert.convert<String>(json['age']);
if (age != null) {
@@ -642,8 +577,7 @@ AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes $AnimeDetailsGraphqlDtoD
return animeDetailsGraphqlDtoDataMediaListMediaCharactersNodes;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
@@ -687,8 +621,7 @@ AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage $AnimeDetailsGraphq
return animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImageToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImageToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['large'] = entity.large;
@@ -707,17 +640,14 @@ extension AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImageExtension
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesNameFromJson(
Map<String, dynamic> json) {
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName = AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName();
final String? userPreferred = jsonConvert.convert<String>(
json['userPreferred']);
final String? userPreferred = jsonConvert.convert<String>(json['userPreferred']);
if (userPreferred != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName.userPreferred =
userPreferred;
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName.userPreferred = userPreferred;
}
return animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesNameToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesNameToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['userPreferred'] = entity.userPreferred;
@@ -738,24 +668,20 @@ AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth $AnimeDetails
final AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth = AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth();
final dynamic day = json['day'];
if (day != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.day =
day;
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.day = day;
}
final dynamic month = json['month'];
if (month != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.month =
month;
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.month = month;
}
final dynamic year = json['year'];
if (year != null) {
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.year =
year;
animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.year = year;
}
return animeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth;
}
Map<String,
dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirthToJson(
Map<String, dynamic> $AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirthToJson(
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['day'] = entity.day;

View File

@@ -0,0 +1,121 @@
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) {
final AniyomiRepoJsonEntity aniyomiRepoJsonEntity = AniyomiRepoJsonEntity();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
aniyomiRepoJsonEntity.name = name;
}
final String? pkg = jsonConvert.convert<String>(json['pkg']);
if (pkg != null) {
aniyomiRepoJsonEntity.pkg = pkg;
}
final String? apk = jsonConvert.convert<String>(json['apk']);
if (apk != null) {
aniyomiRepoJsonEntity.apk = apk;
}
final String? lang = jsonConvert.convert<String>(json['lang']);
if (lang != null) {
aniyomiRepoJsonEntity.lang = lang;
}
final double? code = jsonConvert.convert<double>(json['code']);
if (code != null) {
aniyomiRepoJsonEntity.code = code;
}
final String? version = jsonConvert.convert<String>(json['version']);
if (version != null) {
aniyomiRepoJsonEntity.version = version;
}
final double? nsfw = jsonConvert.convert<double>(json['nsfw']);
if (nsfw != null) {
aniyomiRepoJsonEntity.nsfw = nsfw;
}
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) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['pkg'] = entity.pkg;
data['apk'] = entity.apk;
data['lang'] = entity.lang;
data['code'] = entity.code;
data['version'] = entity.version;
data['nsfw'] = entity.nsfw;
data['sources'] = entity.sources.map((v) => v.toJson()).toList();
return data;
}
extension AniyomiRepoJsonEntityExtension on AniyomiRepoJsonEntity {
AniyomiRepoJsonEntity copyWith({
String? name,
String? pkg,
String? apk,
String? lang,
double? code,
String? version,
double? nsfw,
List<AniyomiRepoJsonSources>? sources,
}) {
return AniyomiRepoJsonEntity()
..name = name ?? this.name
..pkg = pkg ?? this.pkg
..apk = apk ?? this.apk
..lang = lang ?? this.lang
..code = code ?? this.code
..version = version ?? this.version
..nsfw = nsfw ?? this.nsfw
..sources = sources ?? this.sources;
}
}
AniyomiRepoJsonSources $AniyomiRepoJsonSourcesFromJson(Map<String, dynamic> json) {
final AniyomiRepoJsonSources aniyomiRepoJsonSources = AniyomiRepoJsonSources();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
aniyomiRepoJsonSources.name = name;
}
final String? lang = jsonConvert.convert<String>(json['lang']);
if (lang != null) {
aniyomiRepoJsonSources.lang = lang;
}
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
aniyomiRepoJsonSources.id = id;
}
final String? baseUrl = jsonConvert.convert<String>(json['baseUrl']);
if (baseUrl != null) {
aniyomiRepoJsonSources.baseUrl = baseUrl;
}
return aniyomiRepoJsonSources;
}
Map<String, dynamic> $AniyomiRepoJsonSourcesToJson(AniyomiRepoJsonSources entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['lang'] = entity.lang;
data['id'] = entity.id;
data['baseUrl'] = entity.baseUrl;
return data;
}
extension AniyomiRepoJsonSourcesExtension on AniyomiRepoJsonSources {
AniyomiRepoJsonSources copyWith({
String? name,
String? lang,
String? id,
String? baseUrl,
}) {
return AniyomiRepoJsonSources()
..name = name ?? this.name
..lang = lang ?? this.lang
..id = id ?? this.id
..baseUrl = baseUrl ?? this.baseUrl;
}
}

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;

View File

@@ -6,6 +6,8 @@
import 'package:flutter/material.dart' show debugPrint;
import 'package:unyo/core/services/api/dto/anime_details_graphql_dto_entity.dart';
import 'package:unyo/core/services/api/dto/anizip/anizip_episode_info_entity.dart';
import 'package:unyo/core/services/api/dto/extensions/aniyomi_repo_json_entity.dart';
import 'package:unyo/core/services/api/dto/extensions/tachiyomi_repo_json_entity.dart';
import 'package:unyo/core/services/api/dto/media_collection_graphql_dto_entity.dart';
import 'package:unyo/core/services/api/dto/media_collection_recently_completed_graphql_dto_entity.dart';
import 'package:unyo/core/services/api/dto/media_collection_recently_released_graphql_dto_entity.dart';
@@ -69,15 +71,12 @@ class JsonConvert {
}
}
List<T?>? convertList<T>(List<dynamic>? value,
{EnumConvertFunction? enumConvert}) {
List<T?>? convertList<T>(List<dynamic>? value, {EnumConvertFunction? enumConvert}) {
if (value == null) {
return null;
}
try {
return value
.map((dynamic e) => _asT<T>(e, enumConvert: enumConvert))
.toList();
return value.map((dynamic e) => _asT<T>(e, enumConvert: enumConvert)).toList();
} catch (e, stackTrace) {
debugPrint('asT<$T> $e $stackTrace');
if (onError != null) {
@@ -87,14 +86,12 @@ class JsonConvert {
}
}
List<T>? convertListNotNull<T>(dynamic value,
{EnumConvertFunction? enumConvert}) {
List<T>? convertListNotNull<T>(dynamic value, {EnumConvertFunction? enumConvert}) {
if (value == null) {
return null;
}
try {
return (value as List<dynamic>).map((dynamic e) =>
_asT<T>(e, enumConvert: enumConvert)!).toList();
return (value as List<dynamic>).map((dynamic e) => _asT<T>(e, enumConvert: enumConvert)!).toList();
} catch (e, stackTrace) {
debugPrint('asT<$T> $e $stackTrace');
if (onError != null) {
@@ -142,8 +139,7 @@ class JsonConvert {
return covertFunc(Map<String, dynamic>.from(value)) as T;
}
} else {
throw UnimplementedError(
'$type unimplemented,you can try running the app again');
throw UnimplementedError('$type unimplemented,you can try running the app again');
}
}
}
@@ -159,121 +155,111 @@ class JsonConvert {
AnimeDetailsGraphqlDtoData.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaList>[] is M) {
return data.map<AnimeDetailsGraphqlDtoDataMediaList>((
Map<String, dynamic> e) =>
return data.map<AnimeDetailsGraphqlDtoDataMediaList>((Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaList.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMedia>[] is M) {
return data.map<AnimeDetailsGraphqlDtoDataMediaListMedia>((
Map<String, dynamic> e) =>
return data.map<AnimeDetailsGraphqlDtoDataMediaListMedia>((Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMedia.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations>[] is M) {
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations.fromJson(e))
.toList() as M;
return data.map<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations>((Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>[] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes.fromJson(
e)).toList() as M;
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes>((
Map<String, dynamic> e) => AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes.fromJson(e))
.toList() as M;
}
if (<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation>[
] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation>((
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation>[] is M) {
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.fromJson(e)).toList() as M;
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.fromJson(e))
.toList() as M;
}
if (<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate>[
] is M) {
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate>[] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate
.fromJson(e)).toList() as M;
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate.fromJson(
e)).toList() as M;
}
if (<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate>[
] is M) {
return data.map<
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate>[] is M) {
return data
.map<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate
.fromJson(e)).toList() as M;
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationEndDate.fromJson(e))
.toList() as M;
}
if (<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle>[
] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle>((
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle>[] is M) {
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle
.fromJson(e)).toList() as M;
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationTitle.fromJson(e))
.toList() as M;
}
if (<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage>[
] is M) {
if (<AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage>[] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage
.fromJson(e)).toList() as M;
AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage.fromJson(
e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaCharacters>[] is M) {
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharacters>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharacters.fromJson(e))
.toList() as M;
return data.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharacters>((Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharacters.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>[] is M) {
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.fromJson(e))
.toList() as M;
return data.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes>((Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage>[] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage.fromJson(
e)).toList() as M;
return data
.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage>((
Map<String, dynamic> e) => AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage.fromJson(e))
.toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName>[] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName.fromJson(
e)).toList() as M;
return data.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName>((Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName.fromJson(e)).toList() as M;
}
if (<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth>[
] is M) {
return data.map<
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth>((
if (<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth>[] is M) {
return data.map<AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth>((
Map<String, dynamic> e) =>
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth
.fromJson(e)).toList() as M;
AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.fromJson(e)).toList() as M;
}
if (<AnizipEpisodeInfoEntity>[] is M) {
return data.map<AnizipEpisodeInfoEntity>((Map<String, dynamic> e) =>
AnizipEpisodeInfoEntity.fromJson(e)).toList() as M;
}
if (<AnizipEpisodeInfoTitle>[] is M) {
return data.map<AnizipEpisodeInfoTitle>((Map<String, dynamic> e) =>
AnizipEpisodeInfoTitle.fromJson(e)).toList() as M;
return data
.map<AnizipEpisodeInfoTitle>((Map<String, dynamic> e) => AnizipEpisodeInfoTitle.fromJson(e))
.toList() as M;
}
if (<AniyomiRepoJsonEntity>[] is M) {
return data
.map<AniyomiRepoJsonEntity>((Map<String, dynamic> e) => AniyomiRepoJsonEntity.fromJson(e))
.toList() as M;
}
if (<AniyomiRepoJsonSources>[] is M) {
return data
.map<AniyomiRepoJsonSources>((Map<String, dynamic> e) => AniyomiRepoJsonSources.fromJson(e))
.toList() as M;
}
if (<TachiyomiRepoJsonEntity>[] is M) {
return data.map<TachiyomiRepoJsonEntity>((Map<String, dynamic> e) =>
TachiyomiRepoJsonEntity.fromJson(e)).toList() as M;
}
if (<TachiyomiRepoJsonSources>[] is M) {
return data.map<TachiyomiRepoJsonSources>((Map<String, dynamic> e) =>
TachiyomiRepoJsonSources.fromJson(e)).toList() as M;
}
if (<MediaCollectionGraphqlDtoEntity>[] is M) {
return data.map<MediaCollectionGraphqlDtoEntity>((
Map<String, dynamic> e) =>
return data.map<MediaCollectionGraphqlDtoEntity>((Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoEntity.fromJson(e)).toList() as M;
}
if (<MediaCollectionGraphqlDtoData>[] is M) {
@@ -281,326 +267,217 @@ class JsonConvert {
MediaCollectionGraphqlDtoData.fromJson(e)).toList() as M;
}
if (<MediaCollectionGraphqlDtoDataMediaListCollection>[] is M) {
return data
.map<MediaCollectionGraphqlDtoDataMediaListCollection>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollection.fromJson(e))
.toList() as M;
return data.map<MediaCollectionGraphqlDtoDataMediaListCollection>((Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollection.fromJson(e)).toList() as M;
}
if (<MediaCollectionGraphqlDtoDataMediaListCollectionLists>[] is M) {
return data
.map<MediaCollectionGraphqlDtoDataMediaListCollectionLists>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionLists.fromJson(e))
.toList() as M;
return data.map<MediaCollectionGraphqlDtoDataMediaListCollectionLists>((Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionLists.fromJson(e)).toList() as M;
}
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries>[] is M) {
return data.map<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries.fromJson(
e)).toList() as M;
return data
.map<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries>((
Map<String, dynamic> e) => MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries.fromJson(e))
.toList() as M;
}
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia>[
] is M) {
return data.map<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia>((
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia>[] is M) {
return data.map<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.fromJson(e)).toList() as M;
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.fromJson(e)).toList() as M;
}
if (<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle>[
] is M) {
return data.map<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle>((
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle>[] is M) {
return data.map<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle
.fromJson(e)).toList() as M;
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle.fromJson(e)).toList() as M;
}
if (<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage>[
] is M) {
return data.map<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage>((
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage>[] is M) {
return data
.map<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage
.fromJson(e)).toList() as M;
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage.fromJson(e))
.toList() as M;
}
if (<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate>[
] is M) {
return data.map<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate>((
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate>[] is M) {
return data.map<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate
.fromJson(e)).toList() as M;
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate.fromJson(e)).toList() as M;
}
if (<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate>[
] is M) {
return data.map<
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate>((
if (<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate>[] is M) {
return data
.map<MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate>((
Map<String, dynamic> e) =>
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate
.fromJson(e)).toList() as M;
MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate.fromJson(e))
.toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoEntity>[] is M) {
return data
.map<MediaCollectionRecentlyCompletedGraphqlDtoEntity>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoEntity.fromJson(e))
.toList() as M;
return data.map<MediaCollectionRecentlyCompletedGraphqlDtoEntity>((Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoEntity.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoPage>[] is M) {
return data
.map<MediaCollectionRecentlyCompletedGraphqlDtoPage>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPage.fromJson(e))
.toList() as M;
return data.map<MediaCollectionRecentlyCompletedGraphqlDtoPage>((Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPage.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>[] is M) {
return data
.map<MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMedia.fromJson(e))
.toList() as M;
return data.map<MediaCollectionRecentlyCompletedGraphqlDtoPageMedia>((Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMedia.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate>[] is M) {
return data.map<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate.fromJson(
e)).toList() as M;
return data.map<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate>((Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate>[] is M) {
return data.map<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate.fromJson(
e)).toList() as M;
return data
.map<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate>((
Map<String, dynamic> e) => MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate.fromJson(e))
.toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage>[
] is M) {
return data.map<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage>((
if (<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage>[] is M) {
return data.map<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage
.fromJson(e)).toList() as M;
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle>[] is M) {
return data
.map<
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle.fromJson(e))
.toList() as M;
return data.map<MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle>((Map<String, dynamic> e) =>
MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyReleasedGraphqlDtoEntity>[] is M) {
return data
.map<MediaCollectionRecentlyReleasedGraphqlDtoEntity>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoEntity.fromJson(e))
.toList() as M;
return data.map<MediaCollectionRecentlyReleasedGraphqlDtoEntity>((Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoEntity.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyReleasedGraphqlDtoPage>[] is M) {
return data
.map<MediaCollectionRecentlyReleasedGraphqlDtoPage>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPage.fromJson(e))
.toList() as M;
return data.map<MediaCollectionRecentlyReleasedGraphqlDtoPage>((Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPage.fromJson(e)).toList() as M;
}
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>[] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules.fromJson(
e)).toList() as M;
return data
.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules>((
Map<String, dynamic> e) => MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules.fromJson(e))
.toList() as M;
}
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia>[
] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia>((
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia>[] is M) {
return data.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.fromJson(e)).toList() as M;
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.fromJson(e)).toList() as M;
}
if (<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode>[
] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode>((
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode>[] is M) {
return data
.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode
.fromJson(e)).toList() as M;
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode.fromJson(e))
.toList() as M;
}
if (<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate>[
] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate>((
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate>[] is M) {
return data.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate
.fromJson(e)).toList() as M;
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate.fromJson(e)).toList() as M;
}
if (<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate>[
] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate>((
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate>[] is M) {
return data
.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate
.fromJson(e)).toList() as M;
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate.fromJson(e))
.toList() as M;
}
if (<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage>[
] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage>((
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage>[] is M) {
return data
.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage
.fromJson(e)).toList() as M;
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage.fromJson(e))
.toList() as M;
}
if (<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle>[
] is M) {
return data.map<
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle>((
if (<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle>[] is M) {
return data.map<MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle>((
Map<String, dynamic> e) =>
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle
.fromJson(e)).toList() as M;
MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoEntity>[] is M) {
return data
.map<MediaCollectionTrendingOrPopularGraphqlDtoEntity>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoEntity.fromJson(e))
.toList() as M;
return data.map<MediaCollectionTrendingOrPopularGraphqlDtoEntity>((Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoEntity.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPage>[] is M) {
return data
.map<MediaCollectionTrendingOrPopularGraphqlDtoPage>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPage.fromJson(e))
.toList() as M;
return data.map<MediaCollectionTrendingOrPopularGraphqlDtoPage>((Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPage.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>[] is M) {
return data
.map<MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMedia.fromJson(e))
.toList() as M;
return data.map<MediaCollectionTrendingOrPopularGraphqlDtoPageMedia>((Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMedia.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate>[] is M) {
return data.map<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate.fromJson(
e)).toList() as M;
return data.map<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate>((Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate>[] is M) {
return data.map<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate.fromJson(
e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage>[
] is M) {
return data.map<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage
.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle>[] is M) {
return data
.map<
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle.fromJson(e))
.map<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate>((
Map<String, dynamic> e) => MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate.fromJson(e))
.toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoEntity>[] is M) {
return data.map<MediaCollectionUpcomingGraphqlDtoEntity>((
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage>[] is M) {
return data.map<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage>((
Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage.fromJson(e)).toList() as M;
}
if (<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle>[] is M) {
return data.map<MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle>((Map<String, dynamic> e) =>
MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoEntity>[] is M) {
return data.map<MediaCollectionUpcomingGraphqlDtoEntity>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoEntity.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPage>[] is M) {
return data.map<MediaCollectionUpcomingGraphqlDtoPage>((
Map<String, dynamic> e) =>
return data.map<MediaCollectionUpcomingGraphqlDtoPage>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPage.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPageMedia>[] is M) {
return data.map<MediaCollectionUpcomingGraphqlDtoPageMedia>((
Map<String, dynamic> e) =>
return data.map<MediaCollectionUpcomingGraphqlDtoPageMedia>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMedia.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode>[] is M) {
return data.map<
MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode>((
Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.fromJson(
e)).toList() as M;
return data.map<MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPageMediaEndDate>[] is M) {
return data
.map<MediaCollectionUpcomingGraphqlDtoPageMediaEndDate>((
Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaEndDate.fromJson(e))
.toList() as M;
return data.map<MediaCollectionUpcomingGraphqlDtoPageMediaEndDate>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaEndDate.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPageMediaStartDate>[] is M) {
return data
.map<MediaCollectionUpcomingGraphqlDtoPageMediaStartDate>((
Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaStartDate.fromJson(e))
.toList() as M;
return data.map<MediaCollectionUpcomingGraphqlDtoPageMediaStartDate>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaStartDate.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage>[] is M) {
return data
.map<MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage>((
Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage.fromJson(e))
.toList() as M;
return data.map<MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage.fromJson(e)).toList() as M;
}
if (<MediaCollectionUpcomingGraphqlDtoPageMediaTitle>[] is M) {
return data
.map<MediaCollectionUpcomingGraphqlDtoPageMediaTitle>((
Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaTitle.fromJson(e))
.toList() as M;
return data.map<MediaCollectionUpcomingGraphqlDtoPageMediaTitle>((Map<String, dynamic> e) =>
MediaCollectionUpcomingGraphqlDtoPageMediaTitle.fromJson(e)).toList() as M;
}
if (<ViewerGraphqlDtoEntity>[] is M) {
return data.map<ViewerGraphqlDtoEntity>((Map<String, dynamic> e) =>
ViewerGraphqlDtoEntity.fromJson(e)).toList() as M;
return data
.map<ViewerGraphqlDtoEntity>((Map<String, dynamic> e) => ViewerGraphqlDtoEntity.fromJson(e))
.toList() as M;
}
if (<ViewerGraphqlDtoViewer>[] is M) {
return data.map<ViewerGraphqlDtoViewer>((Map<String, dynamic> e) =>
ViewerGraphqlDtoViewer.fromJson(e)).toList() as M;
return data
.map<ViewerGraphqlDtoViewer>((Map<String, dynamic> e) => ViewerGraphqlDtoViewer.fromJson(e))
.toList() as M;
}
if (<ViewerGraphqlDtoViewerAvatar>[] is M) {
return data.map<ViewerGraphqlDtoViewerAvatar>((Map<String, dynamic> e) =>
ViewerGraphqlDtoViewerAvatar.fromJson(e)).toList() as M;
}
if (<ViewerGraphqlDtoViewerMediaListOptions>[] is M) {
return data.map<ViewerGraphqlDtoViewerMediaListOptions>((
Map<String, dynamic> e) =>
return data.map<ViewerGraphqlDtoViewerMediaListOptions>((Map<String, dynamic> e) =>
ViewerGraphqlDtoViewerMediaListOptions.fromJson(e)).toList() as M;
}
if (<ViewerGraphqlDtoViewerMediaListOptionsAnimeList>[] is M) {
return data
.map<ViewerGraphqlDtoViewerMediaListOptionsAnimeList>((
Map<String, dynamic> e) =>
ViewerGraphqlDtoViewerMediaListOptionsAnimeList.fromJson(e))
.toList() as M;
return data.map<ViewerGraphqlDtoViewerMediaListOptionsAnimeList>((Map<String, dynamic> e) =>
ViewerGraphqlDtoViewerMediaListOptionsAnimeList.fromJson(e)).toList() as M;
}
if (<ViewerGraphqlDtoViewerMediaListOptionsMangaList>[] is M) {
return data
.map<ViewerGraphqlDtoViewerMediaListOptionsMangaList>((
Map<String, dynamic> e) =>
ViewerGraphqlDtoViewerMediaListOptionsMangaList.fromJson(e))
.toList() as M;
return data.map<ViewerGraphqlDtoViewerMediaListOptionsMangaList>((Map<String, dynamic> e) =>
ViewerGraphqlDtoViewerMediaListOptionsMangaList.fromJson(e)).toList() as M;
}
debugPrint("$M not found");
@@ -613,8 +490,7 @@ class JsonConvert {
return json;
}
if (json is List) {
return _getListChildType<M>(
json.map((dynamic e) => e as Map<String, dynamic>).toList());
return _getListChildType<M>(json.map((dynamic e) => e as Map<String, dynamic>).toList());
} else {
return jsonConvert.convert<M>(json);
}
@@ -623,23 +499,16 @@ class JsonConvert {
class JsonConvertClassCollection {
Map<String, JsonConvertFunction> convertFuncMap = {
(AnimeDetailsGraphqlDtoEntity).toString(): AnimeDetailsGraphqlDtoEntity
.fromJson,
(AnimeDetailsGraphqlDtoData).toString(): AnimeDetailsGraphqlDtoData
.fromJson,
(AnimeDetailsGraphqlDtoDataMediaList)
.toString(): AnimeDetailsGraphqlDtoDataMediaList.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMedia)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMedia.fromJson,
(AnimeDetailsGraphqlDtoEntity).toString(): AnimeDetailsGraphqlDtoEntity.fromJson,
(AnimeDetailsGraphqlDtoData).toString(): AnimeDetailsGraphqlDtoData.fromJson,
(AnimeDetailsGraphqlDtoDataMediaList).toString(): AnimeDetailsGraphqlDtoDataMediaList.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMedia).toString(): AnimeDetailsGraphqlDtoDataMediaListMedia.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendations.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodes.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendation.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationStartDate
.fromJson,
@@ -653,137 +522,104 @@ class JsonConvertClassCollection {
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaRecommendationsNodesMediaRecommendationCoverImage
.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaCharacters)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharacters
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharacters.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodes.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesImage.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesName.fromJson,
(AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth)
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth
.fromJson,
.toString(): AnimeDetailsGraphqlDtoDataMediaListMediaCharactersNodesDateOfBirth.fromJson,
(AnizipEpisodeInfoEntity).toString(): AnizipEpisodeInfoEntity.fromJson,
(AnizipEpisodeInfoTitle).toString(): AnizipEpisodeInfoTitle.fromJson,
(MediaCollectionGraphqlDtoEntity)
.toString(): MediaCollectionGraphqlDtoEntity.fromJson,
(MediaCollectionGraphqlDtoData).toString(): MediaCollectionGraphqlDtoData
.fromJson,
(AniyomiRepoJsonEntity).toString(): AniyomiRepoJsonEntity.fromJson,
(AniyomiRepoJsonSources).toString(): AniyomiRepoJsonSources.fromJson,
(TachiyomiRepoJsonEntity).toString(): TachiyomiRepoJsonEntity.fromJson,
(TachiyomiRepoJsonSources).toString(): TachiyomiRepoJsonSources.fromJson,
(MediaCollectionGraphqlDtoEntity).toString(): MediaCollectionGraphqlDtoEntity.fromJson,
(MediaCollectionGraphqlDtoData).toString(): MediaCollectionGraphqlDtoData.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollection)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollection.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionLists)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionLists
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionLists.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntries.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMedia.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaTitle.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaCoverImage.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaEndDate.fromJson,
(MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate)
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate
.fromJson,
.toString(): MediaCollectionGraphqlDtoDataMediaListCollectionListsEntriesMediaStartDate.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoEntity)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoEntity.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoPage)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPage.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoPageMedia)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMedia
.fromJson,
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMedia.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate
.fromJson,
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaEndDate.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate
.fromJson,
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaStartDate.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage
.fromJson,
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaCoverImage.fromJson,
(MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle)
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle
.fromJson,
.toString(): MediaCollectionRecentlyCompletedGraphqlDtoPageMediaTitle.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoEntity)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoEntity.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPage)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPage.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPage).toString(): MediaCollectionRecentlyReleasedGraphqlDtoPage
.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules
.fromJson,
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedules.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia
.fromJson,
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMedia.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaNextAiringEpisode
.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate
.fromJson,
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaEndDate.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate
.fromJson,
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaStartDate.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage
.fromJson,
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaCoverImage.fromJson,
(MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle)
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle
.fromJson,
.toString(): MediaCollectionRecentlyReleasedGraphqlDtoPageAiringSchedulesMediaTitle.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoEntity)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoEntity.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoPage)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPage.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoPageMedia)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMedia
.fromJson,
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMedia.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate
.fromJson,
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaEndDate.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate
.fromJson,
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaStartDate.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage
.fromJson,
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaCoverImage.fromJson,
(MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle)
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle
.toString(): MediaCollectionTrendingOrPopularGraphqlDtoPageMediaTitle.fromJson,
(MediaCollectionUpcomingGraphqlDtoEntity).toString(): MediaCollectionUpcomingGraphqlDtoEntity.fromJson,
(MediaCollectionUpcomingGraphqlDtoPage).toString(): MediaCollectionUpcomingGraphqlDtoPage.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMedia).toString(): MediaCollectionUpcomingGraphqlDtoPageMedia
.fromJson,
(MediaCollectionUpcomingGraphqlDtoEntity)
.toString(): MediaCollectionUpcomingGraphqlDtoEntity.fromJson,
(MediaCollectionUpcomingGraphqlDtoPage)
.toString(): MediaCollectionUpcomingGraphqlDtoPage.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMedia)
.toString(): MediaCollectionUpcomingGraphqlDtoPageMedia.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode)
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode
.fromJson,
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaNextAiringEpisode.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMediaEndDate)
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaEndDate.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMediaStartDate)
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaStartDate
.fromJson,
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaStartDate.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage)
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage
.fromJson,
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaCoverImage.fromJson,
(MediaCollectionUpcomingGraphqlDtoPageMediaTitle)
.toString(): MediaCollectionUpcomingGraphqlDtoPageMediaTitle.fromJson,
(ViewerGraphqlDtoEntity).toString(): ViewerGraphqlDtoEntity.fromJson,
(ViewerGraphqlDtoViewer).toString(): ViewerGraphqlDtoViewer.fromJson,
(ViewerGraphqlDtoViewerAvatar).toString(): ViewerGraphqlDtoViewerAvatar
.fromJson,
(ViewerGraphqlDtoViewerMediaListOptions)
.toString(): ViewerGraphqlDtoViewerMediaListOptions.fromJson,
(ViewerGraphqlDtoViewerAvatar).toString(): ViewerGraphqlDtoViewerAvatar.fromJson,
(ViewerGraphqlDtoViewerMediaListOptions).toString(): ViewerGraphqlDtoViewerMediaListOptions.fromJson,
(ViewerGraphqlDtoViewerMediaListOptionsAnimeList)
.toString(): ViewerGraphqlDtoViewerMediaListOptionsAnimeList.fromJson,
(ViewerGraphqlDtoViewerMediaListOptionsMangaList)

View File

@@ -1,19 +1,17 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/media_collection_graphql_dto_entity.dart';
MediaCollectionGraphqlDtoEntity $MediaCollectionGraphqlDtoEntityFromJson(
Map<String, dynamic> json) {
MediaCollectionGraphqlDtoEntity $MediaCollectionGraphqlDtoEntityFromJson(Map<String, dynamic> json) {
final MediaCollectionGraphqlDtoEntity mediaCollectionGraphqlDtoEntity = MediaCollectionGraphqlDtoEntity();
final MediaCollectionGraphqlDtoData? data = jsonConvert.convert<
MediaCollectionGraphqlDtoData>(json['data']);
final MediaCollectionGraphqlDtoData? data = jsonConvert.convert<MediaCollectionGraphqlDtoData>(
json['data']);
if (data != null) {
mediaCollectionGraphqlDtoEntity.data = data;
}
return mediaCollectionGraphqlDtoEntity;
}
Map<String, dynamic> $MediaCollectionGraphqlDtoEntityToJson(
MediaCollectionGraphqlDtoEntity entity) {
Map<String, dynamic> $MediaCollectionGraphqlDtoEntityToJson(MediaCollectionGraphqlDtoEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['data'] = entity.data.toJson();
return data;
@@ -28,20 +26,17 @@ extension MediaCollectionGraphqlDtoEntityExtension on MediaCollectionGraphqlDtoE
}
}
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/media_collection_recently_completed_g
MediaCollectionRecentlyCompletedGraphqlDtoEntity $MediaCollectionRecentlyCompletedGraphqlDtoEntityFromJson(
Map<String, dynamic> json) {
final MediaCollectionRecentlyCompletedGraphqlDtoEntity mediaCollectionRecentlyCompletedGraphqlDtoEntity = MediaCollectionRecentlyCompletedGraphqlDtoEntity();
final MediaCollectionRecentlyCompletedGraphqlDtoPage? page = jsonConvert
.convert<MediaCollectionRecentlyCompletedGraphqlDtoPage>(json['Page']);
final MediaCollectionRecentlyCompletedGraphqlDtoPage? page = jsonConvert.convert<
MediaCollectionRecentlyCompletedGraphqlDtoPage>(json['Page']);
if (page != null) {
mediaCollectionRecentlyCompletedGraphqlDtoEntity.page = page;
}
@@ -31,13 +31,12 @@ extension MediaCollectionRecentlyCompletedGraphqlDtoEntityExtension on MediaColl
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/media_collection_recently_released_gr
MediaCollectionRecentlyReleasedGraphqlDtoEntity $MediaCollectionRecentlyReleasedGraphqlDtoEntityFromJson(
Map<String, dynamic> json) {
final MediaCollectionRecentlyReleasedGraphqlDtoEntity mediaCollectionRecentlyReleasedGraphqlDtoEntity = MediaCollectionRecentlyReleasedGraphqlDtoEntity();
final MediaCollectionRecentlyReleasedGraphqlDtoPage? page = jsonConvert
.convert<MediaCollectionRecentlyReleasedGraphqlDtoPage>(json['Page']);
final MediaCollectionRecentlyReleasedGraphqlDtoPage? page = jsonConvert.convert<
MediaCollectionRecentlyReleasedGraphqlDtoPage>(json['Page']);
if (page != null) {
mediaCollectionRecentlyReleasedGraphqlDtoEntity.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/media_collection_trendingOrPopular_gr
MediaCollectionTrendingOrPopularGraphqlDtoEntity $MediaCollectionTrendingOrPopularGraphqlDtoEntityFromJson(
Map<String, dynamic> json) {
final MediaCollectionTrendingOrPopularGraphqlDtoEntity mediaCollectionTrendingOrPopularGraphqlDtoEntity = MediaCollectionTrendingOrPopularGraphqlDtoEntity();
final MediaCollectionTrendingOrPopularGraphqlDtoPage? page = jsonConvert
.convert<MediaCollectionTrendingOrPopularGraphqlDtoPage>(json['Page']);
final MediaCollectionTrendingOrPopularGraphqlDtoPage? page = jsonConvert.convert<
MediaCollectionTrendingOrPopularGraphqlDtoPage>(json['Page']);
if (page != null) {
mediaCollectionTrendingOrPopularGraphqlDtoEntity.page = page;
}
@@ -31,13 +31,12 @@ extension MediaCollectionTrendingOrPopularGraphqlDtoEntityExtension on MediaColl
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 MediaCollectionUpcomingGraphqlDtoEntityExtension on MediaCollectionUpc
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

@@ -0,0 +1,121 @@
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) {
final TachiyomiRepoJsonEntity tachiyomiRepoJsonEntity = TachiyomiRepoJsonEntity();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
tachiyomiRepoJsonEntity.name = name;
}
final String? pkg = jsonConvert.convert<String>(json['pkg']);
if (pkg != null) {
tachiyomiRepoJsonEntity.pkg = pkg;
}
final String? apk = jsonConvert.convert<String>(json['apk']);
if (apk != null) {
tachiyomiRepoJsonEntity.apk = apk;
}
final String? lang = jsonConvert.convert<String>(json['lang']);
if (lang != null) {
tachiyomiRepoJsonEntity.lang = lang;
}
final double? code = jsonConvert.convert<double>(json['code']);
if (code != null) {
tachiyomiRepoJsonEntity.code = code;
}
final String? version = jsonConvert.convert<String>(json['version']);
if (version != null) {
tachiyomiRepoJsonEntity.version = version;
}
final double? nsfw = jsonConvert.convert<double>(json['nsfw']);
if (nsfw != null) {
tachiyomiRepoJsonEntity.nsfw = nsfw;
}
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) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['pkg'] = entity.pkg;
data['apk'] = entity.apk;
data['lang'] = entity.lang;
data['code'] = entity.code;
data['version'] = entity.version;
data['nsfw'] = entity.nsfw;
data['sources'] = entity.sources.map((v) => v.toJson()).toList();
return data;
}
extension TachiyomiRepoJsonEntityExtension on TachiyomiRepoJsonEntity {
TachiyomiRepoJsonEntity copyWith({
String? name,
String? pkg,
String? apk,
String? lang,
double? code,
String? version,
double? nsfw,
List<TachiyomiRepoJsonSources>? sources,
}) {
return TachiyomiRepoJsonEntity()
..name = name ?? this.name
..pkg = pkg ?? this.pkg
..apk = apk ?? this.apk
..lang = lang ?? this.lang
..code = code ?? this.code
..version = version ?? this.version
..nsfw = nsfw ?? this.nsfw
..sources = sources ?? this.sources;
}
}
TachiyomiRepoJsonSources $TachiyomiRepoJsonSourcesFromJson(Map<String, dynamic> json) {
final TachiyomiRepoJsonSources tachiyomiRepoJsonSources = TachiyomiRepoJsonSources();
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
tachiyomiRepoJsonSources.name = name;
}
final String? lang = jsonConvert.convert<String>(json['lang']);
if (lang != null) {
tachiyomiRepoJsonSources.lang = lang;
}
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
tachiyomiRepoJsonSources.id = id;
}
final String? baseUrl = jsonConvert.convert<String>(json['baseUrl']);
if (baseUrl != null) {
tachiyomiRepoJsonSources.baseUrl = baseUrl;
}
return tachiyomiRepoJsonSources;
}
Map<String, dynamic> $TachiyomiRepoJsonSourcesToJson(TachiyomiRepoJsonSources entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['name'] = entity.name;
data['lang'] = entity.lang;
data['id'] = entity.id;
data['baseUrl'] = entity.baseUrl;
return data;
}
extension TachiyomiRepoJsonSourcesExtension on TachiyomiRepoJsonSources {
TachiyomiRepoJsonSources copyWith({
String? name,
String? lang,
String? id,
String? baseUrl,
}) {
return TachiyomiRepoJsonSources()
..name = name ?? this.name
..lang = lang ?? this.lang
..id = id ?? this.id
..baseUrl = baseUrl ?? this.baseUrl;
}
}

View File

@@ -1,19 +1,16 @@
import 'package:unyo/generated/json/base/json_convert_content.dart';
import 'package:unyo/core/services/api/dto/viewer_graphql_dto_entity.dart';
ViewerGraphqlDtoEntity $ViewerGraphqlDtoEntityFromJson(
Map<String, dynamic> json) {
ViewerGraphqlDtoEntity $ViewerGraphqlDtoEntityFromJson(Map<String, dynamic> json) {
final ViewerGraphqlDtoEntity viewerGraphqlDtoEntity = ViewerGraphqlDtoEntity();
final ViewerGraphqlDtoViewer? viewer = jsonConvert.convert<
ViewerGraphqlDtoViewer>(json['Viewer']);
final ViewerGraphqlDtoViewer? viewer = jsonConvert.convert<ViewerGraphqlDtoViewer>(json['Viewer']);
if (viewer != null) {
viewerGraphqlDtoEntity.viewer = viewer;
}
return viewerGraphqlDtoEntity;
}
Map<String, dynamic> $ViewerGraphqlDtoEntityToJson(
ViewerGraphqlDtoEntity entity) {
Map<String, dynamic> $ViewerGraphqlDtoEntityToJson(ViewerGraphqlDtoEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['Viewer'] = entity.viewer.toJson();
return data;
@@ -28,8 +25,7 @@ extension ViewerGraphqlDtoEntityExtension on ViewerGraphqlDtoEntity {
}
}
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) {
@@ -39,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;
}
@@ -57,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;
@@ -85,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) {
@@ -95,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;
@@ -114,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;
}
@@ -158,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;
}
@@ -187,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

@@ -8,6 +8,7 @@ import 'package:unyo/core/enums/service.dart';
import 'package:unyo/data/models/anilist_anime_details.dart';
import 'package:unyo/data/models/anilist_user_model.dart';
import 'package:unyo/data/models/local_user_model.dart';
import 'package:unyo/domain/entities/extension.dart';
import 'package:unyo/domain/entities/media_list.dart';
import 'package:unyo/domain/entities/settings.dart';
@@ -16,6 +17,7 @@ extension HiveRegistrar on HiveInterface {
registerAdapter(AnilistUserModelAdapter());
registerAdapter(AnimeProgressModelAdapter());
registerAdapter(EpisodeServiceEnumAdapter());
registerAdapter(ExtensionModelAdapter());
registerAdapter(LocalUserModelAdapter());
registerAdapter(MediaListModelAdapter());
registerAdapter(ServiceEnumAdapter());
@@ -28,6 +30,7 @@ extension IsolatedHiveRegistrar on IsolatedHiveInterface {
registerAdapter(AnilistUserModelAdapter());
registerAdapter(AnimeProgressModelAdapter());
registerAdapter(EpisodeServiceEnumAdapter());
registerAdapter(ExtensionModelAdapter());
registerAdapter(LocalUserModelAdapter());
registerAdapter(MediaListModelAdapter());
registerAdapter(ServiceEnumAdapter());

View File

@@ -6,6 +6,7 @@ import 'package:unyo/application/cubits/extensions_cubit.dart';
import 'package:unyo/application/states/extensions_state.dart';
import 'package:unyo/core/di/locator.dart';
import 'package:unyo/core/services/effects/app_effect_handler.dart';
import 'package:unyo/presentation/widgets/styled/unyo_extension_button.dart';
import 'package:unyo/presentation/widgets/text/text_body_large.dart';
import 'package:unyo/presentation/widgets/text/text_headline_medium.dart';
@@ -27,7 +28,11 @@ class _ExtensionsListener extends StatelessWidget {
return BlocListener<ExtensionsCubit, ExtensionsState>(
listener: (context, state) {
if (state.effects.isNotEmpty) {
sl<AppEffectHandler>().handleEffects(context, state.effects, context.read<ExtensionsCubit>().clearEffects);
sl<AppEffectHandler>().handleEffects(
context,
state.effects,
context.read<ExtensionsCubit>().clearEffects,
);
}
},
child: const _ExtensionsView(),
@@ -43,13 +48,17 @@ class _ExtensionsView extends StatefulWidget {
}
class _ExtensionsViewState extends State<_ExtensionsView> with TickerProviderStateMixin {
late TabController tabController;
@override
void initState() {
tabController = TabController(length: 4, vsync: this);
super.initState();
}
@override
void dispose() {
tabController.dispose();
super.dispose();
}
@@ -57,7 +66,6 @@ class _ExtensionsViewState extends State<_ExtensionsView> with TickerProviderSta
Widget build(BuildContext context) {
return BlocBuilder<ExtensionsCubit, ExtensionsState>(
builder: (context, state) {
final TabController tabController = TabController(length: 4, vsync: this);
return Column(
children: [
const SizedBox(height: 15),
@@ -73,10 +81,16 @@ class _ExtensionsViewState extends State<_ExtensionsView> with TickerProviderSta
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const TextHeadlineMedium(text: "Manage your ", style: TextStyle(fontWeight: FontWeight.bold)),
const TextHeadlineMedium(
text: "Manage your ",
style: TextStyle(fontWeight: FontWeight.bold),
),
TextHeadlineMedium(
text: "Extensions!",
style: TextStyle(color: ColorScheme.of(context).tertiary, fontWeight: FontWeight.bold),
style: TextStyle(
color: ColorScheme.of(context).tertiary,
fontWeight: FontWeight.bold,
),
),
],
),
@@ -106,11 +120,6 @@ class _ExtensionsViewState extends State<_ExtensionsView> with TickerProviderSta
isScrollable: true,
controller: tabController,
tabs: const [
Tooltip(
waitDuration: Duration(milliseconds: 1000),
message: "Installed Anime",
child: SizedBox(width: 150, child: Tab(text: "Installed Anime")),
),
Tooltip(
waitDuration: Duration(milliseconds: 1000),
message: "Available Anime",
@@ -118,13 +127,18 @@ class _ExtensionsViewState extends State<_ExtensionsView> with TickerProviderSta
),
Tooltip(
waitDuration: Duration(milliseconds: 1000),
message: "Installed Manga",
child: SizedBox(width: 150, child: Tab(text: "Installed Manga")),
message: "Available Manga",
child: SizedBox(width: 150, child: Tab(text: "Available Manga")),
),
Tooltip(
waitDuration: Duration(milliseconds: 1000),
message: "Available Manga",
child: SizedBox(width: 150, child: Tab(text: "Available Manga")),
message: "Installed Anime",
child: SizedBox(width: 150, child: Tab(text: "Installed Anime")),
),
Tooltip(
waitDuration: Duration(milliseconds: 1000),
message: "Installed Manga",
child: SizedBox(width: 150, child: Tab(text: "Installed Manga")),
),
],
),
@@ -135,11 +149,67 @@ class _ExtensionsViewState extends State<_ExtensionsView> with TickerProviderSta
padding: EdgeInsets.only(left: 15.0.w, right: 15.0.w, top: 15.0.h),
child: TabBarView(
controller: tabController,
children: const [
SizedBox.shrink(),
SizedBox.shrink(),
SizedBox.shrink(),
SizedBox.shrink(),
children: [
ListView(
scrollDirection: Axis.vertical,
children: [
...state.availableAnimeExtensions.map(
(extension) => UnyoExtensionButton(
iconUrl: extension.icon,
name: extension.name,
lang: extension.lang,
version: extension.version,
nsfw: extension.nsfw,
onDownloadPressed: (){},
),
),
],
),
ListView(
scrollDirection: Axis.vertical,
children: [
...state.availableMangaExtensions.map(
(extension) => UnyoExtensionButton(
iconUrl: extension.icon,
name: extension.name,
lang: extension.lang,
version: extension.version,
nsfw: extension.nsfw,
onDownloadPressed: (){},
),
),
],
),
ListView(
scrollDirection: Axis.vertical,
children: [
...state.installedAnimeExtensions.map(
(extension) => UnyoExtensionButton(
iconUrl: extension.icon,
name: extension.name,
lang: extension.lang,
version: extension.version,
nsfw: extension.nsfw,
onDeletePressed: (){},
onSettingsPressed: (){},
),
),
],
),
ListView(
scrollDirection: Axis.vertical,
children: [
...state.installedMangaExtensions.map(
(extension) => UnyoExtensionButton(
iconUrl: extension.icon,
name: extension.name,
lang: extension.lang,
version: extension.version,
nsfw: extension.nsfw,
),
),
],
),
],
),
),

View File

@@ -0,0 +1,190 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class UnyoExtensionButton extends StatelessWidget {
final void Function()? onDownloadPressed;
final void Function()? onDeletePressed;
final void Function()? onSettingsPressed;
final String iconUrl;
final String name;
final String lang;
final String version;
final int nsfw;
const UnyoExtensionButton({
super.key,
this.onDownloadPressed,
required this.iconUrl,
required this.name,
required this.lang,
required this.version,
required this.nsfw,
this.onDeletePressed,
this.onSettingsPressed,
});
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.only(left: 16.0.w, right: 16.0.w, bottom: 8.0.h),
child: Container(
width: double.infinity,
height: 70,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Colors.black.withOpacity(0.15),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
SizedBox(width: 20.w),
ClipOval(child: Image.network(iconUrl, fit: BoxFit.fill, width: 52, height: 52)),
SizedBox(width: 14.w),
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
name,
style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold, color: Colors.white),
),
const SizedBox(width: 4,),
nsfw == 1 ? Container(
height: 14,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.amber.withOpacity(0.3),
),
child: const Center(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 4.0),
child: Text(
"NFSW",
style: TextStyle(
fontSize: 8,
fontWeight: FontWeight.w700,
color: Colors.white,
),
),
),
),
) : const SizedBox.shrink(),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
height: 22,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: ColorScheme.of(context).primary.withOpacity(0.3),
),
child: Center(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 6.0),
child: Text(
"${lang.substring(0, 1).toUpperCase()}${lang.substring(1)}",
style: const TextStyle(
fontSize: 11,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
),
),
const SizedBox(width: 4.0),
Container(
height: 22,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: ColorScheme.of(context).tertiary.withOpacity(0.3),
),
child: Center(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 6.0),
child: Text(
version,
style: const TextStyle(
fontSize: 11,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
),
),
],
),
],
),
],
),
Row(
children: [
onDownloadPressed != null
? Padding(
padding: EdgeInsets.only(left: 10.0.w),
child: InkWell(
onTap: onDownloadPressed,
child: Container(
width: 45,
height: 45,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: ColorScheme.of(context).primary.withOpacity(0.2),
),
child: Icon(Icons.download_rounded, color: ColorScheme.of(context).tertiary),
),
),
)
: const SizedBox(),
onSettingsPressed != null
? Padding(
padding: EdgeInsets.only(left: 10.0.w),
child: InkWell(
onTap: onSettingsPressed,
child: Container(
width: 45,
height: 45,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: ColorScheme.of(context).primary.withOpacity(0.2),
),
child: Icon(Icons.settings_rounded, color: ColorScheme.of(context).tertiary),
),
),
)
: const SizedBox(),
onDeletePressed != null
? Padding(
padding: EdgeInsets.only(left: 10.0.w),
child: InkWell(
onTap: onDeletePressed,
child: Container(
width: 45,
height: 45,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.red.withOpacity(0.2),
),
child: Icon(Icons.delete_rounded, color: Colors.redAccent.withOpacity(0.3)),
),
),
)
: const SizedBox(),
SizedBox(width: 20.w),
],
),
],
),
),
);
}
}