// 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 'library.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

// dart format off
T _$identity<T>(T value) => value;

/// @nodoc
mixin _$EmbyRawUserData {

@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get PlaybackPositionTicks;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get PlayCount;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get UnplayedItemCount;@JsonKey(includeIfNull: false) bool? get IsFavorite;@JsonKey(includeIfNull: false) bool? get Played;@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> get extra;
/// Create a copy of EmbyRawUserData
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawUserDataCopyWith<EmbyRawUserData> get copyWith => _$EmbyRawUserDataCopyWithImpl<EmbyRawUserData>(this as EmbyRawUserData, _$identity);

  /// Serializes this EmbyRawUserData to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawUserData&&(identical(other.PlaybackPositionTicks, PlaybackPositionTicks) || other.PlaybackPositionTicks == PlaybackPositionTicks)&&(identical(other.PlayCount, PlayCount) || other.PlayCount == PlayCount)&&(identical(other.UnplayedItemCount, UnplayedItemCount) || other.UnplayedItemCount == UnplayedItemCount)&&(identical(other.IsFavorite, IsFavorite) || other.IsFavorite == IsFavorite)&&(identical(other.Played, Played) || other.Played == Played)&&const DeepCollectionEquality().equals(other.extra, extra));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,PlaybackPositionTicks,PlayCount,UnplayedItemCount,IsFavorite,Played,const DeepCollectionEquality().hash(extra));

@override
String toString() {
  return 'EmbyRawUserData(PlaybackPositionTicks: $PlaybackPositionTicks, PlayCount: $PlayCount, UnplayedItemCount: $UnplayedItemCount, IsFavorite: $IsFavorite, Played: $Played, extra: $extra)';
}


}

/// @nodoc
abstract mixin class $EmbyRawUserDataCopyWith<$Res>  {
  factory $EmbyRawUserDataCopyWith(EmbyRawUserData value, $Res Function(EmbyRawUserData) _then) = _$EmbyRawUserDataCopyWithImpl;
@useResult
$Res call({
@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? PlaybackPositionTicks,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? PlayCount,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? UnplayedItemCount,@JsonKey(includeIfNull: false) bool? IsFavorite,@JsonKey(includeIfNull: false) bool? Played,@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> extra
});




}
/// @nodoc
class _$EmbyRawUserDataCopyWithImpl<$Res>
    implements $EmbyRawUserDataCopyWith<$Res> {
  _$EmbyRawUserDataCopyWithImpl(this._self, this._then);

  final EmbyRawUserData _self;
  final $Res Function(EmbyRawUserData) _then;

/// Create a copy of EmbyRawUserData
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? PlaybackPositionTicks = freezed,Object? PlayCount = freezed,Object? UnplayedItemCount = freezed,Object? IsFavorite = freezed,Object? Played = freezed,Object? extra = null,}) {
  return _then(_self.copyWith(
PlaybackPositionTicks: freezed == PlaybackPositionTicks ? _self.PlaybackPositionTicks : PlaybackPositionTicks // ignore: cast_nullable_to_non_nullable
as int?,PlayCount: freezed == PlayCount ? _self.PlayCount : PlayCount // ignore: cast_nullable_to_non_nullable
as int?,UnplayedItemCount: freezed == UnplayedItemCount ? _self.UnplayedItemCount : UnplayedItemCount // ignore: cast_nullable_to_non_nullable
as int?,IsFavorite: freezed == IsFavorite ? _self.IsFavorite : IsFavorite // ignore: cast_nullable_to_non_nullable
as bool?,Played: freezed == Played ? _self.Played : Played // ignore: cast_nullable_to_non_nullable
as bool?,extra: null == extra ? _self.extra : extra // ignore: cast_nullable_to_non_nullable
as Map<String, dynamic>,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawUserData].
extension EmbyRawUserDataPatterns on EmbyRawUserData {
/// 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( _EmbyRawUserData value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawUserData() 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( _EmbyRawUserData value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawUserData():
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( _EmbyRawUserData value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawUserData() 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(@JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? PlaybackPositionTicks, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? PlayCount, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? UnplayedItemCount, @JsonKey(includeIfNull: false)  bool? IsFavorite, @JsonKey(includeIfNull: false)  bool? Played, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawUserData() when $default != null:
return $default(_that.PlaybackPositionTicks,_that.PlayCount,_that.UnplayedItemCount,_that.IsFavorite,_that.Played,_that.extra);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(@JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? PlaybackPositionTicks, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? PlayCount, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? UnplayedItemCount, @JsonKey(includeIfNull: false)  bool? IsFavorite, @JsonKey(includeIfNull: false)  bool? Played, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawUserData():
return $default(_that.PlaybackPositionTicks,_that.PlayCount,_that.UnplayedItemCount,_that.IsFavorite,_that.Played,_that.extra);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(@JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? PlaybackPositionTicks, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? PlayCount, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? UnplayedItemCount, @JsonKey(includeIfNull: false)  bool? IsFavorite, @JsonKey(includeIfNull: false)  bool? Played, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawUserData() when $default != null:
return $default(_that.PlaybackPositionTicks,_that.PlayCount,_that.UnplayedItemCount,_that.IsFavorite,_that.Played,_that.extra);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawUserData implements EmbyRawUserData {
  const _EmbyRawUserData({@JsonKey(fromJson: _intOrNull, includeIfNull: false) this.PlaybackPositionTicks, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.PlayCount, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.UnplayedItemCount, @JsonKey(includeIfNull: false) this.IsFavorite, @JsonKey(includeIfNull: false) this.Played, @JsonKey(includeFromJson: false, includeToJson: false) final  Map<String, dynamic> extra = const <String, dynamic>{}}): _extra = extra;
  factory _EmbyRawUserData.fromJson(Map<String, dynamic> json) => _$EmbyRawUserDataFromJson(json);

@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? PlaybackPositionTicks;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? PlayCount;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? UnplayedItemCount;
@override@JsonKey(includeIfNull: false) final  bool? IsFavorite;
@override@JsonKey(includeIfNull: false) final  bool? Played;
 final  Map<String, dynamic> _extra;
@override@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> get extra {
  if (_extra is EqualUnmodifiableMapView) return _extra;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(_extra);
}


/// Create a copy of EmbyRawUserData
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawUserDataCopyWith<_EmbyRawUserData> get copyWith => __$EmbyRawUserDataCopyWithImpl<_EmbyRawUserData>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawUserDataToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawUserData&&(identical(other.PlaybackPositionTicks, PlaybackPositionTicks) || other.PlaybackPositionTicks == PlaybackPositionTicks)&&(identical(other.PlayCount, PlayCount) || other.PlayCount == PlayCount)&&(identical(other.UnplayedItemCount, UnplayedItemCount) || other.UnplayedItemCount == UnplayedItemCount)&&(identical(other.IsFavorite, IsFavorite) || other.IsFavorite == IsFavorite)&&(identical(other.Played, Played) || other.Played == Played)&&const DeepCollectionEquality().equals(other._extra, _extra));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,PlaybackPositionTicks,PlayCount,UnplayedItemCount,IsFavorite,Played,const DeepCollectionEquality().hash(_extra));

@override
String toString() {
  return 'EmbyRawUserData(PlaybackPositionTicks: $PlaybackPositionTicks, PlayCount: $PlayCount, UnplayedItemCount: $UnplayedItemCount, IsFavorite: $IsFavorite, Played: $Played, extra: $extra)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawUserDataCopyWith<$Res> implements $EmbyRawUserDataCopyWith<$Res> {
  factory _$EmbyRawUserDataCopyWith(_EmbyRawUserData value, $Res Function(_EmbyRawUserData) _then) = __$EmbyRawUserDataCopyWithImpl;
@override @useResult
$Res call({
@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? PlaybackPositionTicks,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? PlayCount,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? UnplayedItemCount,@JsonKey(includeIfNull: false) bool? IsFavorite,@JsonKey(includeIfNull: false) bool? Played,@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> extra
});




}
/// @nodoc
class __$EmbyRawUserDataCopyWithImpl<$Res>
    implements _$EmbyRawUserDataCopyWith<$Res> {
  __$EmbyRawUserDataCopyWithImpl(this._self, this._then);

  final _EmbyRawUserData _self;
  final $Res Function(_EmbyRawUserData) _then;

/// Create a copy of EmbyRawUserData
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? PlaybackPositionTicks = freezed,Object? PlayCount = freezed,Object? UnplayedItemCount = freezed,Object? IsFavorite = freezed,Object? Played = freezed,Object? extra = null,}) {
  return _then(_EmbyRawUserData(
PlaybackPositionTicks: freezed == PlaybackPositionTicks ? _self.PlaybackPositionTicks : PlaybackPositionTicks // ignore: cast_nullable_to_non_nullable
as int?,PlayCount: freezed == PlayCount ? _self.PlayCount : PlayCount // ignore: cast_nullable_to_non_nullable
as int?,UnplayedItemCount: freezed == UnplayedItemCount ? _self.UnplayedItemCount : UnplayedItemCount // ignore: cast_nullable_to_non_nullable
as int?,IsFavorite: freezed == IsFavorite ? _self.IsFavorite : IsFavorite // ignore: cast_nullable_to_non_nullable
as bool?,Played: freezed == Played ? _self.Played : Played // ignore: cast_nullable_to_non_nullable
as bool?,extra: null == extra ? _self._extra : extra // ignore: cast_nullable_to_non_nullable
as Map<String, dynamic>,
  ));
}


}


/// @nodoc
mixin _$EmbyRawItem {

 String get Id; String get Name;@JsonKey(includeIfNull: false) String? get Type;@JsonKey(includeIfNull: false) String? get Overview;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get ProductionYear;@JsonKey(fromJson: _doubleOrNull, includeIfNull: false) double? get CommunityRating;@JsonKey(includeIfNull: false) String? get PremiereDate;@JsonKey(includeIfNull: false) String? get SeriesName;@JsonKey(includeIfNull: false) String? get SeriesId;@JsonKey(includeIfNull: false) String? get SeasonId;@JsonKey(includeIfNull: false) String? get SeasonName;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get IndexNumber;@JsonKey(includeIfNull: false) String? get ParentId;@JsonKey(includeIfNull: false) String? get PrimaryImageTag;@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? get ImageTags;@JsonKey(fromJson: _stringListOrNull, includeIfNull: false) List<String>? get BackdropImageTags;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get RunTimeTicks;@JsonKey(includeIfNull: false) EmbyRawUserData? get UserData;@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> get extra;
/// Create a copy of EmbyRawItem
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<EmbyRawItem> get copyWith => _$EmbyRawItemCopyWithImpl<EmbyRawItem>(this as EmbyRawItem, _$identity);

  /// Serializes this EmbyRawItem to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawItem&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.Type, Type) || other.Type == Type)&&(identical(other.Overview, Overview) || other.Overview == Overview)&&(identical(other.ProductionYear, ProductionYear) || other.ProductionYear == ProductionYear)&&(identical(other.CommunityRating, CommunityRating) || other.CommunityRating == CommunityRating)&&(identical(other.PremiereDate, PremiereDate) || other.PremiereDate == PremiereDate)&&(identical(other.SeriesName, SeriesName) || other.SeriesName == SeriesName)&&(identical(other.SeriesId, SeriesId) || other.SeriesId == SeriesId)&&(identical(other.SeasonId, SeasonId) || other.SeasonId == SeasonId)&&(identical(other.SeasonName, SeasonName) || other.SeasonName == SeasonName)&&(identical(other.IndexNumber, IndexNumber) || other.IndexNumber == IndexNumber)&&(identical(other.ParentId, ParentId) || other.ParentId == ParentId)&&(identical(other.PrimaryImageTag, PrimaryImageTag) || other.PrimaryImageTag == PrimaryImageTag)&&const DeepCollectionEquality().equals(other.ImageTags, ImageTags)&&const DeepCollectionEquality().equals(other.BackdropImageTags, BackdropImageTags)&&(identical(other.RunTimeTicks, RunTimeTicks) || other.RunTimeTicks == RunTimeTicks)&&(identical(other.UserData, UserData) || other.UserData == UserData)&&const DeepCollectionEquality().equals(other.extra, extra));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,Id,Name,Type,Overview,ProductionYear,CommunityRating,PremiereDate,SeriesName,SeriesId,SeasonId,SeasonName,IndexNumber,ParentId,PrimaryImageTag,const DeepCollectionEquality().hash(ImageTags),const DeepCollectionEquality().hash(BackdropImageTags),RunTimeTicks,UserData,const DeepCollectionEquality().hash(extra)]);

@override
String toString() {
  return 'EmbyRawItem(Id: $Id, Name: $Name, Type: $Type, Overview: $Overview, ProductionYear: $ProductionYear, CommunityRating: $CommunityRating, PremiereDate: $PremiereDate, SeriesName: $SeriesName, SeriesId: $SeriesId, SeasonId: $SeasonId, SeasonName: $SeasonName, IndexNumber: $IndexNumber, ParentId: $ParentId, PrimaryImageTag: $PrimaryImageTag, ImageTags: $ImageTags, BackdropImageTags: $BackdropImageTags, RunTimeTicks: $RunTimeTicks, UserData: $UserData, extra: $extra)';
}


}

/// @nodoc
abstract mixin class $EmbyRawItemCopyWith<$Res>  {
  factory $EmbyRawItemCopyWith(EmbyRawItem value, $Res Function(EmbyRawItem) _then) = _$EmbyRawItemCopyWithImpl;
@useResult
$Res call({
 String Id, String Name,@JsonKey(includeIfNull: false) String? Type,@JsonKey(includeIfNull: false) String? Overview,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? ProductionYear,@JsonKey(fromJson: _doubleOrNull, includeIfNull: false) double? CommunityRating,@JsonKey(includeIfNull: false) String? PremiereDate,@JsonKey(includeIfNull: false) String? SeriesName,@JsonKey(includeIfNull: false) String? SeriesId,@JsonKey(includeIfNull: false) String? SeasonId,@JsonKey(includeIfNull: false) String? SeasonName,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? IndexNumber,@JsonKey(includeIfNull: false) String? ParentId,@JsonKey(includeIfNull: false) String? PrimaryImageTag,@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? ImageTags,@JsonKey(fromJson: _stringListOrNull, includeIfNull: false) List<String>? BackdropImageTags,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? RunTimeTicks,@JsonKey(includeIfNull: false) EmbyRawUserData? UserData,@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> extra
});


$EmbyRawUserDataCopyWith<$Res>? get UserData;

}
/// @nodoc
class _$EmbyRawItemCopyWithImpl<$Res>
    implements $EmbyRawItemCopyWith<$Res> {
  _$EmbyRawItemCopyWithImpl(this._self, this._then);

  final EmbyRawItem _self;
  final $Res Function(EmbyRawItem) _then;

/// Create a copy of EmbyRawItem
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Id = null,Object? Name = null,Object? Type = freezed,Object? Overview = freezed,Object? ProductionYear = freezed,Object? CommunityRating = freezed,Object? PremiereDate = freezed,Object? SeriesName = freezed,Object? SeriesId = freezed,Object? SeasonId = freezed,Object? SeasonName = freezed,Object? IndexNumber = freezed,Object? ParentId = freezed,Object? PrimaryImageTag = freezed,Object? ImageTags = freezed,Object? BackdropImageTags = freezed,Object? RunTimeTicks = freezed,Object? UserData = freezed,Object? extra = null,}) {
  return _then(_self.copyWith(
Id: null == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String,Name: null == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String,Type: freezed == Type ? _self.Type : Type // ignore: cast_nullable_to_non_nullable
as String?,Overview: freezed == Overview ? _self.Overview : Overview // ignore: cast_nullable_to_non_nullable
as String?,ProductionYear: freezed == ProductionYear ? _self.ProductionYear : ProductionYear // ignore: cast_nullable_to_non_nullable
as int?,CommunityRating: freezed == CommunityRating ? _self.CommunityRating : CommunityRating // ignore: cast_nullable_to_non_nullable
as double?,PremiereDate: freezed == PremiereDate ? _self.PremiereDate : PremiereDate // ignore: cast_nullable_to_non_nullable
as String?,SeriesName: freezed == SeriesName ? _self.SeriesName : SeriesName // ignore: cast_nullable_to_non_nullable
as String?,SeriesId: freezed == SeriesId ? _self.SeriesId : SeriesId // ignore: cast_nullable_to_non_nullable
as String?,SeasonId: freezed == SeasonId ? _self.SeasonId : SeasonId // ignore: cast_nullable_to_non_nullable
as String?,SeasonName: freezed == SeasonName ? _self.SeasonName : SeasonName // ignore: cast_nullable_to_non_nullable
as String?,IndexNumber: freezed == IndexNumber ? _self.IndexNumber : IndexNumber // ignore: cast_nullable_to_non_nullable
as int?,ParentId: freezed == ParentId ? _self.ParentId : ParentId // ignore: cast_nullable_to_non_nullable
as String?,PrimaryImageTag: freezed == PrimaryImageTag ? _self.PrimaryImageTag : PrimaryImageTag // ignore: cast_nullable_to_non_nullable
as String?,ImageTags: freezed == ImageTags ? _self.ImageTags : ImageTags // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,BackdropImageTags: freezed == BackdropImageTags ? _self.BackdropImageTags : BackdropImageTags // ignore: cast_nullable_to_non_nullable
as List<String>?,RunTimeTicks: freezed == RunTimeTicks ? _self.RunTimeTicks : RunTimeTicks // ignore: cast_nullable_to_non_nullable
as int?,UserData: freezed == UserData ? _self.UserData : UserData // ignore: cast_nullable_to_non_nullable
as EmbyRawUserData?,extra: null == extra ? _self.extra : extra // ignore: cast_nullable_to_non_nullable
as Map<String, dynamic>,
  ));
}
/// Create a copy of EmbyRawItem
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawUserDataCopyWith<$Res>? get UserData {
    if (_self.UserData == null) {
    return null;
  }

  return $EmbyRawUserDataCopyWith<$Res>(_self.UserData!, (value) {
    return _then(_self.copyWith(UserData: value));
  });
}
}


/// Adds pattern-matching-related methods to [EmbyRawItem].
extension EmbyRawItemPatterns on EmbyRawItem {
/// 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( _EmbyRawItem value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawItem() 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( _EmbyRawItem value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawItem():
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( _EmbyRawItem value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawItem() 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( String Id,  String Name, @JsonKey(includeIfNull: false)  String? Type, @JsonKey(includeIfNull: false)  String? Overview, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ProductionYear, @JsonKey(fromJson: _doubleOrNull, includeIfNull: false)  double? CommunityRating, @JsonKey(includeIfNull: false)  String? PremiereDate, @JsonKey(includeIfNull: false)  String? SeriesName, @JsonKey(includeIfNull: false)  String? SeriesId, @JsonKey(includeIfNull: false)  String? SeasonId, @JsonKey(includeIfNull: false)  String? SeasonName, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? IndexNumber, @JsonKey(includeIfNull: false)  String? ParentId, @JsonKey(includeIfNull: false)  String? PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags, @JsonKey(fromJson: _stringListOrNull, includeIfNull: false)  List<String>? BackdropImageTags, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? RunTimeTicks, @JsonKey(includeIfNull: false)  EmbyRawUserData? UserData, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawItem() when $default != null:
return $default(_that.Id,_that.Name,_that.Type,_that.Overview,_that.ProductionYear,_that.CommunityRating,_that.PremiereDate,_that.SeriesName,_that.SeriesId,_that.SeasonId,_that.SeasonName,_that.IndexNumber,_that.ParentId,_that.PrimaryImageTag,_that.ImageTags,_that.BackdropImageTags,_that.RunTimeTicks,_that.UserData,_that.extra);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( String Id,  String Name, @JsonKey(includeIfNull: false)  String? Type, @JsonKey(includeIfNull: false)  String? Overview, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ProductionYear, @JsonKey(fromJson: _doubleOrNull, includeIfNull: false)  double? CommunityRating, @JsonKey(includeIfNull: false)  String? PremiereDate, @JsonKey(includeIfNull: false)  String? SeriesName, @JsonKey(includeIfNull: false)  String? SeriesId, @JsonKey(includeIfNull: false)  String? SeasonId, @JsonKey(includeIfNull: false)  String? SeasonName, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? IndexNumber, @JsonKey(includeIfNull: false)  String? ParentId, @JsonKey(includeIfNull: false)  String? PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags, @JsonKey(fromJson: _stringListOrNull, includeIfNull: false)  List<String>? BackdropImageTags, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? RunTimeTicks, @JsonKey(includeIfNull: false)  EmbyRawUserData? UserData, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawItem():
return $default(_that.Id,_that.Name,_that.Type,_that.Overview,_that.ProductionYear,_that.CommunityRating,_that.PremiereDate,_that.SeriesName,_that.SeriesId,_that.SeasonId,_that.SeasonName,_that.IndexNumber,_that.ParentId,_that.PrimaryImageTag,_that.ImageTags,_that.BackdropImageTags,_that.RunTimeTicks,_that.UserData,_that.extra);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( String Id,  String Name, @JsonKey(includeIfNull: false)  String? Type, @JsonKey(includeIfNull: false)  String? Overview, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ProductionYear, @JsonKey(fromJson: _doubleOrNull, includeIfNull: false)  double? CommunityRating, @JsonKey(includeIfNull: false)  String? PremiereDate, @JsonKey(includeIfNull: false)  String? SeriesName, @JsonKey(includeIfNull: false)  String? SeriesId, @JsonKey(includeIfNull: false)  String? SeasonId, @JsonKey(includeIfNull: false)  String? SeasonName, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? IndexNumber, @JsonKey(includeIfNull: false)  String? ParentId, @JsonKey(includeIfNull: false)  String? PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags, @JsonKey(fromJson: _stringListOrNull, includeIfNull: false)  List<String>? BackdropImageTags, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? RunTimeTicks, @JsonKey(includeIfNull: false)  EmbyRawUserData? UserData, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawItem() when $default != null:
return $default(_that.Id,_that.Name,_that.Type,_that.Overview,_that.ProductionYear,_that.CommunityRating,_that.PremiereDate,_that.SeriesName,_that.SeriesId,_that.SeasonId,_that.SeasonName,_that.IndexNumber,_that.ParentId,_that.PrimaryImageTag,_that.ImageTags,_that.BackdropImageTags,_that.RunTimeTicks,_that.UserData,_that.extra);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawItem implements EmbyRawItem {
  const _EmbyRawItem({required this.Id, required this.Name, @JsonKey(includeIfNull: false) this.Type, @JsonKey(includeIfNull: false) this.Overview, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.ProductionYear, @JsonKey(fromJson: _doubleOrNull, includeIfNull: false) this.CommunityRating, @JsonKey(includeIfNull: false) this.PremiereDate, @JsonKey(includeIfNull: false) this.SeriesName, @JsonKey(includeIfNull: false) this.SeriesId, @JsonKey(includeIfNull: false) this.SeasonId, @JsonKey(includeIfNull: false) this.SeasonName, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.IndexNumber, @JsonKey(includeIfNull: false) this.ParentId, @JsonKey(includeIfNull: false) this.PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) final  Map<String, String>? ImageTags, @JsonKey(fromJson: _stringListOrNull, includeIfNull: false) final  List<String>? BackdropImageTags, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.RunTimeTicks, @JsonKey(includeIfNull: false) this.UserData, @JsonKey(includeFromJson: false, includeToJson: false) final  Map<String, dynamic> extra = const <String, dynamic>{}}): _ImageTags = ImageTags,_BackdropImageTags = BackdropImageTags,_extra = extra;
  factory _EmbyRawItem.fromJson(Map<String, dynamic> json) => _$EmbyRawItemFromJson(json);

@override final  String Id;
@override final  String Name;
@override@JsonKey(includeIfNull: false) final  String? Type;
@override@JsonKey(includeIfNull: false) final  String? Overview;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? ProductionYear;
@override@JsonKey(fromJson: _doubleOrNull, includeIfNull: false) final  double? CommunityRating;
@override@JsonKey(includeIfNull: false) final  String? PremiereDate;
@override@JsonKey(includeIfNull: false) final  String? SeriesName;
@override@JsonKey(includeIfNull: false) final  String? SeriesId;
@override@JsonKey(includeIfNull: false) final  String? SeasonId;
@override@JsonKey(includeIfNull: false) final  String? SeasonName;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? IndexNumber;
@override@JsonKey(includeIfNull: false) final  String? ParentId;
@override@JsonKey(includeIfNull: false) final  String? PrimaryImageTag;
 final  Map<String, String>? _ImageTags;
@override@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? get ImageTags {
  final value = _ImageTags;
  if (value == null) return null;
  if (_ImageTags is EqualUnmodifiableMapView) return _ImageTags;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(value);
}

 final  List<String>? _BackdropImageTags;
@override@JsonKey(fromJson: _stringListOrNull, includeIfNull: false) List<String>? get BackdropImageTags {
  final value = _BackdropImageTags;
  if (value == null) return null;
  if (_BackdropImageTags is EqualUnmodifiableListView) return _BackdropImageTags;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}

@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? RunTimeTicks;
@override@JsonKey(includeIfNull: false) final  EmbyRawUserData? UserData;
 final  Map<String, dynamic> _extra;
@override@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> get extra {
  if (_extra is EqualUnmodifiableMapView) return _extra;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(_extra);
}


/// Create a copy of EmbyRawItem
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawItemCopyWith<_EmbyRawItem> get copyWith => __$EmbyRawItemCopyWithImpl<_EmbyRawItem>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawItemToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawItem&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.Type, Type) || other.Type == Type)&&(identical(other.Overview, Overview) || other.Overview == Overview)&&(identical(other.ProductionYear, ProductionYear) || other.ProductionYear == ProductionYear)&&(identical(other.CommunityRating, CommunityRating) || other.CommunityRating == CommunityRating)&&(identical(other.PremiereDate, PremiereDate) || other.PremiereDate == PremiereDate)&&(identical(other.SeriesName, SeriesName) || other.SeriesName == SeriesName)&&(identical(other.SeriesId, SeriesId) || other.SeriesId == SeriesId)&&(identical(other.SeasonId, SeasonId) || other.SeasonId == SeasonId)&&(identical(other.SeasonName, SeasonName) || other.SeasonName == SeasonName)&&(identical(other.IndexNumber, IndexNumber) || other.IndexNumber == IndexNumber)&&(identical(other.ParentId, ParentId) || other.ParentId == ParentId)&&(identical(other.PrimaryImageTag, PrimaryImageTag) || other.PrimaryImageTag == PrimaryImageTag)&&const DeepCollectionEquality().equals(other._ImageTags, _ImageTags)&&const DeepCollectionEquality().equals(other._BackdropImageTags, _BackdropImageTags)&&(identical(other.RunTimeTicks, RunTimeTicks) || other.RunTimeTicks == RunTimeTicks)&&(identical(other.UserData, UserData) || other.UserData == UserData)&&const DeepCollectionEquality().equals(other._extra, _extra));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,Id,Name,Type,Overview,ProductionYear,CommunityRating,PremiereDate,SeriesName,SeriesId,SeasonId,SeasonName,IndexNumber,ParentId,PrimaryImageTag,const DeepCollectionEquality().hash(_ImageTags),const DeepCollectionEquality().hash(_BackdropImageTags),RunTimeTicks,UserData,const DeepCollectionEquality().hash(_extra)]);

@override
String toString() {
  return 'EmbyRawItem(Id: $Id, Name: $Name, Type: $Type, Overview: $Overview, ProductionYear: $ProductionYear, CommunityRating: $CommunityRating, PremiereDate: $PremiereDate, SeriesName: $SeriesName, SeriesId: $SeriesId, SeasonId: $SeasonId, SeasonName: $SeasonName, IndexNumber: $IndexNumber, ParentId: $ParentId, PrimaryImageTag: $PrimaryImageTag, ImageTags: $ImageTags, BackdropImageTags: $BackdropImageTags, RunTimeTicks: $RunTimeTicks, UserData: $UserData, extra: $extra)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawItemCopyWith<$Res> implements $EmbyRawItemCopyWith<$Res> {
  factory _$EmbyRawItemCopyWith(_EmbyRawItem value, $Res Function(_EmbyRawItem) _then) = __$EmbyRawItemCopyWithImpl;
@override @useResult
$Res call({
 String Id, String Name,@JsonKey(includeIfNull: false) String? Type,@JsonKey(includeIfNull: false) String? Overview,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? ProductionYear,@JsonKey(fromJson: _doubleOrNull, includeIfNull: false) double? CommunityRating,@JsonKey(includeIfNull: false) String? PremiereDate,@JsonKey(includeIfNull: false) String? SeriesName,@JsonKey(includeIfNull: false) String? SeriesId,@JsonKey(includeIfNull: false) String? SeasonId,@JsonKey(includeIfNull: false) String? SeasonName,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? IndexNumber,@JsonKey(includeIfNull: false) String? ParentId,@JsonKey(includeIfNull: false) String? PrimaryImageTag,@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? ImageTags,@JsonKey(fromJson: _stringListOrNull, includeIfNull: false) List<String>? BackdropImageTags,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? RunTimeTicks,@JsonKey(includeIfNull: false) EmbyRawUserData? UserData,@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> extra
});


@override $EmbyRawUserDataCopyWith<$Res>? get UserData;

}
/// @nodoc
class __$EmbyRawItemCopyWithImpl<$Res>
    implements _$EmbyRawItemCopyWith<$Res> {
  __$EmbyRawItemCopyWithImpl(this._self, this._then);

  final _EmbyRawItem _self;
  final $Res Function(_EmbyRawItem) _then;

/// Create a copy of EmbyRawItem
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Id = null,Object? Name = null,Object? Type = freezed,Object? Overview = freezed,Object? ProductionYear = freezed,Object? CommunityRating = freezed,Object? PremiereDate = freezed,Object? SeriesName = freezed,Object? SeriesId = freezed,Object? SeasonId = freezed,Object? SeasonName = freezed,Object? IndexNumber = freezed,Object? ParentId = freezed,Object? PrimaryImageTag = freezed,Object? ImageTags = freezed,Object? BackdropImageTags = freezed,Object? RunTimeTicks = freezed,Object? UserData = freezed,Object? extra = null,}) {
  return _then(_EmbyRawItem(
Id: null == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String,Name: null == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String,Type: freezed == Type ? _self.Type : Type // ignore: cast_nullable_to_non_nullable
as String?,Overview: freezed == Overview ? _self.Overview : Overview // ignore: cast_nullable_to_non_nullable
as String?,ProductionYear: freezed == ProductionYear ? _self.ProductionYear : ProductionYear // ignore: cast_nullable_to_non_nullable
as int?,CommunityRating: freezed == CommunityRating ? _self.CommunityRating : CommunityRating // ignore: cast_nullable_to_non_nullable
as double?,PremiereDate: freezed == PremiereDate ? _self.PremiereDate : PremiereDate // ignore: cast_nullable_to_non_nullable
as String?,SeriesName: freezed == SeriesName ? _self.SeriesName : SeriesName // ignore: cast_nullable_to_non_nullable
as String?,SeriesId: freezed == SeriesId ? _self.SeriesId : SeriesId // ignore: cast_nullable_to_non_nullable
as String?,SeasonId: freezed == SeasonId ? _self.SeasonId : SeasonId // ignore: cast_nullable_to_non_nullable
as String?,SeasonName: freezed == SeasonName ? _self.SeasonName : SeasonName // ignore: cast_nullable_to_non_nullable
as String?,IndexNumber: freezed == IndexNumber ? _self.IndexNumber : IndexNumber // ignore: cast_nullable_to_non_nullable
as int?,ParentId: freezed == ParentId ? _self.ParentId : ParentId // ignore: cast_nullable_to_non_nullable
as String?,PrimaryImageTag: freezed == PrimaryImageTag ? _self.PrimaryImageTag : PrimaryImageTag // ignore: cast_nullable_to_non_nullable
as String?,ImageTags: freezed == ImageTags ? _self._ImageTags : ImageTags // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,BackdropImageTags: freezed == BackdropImageTags ? _self._BackdropImageTags : BackdropImageTags // ignore: cast_nullable_to_non_nullable
as List<String>?,RunTimeTicks: freezed == RunTimeTicks ? _self.RunTimeTicks : RunTimeTicks // ignore: cast_nullable_to_non_nullable
as int?,UserData: freezed == UserData ? _self.UserData : UserData // ignore: cast_nullable_to_non_nullable
as EmbyRawUserData?,extra: null == extra ? _self._extra : extra // ignore: cast_nullable_to_non_nullable
as Map<String, dynamic>,
  ));
}

/// Create a copy of EmbyRawItem
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawUserDataCopyWith<$Res>? get UserData {
    if (_self.UserData == null) {
    return null;
  }

  return $EmbyRawUserDataCopyWith<$Res>(_self.UserData!, (value) {
    return _then(_self.copyWith(UserData: value));
  });
}
}


/// @nodoc
mixin _$EmbyRawSeason {

 String get Id; String get Name;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get IndexNumber;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get ProductionYear;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get ChildCount;@JsonKey(includeIfNull: false) String? get PrimaryImageTag;@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? get ImageTags;
/// Create a copy of EmbyRawSeason
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawSeasonCopyWith<EmbyRawSeason> get copyWith => _$EmbyRawSeasonCopyWithImpl<EmbyRawSeason>(this as EmbyRawSeason, _$identity);

  /// Serializes this EmbyRawSeason to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawSeason&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.IndexNumber, IndexNumber) || other.IndexNumber == IndexNumber)&&(identical(other.ProductionYear, ProductionYear) || other.ProductionYear == ProductionYear)&&(identical(other.ChildCount, ChildCount) || other.ChildCount == ChildCount)&&(identical(other.PrimaryImageTag, PrimaryImageTag) || other.PrimaryImageTag == PrimaryImageTag)&&const DeepCollectionEquality().equals(other.ImageTags, ImageTags));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Id,Name,IndexNumber,ProductionYear,ChildCount,PrimaryImageTag,const DeepCollectionEquality().hash(ImageTags));

@override
String toString() {
  return 'EmbyRawSeason(Id: $Id, Name: $Name, IndexNumber: $IndexNumber, ProductionYear: $ProductionYear, ChildCount: $ChildCount, PrimaryImageTag: $PrimaryImageTag, ImageTags: $ImageTags)';
}


}

/// @nodoc
abstract mixin class $EmbyRawSeasonCopyWith<$Res>  {
  factory $EmbyRawSeasonCopyWith(EmbyRawSeason value, $Res Function(EmbyRawSeason) _then) = _$EmbyRawSeasonCopyWithImpl;
@useResult
$Res call({
 String Id, String Name,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? IndexNumber,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? ProductionYear,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? ChildCount,@JsonKey(includeIfNull: false) String? PrimaryImageTag,@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? ImageTags
});




}
/// @nodoc
class _$EmbyRawSeasonCopyWithImpl<$Res>
    implements $EmbyRawSeasonCopyWith<$Res> {
  _$EmbyRawSeasonCopyWithImpl(this._self, this._then);

  final EmbyRawSeason _self;
  final $Res Function(EmbyRawSeason) _then;

/// Create a copy of EmbyRawSeason
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Id = null,Object? Name = null,Object? IndexNumber = freezed,Object? ProductionYear = freezed,Object? ChildCount = freezed,Object? PrimaryImageTag = freezed,Object? ImageTags = freezed,}) {
  return _then(_self.copyWith(
Id: null == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String,Name: null == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String,IndexNumber: freezed == IndexNumber ? _self.IndexNumber : IndexNumber // ignore: cast_nullable_to_non_nullable
as int?,ProductionYear: freezed == ProductionYear ? _self.ProductionYear : ProductionYear // ignore: cast_nullable_to_non_nullable
as int?,ChildCount: freezed == ChildCount ? _self.ChildCount : ChildCount // ignore: cast_nullable_to_non_nullable
as int?,PrimaryImageTag: freezed == PrimaryImageTag ? _self.PrimaryImageTag : PrimaryImageTag // ignore: cast_nullable_to_non_nullable
as String?,ImageTags: freezed == ImageTags ? _self.ImageTags : ImageTags // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawSeason].
extension EmbyRawSeasonPatterns on EmbyRawSeason {
/// 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( _EmbyRawSeason value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawSeason() 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( _EmbyRawSeason value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawSeason():
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( _EmbyRawSeason value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawSeason() 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( String Id,  String Name, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? IndexNumber, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ProductionYear, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ChildCount, @JsonKey(includeIfNull: false)  String? PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawSeason() when $default != null:
return $default(_that.Id,_that.Name,_that.IndexNumber,_that.ProductionYear,_that.ChildCount,_that.PrimaryImageTag,_that.ImageTags);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( String Id,  String Name, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? IndexNumber, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ProductionYear, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ChildCount, @JsonKey(includeIfNull: false)  String? PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawSeason():
return $default(_that.Id,_that.Name,_that.IndexNumber,_that.ProductionYear,_that.ChildCount,_that.PrimaryImageTag,_that.ImageTags);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( String Id,  String Name, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? IndexNumber, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ProductionYear, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? ChildCount, @JsonKey(includeIfNull: false)  String? PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawSeason() when $default != null:
return $default(_that.Id,_that.Name,_that.IndexNumber,_that.ProductionYear,_that.ChildCount,_that.PrimaryImageTag,_that.ImageTags);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawSeason implements EmbyRawSeason {
  const _EmbyRawSeason({required this.Id, required this.Name, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.IndexNumber, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.ProductionYear, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.ChildCount, @JsonKey(includeIfNull: false) this.PrimaryImageTag, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) final  Map<String, String>? ImageTags}): _ImageTags = ImageTags;
  factory _EmbyRawSeason.fromJson(Map<String, dynamic> json) => _$EmbyRawSeasonFromJson(json);

@override final  String Id;
@override final  String Name;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? IndexNumber;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? ProductionYear;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? ChildCount;
@override@JsonKey(includeIfNull: false) final  String? PrimaryImageTag;
 final  Map<String, String>? _ImageTags;
@override@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? get ImageTags {
  final value = _ImageTags;
  if (value == null) return null;
  if (_ImageTags is EqualUnmodifiableMapView) return _ImageTags;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(value);
}


/// Create a copy of EmbyRawSeason
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawSeasonCopyWith<_EmbyRawSeason> get copyWith => __$EmbyRawSeasonCopyWithImpl<_EmbyRawSeason>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawSeasonToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawSeason&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.IndexNumber, IndexNumber) || other.IndexNumber == IndexNumber)&&(identical(other.ProductionYear, ProductionYear) || other.ProductionYear == ProductionYear)&&(identical(other.ChildCount, ChildCount) || other.ChildCount == ChildCount)&&(identical(other.PrimaryImageTag, PrimaryImageTag) || other.PrimaryImageTag == PrimaryImageTag)&&const DeepCollectionEquality().equals(other._ImageTags, _ImageTags));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Id,Name,IndexNumber,ProductionYear,ChildCount,PrimaryImageTag,const DeepCollectionEquality().hash(_ImageTags));

@override
String toString() {
  return 'EmbyRawSeason(Id: $Id, Name: $Name, IndexNumber: $IndexNumber, ProductionYear: $ProductionYear, ChildCount: $ChildCount, PrimaryImageTag: $PrimaryImageTag, ImageTags: $ImageTags)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawSeasonCopyWith<$Res> implements $EmbyRawSeasonCopyWith<$Res> {
  factory _$EmbyRawSeasonCopyWith(_EmbyRawSeason value, $Res Function(_EmbyRawSeason) _then) = __$EmbyRawSeasonCopyWithImpl;
@override @useResult
$Res call({
 String Id, String Name,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? IndexNumber,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? ProductionYear,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? ChildCount,@JsonKey(includeIfNull: false) String? PrimaryImageTag,@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? ImageTags
});




}
/// @nodoc
class __$EmbyRawSeasonCopyWithImpl<$Res>
    implements _$EmbyRawSeasonCopyWith<$Res> {
  __$EmbyRawSeasonCopyWithImpl(this._self, this._then);

  final _EmbyRawSeason _self;
  final $Res Function(_EmbyRawSeason) _then;

/// Create a copy of EmbyRawSeason
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Id = null,Object? Name = null,Object? IndexNumber = freezed,Object? ProductionYear = freezed,Object? ChildCount = freezed,Object? PrimaryImageTag = freezed,Object? ImageTags = freezed,}) {
  return _then(_EmbyRawSeason(
Id: null == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String,Name: null == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String,IndexNumber: freezed == IndexNumber ? _self.IndexNumber : IndexNumber // ignore: cast_nullable_to_non_nullable
as int?,ProductionYear: freezed == ProductionYear ? _self.ProductionYear : ProductionYear // ignore: cast_nullable_to_non_nullable
as int?,ChildCount: freezed == ChildCount ? _self.ChildCount : ChildCount // ignore: cast_nullable_to_non_nullable
as int?,PrimaryImageTag: freezed == PrimaryImageTag ? _self.PrimaryImageTag : PrimaryImageTag // ignore: cast_nullable_to_non_nullable
as String?,ImageTags: freezed == ImageTags ? _self._ImageTags : ImageTags // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,
  ));
}


}


/// @nodoc
mixin _$EmbyRawLibrary {

 String get Id; String get Name;@JsonKey(includeIfNull: false) String? get CollectionType;@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? get ImageTags;
/// Create a copy of EmbyRawLibrary
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawLibraryCopyWith<EmbyRawLibrary> get copyWith => _$EmbyRawLibraryCopyWithImpl<EmbyRawLibrary>(this as EmbyRawLibrary, _$identity);

  /// Serializes this EmbyRawLibrary to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawLibrary&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.CollectionType, CollectionType) || other.CollectionType == CollectionType)&&const DeepCollectionEquality().equals(other.ImageTags, ImageTags));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Id,Name,CollectionType,const DeepCollectionEquality().hash(ImageTags));

@override
String toString() {
  return 'EmbyRawLibrary(Id: $Id, Name: $Name, CollectionType: $CollectionType, ImageTags: $ImageTags)';
}


}

/// @nodoc
abstract mixin class $EmbyRawLibraryCopyWith<$Res>  {
  factory $EmbyRawLibraryCopyWith(EmbyRawLibrary value, $Res Function(EmbyRawLibrary) _then) = _$EmbyRawLibraryCopyWithImpl;
@useResult
$Res call({
 String Id, String Name,@JsonKey(includeIfNull: false) String? CollectionType,@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? ImageTags
});




}
/// @nodoc
class _$EmbyRawLibraryCopyWithImpl<$Res>
    implements $EmbyRawLibraryCopyWith<$Res> {
  _$EmbyRawLibraryCopyWithImpl(this._self, this._then);

  final EmbyRawLibrary _self;
  final $Res Function(EmbyRawLibrary) _then;

/// Create a copy of EmbyRawLibrary
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Id = null,Object? Name = null,Object? CollectionType = freezed,Object? ImageTags = freezed,}) {
  return _then(_self.copyWith(
Id: null == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String,Name: null == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String,CollectionType: freezed == CollectionType ? _self.CollectionType : CollectionType // ignore: cast_nullable_to_non_nullable
as String?,ImageTags: freezed == ImageTags ? _self.ImageTags : ImageTags // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawLibrary].
extension EmbyRawLibraryPatterns on EmbyRawLibrary {
/// 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( _EmbyRawLibrary value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawLibrary() 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( _EmbyRawLibrary value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawLibrary():
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( _EmbyRawLibrary value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawLibrary() 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( String Id,  String Name, @JsonKey(includeIfNull: false)  String? CollectionType, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawLibrary() when $default != null:
return $default(_that.Id,_that.Name,_that.CollectionType,_that.ImageTags);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( String Id,  String Name, @JsonKey(includeIfNull: false)  String? CollectionType, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawLibrary():
return $default(_that.Id,_that.Name,_that.CollectionType,_that.ImageTags);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( String Id,  String Name, @JsonKey(includeIfNull: false)  String? CollectionType, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false)  Map<String, String>? ImageTags)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawLibrary() when $default != null:
return $default(_that.Id,_that.Name,_that.CollectionType,_that.ImageTags);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawLibrary implements EmbyRawLibrary {
  const _EmbyRawLibrary({required this.Id, required this.Name, @JsonKey(includeIfNull: false) this.CollectionType, @JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) final  Map<String, String>? ImageTags}): _ImageTags = ImageTags;
  factory _EmbyRawLibrary.fromJson(Map<String, dynamic> json) => _$EmbyRawLibraryFromJson(json);

@override final  String Id;
@override final  String Name;
@override@JsonKey(includeIfNull: false) final  String? CollectionType;
 final  Map<String, String>? _ImageTags;
@override@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? get ImageTags {
  final value = _ImageTags;
  if (value == null) return null;
  if (_ImageTags is EqualUnmodifiableMapView) return _ImageTags;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(value);
}


/// Create a copy of EmbyRawLibrary
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawLibraryCopyWith<_EmbyRawLibrary> get copyWith => __$EmbyRawLibraryCopyWithImpl<_EmbyRawLibrary>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawLibraryToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawLibrary&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.CollectionType, CollectionType) || other.CollectionType == CollectionType)&&const DeepCollectionEquality().equals(other._ImageTags, _ImageTags));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Id,Name,CollectionType,const DeepCollectionEquality().hash(_ImageTags));

@override
String toString() {
  return 'EmbyRawLibrary(Id: $Id, Name: $Name, CollectionType: $CollectionType, ImageTags: $ImageTags)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawLibraryCopyWith<$Res> implements $EmbyRawLibraryCopyWith<$Res> {
  factory _$EmbyRawLibraryCopyWith(_EmbyRawLibrary value, $Res Function(_EmbyRawLibrary) _then) = __$EmbyRawLibraryCopyWithImpl;
@override @useResult
$Res call({
 String Id, String Name,@JsonKey(includeIfNull: false) String? CollectionType,@JsonKey(fromJson: _stringMapOrNull, includeIfNull: false) Map<String, String>? ImageTags
});




}
/// @nodoc
class __$EmbyRawLibraryCopyWithImpl<$Res>
    implements _$EmbyRawLibraryCopyWith<$Res> {
  __$EmbyRawLibraryCopyWithImpl(this._self, this._then);

  final _EmbyRawLibrary _self;
  final $Res Function(_EmbyRawLibrary) _then;

/// Create a copy of EmbyRawLibrary
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Id = null,Object? Name = null,Object? CollectionType = freezed,Object? ImageTags = freezed,}) {
  return _then(_EmbyRawLibrary(
Id: null == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String,Name: null == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String,CollectionType: freezed == CollectionType ? _self.CollectionType : CollectionType // ignore: cast_nullable_to_non_nullable
as String?,ImageTags: freezed == ImageTags ? _self._ImageTags : ImageTags // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,
  ));
}


}


/// @nodoc
mixin _$EmbyRawLibraries {

 List<EmbyRawLibrary> get Items;
/// Create a copy of EmbyRawLibraries
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawLibrariesCopyWith<EmbyRawLibraries> get copyWith => _$EmbyRawLibrariesCopyWithImpl<EmbyRawLibraries>(this as EmbyRawLibraries, _$identity);

  /// Serializes this EmbyRawLibraries to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawLibraries&&const DeepCollectionEquality().equals(other.Items, Items));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(Items));

@override
String toString() {
  return 'EmbyRawLibraries(Items: $Items)';
}


}

/// @nodoc
abstract mixin class $EmbyRawLibrariesCopyWith<$Res>  {
  factory $EmbyRawLibrariesCopyWith(EmbyRawLibraries value, $Res Function(EmbyRawLibraries) _then) = _$EmbyRawLibrariesCopyWithImpl;
@useResult
$Res call({
 List<EmbyRawLibrary> Items
});




}
/// @nodoc
class _$EmbyRawLibrariesCopyWithImpl<$Res>
    implements $EmbyRawLibrariesCopyWith<$Res> {
  _$EmbyRawLibrariesCopyWithImpl(this._self, this._then);

  final EmbyRawLibraries _self;
  final $Res Function(EmbyRawLibraries) _then;

/// Create a copy of EmbyRawLibraries
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Items = null,}) {
  return _then(_self.copyWith(
Items: null == Items ? _self.Items : Items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawLibrary>,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawLibraries].
extension EmbyRawLibrariesPatterns on EmbyRawLibraries {
/// 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( _EmbyRawLibraries value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawLibraries() 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( _EmbyRawLibraries value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawLibraries():
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( _EmbyRawLibraries value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawLibraries() 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( List<EmbyRawLibrary> Items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawLibraries() when $default != null:
return $default(_that.Items);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( List<EmbyRawLibrary> Items)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawLibraries():
return $default(_that.Items);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( List<EmbyRawLibrary> Items)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawLibraries() when $default != null:
return $default(_that.Items);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawLibraries implements EmbyRawLibraries {
  const _EmbyRawLibraries({required final  List<EmbyRawLibrary> Items}): _Items = Items;
  factory _EmbyRawLibraries.fromJson(Map<String, dynamic> json) => _$EmbyRawLibrariesFromJson(json);

 final  List<EmbyRawLibrary> _Items;
@override List<EmbyRawLibrary> get Items {
  if (_Items is EqualUnmodifiableListView) return _Items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_Items);
}


/// Create a copy of EmbyRawLibraries
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawLibrariesCopyWith<_EmbyRawLibraries> get copyWith => __$EmbyRawLibrariesCopyWithImpl<_EmbyRawLibraries>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawLibrariesToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawLibraries&&const DeepCollectionEquality().equals(other._Items, _Items));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_Items));

@override
String toString() {
  return 'EmbyRawLibraries(Items: $Items)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawLibrariesCopyWith<$Res> implements $EmbyRawLibrariesCopyWith<$Res> {
  factory _$EmbyRawLibrariesCopyWith(_EmbyRawLibraries value, $Res Function(_EmbyRawLibraries) _then) = __$EmbyRawLibrariesCopyWithImpl;
@override @useResult
$Res call({
 List<EmbyRawLibrary> Items
});




}
/// @nodoc
class __$EmbyRawLibrariesCopyWithImpl<$Res>
    implements _$EmbyRawLibrariesCopyWith<$Res> {
  __$EmbyRawLibrariesCopyWithImpl(this._self, this._then);

  final _EmbyRawLibraries _self;
  final $Res Function(_EmbyRawLibraries) _then;

/// Create a copy of EmbyRawLibraries
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Items = null,}) {
  return _then(_EmbyRawLibraries(
Items: null == Items ? _self._Items : Items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawLibrary>,
  ));
}


}


/// @nodoc
mixin _$EmbyRawMediaStream {

@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get Index;@JsonKey(includeIfNull: false) String? get Type;@JsonKey(includeIfNull: false) String? get Language;@JsonKey(includeIfNull: false) String? get Codec;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get Channels;@JsonKey(includeIfNull: false) String? get DisplayTitle;@JsonKey(includeIfNull: false) String? get Title;@JsonKey(includeIfNull: false) bool? get IsDefault;@JsonKey(includeIfNull: false) bool? get IsForced;@JsonKey(includeIfNull: false) bool? get IsExternal;@JsonKey(includeIfNull: false) String? get DeliveryMethod;@JsonKey(includeIfNull: false) String? get DeliveryUrl;@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> get extra;
/// Create a copy of EmbyRawMediaStream
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawMediaStreamCopyWith<EmbyRawMediaStream> get copyWith => _$EmbyRawMediaStreamCopyWithImpl<EmbyRawMediaStream>(this as EmbyRawMediaStream, _$identity);

  /// Serializes this EmbyRawMediaStream to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawMediaStream&&(identical(other.Index, Index) || other.Index == Index)&&(identical(other.Type, Type) || other.Type == Type)&&(identical(other.Language, Language) || other.Language == Language)&&(identical(other.Codec, Codec) || other.Codec == Codec)&&(identical(other.Channels, Channels) || other.Channels == Channels)&&(identical(other.DisplayTitle, DisplayTitle) || other.DisplayTitle == DisplayTitle)&&(identical(other.Title, Title) || other.Title == Title)&&(identical(other.IsDefault, IsDefault) || other.IsDefault == IsDefault)&&(identical(other.IsForced, IsForced) || other.IsForced == IsForced)&&(identical(other.IsExternal, IsExternal) || other.IsExternal == IsExternal)&&(identical(other.DeliveryMethod, DeliveryMethod) || other.DeliveryMethod == DeliveryMethod)&&(identical(other.DeliveryUrl, DeliveryUrl) || other.DeliveryUrl == DeliveryUrl)&&const DeepCollectionEquality().equals(other.extra, extra));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Index,Type,Language,Codec,Channels,DisplayTitle,Title,IsDefault,IsForced,IsExternal,DeliveryMethod,DeliveryUrl,const DeepCollectionEquality().hash(extra));

@override
String toString() {
  return 'EmbyRawMediaStream(Index: $Index, Type: $Type, Language: $Language, Codec: $Codec, Channels: $Channels, DisplayTitle: $DisplayTitle, Title: $Title, IsDefault: $IsDefault, IsForced: $IsForced, IsExternal: $IsExternal, DeliveryMethod: $DeliveryMethod, DeliveryUrl: $DeliveryUrl, extra: $extra)';
}


}

/// @nodoc
abstract mixin class $EmbyRawMediaStreamCopyWith<$Res>  {
  factory $EmbyRawMediaStreamCopyWith(EmbyRawMediaStream value, $Res Function(EmbyRawMediaStream) _then) = _$EmbyRawMediaStreamCopyWithImpl;
@useResult
$Res call({
@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Index,@JsonKey(includeIfNull: false) String? Type,@JsonKey(includeIfNull: false) String? Language,@JsonKey(includeIfNull: false) String? Codec,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Channels,@JsonKey(includeIfNull: false) String? DisplayTitle,@JsonKey(includeIfNull: false) String? Title,@JsonKey(includeIfNull: false) bool? IsDefault,@JsonKey(includeIfNull: false) bool? IsForced,@JsonKey(includeIfNull: false) bool? IsExternal,@JsonKey(includeIfNull: false) String? DeliveryMethod,@JsonKey(includeIfNull: false) String? DeliveryUrl,@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> extra
});




}
/// @nodoc
class _$EmbyRawMediaStreamCopyWithImpl<$Res>
    implements $EmbyRawMediaStreamCopyWith<$Res> {
  _$EmbyRawMediaStreamCopyWithImpl(this._self, this._then);

  final EmbyRawMediaStream _self;
  final $Res Function(EmbyRawMediaStream) _then;

/// Create a copy of EmbyRawMediaStream
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Index = freezed,Object? Type = freezed,Object? Language = freezed,Object? Codec = freezed,Object? Channels = freezed,Object? DisplayTitle = freezed,Object? Title = freezed,Object? IsDefault = freezed,Object? IsForced = freezed,Object? IsExternal = freezed,Object? DeliveryMethod = freezed,Object? DeliveryUrl = freezed,Object? extra = null,}) {
  return _then(_self.copyWith(
Index: freezed == Index ? _self.Index : Index // ignore: cast_nullable_to_non_nullable
as int?,Type: freezed == Type ? _self.Type : Type // ignore: cast_nullable_to_non_nullable
as String?,Language: freezed == Language ? _self.Language : Language // ignore: cast_nullable_to_non_nullable
as String?,Codec: freezed == Codec ? _self.Codec : Codec // ignore: cast_nullable_to_non_nullable
as String?,Channels: freezed == Channels ? _self.Channels : Channels // ignore: cast_nullable_to_non_nullable
as int?,DisplayTitle: freezed == DisplayTitle ? _self.DisplayTitle : DisplayTitle // ignore: cast_nullable_to_non_nullable
as String?,Title: freezed == Title ? _self.Title : Title // ignore: cast_nullable_to_non_nullable
as String?,IsDefault: freezed == IsDefault ? _self.IsDefault : IsDefault // ignore: cast_nullable_to_non_nullable
as bool?,IsForced: freezed == IsForced ? _self.IsForced : IsForced // ignore: cast_nullable_to_non_nullable
as bool?,IsExternal: freezed == IsExternal ? _self.IsExternal : IsExternal // ignore: cast_nullable_to_non_nullable
as bool?,DeliveryMethod: freezed == DeliveryMethod ? _self.DeliveryMethod : DeliveryMethod // ignore: cast_nullable_to_non_nullable
as String?,DeliveryUrl: freezed == DeliveryUrl ? _self.DeliveryUrl : DeliveryUrl // ignore: cast_nullable_to_non_nullable
as String?,extra: null == extra ? _self.extra : extra // ignore: cast_nullable_to_non_nullable
as Map<String, dynamic>,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawMediaStream].
extension EmbyRawMediaStreamPatterns on EmbyRawMediaStream {
/// 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( _EmbyRawMediaStream value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawMediaStream() 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( _EmbyRawMediaStream value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaStream():
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( _EmbyRawMediaStream value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaStream() 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(@JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Index, @JsonKey(includeIfNull: false)  String? Type, @JsonKey(includeIfNull: false)  String? Language, @JsonKey(includeIfNull: false)  String? Codec, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Channels, @JsonKey(includeIfNull: false)  String? DisplayTitle, @JsonKey(includeIfNull: false)  String? Title, @JsonKey(includeIfNull: false)  bool? IsDefault, @JsonKey(includeIfNull: false)  bool? IsForced, @JsonKey(includeIfNull: false)  bool? IsExternal, @JsonKey(includeIfNull: false)  String? DeliveryMethod, @JsonKey(includeIfNull: false)  String? DeliveryUrl, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawMediaStream() when $default != null:
return $default(_that.Index,_that.Type,_that.Language,_that.Codec,_that.Channels,_that.DisplayTitle,_that.Title,_that.IsDefault,_that.IsForced,_that.IsExternal,_that.DeliveryMethod,_that.DeliveryUrl,_that.extra);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(@JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Index, @JsonKey(includeIfNull: false)  String? Type, @JsonKey(includeIfNull: false)  String? Language, @JsonKey(includeIfNull: false)  String? Codec, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Channels, @JsonKey(includeIfNull: false)  String? DisplayTitle, @JsonKey(includeIfNull: false)  String? Title, @JsonKey(includeIfNull: false)  bool? IsDefault, @JsonKey(includeIfNull: false)  bool? IsForced, @JsonKey(includeIfNull: false)  bool? IsExternal, @JsonKey(includeIfNull: false)  String? DeliveryMethod, @JsonKey(includeIfNull: false)  String? DeliveryUrl, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaStream():
return $default(_that.Index,_that.Type,_that.Language,_that.Codec,_that.Channels,_that.DisplayTitle,_that.Title,_that.IsDefault,_that.IsForced,_that.IsExternal,_that.DeliveryMethod,_that.DeliveryUrl,_that.extra);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(@JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Index, @JsonKey(includeIfNull: false)  String? Type, @JsonKey(includeIfNull: false)  String? Language, @JsonKey(includeIfNull: false)  String? Codec, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Channels, @JsonKey(includeIfNull: false)  String? DisplayTitle, @JsonKey(includeIfNull: false)  String? Title, @JsonKey(includeIfNull: false)  bool? IsDefault, @JsonKey(includeIfNull: false)  bool? IsForced, @JsonKey(includeIfNull: false)  bool? IsExternal, @JsonKey(includeIfNull: false)  String? DeliveryMethod, @JsonKey(includeIfNull: false)  String? DeliveryUrl, @JsonKey(includeFromJson: false, includeToJson: false)  Map<String, dynamic> extra)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaStream() when $default != null:
return $default(_that.Index,_that.Type,_that.Language,_that.Codec,_that.Channels,_that.DisplayTitle,_that.Title,_that.IsDefault,_that.IsForced,_that.IsExternal,_that.DeliveryMethod,_that.DeliveryUrl,_that.extra);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawMediaStream implements EmbyRawMediaStream {
  const _EmbyRawMediaStream({@JsonKey(fromJson: _intOrNull, includeIfNull: false) this.Index, @JsonKey(includeIfNull: false) this.Type, @JsonKey(includeIfNull: false) this.Language, @JsonKey(includeIfNull: false) this.Codec, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.Channels, @JsonKey(includeIfNull: false) this.DisplayTitle, @JsonKey(includeIfNull: false) this.Title, @JsonKey(includeIfNull: false) this.IsDefault, @JsonKey(includeIfNull: false) this.IsForced, @JsonKey(includeIfNull: false) this.IsExternal, @JsonKey(includeIfNull: false) this.DeliveryMethod, @JsonKey(includeIfNull: false) this.DeliveryUrl, @JsonKey(includeFromJson: false, includeToJson: false) final  Map<String, dynamic> extra = const <String, dynamic>{}}): _extra = extra;
  factory _EmbyRawMediaStream.fromJson(Map<String, dynamic> json) => _$EmbyRawMediaStreamFromJson(json);

@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? Index;
@override@JsonKey(includeIfNull: false) final  String? Type;
@override@JsonKey(includeIfNull: false) final  String? Language;
@override@JsonKey(includeIfNull: false) final  String? Codec;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? Channels;
@override@JsonKey(includeIfNull: false) final  String? DisplayTitle;
@override@JsonKey(includeIfNull: false) final  String? Title;
@override@JsonKey(includeIfNull: false) final  bool? IsDefault;
@override@JsonKey(includeIfNull: false) final  bool? IsForced;
@override@JsonKey(includeIfNull: false) final  bool? IsExternal;
@override@JsonKey(includeIfNull: false) final  String? DeliveryMethod;
@override@JsonKey(includeIfNull: false) final  String? DeliveryUrl;
 final  Map<String, dynamic> _extra;
@override@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> get extra {
  if (_extra is EqualUnmodifiableMapView) return _extra;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(_extra);
}


/// Create a copy of EmbyRawMediaStream
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawMediaStreamCopyWith<_EmbyRawMediaStream> get copyWith => __$EmbyRawMediaStreamCopyWithImpl<_EmbyRawMediaStream>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawMediaStreamToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawMediaStream&&(identical(other.Index, Index) || other.Index == Index)&&(identical(other.Type, Type) || other.Type == Type)&&(identical(other.Language, Language) || other.Language == Language)&&(identical(other.Codec, Codec) || other.Codec == Codec)&&(identical(other.Channels, Channels) || other.Channels == Channels)&&(identical(other.DisplayTitle, DisplayTitle) || other.DisplayTitle == DisplayTitle)&&(identical(other.Title, Title) || other.Title == Title)&&(identical(other.IsDefault, IsDefault) || other.IsDefault == IsDefault)&&(identical(other.IsForced, IsForced) || other.IsForced == IsForced)&&(identical(other.IsExternal, IsExternal) || other.IsExternal == IsExternal)&&(identical(other.DeliveryMethod, DeliveryMethod) || other.DeliveryMethod == DeliveryMethod)&&(identical(other.DeliveryUrl, DeliveryUrl) || other.DeliveryUrl == DeliveryUrl)&&const DeepCollectionEquality().equals(other._extra, _extra));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Index,Type,Language,Codec,Channels,DisplayTitle,Title,IsDefault,IsForced,IsExternal,DeliveryMethod,DeliveryUrl,const DeepCollectionEquality().hash(_extra));

@override
String toString() {
  return 'EmbyRawMediaStream(Index: $Index, Type: $Type, Language: $Language, Codec: $Codec, Channels: $Channels, DisplayTitle: $DisplayTitle, Title: $Title, IsDefault: $IsDefault, IsForced: $IsForced, IsExternal: $IsExternal, DeliveryMethod: $DeliveryMethod, DeliveryUrl: $DeliveryUrl, extra: $extra)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawMediaStreamCopyWith<$Res> implements $EmbyRawMediaStreamCopyWith<$Res> {
  factory _$EmbyRawMediaStreamCopyWith(_EmbyRawMediaStream value, $Res Function(_EmbyRawMediaStream) _then) = __$EmbyRawMediaStreamCopyWithImpl;
@override @useResult
$Res call({
@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Index,@JsonKey(includeIfNull: false) String? Type,@JsonKey(includeIfNull: false) String? Language,@JsonKey(includeIfNull: false) String? Codec,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Channels,@JsonKey(includeIfNull: false) String? DisplayTitle,@JsonKey(includeIfNull: false) String? Title,@JsonKey(includeIfNull: false) bool? IsDefault,@JsonKey(includeIfNull: false) bool? IsForced,@JsonKey(includeIfNull: false) bool? IsExternal,@JsonKey(includeIfNull: false) String? DeliveryMethod,@JsonKey(includeIfNull: false) String? DeliveryUrl,@JsonKey(includeFromJson: false, includeToJson: false) Map<String, dynamic> extra
});




}
/// @nodoc
class __$EmbyRawMediaStreamCopyWithImpl<$Res>
    implements _$EmbyRawMediaStreamCopyWith<$Res> {
  __$EmbyRawMediaStreamCopyWithImpl(this._self, this._then);

  final _EmbyRawMediaStream _self;
  final $Res Function(_EmbyRawMediaStream) _then;

/// Create a copy of EmbyRawMediaStream
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Index = freezed,Object? Type = freezed,Object? Language = freezed,Object? Codec = freezed,Object? Channels = freezed,Object? DisplayTitle = freezed,Object? Title = freezed,Object? IsDefault = freezed,Object? IsForced = freezed,Object? IsExternal = freezed,Object? DeliveryMethod = freezed,Object? DeliveryUrl = freezed,Object? extra = null,}) {
  return _then(_EmbyRawMediaStream(
Index: freezed == Index ? _self.Index : Index // ignore: cast_nullable_to_non_nullable
as int?,Type: freezed == Type ? _self.Type : Type // ignore: cast_nullable_to_non_nullable
as String?,Language: freezed == Language ? _self.Language : Language // ignore: cast_nullable_to_non_nullable
as String?,Codec: freezed == Codec ? _self.Codec : Codec // ignore: cast_nullable_to_non_nullable
as String?,Channels: freezed == Channels ? _self.Channels : Channels // ignore: cast_nullable_to_non_nullable
as int?,DisplayTitle: freezed == DisplayTitle ? _self.DisplayTitle : DisplayTitle // ignore: cast_nullable_to_non_nullable
as String?,Title: freezed == Title ? _self.Title : Title // ignore: cast_nullable_to_non_nullable
as String?,IsDefault: freezed == IsDefault ? _self.IsDefault : IsDefault // ignore: cast_nullable_to_non_nullable
as bool?,IsForced: freezed == IsForced ? _self.IsForced : IsForced // ignore: cast_nullable_to_non_nullable
as bool?,IsExternal: freezed == IsExternal ? _self.IsExternal : IsExternal // ignore: cast_nullable_to_non_nullable
as bool?,DeliveryMethod: freezed == DeliveryMethod ? _self.DeliveryMethod : DeliveryMethod // ignore: cast_nullable_to_non_nullable
as String?,DeliveryUrl: freezed == DeliveryUrl ? _self.DeliveryUrl : DeliveryUrl // ignore: cast_nullable_to_non_nullable
as String?,extra: null == extra ? _self._extra : extra // ignore: cast_nullable_to_non_nullable
as Map<String, dynamic>,
  ));
}


}


/// @nodoc
mixin _$EmbyRawMediaSource {

@JsonKey(includeIfNull: false) String? get Id;@JsonKey(includeIfNull: false) String? get Name;@JsonKey(includeIfNull: false) String? get Container;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get Bitrate;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get Size;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get Width;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get Height;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get DefaultSubtitleStreamIndex;@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? get DefaultAudioStreamIndex;@JsonKey(includeIfNull: false) List<EmbyRawMediaStream>? get MediaStreams;
/// Create a copy of EmbyRawMediaSource
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawMediaSourceCopyWith<EmbyRawMediaSource> get copyWith => _$EmbyRawMediaSourceCopyWithImpl<EmbyRawMediaSource>(this as EmbyRawMediaSource, _$identity);

  /// Serializes this EmbyRawMediaSource to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawMediaSource&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.Container, Container) || other.Container == Container)&&(identical(other.Bitrate, Bitrate) || other.Bitrate == Bitrate)&&(identical(other.Size, Size) || other.Size == Size)&&(identical(other.Width, Width) || other.Width == Width)&&(identical(other.Height, Height) || other.Height == Height)&&(identical(other.DefaultSubtitleStreamIndex, DefaultSubtitleStreamIndex) || other.DefaultSubtitleStreamIndex == DefaultSubtitleStreamIndex)&&(identical(other.DefaultAudioStreamIndex, DefaultAudioStreamIndex) || other.DefaultAudioStreamIndex == DefaultAudioStreamIndex)&&const DeepCollectionEquality().equals(other.MediaStreams, MediaStreams));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Id,Name,Container,Bitrate,Size,Width,Height,DefaultSubtitleStreamIndex,DefaultAudioStreamIndex,const DeepCollectionEquality().hash(MediaStreams));

@override
String toString() {
  return 'EmbyRawMediaSource(Id: $Id, Name: $Name, Container: $Container, Bitrate: $Bitrate, Size: $Size, Width: $Width, Height: $Height, DefaultSubtitleStreamIndex: $DefaultSubtitleStreamIndex, DefaultAudioStreamIndex: $DefaultAudioStreamIndex, MediaStreams: $MediaStreams)';
}


}

/// @nodoc
abstract mixin class $EmbyRawMediaSourceCopyWith<$Res>  {
  factory $EmbyRawMediaSourceCopyWith(EmbyRawMediaSource value, $Res Function(EmbyRawMediaSource) _then) = _$EmbyRawMediaSourceCopyWithImpl;
@useResult
$Res call({
@JsonKey(includeIfNull: false) String? Id,@JsonKey(includeIfNull: false) String? Name,@JsonKey(includeIfNull: false) String? Container,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Bitrate,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Size,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Width,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Height,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? DefaultSubtitleStreamIndex,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? DefaultAudioStreamIndex,@JsonKey(includeIfNull: false) List<EmbyRawMediaStream>? MediaStreams
});




}
/// @nodoc
class _$EmbyRawMediaSourceCopyWithImpl<$Res>
    implements $EmbyRawMediaSourceCopyWith<$Res> {
  _$EmbyRawMediaSourceCopyWithImpl(this._self, this._then);

  final EmbyRawMediaSource _self;
  final $Res Function(EmbyRawMediaSource) _then;

/// Create a copy of EmbyRawMediaSource
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Id = freezed,Object? Name = freezed,Object? Container = freezed,Object? Bitrate = freezed,Object? Size = freezed,Object? Width = freezed,Object? Height = freezed,Object? DefaultSubtitleStreamIndex = freezed,Object? DefaultAudioStreamIndex = freezed,Object? MediaStreams = freezed,}) {
  return _then(_self.copyWith(
Id: freezed == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String?,Name: freezed == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String?,Container: freezed == Container ? _self.Container : Container // ignore: cast_nullable_to_non_nullable
as String?,Bitrate: freezed == Bitrate ? _self.Bitrate : Bitrate // ignore: cast_nullable_to_non_nullable
as int?,Size: freezed == Size ? _self.Size : Size // ignore: cast_nullable_to_non_nullable
as int?,Width: freezed == Width ? _self.Width : Width // ignore: cast_nullable_to_non_nullable
as int?,Height: freezed == Height ? _self.Height : Height // ignore: cast_nullable_to_non_nullable
as int?,DefaultSubtitleStreamIndex: freezed == DefaultSubtitleStreamIndex ? _self.DefaultSubtitleStreamIndex : DefaultSubtitleStreamIndex // ignore: cast_nullable_to_non_nullable
as int?,DefaultAudioStreamIndex: freezed == DefaultAudioStreamIndex ? _self.DefaultAudioStreamIndex : DefaultAudioStreamIndex // ignore: cast_nullable_to_non_nullable
as int?,MediaStreams: freezed == MediaStreams ? _self.MediaStreams : MediaStreams // ignore: cast_nullable_to_non_nullable
as List<EmbyRawMediaStream>?,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawMediaSource].
extension EmbyRawMediaSourcePatterns on EmbyRawMediaSource {
/// 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( _EmbyRawMediaSource value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawMediaSource() 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( _EmbyRawMediaSource value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaSource():
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( _EmbyRawMediaSource value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaSource() 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(@JsonKey(includeIfNull: false)  String? Id, @JsonKey(includeIfNull: false)  String? Name, @JsonKey(includeIfNull: false)  String? Container, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Bitrate, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Size, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Width, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Height, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? DefaultSubtitleStreamIndex, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? DefaultAudioStreamIndex, @JsonKey(includeIfNull: false)  List<EmbyRawMediaStream>? MediaStreams)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawMediaSource() when $default != null:
return $default(_that.Id,_that.Name,_that.Container,_that.Bitrate,_that.Size,_that.Width,_that.Height,_that.DefaultSubtitleStreamIndex,_that.DefaultAudioStreamIndex,_that.MediaStreams);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(@JsonKey(includeIfNull: false)  String? Id, @JsonKey(includeIfNull: false)  String? Name, @JsonKey(includeIfNull: false)  String? Container, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Bitrate, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Size, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Width, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Height, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? DefaultSubtitleStreamIndex, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? DefaultAudioStreamIndex, @JsonKey(includeIfNull: false)  List<EmbyRawMediaStream>? MediaStreams)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaSource():
return $default(_that.Id,_that.Name,_that.Container,_that.Bitrate,_that.Size,_that.Width,_that.Height,_that.DefaultSubtitleStreamIndex,_that.DefaultAudioStreamIndex,_that.MediaStreams);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(@JsonKey(includeIfNull: false)  String? Id, @JsonKey(includeIfNull: false)  String? Name, @JsonKey(includeIfNull: false)  String? Container, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Bitrate, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Size, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Width, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? Height, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? DefaultSubtitleStreamIndex, @JsonKey(fromJson: _intOrNull, includeIfNull: false)  int? DefaultAudioStreamIndex, @JsonKey(includeIfNull: false)  List<EmbyRawMediaStream>? MediaStreams)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaSource() when $default != null:
return $default(_that.Id,_that.Name,_that.Container,_that.Bitrate,_that.Size,_that.Width,_that.Height,_that.DefaultSubtitleStreamIndex,_that.DefaultAudioStreamIndex,_that.MediaStreams);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _EmbyRawMediaSource implements EmbyRawMediaSource {
  const _EmbyRawMediaSource({@JsonKey(includeIfNull: false) this.Id, @JsonKey(includeIfNull: false) this.Name, @JsonKey(includeIfNull: false) this.Container, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.Bitrate, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.Size, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.Width, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.Height, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.DefaultSubtitleStreamIndex, @JsonKey(fromJson: _intOrNull, includeIfNull: false) this.DefaultAudioStreamIndex, @JsonKey(includeIfNull: false) final  List<EmbyRawMediaStream>? MediaStreams}): _MediaStreams = MediaStreams;
  factory _EmbyRawMediaSource.fromJson(Map<String, dynamic> json) => _$EmbyRawMediaSourceFromJson(json);

@override@JsonKey(includeIfNull: false) final  String? Id;
@override@JsonKey(includeIfNull: false) final  String? Name;
@override@JsonKey(includeIfNull: false) final  String? Container;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? Bitrate;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? Size;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? Width;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? Height;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? DefaultSubtitleStreamIndex;
@override@JsonKey(fromJson: _intOrNull, includeIfNull: false) final  int? DefaultAudioStreamIndex;
 final  List<EmbyRawMediaStream>? _MediaStreams;
@override@JsonKey(includeIfNull: false) List<EmbyRawMediaStream>? get MediaStreams {
  final value = _MediaStreams;
  if (value == null) return null;
  if (_MediaStreams is EqualUnmodifiableListView) return _MediaStreams;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}


/// Create a copy of EmbyRawMediaSource
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawMediaSourceCopyWith<_EmbyRawMediaSource> get copyWith => __$EmbyRawMediaSourceCopyWithImpl<_EmbyRawMediaSource>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$EmbyRawMediaSourceToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawMediaSource&&(identical(other.Id, Id) || other.Id == Id)&&(identical(other.Name, Name) || other.Name == Name)&&(identical(other.Container, Container) || other.Container == Container)&&(identical(other.Bitrate, Bitrate) || other.Bitrate == Bitrate)&&(identical(other.Size, Size) || other.Size == Size)&&(identical(other.Width, Width) || other.Width == Width)&&(identical(other.Height, Height) || other.Height == Height)&&(identical(other.DefaultSubtitleStreamIndex, DefaultSubtitleStreamIndex) || other.DefaultSubtitleStreamIndex == DefaultSubtitleStreamIndex)&&(identical(other.DefaultAudioStreamIndex, DefaultAudioStreamIndex) || other.DefaultAudioStreamIndex == DefaultAudioStreamIndex)&&const DeepCollectionEquality().equals(other._MediaStreams, _MediaStreams));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,Id,Name,Container,Bitrate,Size,Width,Height,DefaultSubtitleStreamIndex,DefaultAudioStreamIndex,const DeepCollectionEquality().hash(_MediaStreams));

@override
String toString() {
  return 'EmbyRawMediaSource(Id: $Id, Name: $Name, Container: $Container, Bitrate: $Bitrate, Size: $Size, Width: $Width, Height: $Height, DefaultSubtitleStreamIndex: $DefaultSubtitleStreamIndex, DefaultAudioStreamIndex: $DefaultAudioStreamIndex, MediaStreams: $MediaStreams)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawMediaSourceCopyWith<$Res> implements $EmbyRawMediaSourceCopyWith<$Res> {
  factory _$EmbyRawMediaSourceCopyWith(_EmbyRawMediaSource value, $Res Function(_EmbyRawMediaSource) _then) = __$EmbyRawMediaSourceCopyWithImpl;
@override @useResult
$Res call({
@JsonKey(includeIfNull: false) String? Id,@JsonKey(includeIfNull: false) String? Name,@JsonKey(includeIfNull: false) String? Container,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Bitrate,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Size,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Width,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? Height,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? DefaultSubtitleStreamIndex,@JsonKey(fromJson: _intOrNull, includeIfNull: false) int? DefaultAudioStreamIndex,@JsonKey(includeIfNull: false) List<EmbyRawMediaStream>? MediaStreams
});




}
/// @nodoc
class __$EmbyRawMediaSourceCopyWithImpl<$Res>
    implements _$EmbyRawMediaSourceCopyWith<$Res> {
  __$EmbyRawMediaSourceCopyWithImpl(this._self, this._then);

  final _EmbyRawMediaSource _self;
  final $Res Function(_EmbyRawMediaSource) _then;

/// Create a copy of EmbyRawMediaSource
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Id = freezed,Object? Name = freezed,Object? Container = freezed,Object? Bitrate = freezed,Object? Size = freezed,Object? Width = freezed,Object? Height = freezed,Object? DefaultSubtitleStreamIndex = freezed,Object? DefaultAudioStreamIndex = freezed,Object? MediaStreams = freezed,}) {
  return _then(_EmbyRawMediaSource(
Id: freezed == Id ? _self.Id : Id // ignore: cast_nullable_to_non_nullable
as String?,Name: freezed == Name ? _self.Name : Name // ignore: cast_nullable_to_non_nullable
as String?,Container: freezed == Container ? _self.Container : Container // ignore: cast_nullable_to_non_nullable
as String?,Bitrate: freezed == Bitrate ? _self.Bitrate : Bitrate // ignore: cast_nullable_to_non_nullable
as int?,Size: freezed == Size ? _self.Size : Size // ignore: cast_nullable_to_non_nullable
as int?,Width: freezed == Width ? _self.Width : Width // ignore: cast_nullable_to_non_nullable
as int?,Height: freezed == Height ? _self.Height : Height // ignore: cast_nullable_to_non_nullable
as int?,DefaultSubtitleStreamIndex: freezed == DefaultSubtitleStreamIndex ? _self.DefaultSubtitleStreamIndex : DefaultSubtitleStreamIndex // ignore: cast_nullable_to_non_nullable
as int?,DefaultAudioStreamIndex: freezed == DefaultAudioStreamIndex ? _self.DefaultAudioStreamIndex : DefaultAudioStreamIndex // ignore: cast_nullable_to_non_nullable
as int?,MediaStreams: freezed == MediaStreams ? _self._MediaStreams : MediaStreams // ignore: cast_nullable_to_non_nullable
as List<EmbyRawMediaStream>?,
  ));
}


}

/// @nodoc
mixin _$LibraryLatestReq {

 String get parentId; int? get limit;
/// Create a copy of LibraryLatestReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LibraryLatestReqCopyWith<LibraryLatestReq> get copyWith => _$LibraryLatestReqCopyWithImpl<LibraryLatestReq>(this as LibraryLatestReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LibraryLatestReq&&(identical(other.parentId, parentId) || other.parentId == parentId)&&(identical(other.limit, limit) || other.limit == limit));
}


@override
int get hashCode => Object.hash(runtimeType,parentId,limit);

@override
String toString() {
  return 'LibraryLatestReq(parentId: $parentId, limit: $limit)';
}


}

/// @nodoc
abstract mixin class $LibraryLatestReqCopyWith<$Res>  {
  factory $LibraryLatestReqCopyWith(LibraryLatestReq value, $Res Function(LibraryLatestReq) _then) = _$LibraryLatestReqCopyWithImpl;
@useResult
$Res call({
 String parentId, int? limit
});




}
/// @nodoc
class _$LibraryLatestReqCopyWithImpl<$Res>
    implements $LibraryLatestReqCopyWith<$Res> {
  _$LibraryLatestReqCopyWithImpl(this._self, this._then);

  final LibraryLatestReq _self;
  final $Res Function(LibraryLatestReq) _then;

/// Create a copy of LibraryLatestReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? parentId = null,Object? limit = freezed,}) {
  return _then(_self.copyWith(
parentId: null == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String,limit: freezed == limit ? _self.limit : limit // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [LibraryLatestReq].
extension LibraryLatestReqPatterns on LibraryLatestReq {
/// 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( _LibraryLatestReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LibraryLatestReq() 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( _LibraryLatestReq value)  $default,){
final _that = this;
switch (_that) {
case _LibraryLatestReq():
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( _LibraryLatestReq value)?  $default,){
final _that = this;
switch (_that) {
case _LibraryLatestReq() 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( String parentId,  int? limit)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LibraryLatestReq() when $default != null:
return $default(_that.parentId,_that.limit);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( String parentId,  int? limit)  $default,) {final _that = this;
switch (_that) {
case _LibraryLatestReq():
return $default(_that.parentId,_that.limit);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( String parentId,  int? limit)?  $default,) {final _that = this;
switch (_that) {
case _LibraryLatestReq() when $default != null:
return $default(_that.parentId,_that.limit);case _:
  return null;

}
}

}

/// @nodoc


class _LibraryLatestReq extends LibraryLatestReq {
  const _LibraryLatestReq({required this.parentId, this.limit}): super._();
  

@override final  String parentId;
@override final  int? limit;

/// Create a copy of LibraryLatestReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LibraryLatestReqCopyWith<_LibraryLatestReq> get copyWith => __$LibraryLatestReqCopyWithImpl<_LibraryLatestReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LibraryLatestReq&&(identical(other.parentId, parentId) || other.parentId == parentId)&&(identical(other.limit, limit) || other.limit == limit));
}


@override
int get hashCode => Object.hash(runtimeType,parentId,limit);

@override
String toString() {
  return 'LibraryLatestReq(parentId: $parentId, limit: $limit)';
}


}

/// @nodoc
abstract mixin class _$LibraryLatestReqCopyWith<$Res> implements $LibraryLatestReqCopyWith<$Res> {
  factory _$LibraryLatestReqCopyWith(_LibraryLatestReq value, $Res Function(_LibraryLatestReq) _then) = __$LibraryLatestReqCopyWithImpl;
@override @useResult
$Res call({
 String parentId, int? limit
});




}
/// @nodoc
class __$LibraryLatestReqCopyWithImpl<$Res>
    implements _$LibraryLatestReqCopyWith<$Res> {
  __$LibraryLatestReqCopyWithImpl(this._self, this._then);

  final _LibraryLatestReq _self;
  final $Res Function(_LibraryLatestReq) _then;

/// Create a copy of LibraryLatestReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? parentId = null,Object? limit = freezed,}) {
  return _then(_LibraryLatestReq(
parentId: null == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String,limit: freezed == limit ? _self.limit : limit // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}


/// @nodoc
mixin _$LibraryLatestRes {

 String get parentId; List<EmbyRawItem> get items; int get totalCount;
/// Create a copy of LibraryLatestRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LibraryLatestResCopyWith<LibraryLatestRes> get copyWith => _$LibraryLatestResCopyWithImpl<LibraryLatestRes>(this as LibraryLatestRes, _$identity);

  /// Serializes this LibraryLatestRes to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LibraryLatestRes&&(identical(other.parentId, parentId) || other.parentId == parentId)&&const DeepCollectionEquality().equals(other.items, items)&&(identical(other.totalCount, totalCount) || other.totalCount == totalCount));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,parentId,const DeepCollectionEquality().hash(items),totalCount);

@override
String toString() {
  return 'LibraryLatestRes(parentId: $parentId, items: $items, totalCount: $totalCount)';
}


}

/// @nodoc
abstract mixin class $LibraryLatestResCopyWith<$Res>  {
  factory $LibraryLatestResCopyWith(LibraryLatestRes value, $Res Function(LibraryLatestRes) _then) = _$LibraryLatestResCopyWithImpl;
@useResult
$Res call({
 String parentId, List<EmbyRawItem> items, int totalCount
});




}
/// @nodoc
class _$LibraryLatestResCopyWithImpl<$Res>
    implements $LibraryLatestResCopyWith<$Res> {
  _$LibraryLatestResCopyWithImpl(this._self, this._then);

  final LibraryLatestRes _self;
  final $Res Function(LibraryLatestRes) _then;

/// Create a copy of LibraryLatestRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? parentId = null,Object? items = null,Object? totalCount = null,}) {
  return _then(_self.copyWith(
parentId: null == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,totalCount: null == totalCount ? _self.totalCount : totalCount // ignore: cast_nullable_to_non_nullable
as int,
  ));
}

}


/// Adds pattern-matching-related methods to [LibraryLatestRes].
extension LibraryLatestResPatterns on LibraryLatestRes {
/// 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( _LibraryLatestRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LibraryLatestRes() 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( _LibraryLatestRes value)  $default,){
final _that = this;
switch (_that) {
case _LibraryLatestRes():
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( _LibraryLatestRes value)?  $default,){
final _that = this;
switch (_that) {
case _LibraryLatestRes() 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( String parentId,  List<EmbyRawItem> items,  int totalCount)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LibraryLatestRes() when $default != null:
return $default(_that.parentId,_that.items,_that.totalCount);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( String parentId,  List<EmbyRawItem> items,  int totalCount)  $default,) {final _that = this;
switch (_that) {
case _LibraryLatestRes():
return $default(_that.parentId,_that.items,_that.totalCount);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( String parentId,  List<EmbyRawItem> items,  int totalCount)?  $default,) {final _that = this;
switch (_that) {
case _LibraryLatestRes() when $default != null:
return $default(_that.parentId,_that.items,_that.totalCount);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _LibraryLatestRes implements LibraryLatestRes {
  const _LibraryLatestRes({required this.parentId, required final  List<EmbyRawItem> items, this.totalCount = 0}): _items = items;
  factory _LibraryLatestRes.fromJson(Map<String, dynamic> json) => _$LibraryLatestResFromJson(json);

@override final  String parentId;
 final  List<EmbyRawItem> _items;
@override List<EmbyRawItem> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}

@override@JsonKey() final  int totalCount;

/// Create a copy of LibraryLatestRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LibraryLatestResCopyWith<_LibraryLatestRes> get copyWith => __$LibraryLatestResCopyWithImpl<_LibraryLatestRes>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$LibraryLatestResToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LibraryLatestRes&&(identical(other.parentId, parentId) || other.parentId == parentId)&&const DeepCollectionEquality().equals(other._items, _items)&&(identical(other.totalCount, totalCount) || other.totalCount == totalCount));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,parentId,const DeepCollectionEquality().hash(_items),totalCount);

@override
String toString() {
  return 'LibraryLatestRes(parentId: $parentId, items: $items, totalCount: $totalCount)';
}


}

/// @nodoc
abstract mixin class _$LibraryLatestResCopyWith<$Res> implements $LibraryLatestResCopyWith<$Res> {
  factory _$LibraryLatestResCopyWith(_LibraryLatestRes value, $Res Function(_LibraryLatestRes) _then) = __$LibraryLatestResCopyWithImpl;
@override @useResult
$Res call({
 String parentId, List<EmbyRawItem> items, int totalCount
});




}
/// @nodoc
class __$LibraryLatestResCopyWithImpl<$Res>
    implements _$LibraryLatestResCopyWith<$Res> {
  __$LibraryLatestResCopyWithImpl(this._self, this._then);

  final _LibraryLatestRes _self;
  final $Res Function(_LibraryLatestRes) _then;

/// Create a copy of LibraryLatestRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? parentId = null,Object? items = null,Object? totalCount = null,}) {
  return _then(_LibraryLatestRes(
parentId: null == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,totalCount: null == totalCount ? _self.totalCount : totalCount // ignore: cast_nullable_to_non_nullable
as int,
  ));
}


}


/// @nodoc
mixin _$LibraryResumeRes {

 List<EmbyRawItem> get Items;
/// Create a copy of LibraryResumeRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LibraryResumeResCopyWith<LibraryResumeRes> get copyWith => _$LibraryResumeResCopyWithImpl<LibraryResumeRes>(this as LibraryResumeRes, _$identity);

  /// Serializes this LibraryResumeRes to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LibraryResumeRes&&const DeepCollectionEquality().equals(other.Items, Items));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(Items));

@override
String toString() {
  return 'LibraryResumeRes(Items: $Items)';
}


}

/// @nodoc
abstract mixin class $LibraryResumeResCopyWith<$Res>  {
  factory $LibraryResumeResCopyWith(LibraryResumeRes value, $Res Function(LibraryResumeRes) _then) = _$LibraryResumeResCopyWithImpl;
@useResult
$Res call({
 List<EmbyRawItem> Items
});




}
/// @nodoc
class _$LibraryResumeResCopyWithImpl<$Res>
    implements $LibraryResumeResCopyWith<$Res> {
  _$LibraryResumeResCopyWithImpl(this._self, this._then);

  final LibraryResumeRes _self;
  final $Res Function(LibraryResumeRes) _then;

/// Create a copy of LibraryResumeRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? Items = null,}) {
  return _then(_self.copyWith(
Items: null == Items ? _self.Items : Items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}

}


/// Adds pattern-matching-related methods to [LibraryResumeRes].
extension LibraryResumeResPatterns on LibraryResumeRes {
/// 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( _LibraryResumeRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LibraryResumeRes() 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( _LibraryResumeRes value)  $default,){
final _that = this;
switch (_that) {
case _LibraryResumeRes():
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( _LibraryResumeRes value)?  $default,){
final _that = this;
switch (_that) {
case _LibraryResumeRes() 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( List<EmbyRawItem> Items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LibraryResumeRes() when $default != null:
return $default(_that.Items);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( List<EmbyRawItem> Items)  $default,) {final _that = this;
switch (_that) {
case _LibraryResumeRes():
return $default(_that.Items);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( List<EmbyRawItem> Items)?  $default,) {final _that = this;
switch (_that) {
case _LibraryResumeRes() when $default != null:
return $default(_that.Items);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _LibraryResumeRes implements LibraryResumeRes {
  const _LibraryResumeRes({required final  List<EmbyRawItem> Items}): _Items = Items;
  factory _LibraryResumeRes.fromJson(Map<String, dynamic> json) => _$LibraryResumeResFromJson(json);

 final  List<EmbyRawItem> _Items;
@override List<EmbyRawItem> get Items {
  if (_Items is EqualUnmodifiableListView) return _Items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_Items);
}


/// Create a copy of LibraryResumeRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LibraryResumeResCopyWith<_LibraryResumeRes> get copyWith => __$LibraryResumeResCopyWithImpl<_LibraryResumeRes>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$LibraryResumeResToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LibraryResumeRes&&const DeepCollectionEquality().equals(other._Items, _Items));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_Items));

@override
String toString() {
  return 'LibraryResumeRes(Items: $Items)';
}


}

/// @nodoc
abstract mixin class _$LibraryResumeResCopyWith<$Res> implements $LibraryResumeResCopyWith<$Res> {
  factory _$LibraryResumeResCopyWith(_LibraryResumeRes value, $Res Function(_LibraryResumeRes) _then) = __$LibraryResumeResCopyWithImpl;
@override @useResult
$Res call({
 List<EmbyRawItem> Items
});




}
/// @nodoc
class __$LibraryResumeResCopyWithImpl<$Res>
    implements _$LibraryResumeResCopyWith<$Res> {
  __$LibraryResumeResCopyWithImpl(this._self, this._then);

  final _LibraryResumeRes _self;
  final $Res Function(_LibraryResumeRes) _then;

/// Create a copy of LibraryResumeRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? Items = null,}) {
  return _then(_LibraryResumeRes(
Items: null == Items ? _self._Items : Items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}


}

/// @nodoc
mixin _$MediaDetailReq {

 String get itemId;
/// Create a copy of MediaDetailReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$MediaDetailReqCopyWith<MediaDetailReq> get copyWith => _$MediaDetailReqCopyWithImpl<MediaDetailReq>(this as MediaDetailReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is MediaDetailReq&&(identical(other.itemId, itemId) || other.itemId == itemId));
}


@override
int get hashCode => Object.hash(runtimeType,itemId);

@override
String toString() {
  return 'MediaDetailReq(itemId: $itemId)';
}


}

/// @nodoc
abstract mixin class $MediaDetailReqCopyWith<$Res>  {
  factory $MediaDetailReqCopyWith(MediaDetailReq value, $Res Function(MediaDetailReq) _then) = _$MediaDetailReqCopyWithImpl;
@useResult
$Res call({
 String itemId
});




}
/// @nodoc
class _$MediaDetailReqCopyWithImpl<$Res>
    implements $MediaDetailReqCopyWith<$Res> {
  _$MediaDetailReqCopyWithImpl(this._self, this._then);

  final MediaDetailReq _self;
  final $Res Function(MediaDetailReq) _then;

/// Create a copy of MediaDetailReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}

}


/// Adds pattern-matching-related methods to [MediaDetailReq].
extension MediaDetailReqPatterns on MediaDetailReq {
/// 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( _MediaDetailReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _MediaDetailReq() 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( _MediaDetailReq value)  $default,){
final _that = this;
switch (_that) {
case _MediaDetailReq():
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( _MediaDetailReq value)?  $default,){
final _that = this;
switch (_that) {
case _MediaDetailReq() 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( String itemId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _MediaDetailReq() when $default != null:
return $default(_that.itemId);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( String itemId)  $default,) {final _that = this;
switch (_that) {
case _MediaDetailReq():
return $default(_that.itemId);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( String itemId)?  $default,) {final _that = this;
switch (_that) {
case _MediaDetailReq() when $default != null:
return $default(_that.itemId);case _:
  return null;

}
}

}

/// @nodoc


class _MediaDetailReq extends MediaDetailReq {
  const _MediaDetailReq({required this.itemId}): super._();
  

@override final  String itemId;

/// Create a copy of MediaDetailReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$MediaDetailReqCopyWith<_MediaDetailReq> get copyWith => __$MediaDetailReqCopyWithImpl<_MediaDetailReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _MediaDetailReq&&(identical(other.itemId, itemId) || other.itemId == itemId));
}


@override
int get hashCode => Object.hash(runtimeType,itemId);

@override
String toString() {
  return 'MediaDetailReq(itemId: $itemId)';
}


}

/// @nodoc
abstract mixin class _$MediaDetailReqCopyWith<$Res> implements $MediaDetailReqCopyWith<$Res> {
  factory _$MediaDetailReqCopyWith(_MediaDetailReq value, $Res Function(_MediaDetailReq) _then) = __$MediaDetailReqCopyWithImpl;
@override @useResult
$Res call({
 String itemId
});




}
/// @nodoc
class __$MediaDetailReqCopyWithImpl<$Res>
    implements _$MediaDetailReqCopyWith<$Res> {
  __$MediaDetailReqCopyWithImpl(this._self, this._then);

  final _MediaDetailReq _self;
  final $Res Function(_MediaDetailReq) _then;

/// Create a copy of MediaDetailReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,}) {
  return _then(_MediaDetailReq(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}


}

/// @nodoc
mixin _$EmbyRawMediaDetailSeriesExtra {

 List<EmbyRawItem> get nextUp; List<EmbyRawSeason> get seasons;
/// Create a copy of EmbyRawMediaDetailSeriesExtra
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesExtraCopyWith<EmbyRawMediaDetailSeriesExtra> get copyWith => _$EmbyRawMediaDetailSeriesExtraCopyWithImpl<EmbyRawMediaDetailSeriesExtra>(this as EmbyRawMediaDetailSeriesExtra, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawMediaDetailSeriesExtra&&const DeepCollectionEquality().equals(other.nextUp, nextUp)&&const DeepCollectionEquality().equals(other.seasons, seasons));
}


@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(nextUp),const DeepCollectionEquality().hash(seasons));

@override
String toString() {
  return 'EmbyRawMediaDetailSeriesExtra(nextUp: $nextUp, seasons: $seasons)';
}


}

/// @nodoc
abstract mixin class $EmbyRawMediaDetailSeriesExtraCopyWith<$Res>  {
  factory $EmbyRawMediaDetailSeriesExtraCopyWith(EmbyRawMediaDetailSeriesExtra value, $Res Function(EmbyRawMediaDetailSeriesExtra) _then) = _$EmbyRawMediaDetailSeriesExtraCopyWithImpl;
@useResult
$Res call({
 List<EmbyRawItem> nextUp, List<EmbyRawSeason> seasons
});




}
/// @nodoc
class _$EmbyRawMediaDetailSeriesExtraCopyWithImpl<$Res>
    implements $EmbyRawMediaDetailSeriesExtraCopyWith<$Res> {
  _$EmbyRawMediaDetailSeriesExtraCopyWithImpl(this._self, this._then);

  final EmbyRawMediaDetailSeriesExtra _self;
  final $Res Function(EmbyRawMediaDetailSeriesExtra) _then;

/// Create a copy of EmbyRawMediaDetailSeriesExtra
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? nextUp = null,Object? seasons = null,}) {
  return _then(_self.copyWith(
nextUp: null == nextUp ? _self.nextUp : nextUp // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,seasons: null == seasons ? _self.seasons : seasons // ignore: cast_nullable_to_non_nullable
as List<EmbyRawSeason>,
  ));
}

}


/// Adds pattern-matching-related methods to [EmbyRawMediaDetailSeriesExtra].
extension EmbyRawMediaDetailSeriesExtraPatterns on EmbyRawMediaDetailSeriesExtra {
/// 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( _EmbyRawMediaDetailSeriesExtra value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesExtra() 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( _EmbyRawMediaDetailSeriesExtra value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesExtra():
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( _EmbyRawMediaDetailSeriesExtra value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesExtra() 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( List<EmbyRawItem> nextUp,  List<EmbyRawSeason> seasons)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesExtra() when $default != null:
return $default(_that.nextUp,_that.seasons);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( List<EmbyRawItem> nextUp,  List<EmbyRawSeason> seasons)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesExtra():
return $default(_that.nextUp,_that.seasons);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( List<EmbyRawItem> nextUp,  List<EmbyRawSeason> seasons)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesExtra() when $default != null:
return $default(_that.nextUp,_that.seasons);case _:
  return null;

}
}

}

/// @nodoc


class _EmbyRawMediaDetailSeriesExtra implements EmbyRawMediaDetailSeriesExtra {
  const _EmbyRawMediaDetailSeriesExtra({required final  List<EmbyRawItem> nextUp, required final  List<EmbyRawSeason> seasons}): _nextUp = nextUp,_seasons = seasons;
  

 final  List<EmbyRawItem> _nextUp;
@override List<EmbyRawItem> get nextUp {
  if (_nextUp is EqualUnmodifiableListView) return _nextUp;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_nextUp);
}

 final  List<EmbyRawSeason> _seasons;
@override List<EmbyRawSeason> get seasons {
  if (_seasons is EqualUnmodifiableListView) return _seasons;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_seasons);
}


/// Create a copy of EmbyRawMediaDetailSeriesExtra
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawMediaDetailSeriesExtraCopyWith<_EmbyRawMediaDetailSeriesExtra> get copyWith => __$EmbyRawMediaDetailSeriesExtraCopyWithImpl<_EmbyRawMediaDetailSeriesExtra>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawMediaDetailSeriesExtra&&const DeepCollectionEquality().equals(other._nextUp, _nextUp)&&const DeepCollectionEquality().equals(other._seasons, _seasons));
}


@override
int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_nextUp),const DeepCollectionEquality().hash(_seasons));

@override
String toString() {
  return 'EmbyRawMediaDetailSeriesExtra(nextUp: $nextUp, seasons: $seasons)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawMediaDetailSeriesExtraCopyWith<$Res> implements $EmbyRawMediaDetailSeriesExtraCopyWith<$Res> {
  factory _$EmbyRawMediaDetailSeriesExtraCopyWith(_EmbyRawMediaDetailSeriesExtra value, $Res Function(_EmbyRawMediaDetailSeriesExtra) _then) = __$EmbyRawMediaDetailSeriesExtraCopyWithImpl;
@override @useResult
$Res call({
 List<EmbyRawItem> nextUp, List<EmbyRawSeason> seasons
});




}
/// @nodoc
class __$EmbyRawMediaDetailSeriesExtraCopyWithImpl<$Res>
    implements _$EmbyRawMediaDetailSeriesExtraCopyWith<$Res> {
  __$EmbyRawMediaDetailSeriesExtraCopyWithImpl(this._self, this._then);

  final _EmbyRawMediaDetailSeriesExtra _self;
  final $Res Function(_EmbyRawMediaDetailSeriesExtra) _then;

/// Create a copy of EmbyRawMediaDetailSeriesExtra
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? nextUp = null,Object? seasons = null,}) {
  return _then(_EmbyRawMediaDetailSeriesExtra(
nextUp: null == nextUp ? _self._nextUp : nextUp // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,seasons: null == seasons ? _self._seasons : seasons // ignore: cast_nullable_to_non_nullable
as List<EmbyRawSeason>,
  ));
}


}

/// @nodoc
mixin _$EmbyRawMediaDetailSeriesContext {

 EmbyRawItem get seriesBase; EmbyRawMediaDetailSeriesExtra get seriesExtra;
/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesContextCopyWith<EmbyRawMediaDetailSeriesContext> get copyWith => _$EmbyRawMediaDetailSeriesContextCopyWithImpl<EmbyRawMediaDetailSeriesContext>(this as EmbyRawMediaDetailSeriesContext, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is EmbyRawMediaDetailSeriesContext&&(identical(other.seriesBase, seriesBase) || other.seriesBase == seriesBase)&&(identical(other.seriesExtra, seriesExtra) || other.seriesExtra == seriesExtra));
}


@override
int get hashCode => Object.hash(runtimeType,seriesBase,seriesExtra);

@override
String toString() {
  return 'EmbyRawMediaDetailSeriesContext(seriesBase: $seriesBase, seriesExtra: $seriesExtra)';
}


}

/// @nodoc
abstract mixin class $EmbyRawMediaDetailSeriesContextCopyWith<$Res>  {
  factory $EmbyRawMediaDetailSeriesContextCopyWith(EmbyRawMediaDetailSeriesContext value, $Res Function(EmbyRawMediaDetailSeriesContext) _then) = _$EmbyRawMediaDetailSeriesContextCopyWithImpl;
@useResult
$Res call({
 EmbyRawItem seriesBase, EmbyRawMediaDetailSeriesExtra seriesExtra
});


$EmbyRawItemCopyWith<$Res> get seriesBase;$EmbyRawMediaDetailSeriesExtraCopyWith<$Res> get seriesExtra;

}
/// @nodoc
class _$EmbyRawMediaDetailSeriesContextCopyWithImpl<$Res>
    implements $EmbyRawMediaDetailSeriesContextCopyWith<$Res> {
  _$EmbyRawMediaDetailSeriesContextCopyWithImpl(this._self, this._then);

  final EmbyRawMediaDetailSeriesContext _self;
  final $Res Function(EmbyRawMediaDetailSeriesContext) _then;

/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? seriesBase = null,Object? seriesExtra = null,}) {
  return _then(_self.copyWith(
seriesBase: null == seriesBase ? _self.seriesBase : seriesBase // ignore: cast_nullable_to_non_nullable
as EmbyRawItem,seriesExtra: null == seriesExtra ? _self.seriesExtra : seriesExtra // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaDetailSeriesExtra,
  ));
}
/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<$Res> get seriesBase {
  
  return $EmbyRawItemCopyWith<$Res>(_self.seriesBase, (value) {
    return _then(_self.copyWith(seriesBase: value));
  });
}/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesExtraCopyWith<$Res> get seriesExtra {
  
  return $EmbyRawMediaDetailSeriesExtraCopyWith<$Res>(_self.seriesExtra, (value) {
    return _then(_self.copyWith(seriesExtra: value));
  });
}
}


/// Adds pattern-matching-related methods to [EmbyRawMediaDetailSeriesContext].
extension EmbyRawMediaDetailSeriesContextPatterns on EmbyRawMediaDetailSeriesContext {
/// 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( _EmbyRawMediaDetailSeriesContext value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesContext() 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( _EmbyRawMediaDetailSeriesContext value)  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesContext():
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( _EmbyRawMediaDetailSeriesContext value)?  $default,){
final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesContext() 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( EmbyRawItem seriesBase,  EmbyRawMediaDetailSeriesExtra seriesExtra)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesContext() when $default != null:
return $default(_that.seriesBase,_that.seriesExtra);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( EmbyRawItem seriesBase,  EmbyRawMediaDetailSeriesExtra seriesExtra)  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesContext():
return $default(_that.seriesBase,_that.seriesExtra);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( EmbyRawItem seriesBase,  EmbyRawMediaDetailSeriesExtra seriesExtra)?  $default,) {final _that = this;
switch (_that) {
case _EmbyRawMediaDetailSeriesContext() when $default != null:
return $default(_that.seriesBase,_that.seriesExtra);case _:
  return null;

}
}

}

/// @nodoc


class _EmbyRawMediaDetailSeriesContext implements EmbyRawMediaDetailSeriesContext {
  const _EmbyRawMediaDetailSeriesContext({required this.seriesBase, required this.seriesExtra});
  

@override final  EmbyRawItem seriesBase;
@override final  EmbyRawMediaDetailSeriesExtra seriesExtra;

/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$EmbyRawMediaDetailSeriesContextCopyWith<_EmbyRawMediaDetailSeriesContext> get copyWith => __$EmbyRawMediaDetailSeriesContextCopyWithImpl<_EmbyRawMediaDetailSeriesContext>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _EmbyRawMediaDetailSeriesContext&&(identical(other.seriesBase, seriesBase) || other.seriesBase == seriesBase)&&(identical(other.seriesExtra, seriesExtra) || other.seriesExtra == seriesExtra));
}


@override
int get hashCode => Object.hash(runtimeType,seriesBase,seriesExtra);

@override
String toString() {
  return 'EmbyRawMediaDetailSeriesContext(seriesBase: $seriesBase, seriesExtra: $seriesExtra)';
}


}

/// @nodoc
abstract mixin class _$EmbyRawMediaDetailSeriesContextCopyWith<$Res> implements $EmbyRawMediaDetailSeriesContextCopyWith<$Res> {
  factory _$EmbyRawMediaDetailSeriesContextCopyWith(_EmbyRawMediaDetailSeriesContext value, $Res Function(_EmbyRawMediaDetailSeriesContext) _then) = __$EmbyRawMediaDetailSeriesContextCopyWithImpl;
@override @useResult
$Res call({
 EmbyRawItem seriesBase, EmbyRawMediaDetailSeriesExtra seriesExtra
});


@override $EmbyRawItemCopyWith<$Res> get seriesBase;@override $EmbyRawMediaDetailSeriesExtraCopyWith<$Res> get seriesExtra;

}
/// @nodoc
class __$EmbyRawMediaDetailSeriesContextCopyWithImpl<$Res>
    implements _$EmbyRawMediaDetailSeriesContextCopyWith<$Res> {
  __$EmbyRawMediaDetailSeriesContextCopyWithImpl(this._self, this._then);

  final _EmbyRawMediaDetailSeriesContext _self;
  final $Res Function(_EmbyRawMediaDetailSeriesContext) _then;

/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? seriesBase = null,Object? seriesExtra = null,}) {
  return _then(_EmbyRawMediaDetailSeriesContext(
seriesBase: null == seriesBase ? _self.seriesBase : seriesBase // ignore: cast_nullable_to_non_nullable
as EmbyRawItem,seriesExtra: null == seriesExtra ? _self.seriesExtra : seriesExtra // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaDetailSeriesExtra,
  ));
}

/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<$Res> get seriesBase {
  
  return $EmbyRawItemCopyWith<$Res>(_self.seriesBase, (value) {
    return _then(_self.copyWith(seriesBase: value));
  });
}/// Create a copy of EmbyRawMediaDetailSeriesContext
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesExtraCopyWith<$Res> get seriesExtra {
  
  return $EmbyRawMediaDetailSeriesExtraCopyWith<$Res>(_self.seriesExtra, (value) {
    return _then(_self.copyWith(seriesExtra: value));
  });
}
}

/// @nodoc
mixin _$MediaDetailRes {

 EmbyRawItem get base; EmbyRawMediaDetailSeriesExtra? get seriesExtra; EmbyRawMediaDetailSeriesContext? get seriesContext; List<EmbyRawItem>? get similarItems; List<EmbyRawItem>? get boxSetItems;
/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$MediaDetailResCopyWith<MediaDetailRes> get copyWith => _$MediaDetailResCopyWithImpl<MediaDetailRes>(this as MediaDetailRes, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is MediaDetailRes&&(identical(other.base, base) || other.base == base)&&(identical(other.seriesExtra, seriesExtra) || other.seriesExtra == seriesExtra)&&(identical(other.seriesContext, seriesContext) || other.seriesContext == seriesContext)&&const DeepCollectionEquality().equals(other.similarItems, similarItems)&&const DeepCollectionEquality().equals(other.boxSetItems, boxSetItems));
}


@override
int get hashCode => Object.hash(runtimeType,base,seriesExtra,seriesContext,const DeepCollectionEquality().hash(similarItems),const DeepCollectionEquality().hash(boxSetItems));

@override
String toString() {
  return 'MediaDetailRes(base: $base, seriesExtra: $seriesExtra, seriesContext: $seriesContext, similarItems: $similarItems, boxSetItems: $boxSetItems)';
}


}

/// @nodoc
abstract mixin class $MediaDetailResCopyWith<$Res>  {
  factory $MediaDetailResCopyWith(MediaDetailRes value, $Res Function(MediaDetailRes) _then) = _$MediaDetailResCopyWithImpl;
@useResult
$Res call({
 EmbyRawItem base, EmbyRawMediaDetailSeriesExtra? seriesExtra, EmbyRawMediaDetailSeriesContext? seriesContext, List<EmbyRawItem>? similarItems, List<EmbyRawItem>? boxSetItems
});


$EmbyRawItemCopyWith<$Res> get base;$EmbyRawMediaDetailSeriesExtraCopyWith<$Res>? get seriesExtra;$EmbyRawMediaDetailSeriesContextCopyWith<$Res>? get seriesContext;

}
/// @nodoc
class _$MediaDetailResCopyWithImpl<$Res>
    implements $MediaDetailResCopyWith<$Res> {
  _$MediaDetailResCopyWithImpl(this._self, this._then);

  final MediaDetailRes _self;
  final $Res Function(MediaDetailRes) _then;

/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? base = null,Object? seriesExtra = freezed,Object? seriesContext = freezed,Object? similarItems = freezed,Object? boxSetItems = freezed,}) {
  return _then(_self.copyWith(
base: null == base ? _self.base : base // ignore: cast_nullable_to_non_nullable
as EmbyRawItem,seriesExtra: freezed == seriesExtra ? _self.seriesExtra : seriesExtra // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaDetailSeriesExtra?,seriesContext: freezed == seriesContext ? _self.seriesContext : seriesContext // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaDetailSeriesContext?,similarItems: freezed == similarItems ? _self.similarItems : similarItems // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>?,boxSetItems: freezed == boxSetItems ? _self.boxSetItems : boxSetItems // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>?,
  ));
}
/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<$Res> get base {
  
  return $EmbyRawItemCopyWith<$Res>(_self.base, (value) {
    return _then(_self.copyWith(base: value));
  });
}/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesExtraCopyWith<$Res>? get seriesExtra {
    if (_self.seriesExtra == null) {
    return null;
  }

  return $EmbyRawMediaDetailSeriesExtraCopyWith<$Res>(_self.seriesExtra!, (value) {
    return _then(_self.copyWith(seriesExtra: value));
  });
}/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesContextCopyWith<$Res>? get seriesContext {
    if (_self.seriesContext == null) {
    return null;
  }

  return $EmbyRawMediaDetailSeriesContextCopyWith<$Res>(_self.seriesContext!, (value) {
    return _then(_self.copyWith(seriesContext: value));
  });
}
}


/// Adds pattern-matching-related methods to [MediaDetailRes].
extension MediaDetailResPatterns on MediaDetailRes {
/// 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( _MediaDetailRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _MediaDetailRes() 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( _MediaDetailRes value)  $default,){
final _that = this;
switch (_that) {
case _MediaDetailRes():
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( _MediaDetailRes value)?  $default,){
final _that = this;
switch (_that) {
case _MediaDetailRes() 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( EmbyRawItem base,  EmbyRawMediaDetailSeriesExtra? seriesExtra,  EmbyRawMediaDetailSeriesContext? seriesContext,  List<EmbyRawItem>? similarItems,  List<EmbyRawItem>? boxSetItems)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _MediaDetailRes() when $default != null:
return $default(_that.base,_that.seriesExtra,_that.seriesContext,_that.similarItems,_that.boxSetItems);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( EmbyRawItem base,  EmbyRawMediaDetailSeriesExtra? seriesExtra,  EmbyRawMediaDetailSeriesContext? seriesContext,  List<EmbyRawItem>? similarItems,  List<EmbyRawItem>? boxSetItems)  $default,) {final _that = this;
switch (_that) {
case _MediaDetailRes():
return $default(_that.base,_that.seriesExtra,_that.seriesContext,_that.similarItems,_that.boxSetItems);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( EmbyRawItem base,  EmbyRawMediaDetailSeriesExtra? seriesExtra,  EmbyRawMediaDetailSeriesContext? seriesContext,  List<EmbyRawItem>? similarItems,  List<EmbyRawItem>? boxSetItems)?  $default,) {final _that = this;
switch (_that) {
case _MediaDetailRes() when $default != null:
return $default(_that.base,_that.seriesExtra,_that.seriesContext,_that.similarItems,_that.boxSetItems);case _:
  return null;

}
}

}

/// @nodoc


class _MediaDetailRes implements MediaDetailRes {
  const _MediaDetailRes({required this.base, this.seriesExtra, this.seriesContext, final  List<EmbyRawItem>? similarItems, final  List<EmbyRawItem>? boxSetItems}): _similarItems = similarItems,_boxSetItems = boxSetItems;
  

@override final  EmbyRawItem base;
@override final  EmbyRawMediaDetailSeriesExtra? seriesExtra;
@override final  EmbyRawMediaDetailSeriesContext? seriesContext;
 final  List<EmbyRawItem>? _similarItems;
@override List<EmbyRawItem>? get similarItems {
  final value = _similarItems;
  if (value == null) return null;
  if (_similarItems is EqualUnmodifiableListView) return _similarItems;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}

 final  List<EmbyRawItem>? _boxSetItems;
@override List<EmbyRawItem>? get boxSetItems {
  final value = _boxSetItems;
  if (value == null) return null;
  if (_boxSetItems is EqualUnmodifiableListView) return _boxSetItems;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}


/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$MediaDetailResCopyWith<_MediaDetailRes> get copyWith => __$MediaDetailResCopyWithImpl<_MediaDetailRes>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _MediaDetailRes&&(identical(other.base, base) || other.base == base)&&(identical(other.seriesExtra, seriesExtra) || other.seriesExtra == seriesExtra)&&(identical(other.seriesContext, seriesContext) || other.seriesContext == seriesContext)&&const DeepCollectionEquality().equals(other._similarItems, _similarItems)&&const DeepCollectionEquality().equals(other._boxSetItems, _boxSetItems));
}


@override
int get hashCode => Object.hash(runtimeType,base,seriesExtra,seriesContext,const DeepCollectionEquality().hash(_similarItems),const DeepCollectionEquality().hash(_boxSetItems));

@override
String toString() {
  return 'MediaDetailRes(base: $base, seriesExtra: $seriesExtra, seriesContext: $seriesContext, similarItems: $similarItems, boxSetItems: $boxSetItems)';
}


}

/// @nodoc
abstract mixin class _$MediaDetailResCopyWith<$Res> implements $MediaDetailResCopyWith<$Res> {
  factory _$MediaDetailResCopyWith(_MediaDetailRes value, $Res Function(_MediaDetailRes) _then) = __$MediaDetailResCopyWithImpl;
@override @useResult
$Res call({
 EmbyRawItem base, EmbyRawMediaDetailSeriesExtra? seriesExtra, EmbyRawMediaDetailSeriesContext? seriesContext, List<EmbyRawItem>? similarItems, List<EmbyRawItem>? boxSetItems
});


@override $EmbyRawItemCopyWith<$Res> get base;@override $EmbyRawMediaDetailSeriesExtraCopyWith<$Res>? get seriesExtra;@override $EmbyRawMediaDetailSeriesContextCopyWith<$Res>? get seriesContext;

}
/// @nodoc
class __$MediaDetailResCopyWithImpl<$Res>
    implements _$MediaDetailResCopyWith<$Res> {
  __$MediaDetailResCopyWithImpl(this._self, this._then);

  final _MediaDetailRes _self;
  final $Res Function(_MediaDetailRes) _then;

/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? base = null,Object? seriesExtra = freezed,Object? seriesContext = freezed,Object? similarItems = freezed,Object? boxSetItems = freezed,}) {
  return _then(_MediaDetailRes(
base: null == base ? _self.base : base // ignore: cast_nullable_to_non_nullable
as EmbyRawItem,seriesExtra: freezed == seriesExtra ? _self.seriesExtra : seriesExtra // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaDetailSeriesExtra?,seriesContext: freezed == seriesContext ? _self.seriesContext : seriesContext // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaDetailSeriesContext?,similarItems: freezed == similarItems ? _self._similarItems : similarItems // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>?,boxSetItems: freezed == boxSetItems ? _self._boxSetItems : boxSetItems // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>?,
  ));
}

/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<$Res> get base {
  
  return $EmbyRawItemCopyWith<$Res>(_self.base, (value) {
    return _then(_self.copyWith(base: value));
  });
}/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesExtraCopyWith<$Res>? get seriesExtra {
    if (_self.seriesExtra == null) {
    return null;
  }

  return $EmbyRawMediaDetailSeriesExtraCopyWith<$Res>(_self.seriesExtra!, (value) {
    return _then(_self.copyWith(seriesExtra: value));
  });
}/// Create a copy of MediaDetailRes
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaDetailSeriesContextCopyWith<$Res>? get seriesContext {
    if (_self.seriesContext == null) {
    return null;
  }

  return $EmbyRawMediaDetailSeriesContextCopyWith<$Res>(_self.seriesContext!, (value) {
    return _then(_self.copyWith(seriesContext: value));
  });
}
}

/// @nodoc
mixin _$FavoriteSetReq {

 String get itemId; bool get isFavorite;
/// Create a copy of FavoriteSetReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$FavoriteSetReqCopyWith<FavoriteSetReq> get copyWith => _$FavoriteSetReqCopyWithImpl<FavoriteSetReq>(this as FavoriteSetReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is FavoriteSetReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.isFavorite, isFavorite) || other.isFavorite == isFavorite));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,isFavorite);

@override
String toString() {
  return 'FavoriteSetReq(itemId: $itemId, isFavorite: $isFavorite)';
}


}

/// @nodoc
abstract mixin class $FavoriteSetReqCopyWith<$Res>  {
  factory $FavoriteSetReqCopyWith(FavoriteSetReq value, $Res Function(FavoriteSetReq) _then) = _$FavoriteSetReqCopyWithImpl;
@useResult
$Res call({
 String itemId, bool isFavorite
});




}
/// @nodoc
class _$FavoriteSetReqCopyWithImpl<$Res>
    implements $FavoriteSetReqCopyWith<$Res> {
  _$FavoriteSetReqCopyWithImpl(this._self, this._then);

  final FavoriteSetReq _self;
  final $Res Function(FavoriteSetReq) _then;

/// Create a copy of FavoriteSetReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? isFavorite = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,isFavorite: null == isFavorite ? _self.isFavorite : isFavorite // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}

}


/// Adds pattern-matching-related methods to [FavoriteSetReq].
extension FavoriteSetReqPatterns on FavoriteSetReq {
/// 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( _FavoriteSetReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _FavoriteSetReq() 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( _FavoriteSetReq value)  $default,){
final _that = this;
switch (_that) {
case _FavoriteSetReq():
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( _FavoriteSetReq value)?  $default,){
final _that = this;
switch (_that) {
case _FavoriteSetReq() 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( String itemId,  bool isFavorite)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _FavoriteSetReq() when $default != null:
return $default(_that.itemId,_that.isFavorite);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( String itemId,  bool isFavorite)  $default,) {final _that = this;
switch (_that) {
case _FavoriteSetReq():
return $default(_that.itemId,_that.isFavorite);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( String itemId,  bool isFavorite)?  $default,) {final _that = this;
switch (_that) {
case _FavoriteSetReq() when $default != null:
return $default(_that.itemId,_that.isFavorite);case _:
  return null;

}
}

}

/// @nodoc


class _FavoriteSetReq extends FavoriteSetReq {
  const _FavoriteSetReq({required this.itemId, required this.isFavorite}): super._();
  

@override final  String itemId;
@override final  bool isFavorite;

/// Create a copy of FavoriteSetReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$FavoriteSetReqCopyWith<_FavoriteSetReq> get copyWith => __$FavoriteSetReqCopyWithImpl<_FavoriteSetReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _FavoriteSetReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.isFavorite, isFavorite) || other.isFavorite == isFavorite));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,isFavorite);

@override
String toString() {
  return 'FavoriteSetReq(itemId: $itemId, isFavorite: $isFavorite)';
}


}

/// @nodoc
abstract mixin class _$FavoriteSetReqCopyWith<$Res> implements $FavoriteSetReqCopyWith<$Res> {
  factory _$FavoriteSetReqCopyWith(_FavoriteSetReq value, $Res Function(_FavoriteSetReq) _then) = __$FavoriteSetReqCopyWithImpl;
@override @useResult
$Res call({
 String itemId, bool isFavorite
});




}
/// @nodoc
class __$FavoriteSetReqCopyWithImpl<$Res>
    implements _$FavoriteSetReqCopyWith<$Res> {
  __$FavoriteSetReqCopyWithImpl(this._self, this._then);

  final _FavoriteSetReq _self;
  final $Res Function(_FavoriteSetReq) _then;

/// Create a copy of FavoriteSetReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? isFavorite = null,}) {
  return _then(_FavoriteSetReq(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,isFavorite: null == isFavorite ? _self.isFavorite : isFavorite // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}


}


/// @nodoc
mixin _$FavoriteSetRes {

 String get itemId; bool get isFavorite;
/// Create a copy of FavoriteSetRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$FavoriteSetResCopyWith<FavoriteSetRes> get copyWith => _$FavoriteSetResCopyWithImpl<FavoriteSetRes>(this as FavoriteSetRes, _$identity);

  /// Serializes this FavoriteSetRes to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is FavoriteSetRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.isFavorite, isFavorite) || other.isFavorite == isFavorite));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,itemId,isFavorite);

@override
String toString() {
  return 'FavoriteSetRes(itemId: $itemId, isFavorite: $isFavorite)';
}


}

/// @nodoc
abstract mixin class $FavoriteSetResCopyWith<$Res>  {
  factory $FavoriteSetResCopyWith(FavoriteSetRes value, $Res Function(FavoriteSetRes) _then) = _$FavoriteSetResCopyWithImpl;
@useResult
$Res call({
 String itemId, bool isFavorite
});




}
/// @nodoc
class _$FavoriteSetResCopyWithImpl<$Res>
    implements $FavoriteSetResCopyWith<$Res> {
  _$FavoriteSetResCopyWithImpl(this._self, this._then);

  final FavoriteSetRes _self;
  final $Res Function(FavoriteSetRes) _then;

/// Create a copy of FavoriteSetRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? isFavorite = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,isFavorite: null == isFavorite ? _self.isFavorite : isFavorite // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}

}


/// Adds pattern-matching-related methods to [FavoriteSetRes].
extension FavoriteSetResPatterns on FavoriteSetRes {
/// 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( _FavoriteSetRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _FavoriteSetRes() 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( _FavoriteSetRes value)  $default,){
final _that = this;
switch (_that) {
case _FavoriteSetRes():
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( _FavoriteSetRes value)?  $default,){
final _that = this;
switch (_that) {
case _FavoriteSetRes() 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( String itemId,  bool isFavorite)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _FavoriteSetRes() when $default != null:
return $default(_that.itemId,_that.isFavorite);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( String itemId,  bool isFavorite)  $default,) {final _that = this;
switch (_that) {
case _FavoriteSetRes():
return $default(_that.itemId,_that.isFavorite);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( String itemId,  bool isFavorite)?  $default,) {final _that = this;
switch (_that) {
case _FavoriteSetRes() when $default != null:
return $default(_that.itemId,_that.isFavorite);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _FavoriteSetRes implements FavoriteSetRes {
  const _FavoriteSetRes({required this.itemId, required this.isFavorite});
  factory _FavoriteSetRes.fromJson(Map<String, dynamic> json) => _$FavoriteSetResFromJson(json);

@override final  String itemId;
@override final  bool isFavorite;

/// Create a copy of FavoriteSetRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$FavoriteSetResCopyWith<_FavoriteSetRes> get copyWith => __$FavoriteSetResCopyWithImpl<_FavoriteSetRes>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$FavoriteSetResToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _FavoriteSetRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.isFavorite, isFavorite) || other.isFavorite == isFavorite));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,itemId,isFavorite);

@override
String toString() {
  return 'FavoriteSetRes(itemId: $itemId, isFavorite: $isFavorite)';
}


}

/// @nodoc
abstract mixin class _$FavoriteSetResCopyWith<$Res> implements $FavoriteSetResCopyWith<$Res> {
  factory _$FavoriteSetResCopyWith(_FavoriteSetRes value, $Res Function(_FavoriteSetRes) _then) = __$FavoriteSetResCopyWithImpl;
@override @useResult
$Res call({
 String itemId, bool isFavorite
});




}
/// @nodoc
class __$FavoriteSetResCopyWithImpl<$Res>
    implements _$FavoriteSetResCopyWith<$Res> {
  __$FavoriteSetResCopyWithImpl(this._self, this._then);

  final _FavoriteSetRes _self;
  final $Res Function(_FavoriteSetRes) _then;

/// Create a copy of FavoriteSetRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? isFavorite = null,}) {
  return _then(_FavoriteSetRes(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,isFavorite: null == isFavorite ? _self.isFavorite : isFavorite // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}


}

/// @nodoc
mixin _$PlayedSetReq {

 String get itemId; bool get played;
/// Create a copy of PlayedSetReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$PlayedSetReqCopyWith<PlayedSetReq> get copyWith => _$PlayedSetReqCopyWithImpl<PlayedSetReq>(this as PlayedSetReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is PlayedSetReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.played, played) || other.played == played));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,played);

@override
String toString() {
  return 'PlayedSetReq(itemId: $itemId, played: $played)';
}


}

/// @nodoc
abstract mixin class $PlayedSetReqCopyWith<$Res>  {
  factory $PlayedSetReqCopyWith(PlayedSetReq value, $Res Function(PlayedSetReq) _then) = _$PlayedSetReqCopyWithImpl;
@useResult
$Res call({
 String itemId, bool played
});




}
/// @nodoc
class _$PlayedSetReqCopyWithImpl<$Res>
    implements $PlayedSetReqCopyWith<$Res> {
  _$PlayedSetReqCopyWithImpl(this._self, this._then);

  final PlayedSetReq _self;
  final $Res Function(PlayedSetReq) _then;

/// Create a copy of PlayedSetReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? played = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,played: null == played ? _self.played : played // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}

}


/// Adds pattern-matching-related methods to [PlayedSetReq].
extension PlayedSetReqPatterns on PlayedSetReq {
/// 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( _PlayedSetReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _PlayedSetReq() 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( _PlayedSetReq value)  $default,){
final _that = this;
switch (_that) {
case _PlayedSetReq():
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( _PlayedSetReq value)?  $default,){
final _that = this;
switch (_that) {
case _PlayedSetReq() 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( String itemId,  bool played)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _PlayedSetReq() when $default != null:
return $default(_that.itemId,_that.played);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( String itemId,  bool played)  $default,) {final _that = this;
switch (_that) {
case _PlayedSetReq():
return $default(_that.itemId,_that.played);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( String itemId,  bool played)?  $default,) {final _that = this;
switch (_that) {
case _PlayedSetReq() when $default != null:
return $default(_that.itemId,_that.played);case _:
  return null;

}
}

}

/// @nodoc


class _PlayedSetReq extends PlayedSetReq {
  const _PlayedSetReq({required this.itemId, required this.played}): super._();
  

@override final  String itemId;
@override final  bool played;

/// Create a copy of PlayedSetReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$PlayedSetReqCopyWith<_PlayedSetReq> get copyWith => __$PlayedSetReqCopyWithImpl<_PlayedSetReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _PlayedSetReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.played, played) || other.played == played));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,played);

@override
String toString() {
  return 'PlayedSetReq(itemId: $itemId, played: $played)';
}


}

/// @nodoc
abstract mixin class _$PlayedSetReqCopyWith<$Res> implements $PlayedSetReqCopyWith<$Res> {
  factory _$PlayedSetReqCopyWith(_PlayedSetReq value, $Res Function(_PlayedSetReq) _then) = __$PlayedSetReqCopyWithImpl;
@override @useResult
$Res call({
 String itemId, bool played
});




}
/// @nodoc
class __$PlayedSetReqCopyWithImpl<$Res>
    implements _$PlayedSetReqCopyWith<$Res> {
  __$PlayedSetReqCopyWithImpl(this._self, this._then);

  final _PlayedSetReq _self;
  final $Res Function(_PlayedSetReq) _then;

/// Create a copy of PlayedSetReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? played = null,}) {
  return _then(_PlayedSetReq(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,played: null == played ? _self.played : played // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}


}


/// @nodoc
mixin _$PlayedSetRes {

 String get itemId; bool get played;
/// Create a copy of PlayedSetRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$PlayedSetResCopyWith<PlayedSetRes> get copyWith => _$PlayedSetResCopyWithImpl<PlayedSetRes>(this as PlayedSetRes, _$identity);

  /// Serializes this PlayedSetRes to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is PlayedSetRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.played, played) || other.played == played));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,itemId,played);

@override
String toString() {
  return 'PlayedSetRes(itemId: $itemId, played: $played)';
}


}

/// @nodoc
abstract mixin class $PlayedSetResCopyWith<$Res>  {
  factory $PlayedSetResCopyWith(PlayedSetRes value, $Res Function(PlayedSetRes) _then) = _$PlayedSetResCopyWithImpl;
@useResult
$Res call({
 String itemId, bool played
});




}
/// @nodoc
class _$PlayedSetResCopyWithImpl<$Res>
    implements $PlayedSetResCopyWith<$Res> {
  _$PlayedSetResCopyWithImpl(this._self, this._then);

  final PlayedSetRes _self;
  final $Res Function(PlayedSetRes) _then;

/// Create a copy of PlayedSetRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? played = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,played: null == played ? _self.played : played // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}

}


/// Adds pattern-matching-related methods to [PlayedSetRes].
extension PlayedSetResPatterns on PlayedSetRes {
/// 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( _PlayedSetRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _PlayedSetRes() 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( _PlayedSetRes value)  $default,){
final _that = this;
switch (_that) {
case _PlayedSetRes():
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( _PlayedSetRes value)?  $default,){
final _that = this;
switch (_that) {
case _PlayedSetRes() 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( String itemId,  bool played)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _PlayedSetRes() when $default != null:
return $default(_that.itemId,_that.played);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( String itemId,  bool played)  $default,) {final _that = this;
switch (_that) {
case _PlayedSetRes():
return $default(_that.itemId,_that.played);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( String itemId,  bool played)?  $default,) {final _that = this;
switch (_that) {
case _PlayedSetRes() when $default != null:
return $default(_that.itemId,_that.played);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _PlayedSetRes implements PlayedSetRes {
  const _PlayedSetRes({required this.itemId, required this.played});
  factory _PlayedSetRes.fromJson(Map<String, dynamic> json) => _$PlayedSetResFromJson(json);

@override final  String itemId;
@override final  bool played;

/// Create a copy of PlayedSetRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$PlayedSetResCopyWith<_PlayedSetRes> get copyWith => __$PlayedSetResCopyWithImpl<_PlayedSetRes>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$PlayedSetResToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _PlayedSetRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.played, played) || other.played == played));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,itemId,played);

@override
String toString() {
  return 'PlayedSetRes(itemId: $itemId, played: $played)';
}


}

/// @nodoc
abstract mixin class _$PlayedSetResCopyWith<$Res> implements $PlayedSetResCopyWith<$Res> {
  factory _$PlayedSetResCopyWith(_PlayedSetRes value, $Res Function(_PlayedSetRes) _then) = __$PlayedSetResCopyWithImpl;
@override @useResult
$Res call({
 String itemId, bool played
});




}
/// @nodoc
class __$PlayedSetResCopyWithImpl<$Res>
    implements _$PlayedSetResCopyWith<$Res> {
  __$PlayedSetResCopyWithImpl(this._self, this._then);

  final _PlayedSetRes _self;
  final $Res Function(_PlayedSetRes) _then;

/// Create a copy of PlayedSetRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? played = null,}) {
  return _then(_PlayedSetRes(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,played: null == played ? _self.played : played // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}


}

/// @nodoc
mixin _$HideFromResumeReq {

 String get itemId; bool get hide;
/// Create a copy of HideFromResumeReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$HideFromResumeReqCopyWith<HideFromResumeReq> get copyWith => _$HideFromResumeReqCopyWithImpl<HideFromResumeReq>(this as HideFromResumeReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is HideFromResumeReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.hide, hide) || other.hide == hide));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,hide);

@override
String toString() {
  return 'HideFromResumeReq(itemId: $itemId, hide: $hide)';
}


}

/// @nodoc
abstract mixin class $HideFromResumeReqCopyWith<$Res>  {
  factory $HideFromResumeReqCopyWith(HideFromResumeReq value, $Res Function(HideFromResumeReq) _then) = _$HideFromResumeReqCopyWithImpl;
@useResult
$Res call({
 String itemId, bool hide
});




}
/// @nodoc
class _$HideFromResumeReqCopyWithImpl<$Res>
    implements $HideFromResumeReqCopyWith<$Res> {
  _$HideFromResumeReqCopyWithImpl(this._self, this._then);

  final HideFromResumeReq _self;
  final $Res Function(HideFromResumeReq) _then;

/// Create a copy of HideFromResumeReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? hide = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,hide: null == hide ? _self.hide : hide // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}

}


/// Adds pattern-matching-related methods to [HideFromResumeReq].
extension HideFromResumeReqPatterns on HideFromResumeReq {
/// 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( _HideFromResumeReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _HideFromResumeReq() 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( _HideFromResumeReq value)  $default,){
final _that = this;
switch (_that) {
case _HideFromResumeReq():
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( _HideFromResumeReq value)?  $default,){
final _that = this;
switch (_that) {
case _HideFromResumeReq() 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( String itemId,  bool hide)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _HideFromResumeReq() when $default != null:
return $default(_that.itemId,_that.hide);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( String itemId,  bool hide)  $default,) {final _that = this;
switch (_that) {
case _HideFromResumeReq():
return $default(_that.itemId,_that.hide);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( String itemId,  bool hide)?  $default,) {final _that = this;
switch (_that) {
case _HideFromResumeReq() when $default != null:
return $default(_that.itemId,_that.hide);case _:
  return null;

}
}

}

/// @nodoc


class _HideFromResumeReq extends HideFromResumeReq {
  const _HideFromResumeReq({required this.itemId, required this.hide}): super._();
  

@override final  String itemId;
@override final  bool hide;

/// Create a copy of HideFromResumeReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$HideFromResumeReqCopyWith<_HideFromResumeReq> get copyWith => __$HideFromResumeReqCopyWithImpl<_HideFromResumeReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _HideFromResumeReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.hide, hide) || other.hide == hide));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,hide);

@override
String toString() {
  return 'HideFromResumeReq(itemId: $itemId, hide: $hide)';
}


}

/// @nodoc
abstract mixin class _$HideFromResumeReqCopyWith<$Res> implements $HideFromResumeReqCopyWith<$Res> {
  factory _$HideFromResumeReqCopyWith(_HideFromResumeReq value, $Res Function(_HideFromResumeReq) _then) = __$HideFromResumeReqCopyWithImpl;
@override @useResult
$Res call({
 String itemId, bool hide
});




}
/// @nodoc
class __$HideFromResumeReqCopyWithImpl<$Res>
    implements _$HideFromResumeReqCopyWith<$Res> {
  __$HideFromResumeReqCopyWithImpl(this._self, this._then);

  final _HideFromResumeReq _self;
  final $Res Function(_HideFromResumeReq) _then;

/// Create a copy of HideFromResumeReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? hide = null,}) {
  return _then(_HideFromResumeReq(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,hide: null == hide ? _self.hide : hide // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}


}


/// @nodoc
mixin _$HideFromResumeRes {

 String get itemId; bool get hide;
/// Create a copy of HideFromResumeRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$HideFromResumeResCopyWith<HideFromResumeRes> get copyWith => _$HideFromResumeResCopyWithImpl<HideFromResumeRes>(this as HideFromResumeRes, _$identity);

  /// Serializes this HideFromResumeRes to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is HideFromResumeRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.hide, hide) || other.hide == hide));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,itemId,hide);

@override
String toString() {
  return 'HideFromResumeRes(itemId: $itemId, hide: $hide)';
}


}

/// @nodoc
abstract mixin class $HideFromResumeResCopyWith<$Res>  {
  factory $HideFromResumeResCopyWith(HideFromResumeRes value, $Res Function(HideFromResumeRes) _then) = _$HideFromResumeResCopyWithImpl;
@useResult
$Res call({
 String itemId, bool hide
});




}
/// @nodoc
class _$HideFromResumeResCopyWithImpl<$Res>
    implements $HideFromResumeResCopyWith<$Res> {
  _$HideFromResumeResCopyWithImpl(this._self, this._then);

  final HideFromResumeRes _self;
  final $Res Function(HideFromResumeRes) _then;

/// Create a copy of HideFromResumeRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? hide = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,hide: null == hide ? _self.hide : hide // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}

}


/// Adds pattern-matching-related methods to [HideFromResumeRes].
extension HideFromResumeResPatterns on HideFromResumeRes {
/// 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( _HideFromResumeRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _HideFromResumeRes() 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( _HideFromResumeRes value)  $default,){
final _that = this;
switch (_that) {
case _HideFromResumeRes():
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( _HideFromResumeRes value)?  $default,){
final _that = this;
switch (_that) {
case _HideFromResumeRes() 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( String itemId,  bool hide)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _HideFromResumeRes() when $default != null:
return $default(_that.itemId,_that.hide);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( String itemId,  bool hide)  $default,) {final _that = this;
switch (_that) {
case _HideFromResumeRes():
return $default(_that.itemId,_that.hide);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( String itemId,  bool hide)?  $default,) {final _that = this;
switch (_that) {
case _HideFromResumeRes() when $default != null:
return $default(_that.itemId,_that.hide);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _HideFromResumeRes implements HideFromResumeRes {
  const _HideFromResumeRes({required this.itemId, required this.hide});
  factory _HideFromResumeRes.fromJson(Map<String, dynamic> json) => _$HideFromResumeResFromJson(json);

@override final  String itemId;
@override final  bool hide;

/// Create a copy of HideFromResumeRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$HideFromResumeResCopyWith<_HideFromResumeRes> get copyWith => __$HideFromResumeResCopyWithImpl<_HideFromResumeRes>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$HideFromResumeResToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _HideFromResumeRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.hide, hide) || other.hide == hide));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,itemId,hide);

@override
String toString() {
  return 'HideFromResumeRes(itemId: $itemId, hide: $hide)';
}


}

/// @nodoc
abstract mixin class _$HideFromResumeResCopyWith<$Res> implements $HideFromResumeResCopyWith<$Res> {
  factory _$HideFromResumeResCopyWith(_HideFromResumeRes value, $Res Function(_HideFromResumeRes) _then) = __$HideFromResumeResCopyWithImpl;
@override @useResult
$Res call({
 String itemId, bool hide
});




}
/// @nodoc
class __$HideFromResumeResCopyWithImpl<$Res>
    implements _$HideFromResumeResCopyWith<$Res> {
  __$HideFromResumeResCopyWithImpl(this._self, this._then);

  final _HideFromResumeRes _self;
  final $Res Function(_HideFromResumeRes) _then;

/// Create a copy of HideFromResumeRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? hide = null,}) {
  return _then(_HideFromResumeRes(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,hide: null == hide ? _self.hide : hide // ignore: cast_nullable_to_non_nullable
as bool,
  ));
}


}

/// @nodoc
mixin _$MediaEpisodesReq {

 String get seriesId; String get seasonId;
/// Create a copy of MediaEpisodesReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$MediaEpisodesReqCopyWith<MediaEpisodesReq> get copyWith => _$MediaEpisodesReqCopyWithImpl<MediaEpisodesReq>(this as MediaEpisodesReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is MediaEpisodesReq&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId)&&(identical(other.seasonId, seasonId) || other.seasonId == seasonId));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId,seasonId);

@override
String toString() {
  return 'MediaEpisodesReq(seriesId: $seriesId, seasonId: $seasonId)';
}


}

/// @nodoc
abstract mixin class $MediaEpisodesReqCopyWith<$Res>  {
  factory $MediaEpisodesReqCopyWith(MediaEpisodesReq value, $Res Function(MediaEpisodesReq) _then) = _$MediaEpisodesReqCopyWithImpl;
@useResult
$Res call({
 String seriesId, String seasonId
});




}
/// @nodoc
class _$MediaEpisodesReqCopyWithImpl<$Res>
    implements $MediaEpisodesReqCopyWith<$Res> {
  _$MediaEpisodesReqCopyWithImpl(this._self, this._then);

  final MediaEpisodesReq _self;
  final $Res Function(MediaEpisodesReq) _then;

/// Create a copy of MediaEpisodesReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? seriesId = null,Object? seasonId = null,}) {
  return _then(_self.copyWith(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,seasonId: null == seasonId ? _self.seasonId : seasonId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}

}


/// Adds pattern-matching-related methods to [MediaEpisodesReq].
extension MediaEpisodesReqPatterns on MediaEpisodesReq {
/// 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( _MediaEpisodesReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _MediaEpisodesReq() 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( _MediaEpisodesReq value)  $default,){
final _that = this;
switch (_that) {
case _MediaEpisodesReq():
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( _MediaEpisodesReq value)?  $default,){
final _that = this;
switch (_that) {
case _MediaEpisodesReq() 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( String seriesId,  String seasonId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _MediaEpisodesReq() when $default != null:
return $default(_that.seriesId,_that.seasonId);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( String seriesId,  String seasonId)  $default,) {final _that = this;
switch (_that) {
case _MediaEpisodesReq():
return $default(_that.seriesId,_that.seasonId);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( String seriesId,  String seasonId)?  $default,) {final _that = this;
switch (_that) {
case _MediaEpisodesReq() when $default != null:
return $default(_that.seriesId,_that.seasonId);case _:
  return null;

}
}

}

/// @nodoc


class _MediaEpisodesReq extends MediaEpisodesReq {
  const _MediaEpisodesReq({required this.seriesId, required this.seasonId}): super._();
  

@override final  String seriesId;
@override final  String seasonId;

/// Create a copy of MediaEpisodesReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$MediaEpisodesReqCopyWith<_MediaEpisodesReq> get copyWith => __$MediaEpisodesReqCopyWithImpl<_MediaEpisodesReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _MediaEpisodesReq&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId)&&(identical(other.seasonId, seasonId) || other.seasonId == seasonId));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId,seasonId);

@override
String toString() {
  return 'MediaEpisodesReq(seriesId: $seriesId, seasonId: $seasonId)';
}


}

/// @nodoc
abstract mixin class _$MediaEpisodesReqCopyWith<$Res> implements $MediaEpisodesReqCopyWith<$Res> {
  factory _$MediaEpisodesReqCopyWith(_MediaEpisodesReq value, $Res Function(_MediaEpisodesReq) _then) = __$MediaEpisodesReqCopyWithImpl;
@override @useResult
$Res call({
 String seriesId, String seasonId
});




}
/// @nodoc
class __$MediaEpisodesReqCopyWithImpl<$Res>
    implements _$MediaEpisodesReqCopyWith<$Res> {
  __$MediaEpisodesReqCopyWithImpl(this._self, this._then);

  final _MediaEpisodesReq _self;
  final $Res Function(_MediaEpisodesReq) _then;

/// Create a copy of MediaEpisodesReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? seriesId = null,Object? seasonId = null,}) {
  return _then(_MediaEpisodesReq(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,seasonId: null == seasonId ? _self.seasonId : seasonId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}


}

/// @nodoc
mixin _$MediaEpisodesRes {

 String get seriesId; String get seasonId; List<EmbyRawItem> get items;
/// Create a copy of MediaEpisodesRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$MediaEpisodesResCopyWith<MediaEpisodesRes> get copyWith => _$MediaEpisodesResCopyWithImpl<MediaEpisodesRes>(this as MediaEpisodesRes, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is MediaEpisodesRes&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId)&&(identical(other.seasonId, seasonId) || other.seasonId == seasonId)&&const DeepCollectionEquality().equals(other.items, items));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId,seasonId,const DeepCollectionEquality().hash(items));

@override
String toString() {
  return 'MediaEpisodesRes(seriesId: $seriesId, seasonId: $seasonId, items: $items)';
}


}

/// @nodoc
abstract mixin class $MediaEpisodesResCopyWith<$Res>  {
  factory $MediaEpisodesResCopyWith(MediaEpisodesRes value, $Res Function(MediaEpisodesRes) _then) = _$MediaEpisodesResCopyWithImpl;
@useResult
$Res call({
 String seriesId, String seasonId, List<EmbyRawItem> items
});




}
/// @nodoc
class _$MediaEpisodesResCopyWithImpl<$Res>
    implements $MediaEpisodesResCopyWith<$Res> {
  _$MediaEpisodesResCopyWithImpl(this._self, this._then);

  final MediaEpisodesRes _self;
  final $Res Function(MediaEpisodesRes) _then;

/// Create a copy of MediaEpisodesRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? seriesId = null,Object? seasonId = null,Object? items = null,}) {
  return _then(_self.copyWith(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,seasonId: null == seasonId ? _self.seasonId : seasonId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}

}


/// Adds pattern-matching-related methods to [MediaEpisodesRes].
extension MediaEpisodesResPatterns on MediaEpisodesRes {
/// 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( _MediaEpisodesRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _MediaEpisodesRes() 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( _MediaEpisodesRes value)  $default,){
final _that = this;
switch (_that) {
case _MediaEpisodesRes():
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( _MediaEpisodesRes value)?  $default,){
final _that = this;
switch (_that) {
case _MediaEpisodesRes() 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( String seriesId,  String seasonId,  List<EmbyRawItem> items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _MediaEpisodesRes() when $default != null:
return $default(_that.seriesId,_that.seasonId,_that.items);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( String seriesId,  String seasonId,  List<EmbyRawItem> items)  $default,) {final _that = this;
switch (_that) {
case _MediaEpisodesRes():
return $default(_that.seriesId,_that.seasonId,_that.items);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( String seriesId,  String seasonId,  List<EmbyRawItem> items)?  $default,) {final _that = this;
switch (_that) {
case _MediaEpisodesRes() when $default != null:
return $default(_that.seriesId,_that.seasonId,_that.items);case _:
  return null;

}
}

}

/// @nodoc


class _MediaEpisodesRes implements MediaEpisodesRes {
  const _MediaEpisodesRes({required this.seriesId, required this.seasonId, required final  List<EmbyRawItem> items}): _items = items;
  

@override final  String seriesId;
@override final  String seasonId;
 final  List<EmbyRawItem> _items;
@override List<EmbyRawItem> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}


/// Create a copy of MediaEpisodesRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$MediaEpisodesResCopyWith<_MediaEpisodesRes> get copyWith => __$MediaEpisodesResCopyWithImpl<_MediaEpisodesRes>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _MediaEpisodesRes&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId)&&(identical(other.seasonId, seasonId) || other.seasonId == seasonId)&&const DeepCollectionEquality().equals(other._items, _items));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId,seasonId,const DeepCollectionEquality().hash(_items));

@override
String toString() {
  return 'MediaEpisodesRes(seriesId: $seriesId, seasonId: $seasonId, items: $items)';
}


}

/// @nodoc
abstract mixin class _$MediaEpisodesResCopyWith<$Res> implements $MediaEpisodesResCopyWith<$Res> {
  factory _$MediaEpisodesResCopyWith(_MediaEpisodesRes value, $Res Function(_MediaEpisodesRes) _then) = __$MediaEpisodesResCopyWithImpl;
@override @useResult
$Res call({
 String seriesId, String seasonId, List<EmbyRawItem> items
});




}
/// @nodoc
class __$MediaEpisodesResCopyWithImpl<$Res>
    implements _$MediaEpisodesResCopyWith<$Res> {
  __$MediaEpisodesResCopyWithImpl(this._self, this._then);

  final _MediaEpisodesRes _self;
  final $Res Function(_MediaEpisodesRes) _then;

/// Create a copy of MediaEpisodesRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? seriesId = null,Object? seasonId = null,Object? items = null,}) {
  return _then(_MediaEpisodesRes(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,seasonId: null == seasonId ? _self.seasonId : seasonId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}


}

/// @nodoc
mixin _$SeriesSeasonsReq {

 String get seriesId;
/// Create a copy of SeriesSeasonsReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$SeriesSeasonsReqCopyWith<SeriesSeasonsReq> get copyWith => _$SeriesSeasonsReqCopyWithImpl<SeriesSeasonsReq>(this as SeriesSeasonsReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is SeriesSeasonsReq&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId);

@override
String toString() {
  return 'SeriesSeasonsReq(seriesId: $seriesId)';
}


}

/// @nodoc
abstract mixin class $SeriesSeasonsReqCopyWith<$Res>  {
  factory $SeriesSeasonsReqCopyWith(SeriesSeasonsReq value, $Res Function(SeriesSeasonsReq) _then) = _$SeriesSeasonsReqCopyWithImpl;
@useResult
$Res call({
 String seriesId
});




}
/// @nodoc
class _$SeriesSeasonsReqCopyWithImpl<$Res>
    implements $SeriesSeasonsReqCopyWith<$Res> {
  _$SeriesSeasonsReqCopyWithImpl(this._self, this._then);

  final SeriesSeasonsReq _self;
  final $Res Function(SeriesSeasonsReq) _then;

/// Create a copy of SeriesSeasonsReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? seriesId = null,}) {
  return _then(_self.copyWith(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}

}


/// Adds pattern-matching-related methods to [SeriesSeasonsReq].
extension SeriesSeasonsReqPatterns on SeriesSeasonsReq {
/// 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( _SeriesSeasonsReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _SeriesSeasonsReq() 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( _SeriesSeasonsReq value)  $default,){
final _that = this;
switch (_that) {
case _SeriesSeasonsReq():
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( _SeriesSeasonsReq value)?  $default,){
final _that = this;
switch (_that) {
case _SeriesSeasonsReq() 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( String seriesId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _SeriesSeasonsReq() when $default != null:
return $default(_that.seriesId);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( String seriesId)  $default,) {final _that = this;
switch (_that) {
case _SeriesSeasonsReq():
return $default(_that.seriesId);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( String seriesId)?  $default,) {final _that = this;
switch (_that) {
case _SeriesSeasonsReq() when $default != null:
return $default(_that.seriesId);case _:
  return null;

}
}

}

/// @nodoc


class _SeriesSeasonsReq extends SeriesSeasonsReq {
  const _SeriesSeasonsReq({required this.seriesId}): super._();
  

@override final  String seriesId;

/// Create a copy of SeriesSeasonsReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$SeriesSeasonsReqCopyWith<_SeriesSeasonsReq> get copyWith => __$SeriesSeasonsReqCopyWithImpl<_SeriesSeasonsReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _SeriesSeasonsReq&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId);

@override
String toString() {
  return 'SeriesSeasonsReq(seriesId: $seriesId)';
}


}

/// @nodoc
abstract mixin class _$SeriesSeasonsReqCopyWith<$Res> implements $SeriesSeasonsReqCopyWith<$Res> {
  factory _$SeriesSeasonsReqCopyWith(_SeriesSeasonsReq value, $Res Function(_SeriesSeasonsReq) _then) = __$SeriesSeasonsReqCopyWithImpl;
@override @useResult
$Res call({
 String seriesId
});




}
/// @nodoc
class __$SeriesSeasonsReqCopyWithImpl<$Res>
    implements _$SeriesSeasonsReqCopyWith<$Res> {
  __$SeriesSeasonsReqCopyWithImpl(this._self, this._then);

  final _SeriesSeasonsReq _self;
  final $Res Function(_SeriesSeasonsReq) _then;

/// Create a copy of SeriesSeasonsReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? seriesId = null,}) {
  return _then(_SeriesSeasonsReq(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}


}

/// @nodoc
mixin _$SeriesSeasonsRes {

 String get seriesId; List<EmbyRawSeason> get items;
/// Create a copy of SeriesSeasonsRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$SeriesSeasonsResCopyWith<SeriesSeasonsRes> get copyWith => _$SeriesSeasonsResCopyWithImpl<SeriesSeasonsRes>(this as SeriesSeasonsRes, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is SeriesSeasonsRes&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId)&&const DeepCollectionEquality().equals(other.items, items));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId,const DeepCollectionEquality().hash(items));

@override
String toString() {
  return 'SeriesSeasonsRes(seriesId: $seriesId, items: $items)';
}


}

/// @nodoc
abstract mixin class $SeriesSeasonsResCopyWith<$Res>  {
  factory $SeriesSeasonsResCopyWith(SeriesSeasonsRes value, $Res Function(SeriesSeasonsRes) _then) = _$SeriesSeasonsResCopyWithImpl;
@useResult
$Res call({
 String seriesId, List<EmbyRawSeason> items
});




}
/// @nodoc
class _$SeriesSeasonsResCopyWithImpl<$Res>
    implements $SeriesSeasonsResCopyWith<$Res> {
  _$SeriesSeasonsResCopyWithImpl(this._self, this._then);

  final SeriesSeasonsRes _self;
  final $Res Function(SeriesSeasonsRes) _then;

/// Create a copy of SeriesSeasonsRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? seriesId = null,Object? items = null,}) {
  return _then(_self.copyWith(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawSeason>,
  ));
}

}


/// Adds pattern-matching-related methods to [SeriesSeasonsRes].
extension SeriesSeasonsResPatterns on SeriesSeasonsRes {
/// 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( _SeriesSeasonsRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _SeriesSeasonsRes() 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( _SeriesSeasonsRes value)  $default,){
final _that = this;
switch (_that) {
case _SeriesSeasonsRes():
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( _SeriesSeasonsRes value)?  $default,){
final _that = this;
switch (_that) {
case _SeriesSeasonsRes() 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( String seriesId,  List<EmbyRawSeason> items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _SeriesSeasonsRes() when $default != null:
return $default(_that.seriesId,_that.items);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( String seriesId,  List<EmbyRawSeason> items)  $default,) {final _that = this;
switch (_that) {
case _SeriesSeasonsRes():
return $default(_that.seriesId,_that.items);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( String seriesId,  List<EmbyRawSeason> items)?  $default,) {final _that = this;
switch (_that) {
case _SeriesSeasonsRes() when $default != null:
return $default(_that.seriesId,_that.items);case _:
  return null;

}
}

}

/// @nodoc


class _SeriesSeasonsRes implements SeriesSeasonsRes {
  const _SeriesSeasonsRes({required this.seriesId, required final  List<EmbyRawSeason> items}): _items = items;
  

@override final  String seriesId;
 final  List<EmbyRawSeason> _items;
@override List<EmbyRawSeason> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}


/// Create a copy of SeriesSeasonsRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$SeriesSeasonsResCopyWith<_SeriesSeasonsRes> get copyWith => __$SeriesSeasonsResCopyWithImpl<_SeriesSeasonsRes>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _SeriesSeasonsRes&&(identical(other.seriesId, seriesId) || other.seriesId == seriesId)&&const DeepCollectionEquality().equals(other._items, _items));
}


@override
int get hashCode => Object.hash(runtimeType,seriesId,const DeepCollectionEquality().hash(_items));

@override
String toString() {
  return 'SeriesSeasonsRes(seriesId: $seriesId, items: $items)';
}


}

/// @nodoc
abstract mixin class _$SeriesSeasonsResCopyWith<$Res> implements $SeriesSeasonsResCopyWith<$Res> {
  factory _$SeriesSeasonsResCopyWith(_SeriesSeasonsRes value, $Res Function(_SeriesSeasonsRes) _then) = __$SeriesSeasonsResCopyWithImpl;
@override @useResult
$Res call({
 String seriesId, List<EmbyRawSeason> items
});




}
/// @nodoc
class __$SeriesSeasonsResCopyWithImpl<$Res>
    implements _$SeriesSeasonsResCopyWith<$Res> {
  __$SeriesSeasonsResCopyWithImpl(this._self, this._then);

  final _SeriesSeasonsRes _self;
  final $Res Function(_SeriesSeasonsRes) _then;

/// Create a copy of SeriesSeasonsRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? seriesId = null,Object? items = null,}) {
  return _then(_SeriesSeasonsRes(
seriesId: null == seriesId ? _self.seriesId : seriesId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawSeason>,
  ));
}


}

/// @nodoc
mixin _$SimilarItemsReq {

 String get itemId; int? get limit;
/// Create a copy of SimilarItemsReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$SimilarItemsReqCopyWith<SimilarItemsReq> get copyWith => _$SimilarItemsReqCopyWithImpl<SimilarItemsReq>(this as SimilarItemsReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is SimilarItemsReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.limit, limit) || other.limit == limit));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,limit);

@override
String toString() {
  return 'SimilarItemsReq(itemId: $itemId, limit: $limit)';
}


}

/// @nodoc
abstract mixin class $SimilarItemsReqCopyWith<$Res>  {
  factory $SimilarItemsReqCopyWith(SimilarItemsReq value, $Res Function(SimilarItemsReq) _then) = _$SimilarItemsReqCopyWithImpl;
@useResult
$Res call({
 String itemId, int? limit
});




}
/// @nodoc
class _$SimilarItemsReqCopyWithImpl<$Res>
    implements $SimilarItemsReqCopyWith<$Res> {
  _$SimilarItemsReqCopyWithImpl(this._self, this._then);

  final SimilarItemsReq _self;
  final $Res Function(SimilarItemsReq) _then;

/// Create a copy of SimilarItemsReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? limit = freezed,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,limit: freezed == limit ? _self.limit : limit // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [SimilarItemsReq].
extension SimilarItemsReqPatterns on SimilarItemsReq {
/// 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( _SimilarItemsReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _SimilarItemsReq() 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( _SimilarItemsReq value)  $default,){
final _that = this;
switch (_that) {
case _SimilarItemsReq():
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( _SimilarItemsReq value)?  $default,){
final _that = this;
switch (_that) {
case _SimilarItemsReq() 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( String itemId,  int? limit)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _SimilarItemsReq() when $default != null:
return $default(_that.itemId,_that.limit);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( String itemId,  int? limit)  $default,) {final _that = this;
switch (_that) {
case _SimilarItemsReq():
return $default(_that.itemId,_that.limit);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( String itemId,  int? limit)?  $default,) {final _that = this;
switch (_that) {
case _SimilarItemsReq() when $default != null:
return $default(_that.itemId,_that.limit);case _:
  return null;

}
}

}

/// @nodoc


class _SimilarItemsReq extends SimilarItemsReq {
  const _SimilarItemsReq({required this.itemId, this.limit}): super._();
  

@override final  String itemId;
@override final  int? limit;

/// Create a copy of SimilarItemsReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$SimilarItemsReqCopyWith<_SimilarItemsReq> get copyWith => __$SimilarItemsReqCopyWithImpl<_SimilarItemsReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _SimilarItemsReq&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.limit, limit) || other.limit == limit));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,limit);

@override
String toString() {
  return 'SimilarItemsReq(itemId: $itemId, limit: $limit)';
}


}

/// @nodoc
abstract mixin class _$SimilarItemsReqCopyWith<$Res> implements $SimilarItemsReqCopyWith<$Res> {
  factory _$SimilarItemsReqCopyWith(_SimilarItemsReq value, $Res Function(_SimilarItemsReq) _then) = __$SimilarItemsReqCopyWithImpl;
@override @useResult
$Res call({
 String itemId, int? limit
});




}
/// @nodoc
class __$SimilarItemsReqCopyWithImpl<$Res>
    implements _$SimilarItemsReqCopyWith<$Res> {
  __$SimilarItemsReqCopyWithImpl(this._self, this._then);

  final _SimilarItemsReq _self;
  final $Res Function(_SimilarItemsReq) _then;

/// Create a copy of SimilarItemsReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? limit = freezed,}) {
  return _then(_SimilarItemsReq(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,limit: freezed == limit ? _self.limit : limit // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}

/// @nodoc
mixin _$SimilarItemsRes {

 String get itemId; List<EmbyRawItem> get items;
/// Create a copy of SimilarItemsRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$SimilarItemsResCopyWith<SimilarItemsRes> get copyWith => _$SimilarItemsResCopyWithImpl<SimilarItemsRes>(this as SimilarItemsRes, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is SimilarItemsRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&const DeepCollectionEquality().equals(other.items, items));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,const DeepCollectionEquality().hash(items));

@override
String toString() {
  return 'SimilarItemsRes(itemId: $itemId, items: $items)';
}


}

/// @nodoc
abstract mixin class $SimilarItemsResCopyWith<$Res>  {
  factory $SimilarItemsResCopyWith(SimilarItemsRes value, $Res Function(SimilarItemsRes) _then) = _$SimilarItemsResCopyWithImpl;
@useResult
$Res call({
 String itemId, List<EmbyRawItem> items
});




}
/// @nodoc
class _$SimilarItemsResCopyWithImpl<$Res>
    implements $SimilarItemsResCopyWith<$Res> {
  _$SimilarItemsResCopyWithImpl(this._self, this._then);

  final SimilarItemsRes _self;
  final $Res Function(SimilarItemsRes) _then;

/// Create a copy of SimilarItemsRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? items = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}

}


/// Adds pattern-matching-related methods to [SimilarItemsRes].
extension SimilarItemsResPatterns on SimilarItemsRes {
/// 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( _SimilarItemsRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _SimilarItemsRes() 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( _SimilarItemsRes value)  $default,){
final _that = this;
switch (_that) {
case _SimilarItemsRes():
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( _SimilarItemsRes value)?  $default,){
final _that = this;
switch (_that) {
case _SimilarItemsRes() 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( String itemId,  List<EmbyRawItem> items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _SimilarItemsRes() when $default != null:
return $default(_that.itemId,_that.items);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( String itemId,  List<EmbyRawItem> items)  $default,) {final _that = this;
switch (_that) {
case _SimilarItemsRes():
return $default(_that.itemId,_that.items);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( String itemId,  List<EmbyRawItem> items)?  $default,) {final _that = this;
switch (_that) {
case _SimilarItemsRes() when $default != null:
return $default(_that.itemId,_that.items);case _:
  return null;

}
}

}

/// @nodoc


class _SimilarItemsRes implements SimilarItemsRes {
  const _SimilarItemsRes({required this.itemId, required final  List<EmbyRawItem> items}): _items = items;
  

@override final  String itemId;
 final  List<EmbyRawItem> _items;
@override List<EmbyRawItem> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}


/// Create a copy of SimilarItemsRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$SimilarItemsResCopyWith<_SimilarItemsRes> get copyWith => __$SimilarItemsResCopyWithImpl<_SimilarItemsRes>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _SimilarItemsRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&const DeepCollectionEquality().equals(other._items, _items));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,const DeepCollectionEquality().hash(_items));

@override
String toString() {
  return 'SimilarItemsRes(itemId: $itemId, items: $items)';
}


}

/// @nodoc
abstract mixin class _$SimilarItemsResCopyWith<$Res> implements $SimilarItemsResCopyWith<$Res> {
  factory _$SimilarItemsResCopyWith(_SimilarItemsRes value, $Res Function(_SimilarItemsRes) _then) = __$SimilarItemsResCopyWithImpl;
@override @useResult
$Res call({
 String itemId, List<EmbyRawItem> items
});




}
/// @nodoc
class __$SimilarItemsResCopyWithImpl<$Res>
    implements _$SimilarItemsResCopyWith<$Res> {
  __$SimilarItemsResCopyWithImpl(this._self, this._then);

  final _SimilarItemsRes _self;
  final $Res Function(_SimilarItemsRes) _then;

/// Create a copy of SimilarItemsRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? items = null,}) {
  return _then(_SimilarItemsRes(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}


}

/// @nodoc
mixin _$AdditionalPartsReq {

 String get itemId;
/// Create a copy of AdditionalPartsReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$AdditionalPartsReqCopyWith<AdditionalPartsReq> get copyWith => _$AdditionalPartsReqCopyWithImpl<AdditionalPartsReq>(this as AdditionalPartsReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is AdditionalPartsReq&&(identical(other.itemId, itemId) || other.itemId == itemId));
}


@override
int get hashCode => Object.hash(runtimeType,itemId);

@override
String toString() {
  return 'AdditionalPartsReq(itemId: $itemId)';
}


}

/// @nodoc
abstract mixin class $AdditionalPartsReqCopyWith<$Res>  {
  factory $AdditionalPartsReqCopyWith(AdditionalPartsReq value, $Res Function(AdditionalPartsReq) _then) = _$AdditionalPartsReqCopyWithImpl;
@useResult
$Res call({
 String itemId
});




}
/// @nodoc
class _$AdditionalPartsReqCopyWithImpl<$Res>
    implements $AdditionalPartsReqCopyWith<$Res> {
  _$AdditionalPartsReqCopyWithImpl(this._self, this._then);

  final AdditionalPartsReq _self;
  final $Res Function(AdditionalPartsReq) _then;

/// Create a copy of AdditionalPartsReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}

}


/// Adds pattern-matching-related methods to [AdditionalPartsReq].
extension AdditionalPartsReqPatterns on AdditionalPartsReq {
/// 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( _AdditionalPartsReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _AdditionalPartsReq() 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( _AdditionalPartsReq value)  $default,){
final _that = this;
switch (_that) {
case _AdditionalPartsReq():
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( _AdditionalPartsReq value)?  $default,){
final _that = this;
switch (_that) {
case _AdditionalPartsReq() 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( String itemId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _AdditionalPartsReq() when $default != null:
return $default(_that.itemId);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( String itemId)  $default,) {final _that = this;
switch (_that) {
case _AdditionalPartsReq():
return $default(_that.itemId);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( String itemId)?  $default,) {final _that = this;
switch (_that) {
case _AdditionalPartsReq() when $default != null:
return $default(_that.itemId);case _:
  return null;

}
}

}

/// @nodoc


class _AdditionalPartsReq implements AdditionalPartsReq {
  const _AdditionalPartsReq({required this.itemId});
  

@override final  String itemId;

/// Create a copy of AdditionalPartsReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$AdditionalPartsReqCopyWith<_AdditionalPartsReq> get copyWith => __$AdditionalPartsReqCopyWithImpl<_AdditionalPartsReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _AdditionalPartsReq&&(identical(other.itemId, itemId) || other.itemId == itemId));
}


@override
int get hashCode => Object.hash(runtimeType,itemId);

@override
String toString() {
  return 'AdditionalPartsReq(itemId: $itemId)';
}


}

/// @nodoc
abstract mixin class _$AdditionalPartsReqCopyWith<$Res> implements $AdditionalPartsReqCopyWith<$Res> {
  factory _$AdditionalPartsReqCopyWith(_AdditionalPartsReq value, $Res Function(_AdditionalPartsReq) _then) = __$AdditionalPartsReqCopyWithImpl;
@override @useResult
$Res call({
 String itemId
});




}
/// @nodoc
class __$AdditionalPartsReqCopyWithImpl<$Res>
    implements _$AdditionalPartsReqCopyWith<$Res> {
  __$AdditionalPartsReqCopyWithImpl(this._self, this._then);

  final _AdditionalPartsReq _self;
  final $Res Function(_AdditionalPartsReq) _then;

/// Create a copy of AdditionalPartsReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,}) {
  return _then(_AdditionalPartsReq(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,
  ));
}


}

/// @nodoc
mixin _$AdditionalPartsRes {

 String get itemId; List<EmbyRawItem> get items;
/// Create a copy of AdditionalPartsRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$AdditionalPartsResCopyWith<AdditionalPartsRes> get copyWith => _$AdditionalPartsResCopyWithImpl<AdditionalPartsRes>(this as AdditionalPartsRes, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is AdditionalPartsRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&const DeepCollectionEquality().equals(other.items, items));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,const DeepCollectionEquality().hash(items));

@override
String toString() {
  return 'AdditionalPartsRes(itemId: $itemId, items: $items)';
}


}

/// @nodoc
abstract mixin class $AdditionalPartsResCopyWith<$Res>  {
  factory $AdditionalPartsResCopyWith(AdditionalPartsRes value, $Res Function(AdditionalPartsRes) _then) = _$AdditionalPartsResCopyWithImpl;
@useResult
$Res call({
 String itemId, List<EmbyRawItem> items
});




}
/// @nodoc
class _$AdditionalPartsResCopyWithImpl<$Res>
    implements $AdditionalPartsResCopyWith<$Res> {
  _$AdditionalPartsResCopyWithImpl(this._self, this._then);

  final AdditionalPartsRes _self;
  final $Res Function(AdditionalPartsRes) _then;

/// Create a copy of AdditionalPartsRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? itemId = null,Object? items = null,}) {
  return _then(_self.copyWith(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}

}


/// Adds pattern-matching-related methods to [AdditionalPartsRes].
extension AdditionalPartsResPatterns on AdditionalPartsRes {
/// 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( _AdditionalPartsRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _AdditionalPartsRes() 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( _AdditionalPartsRes value)  $default,){
final _that = this;
switch (_that) {
case _AdditionalPartsRes():
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( _AdditionalPartsRes value)?  $default,){
final _that = this;
switch (_that) {
case _AdditionalPartsRes() 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( String itemId,  List<EmbyRawItem> items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _AdditionalPartsRes() when $default != null:
return $default(_that.itemId,_that.items);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( String itemId,  List<EmbyRawItem> items)  $default,) {final _that = this;
switch (_that) {
case _AdditionalPartsRes():
return $default(_that.itemId,_that.items);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( String itemId,  List<EmbyRawItem> items)?  $default,) {final _that = this;
switch (_that) {
case _AdditionalPartsRes() when $default != null:
return $default(_that.itemId,_that.items);case _:
  return null;

}
}

}

/// @nodoc


class _AdditionalPartsRes implements AdditionalPartsRes {
  const _AdditionalPartsRes({required this.itemId, required final  List<EmbyRawItem> items}): _items = items;
  

@override final  String itemId;
 final  List<EmbyRawItem> _items;
@override List<EmbyRawItem> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}


/// Create a copy of AdditionalPartsRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$AdditionalPartsResCopyWith<_AdditionalPartsRes> get copyWith => __$AdditionalPartsResCopyWithImpl<_AdditionalPartsRes>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _AdditionalPartsRes&&(identical(other.itemId, itemId) || other.itemId == itemId)&&const DeepCollectionEquality().equals(other._items, _items));
}


@override
int get hashCode => Object.hash(runtimeType,itemId,const DeepCollectionEquality().hash(_items));

@override
String toString() {
  return 'AdditionalPartsRes(itemId: $itemId, items: $items)';
}


}

/// @nodoc
abstract mixin class _$AdditionalPartsResCopyWith<$Res> implements $AdditionalPartsResCopyWith<$Res> {
  factory _$AdditionalPartsResCopyWith(_AdditionalPartsRes value, $Res Function(_AdditionalPartsRes) _then) = __$AdditionalPartsResCopyWithImpl;
@override @useResult
$Res call({
 String itemId, List<EmbyRawItem> items
});




}
/// @nodoc
class __$AdditionalPartsResCopyWithImpl<$Res>
    implements _$AdditionalPartsResCopyWith<$Res> {
  __$AdditionalPartsResCopyWithImpl(this._self, this._then);

  final _AdditionalPartsRes _self;
  final $Res Function(_AdditionalPartsRes) _then;

/// Create a copy of AdditionalPartsRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? itemId = null,Object? items = null,}) {
  return _then(_AdditionalPartsRes(
itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}


}

/// @nodoc
mixin _$CrossServerSourceCard {

 String get serverId; String get serverName; String get serverUrl; String get token; String get userId; String get landingItemId; String get mediaSourceId; EmbyRawItem get item; EmbyRawMediaSource get mediaSource; MediaQualityInfo? get quality;
/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$CrossServerSourceCardCopyWith<CrossServerSourceCard> get copyWith => _$CrossServerSourceCardCopyWithImpl<CrossServerSourceCard>(this as CrossServerSourceCard, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is CrossServerSourceCard&&(identical(other.serverId, serverId) || other.serverId == serverId)&&(identical(other.serverName, serverName) || other.serverName == serverName)&&(identical(other.serverUrl, serverUrl) || other.serverUrl == serverUrl)&&(identical(other.token, token) || other.token == token)&&(identical(other.userId, userId) || other.userId == userId)&&(identical(other.landingItemId, landingItemId) || other.landingItemId == landingItemId)&&(identical(other.mediaSourceId, mediaSourceId) || other.mediaSourceId == mediaSourceId)&&(identical(other.item, item) || other.item == item)&&(identical(other.mediaSource, mediaSource) || other.mediaSource == mediaSource)&&(identical(other.quality, quality) || other.quality == quality));
}


@override
int get hashCode => Object.hash(runtimeType,serverId,serverName,serverUrl,token,userId,landingItemId,mediaSourceId,item,mediaSource,quality);

@override
String toString() {
  return 'CrossServerSourceCard(serverId: $serverId, serverName: $serverName, serverUrl: $serverUrl, token: $token, userId: $userId, landingItemId: $landingItemId, mediaSourceId: $mediaSourceId, item: $item, mediaSource: $mediaSource, quality: $quality)';
}


}

/// @nodoc
abstract mixin class $CrossServerSourceCardCopyWith<$Res>  {
  factory $CrossServerSourceCardCopyWith(CrossServerSourceCard value, $Res Function(CrossServerSourceCard) _then) = _$CrossServerSourceCardCopyWithImpl;
@useResult
$Res call({
 String serverId, String serverName, String serverUrl, String token, String userId, String landingItemId, String mediaSourceId, EmbyRawItem item, EmbyRawMediaSource mediaSource, MediaQualityInfo? quality
});


$EmbyRawItemCopyWith<$Res> get item;$EmbyRawMediaSourceCopyWith<$Res> get mediaSource;$MediaQualityInfoCopyWith<$Res>? get quality;

}
/// @nodoc
class _$CrossServerSourceCardCopyWithImpl<$Res>
    implements $CrossServerSourceCardCopyWith<$Res> {
  _$CrossServerSourceCardCopyWithImpl(this._self, this._then);

  final CrossServerSourceCard _self;
  final $Res Function(CrossServerSourceCard) _then;

/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? serverId = null,Object? serverName = null,Object? serverUrl = null,Object? token = null,Object? userId = null,Object? landingItemId = null,Object? mediaSourceId = null,Object? item = null,Object? mediaSource = null,Object? quality = freezed,}) {
  return _then(_self.copyWith(
serverId: null == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String,serverName: null == serverName ? _self.serverName : serverName // ignore: cast_nullable_to_non_nullable
as String,serverUrl: null == serverUrl ? _self.serverUrl : serverUrl // ignore: cast_nullable_to_non_nullable
as String,token: null == token ? _self.token : token // ignore: cast_nullable_to_non_nullable
as String,userId: null == userId ? _self.userId : userId // ignore: cast_nullable_to_non_nullable
as String,landingItemId: null == landingItemId ? _self.landingItemId : landingItemId // ignore: cast_nullable_to_non_nullable
as String,mediaSourceId: null == mediaSourceId ? _self.mediaSourceId : mediaSourceId // ignore: cast_nullable_to_non_nullable
as String,item: null == item ? _self.item : item // ignore: cast_nullable_to_non_nullable
as EmbyRawItem,mediaSource: null == mediaSource ? _self.mediaSource : mediaSource // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaSource,quality: freezed == quality ? _self.quality : quality // ignore: cast_nullable_to_non_nullable
as MediaQualityInfo?,
  ));
}
/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<$Res> get item {
  
  return $EmbyRawItemCopyWith<$Res>(_self.item, (value) {
    return _then(_self.copyWith(item: value));
  });
}/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaSourceCopyWith<$Res> get mediaSource {
  
  return $EmbyRawMediaSourceCopyWith<$Res>(_self.mediaSource, (value) {
    return _then(_self.copyWith(mediaSource: value));
  });
}/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$MediaQualityInfoCopyWith<$Res>? get quality {
    if (_self.quality == null) {
    return null;
  }

  return $MediaQualityInfoCopyWith<$Res>(_self.quality!, (value) {
    return _then(_self.copyWith(quality: value));
  });
}
}


/// Adds pattern-matching-related methods to [CrossServerSourceCard].
extension CrossServerSourceCardPatterns on CrossServerSourceCard {
/// 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( _CrossServerSourceCard value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _CrossServerSourceCard() 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( _CrossServerSourceCard value)  $default,){
final _that = this;
switch (_that) {
case _CrossServerSourceCard():
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( _CrossServerSourceCard value)?  $default,){
final _that = this;
switch (_that) {
case _CrossServerSourceCard() 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( String serverId,  String serverName,  String serverUrl,  String token,  String userId,  String landingItemId,  String mediaSourceId,  EmbyRawItem item,  EmbyRawMediaSource mediaSource,  MediaQualityInfo? quality)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _CrossServerSourceCard() when $default != null:
return $default(_that.serverId,_that.serverName,_that.serverUrl,_that.token,_that.userId,_that.landingItemId,_that.mediaSourceId,_that.item,_that.mediaSource,_that.quality);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( String serverId,  String serverName,  String serverUrl,  String token,  String userId,  String landingItemId,  String mediaSourceId,  EmbyRawItem item,  EmbyRawMediaSource mediaSource,  MediaQualityInfo? quality)  $default,) {final _that = this;
switch (_that) {
case _CrossServerSourceCard():
return $default(_that.serverId,_that.serverName,_that.serverUrl,_that.token,_that.userId,_that.landingItemId,_that.mediaSourceId,_that.item,_that.mediaSource,_that.quality);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( String serverId,  String serverName,  String serverUrl,  String token,  String userId,  String landingItemId,  String mediaSourceId,  EmbyRawItem item,  EmbyRawMediaSource mediaSource,  MediaQualityInfo? quality)?  $default,) {final _that = this;
switch (_that) {
case _CrossServerSourceCard() when $default != null:
return $default(_that.serverId,_that.serverName,_that.serverUrl,_that.token,_that.userId,_that.landingItemId,_that.mediaSourceId,_that.item,_that.mediaSource,_that.quality);case _:
  return null;

}
}

}

/// @nodoc


class _CrossServerSourceCard implements CrossServerSourceCard {
  const _CrossServerSourceCard({required this.serverId, required this.serverName, required this.serverUrl, required this.token, required this.userId, required this.landingItemId, required this.mediaSourceId, required this.item, required this.mediaSource, this.quality});
  

@override final  String serverId;
@override final  String serverName;
@override final  String serverUrl;
@override final  String token;
@override final  String userId;
@override final  String landingItemId;
@override final  String mediaSourceId;
@override final  EmbyRawItem item;
@override final  EmbyRawMediaSource mediaSource;
@override final  MediaQualityInfo? quality;

/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$CrossServerSourceCardCopyWith<_CrossServerSourceCard> get copyWith => __$CrossServerSourceCardCopyWithImpl<_CrossServerSourceCard>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _CrossServerSourceCard&&(identical(other.serverId, serverId) || other.serverId == serverId)&&(identical(other.serverName, serverName) || other.serverName == serverName)&&(identical(other.serverUrl, serverUrl) || other.serverUrl == serverUrl)&&(identical(other.token, token) || other.token == token)&&(identical(other.userId, userId) || other.userId == userId)&&(identical(other.landingItemId, landingItemId) || other.landingItemId == landingItemId)&&(identical(other.mediaSourceId, mediaSourceId) || other.mediaSourceId == mediaSourceId)&&(identical(other.item, item) || other.item == item)&&(identical(other.mediaSource, mediaSource) || other.mediaSource == mediaSource)&&(identical(other.quality, quality) || other.quality == quality));
}


@override
int get hashCode => Object.hash(runtimeType,serverId,serverName,serverUrl,token,userId,landingItemId,mediaSourceId,item,mediaSource,quality);

@override
String toString() {
  return 'CrossServerSourceCard(serverId: $serverId, serverName: $serverName, serverUrl: $serverUrl, token: $token, userId: $userId, landingItemId: $landingItemId, mediaSourceId: $mediaSourceId, item: $item, mediaSource: $mediaSource, quality: $quality)';
}


}

/// @nodoc
abstract mixin class _$CrossServerSourceCardCopyWith<$Res> implements $CrossServerSourceCardCopyWith<$Res> {
  factory _$CrossServerSourceCardCopyWith(_CrossServerSourceCard value, $Res Function(_CrossServerSourceCard) _then) = __$CrossServerSourceCardCopyWithImpl;
@override @useResult
$Res call({
 String serverId, String serverName, String serverUrl, String token, String userId, String landingItemId, String mediaSourceId, EmbyRawItem item, EmbyRawMediaSource mediaSource, MediaQualityInfo? quality
});


@override $EmbyRawItemCopyWith<$Res> get item;@override $EmbyRawMediaSourceCopyWith<$Res> get mediaSource;@override $MediaQualityInfoCopyWith<$Res>? get quality;

}
/// @nodoc
class __$CrossServerSourceCardCopyWithImpl<$Res>
    implements _$CrossServerSourceCardCopyWith<$Res> {
  __$CrossServerSourceCardCopyWithImpl(this._self, this._then);

  final _CrossServerSourceCard _self;
  final $Res Function(_CrossServerSourceCard) _then;

/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? serverId = null,Object? serverName = null,Object? serverUrl = null,Object? token = null,Object? userId = null,Object? landingItemId = null,Object? mediaSourceId = null,Object? item = null,Object? mediaSource = null,Object? quality = freezed,}) {
  return _then(_CrossServerSourceCard(
serverId: null == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String,serverName: null == serverName ? _self.serverName : serverName // ignore: cast_nullable_to_non_nullable
as String,serverUrl: null == serverUrl ? _self.serverUrl : serverUrl // ignore: cast_nullable_to_non_nullable
as String,token: null == token ? _self.token : token // ignore: cast_nullable_to_non_nullable
as String,userId: null == userId ? _self.userId : userId // ignore: cast_nullable_to_non_nullable
as String,landingItemId: null == landingItemId ? _self.landingItemId : landingItemId // ignore: cast_nullable_to_non_nullable
as String,mediaSourceId: null == mediaSourceId ? _self.mediaSourceId : mediaSourceId // ignore: cast_nullable_to_non_nullable
as String,item: null == item ? _self.item : item // ignore: cast_nullable_to_non_nullable
as EmbyRawItem,mediaSource: null == mediaSource ? _self.mediaSource : mediaSource // ignore: cast_nullable_to_non_nullable
as EmbyRawMediaSource,quality: freezed == quality ? _self.quality : quality // ignore: cast_nullable_to_non_nullable
as MediaQualityInfo?,
  ));
}

/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawItemCopyWith<$Res> get item {
  
  return $EmbyRawItemCopyWith<$Res>(_self.item, (value) {
    return _then(_self.copyWith(item: value));
  });
}/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EmbyRawMediaSourceCopyWith<$Res> get mediaSource {
  
  return $EmbyRawMediaSourceCopyWith<$Res>(_self.mediaSource, (value) {
    return _then(_self.copyWith(mediaSource: value));
  });
}/// Create a copy of CrossServerSourceCard
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$MediaQualityInfoCopyWith<$Res>? get quality {
    if (_self.quality == null) {
    return null;
  }

  return $MediaQualityInfoCopyWith<$Res>(_self.quality!, (value) {
    return _then(_self.copyWith(quality: value));
  });
}
}

/// @nodoc
mixin _$MediaQualityInfo {

 int? get height; int? get width; String? get videoCodec; String? get container; String? get videoRange; String? get videoRangeType; int? get bitDepth; double? get fps;
/// Create a copy of MediaQualityInfo
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$MediaQualityInfoCopyWith<MediaQualityInfo> get copyWith => _$MediaQualityInfoCopyWithImpl<MediaQualityInfo>(this as MediaQualityInfo, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is MediaQualityInfo&&(identical(other.height, height) || other.height == height)&&(identical(other.width, width) || other.width == width)&&(identical(other.videoCodec, videoCodec) || other.videoCodec == videoCodec)&&(identical(other.container, container) || other.container == container)&&(identical(other.videoRange, videoRange) || other.videoRange == videoRange)&&(identical(other.videoRangeType, videoRangeType) || other.videoRangeType == videoRangeType)&&(identical(other.bitDepth, bitDepth) || other.bitDepth == bitDepth)&&(identical(other.fps, fps) || other.fps == fps));
}


@override
int get hashCode => Object.hash(runtimeType,height,width,videoCodec,container,videoRange,videoRangeType,bitDepth,fps);

@override
String toString() {
  return 'MediaQualityInfo(height: $height, width: $width, videoCodec: $videoCodec, container: $container, videoRange: $videoRange, videoRangeType: $videoRangeType, bitDepth: $bitDepth, fps: $fps)';
}


}

/// @nodoc
abstract mixin class $MediaQualityInfoCopyWith<$Res>  {
  factory $MediaQualityInfoCopyWith(MediaQualityInfo value, $Res Function(MediaQualityInfo) _then) = _$MediaQualityInfoCopyWithImpl;
@useResult
$Res call({
 int? height, int? width, String? videoCodec, String? container, String? videoRange, String? videoRangeType, int? bitDepth, double? fps
});




}
/// @nodoc
class _$MediaQualityInfoCopyWithImpl<$Res>
    implements $MediaQualityInfoCopyWith<$Res> {
  _$MediaQualityInfoCopyWithImpl(this._self, this._then);

  final MediaQualityInfo _self;
  final $Res Function(MediaQualityInfo) _then;

/// Create a copy of MediaQualityInfo
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? height = freezed,Object? width = freezed,Object? videoCodec = freezed,Object? container = freezed,Object? videoRange = freezed,Object? videoRangeType = freezed,Object? bitDepth = freezed,Object? fps = freezed,}) {
  return _then(_self.copyWith(
height: freezed == height ? _self.height : height // ignore: cast_nullable_to_non_nullable
as int?,width: freezed == width ? _self.width : width // ignore: cast_nullable_to_non_nullable
as int?,videoCodec: freezed == videoCodec ? _self.videoCodec : videoCodec // ignore: cast_nullable_to_non_nullable
as String?,container: freezed == container ? _self.container : container // ignore: cast_nullable_to_non_nullable
as String?,videoRange: freezed == videoRange ? _self.videoRange : videoRange // ignore: cast_nullable_to_non_nullable
as String?,videoRangeType: freezed == videoRangeType ? _self.videoRangeType : videoRangeType // ignore: cast_nullable_to_non_nullable
as String?,bitDepth: freezed == bitDepth ? _self.bitDepth : bitDepth // ignore: cast_nullable_to_non_nullable
as int?,fps: freezed == fps ? _self.fps : fps // ignore: cast_nullable_to_non_nullable
as double?,
  ));
}

}


/// Adds pattern-matching-related methods to [MediaQualityInfo].
extension MediaQualityInfoPatterns on MediaQualityInfo {
/// 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( _MediaQualityInfo value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _MediaQualityInfo() 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( _MediaQualityInfo value)  $default,){
final _that = this;
switch (_that) {
case _MediaQualityInfo():
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( _MediaQualityInfo value)?  $default,){
final _that = this;
switch (_that) {
case _MediaQualityInfo() 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( int? height,  int? width,  String? videoCodec,  String? container,  String? videoRange,  String? videoRangeType,  int? bitDepth,  double? fps)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _MediaQualityInfo() when $default != null:
return $default(_that.height,_that.width,_that.videoCodec,_that.container,_that.videoRange,_that.videoRangeType,_that.bitDepth,_that.fps);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( int? height,  int? width,  String? videoCodec,  String? container,  String? videoRange,  String? videoRangeType,  int? bitDepth,  double? fps)  $default,) {final _that = this;
switch (_that) {
case _MediaQualityInfo():
return $default(_that.height,_that.width,_that.videoCodec,_that.container,_that.videoRange,_that.videoRangeType,_that.bitDepth,_that.fps);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( int? height,  int? width,  String? videoCodec,  String? container,  String? videoRange,  String? videoRangeType,  int? bitDepth,  double? fps)?  $default,) {final _that = this;
switch (_that) {
case _MediaQualityInfo() when $default != null:
return $default(_that.height,_that.width,_that.videoCodec,_that.container,_that.videoRange,_that.videoRangeType,_that.bitDepth,_that.fps);case _:
  return null;

}
}

}

/// @nodoc


class _MediaQualityInfo extends MediaQualityInfo {
  const _MediaQualityInfo({this.height, this.width, this.videoCodec, this.container, this.videoRange, this.videoRangeType, this.bitDepth, this.fps}): super._();
  

@override final  int? height;
@override final  int? width;
@override final  String? videoCodec;
@override final  String? container;
@override final  String? videoRange;
@override final  String? videoRangeType;
@override final  int? bitDepth;
@override final  double? fps;

/// Create a copy of MediaQualityInfo
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$MediaQualityInfoCopyWith<_MediaQualityInfo> get copyWith => __$MediaQualityInfoCopyWithImpl<_MediaQualityInfo>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _MediaQualityInfo&&(identical(other.height, height) || other.height == height)&&(identical(other.width, width) || other.width == width)&&(identical(other.videoCodec, videoCodec) || other.videoCodec == videoCodec)&&(identical(other.container, container) || other.container == container)&&(identical(other.videoRange, videoRange) || other.videoRange == videoRange)&&(identical(other.videoRangeType, videoRangeType) || other.videoRangeType == videoRangeType)&&(identical(other.bitDepth, bitDepth) || other.bitDepth == bitDepth)&&(identical(other.fps, fps) || other.fps == fps));
}


@override
int get hashCode => Object.hash(runtimeType,height,width,videoCodec,container,videoRange,videoRangeType,bitDepth,fps);

@override
String toString() {
  return 'MediaQualityInfo(height: $height, width: $width, videoCodec: $videoCodec, container: $container, videoRange: $videoRange, videoRangeType: $videoRangeType, bitDepth: $bitDepth, fps: $fps)';
}


}

/// @nodoc
abstract mixin class _$MediaQualityInfoCopyWith<$Res> implements $MediaQualityInfoCopyWith<$Res> {
  factory _$MediaQualityInfoCopyWith(_MediaQualityInfo value, $Res Function(_MediaQualityInfo) _then) = __$MediaQualityInfoCopyWithImpl;
@override @useResult
$Res call({
 int? height, int? width, String? videoCodec, String? container, String? videoRange, String? videoRangeType, int? bitDepth, double? fps
});




}
/// @nodoc
class __$MediaQualityInfoCopyWithImpl<$Res>
    implements _$MediaQualityInfoCopyWith<$Res> {
  __$MediaQualityInfoCopyWithImpl(this._self, this._then);

  final _MediaQualityInfo _self;
  final $Res Function(_MediaQualityInfo) _then;

/// Create a copy of MediaQualityInfo
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? height = freezed,Object? width = freezed,Object? videoCodec = freezed,Object? container = freezed,Object? videoRange = freezed,Object? videoRangeType = freezed,Object? bitDepth = freezed,Object? fps = freezed,}) {
  return _then(_MediaQualityInfo(
height: freezed == height ? _self.height : height // ignore: cast_nullable_to_non_nullable
as int?,width: freezed == width ? _self.width : width // ignore: cast_nullable_to_non_nullable
as int?,videoCodec: freezed == videoCodec ? _self.videoCodec : videoCodec // ignore: cast_nullable_to_non_nullable
as String?,container: freezed == container ? _self.container : container // ignore: cast_nullable_to_non_nullable
as String?,videoRange: freezed == videoRange ? _self.videoRange : videoRange // ignore: cast_nullable_to_non_nullable
as String?,videoRangeType: freezed == videoRangeType ? _self.videoRangeType : videoRangeType // ignore: cast_nullable_to_non_nullable
as String?,bitDepth: freezed == bitDepth ? _self.bitDepth : bitDepth // ignore: cast_nullable_to_non_nullable
as int?,fps: freezed == fps ? _self.fps : fps // ignore: cast_nullable_to_non_nullable
as double?,
  ));
}


}

/// @nodoc
mixin _$CrossServerSearchReq {

 String get anchorType; String get itemName; Map<String, String> get providerIds; Map<String, String>? get seriesProviderIds; int? get parentIndexNumber; int? get indexNumber;/// 要从跨服搜索中排除的服务器（见 Decision 9）。为 null 时 `executeStream`
/// 回退到排除当前活跃服务器（EmbyDetailView / PlayerPage 的既有语义）；TMDB
/// 命中态传入 `primaryHit.serverId`，使「其它服务器的版本」不与「在「X」的版本」
/// 重复。
 String? get excludedServerId;
/// Create a copy of CrossServerSearchReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$CrossServerSearchReqCopyWith<CrossServerSearchReq> get copyWith => _$CrossServerSearchReqCopyWithImpl<CrossServerSearchReq>(this as CrossServerSearchReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is CrossServerSearchReq&&(identical(other.anchorType, anchorType) || other.anchorType == anchorType)&&(identical(other.itemName, itemName) || other.itemName == itemName)&&const DeepCollectionEquality().equals(other.providerIds, providerIds)&&const DeepCollectionEquality().equals(other.seriesProviderIds, seriesProviderIds)&&(identical(other.parentIndexNumber, parentIndexNumber) || other.parentIndexNumber == parentIndexNumber)&&(identical(other.indexNumber, indexNumber) || other.indexNumber == indexNumber)&&(identical(other.excludedServerId, excludedServerId) || other.excludedServerId == excludedServerId));
}


@override
int get hashCode => Object.hash(runtimeType,anchorType,itemName,const DeepCollectionEquality().hash(providerIds),const DeepCollectionEquality().hash(seriesProviderIds),parentIndexNumber,indexNumber,excludedServerId);

@override
String toString() {
  return 'CrossServerSearchReq(anchorType: $anchorType, itemName: $itemName, providerIds: $providerIds, seriesProviderIds: $seriesProviderIds, parentIndexNumber: $parentIndexNumber, indexNumber: $indexNumber, excludedServerId: $excludedServerId)';
}


}

/// @nodoc
abstract mixin class $CrossServerSearchReqCopyWith<$Res>  {
  factory $CrossServerSearchReqCopyWith(CrossServerSearchReq value, $Res Function(CrossServerSearchReq) _then) = _$CrossServerSearchReqCopyWithImpl;
@useResult
$Res call({
 String anchorType, String itemName, Map<String, String> providerIds, Map<String, String>? seriesProviderIds, int? parentIndexNumber, int? indexNumber, String? excludedServerId
});




}
/// @nodoc
class _$CrossServerSearchReqCopyWithImpl<$Res>
    implements $CrossServerSearchReqCopyWith<$Res> {
  _$CrossServerSearchReqCopyWithImpl(this._self, this._then);

  final CrossServerSearchReq _self;
  final $Res Function(CrossServerSearchReq) _then;

/// Create a copy of CrossServerSearchReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? anchorType = null,Object? itemName = null,Object? providerIds = null,Object? seriesProviderIds = freezed,Object? parentIndexNumber = freezed,Object? indexNumber = freezed,Object? excludedServerId = freezed,}) {
  return _then(_self.copyWith(
anchorType: null == anchorType ? _self.anchorType : anchorType // ignore: cast_nullable_to_non_nullable
as String,itemName: null == itemName ? _self.itemName : itemName // ignore: cast_nullable_to_non_nullable
as String,providerIds: null == providerIds ? _self.providerIds : providerIds // ignore: cast_nullable_to_non_nullable
as Map<String, String>,seriesProviderIds: freezed == seriesProviderIds ? _self.seriesProviderIds : seriesProviderIds // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,parentIndexNumber: freezed == parentIndexNumber ? _self.parentIndexNumber : parentIndexNumber // ignore: cast_nullable_to_non_nullable
as int?,indexNumber: freezed == indexNumber ? _self.indexNumber : indexNumber // ignore: cast_nullable_to_non_nullable
as int?,excludedServerId: freezed == excludedServerId ? _self.excludedServerId : excludedServerId // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [CrossServerSearchReq].
extension CrossServerSearchReqPatterns on CrossServerSearchReq {
/// 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( _CrossServerSearchReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _CrossServerSearchReq() 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( _CrossServerSearchReq value)  $default,){
final _that = this;
switch (_that) {
case _CrossServerSearchReq():
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( _CrossServerSearchReq value)?  $default,){
final _that = this;
switch (_that) {
case _CrossServerSearchReq() 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( String anchorType,  String itemName,  Map<String, String> providerIds,  Map<String, String>? seriesProviderIds,  int? parentIndexNumber,  int? indexNumber,  String? excludedServerId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _CrossServerSearchReq() when $default != null:
return $default(_that.anchorType,_that.itemName,_that.providerIds,_that.seriesProviderIds,_that.parentIndexNumber,_that.indexNumber,_that.excludedServerId);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( String anchorType,  String itemName,  Map<String, String> providerIds,  Map<String, String>? seriesProviderIds,  int? parentIndexNumber,  int? indexNumber,  String? excludedServerId)  $default,) {final _that = this;
switch (_that) {
case _CrossServerSearchReq():
return $default(_that.anchorType,_that.itemName,_that.providerIds,_that.seriesProviderIds,_that.parentIndexNumber,_that.indexNumber,_that.excludedServerId);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( String anchorType,  String itemName,  Map<String, String> providerIds,  Map<String, String>? seriesProviderIds,  int? parentIndexNumber,  int? indexNumber,  String? excludedServerId)?  $default,) {final _that = this;
switch (_that) {
case _CrossServerSearchReq() when $default != null:
return $default(_that.anchorType,_that.itemName,_that.providerIds,_that.seriesProviderIds,_that.parentIndexNumber,_that.indexNumber,_that.excludedServerId);case _:
  return null;

}
}

}

/// @nodoc


class _CrossServerSearchReq implements CrossServerSearchReq {
  const _CrossServerSearchReq({required this.anchorType, required this.itemName, required final  Map<String, String> providerIds, final  Map<String, String>? seriesProviderIds, this.parentIndexNumber, this.indexNumber, this.excludedServerId}): _providerIds = providerIds,_seriesProviderIds = seriesProviderIds;
  

@override final  String anchorType;
@override final  String itemName;
 final  Map<String, String> _providerIds;
@override Map<String, String> get providerIds {
  if (_providerIds is EqualUnmodifiableMapView) return _providerIds;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(_providerIds);
}

 final  Map<String, String>? _seriesProviderIds;
@override Map<String, String>? get seriesProviderIds {
  final value = _seriesProviderIds;
  if (value == null) return null;
  if (_seriesProviderIds is EqualUnmodifiableMapView) return _seriesProviderIds;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableMapView(value);
}

@override final  int? parentIndexNumber;
@override final  int? indexNumber;
/// 要从跨服搜索中排除的服务器（见 Decision 9）。为 null 时 `executeStream`
/// 回退到排除当前活跃服务器（EmbyDetailView / PlayerPage 的既有语义）；TMDB
/// 命中态传入 `primaryHit.serverId`，使「其它服务器的版本」不与「在「X」的版本」
/// 重复。
@override final  String? excludedServerId;

/// Create a copy of CrossServerSearchReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$CrossServerSearchReqCopyWith<_CrossServerSearchReq> get copyWith => __$CrossServerSearchReqCopyWithImpl<_CrossServerSearchReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _CrossServerSearchReq&&(identical(other.anchorType, anchorType) || other.anchorType == anchorType)&&(identical(other.itemName, itemName) || other.itemName == itemName)&&const DeepCollectionEquality().equals(other._providerIds, _providerIds)&&const DeepCollectionEquality().equals(other._seriesProviderIds, _seriesProviderIds)&&(identical(other.parentIndexNumber, parentIndexNumber) || other.parentIndexNumber == parentIndexNumber)&&(identical(other.indexNumber, indexNumber) || other.indexNumber == indexNumber)&&(identical(other.excludedServerId, excludedServerId) || other.excludedServerId == excludedServerId));
}


@override
int get hashCode => Object.hash(runtimeType,anchorType,itemName,const DeepCollectionEquality().hash(_providerIds),const DeepCollectionEquality().hash(_seriesProviderIds),parentIndexNumber,indexNumber,excludedServerId);

@override
String toString() {
  return 'CrossServerSearchReq(anchorType: $anchorType, itemName: $itemName, providerIds: $providerIds, seriesProviderIds: $seriesProviderIds, parentIndexNumber: $parentIndexNumber, indexNumber: $indexNumber, excludedServerId: $excludedServerId)';
}


}

/// @nodoc
abstract mixin class _$CrossServerSearchReqCopyWith<$Res> implements $CrossServerSearchReqCopyWith<$Res> {
  factory _$CrossServerSearchReqCopyWith(_CrossServerSearchReq value, $Res Function(_CrossServerSearchReq) _then) = __$CrossServerSearchReqCopyWithImpl;
@override @useResult
$Res call({
 String anchorType, String itemName, Map<String, String> providerIds, Map<String, String>? seriesProviderIds, int? parentIndexNumber, int? indexNumber, String? excludedServerId
});




}
/// @nodoc
class __$CrossServerSearchReqCopyWithImpl<$Res>
    implements _$CrossServerSearchReqCopyWith<$Res> {
  __$CrossServerSearchReqCopyWithImpl(this._self, this._then);

  final _CrossServerSearchReq _self;
  final $Res Function(_CrossServerSearchReq) _then;

/// Create a copy of CrossServerSearchReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? anchorType = null,Object? itemName = null,Object? providerIds = null,Object? seriesProviderIds = freezed,Object? parentIndexNumber = freezed,Object? indexNumber = freezed,Object? excludedServerId = freezed,}) {
  return _then(_CrossServerSearchReq(
anchorType: null == anchorType ? _self.anchorType : anchorType // ignore: cast_nullable_to_non_nullable
as String,itemName: null == itemName ? _self.itemName : itemName // ignore: cast_nullable_to_non_nullable
as String,providerIds: null == providerIds ? _self._providerIds : providerIds // ignore: cast_nullable_to_non_nullable
as Map<String, String>,seriesProviderIds: freezed == seriesProviderIds ? _self._seriesProviderIds : seriesProviderIds // ignore: cast_nullable_to_non_nullable
as Map<String, String>?,parentIndexNumber: freezed == parentIndexNumber ? _self.parentIndexNumber : parentIndexNumber // ignore: cast_nullable_to_non_nullable
as int?,indexNumber: freezed == indexNumber ? _self.indexNumber : indexNumber // ignore: cast_nullable_to_non_nullable
as int?,excludedServerId: freezed == excludedServerId ? _self.excludedServerId : excludedServerId // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}

/// @nodoc
mixin _$TmdbAvailabilityReq {

 String get tmdbId; String get mediaType;/// imdb id 兜底（如 `tt0137523`），仅对 movie 生效；提供后反查口径为
/// `Tmdb.x,Imdb.y`，提升只刮削了 imdb 的影片命中率（见 R1）。
 String? get imdbId;
/// Create a copy of TmdbAvailabilityReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$TmdbAvailabilityReqCopyWith<TmdbAvailabilityReq> get copyWith => _$TmdbAvailabilityReqCopyWithImpl<TmdbAvailabilityReq>(this as TmdbAvailabilityReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is TmdbAvailabilityReq&&(identical(other.tmdbId, tmdbId) || other.tmdbId == tmdbId)&&(identical(other.mediaType, mediaType) || other.mediaType == mediaType)&&(identical(other.imdbId, imdbId) || other.imdbId == imdbId));
}


@override
int get hashCode => Object.hash(runtimeType,tmdbId,mediaType,imdbId);

@override
String toString() {
  return 'TmdbAvailabilityReq(tmdbId: $tmdbId, mediaType: $mediaType, imdbId: $imdbId)';
}


}

/// @nodoc
abstract mixin class $TmdbAvailabilityReqCopyWith<$Res>  {
  factory $TmdbAvailabilityReqCopyWith(TmdbAvailabilityReq value, $Res Function(TmdbAvailabilityReq) _then) = _$TmdbAvailabilityReqCopyWithImpl;
@useResult
$Res call({
 String tmdbId, String mediaType, String? imdbId
});




}
/// @nodoc
class _$TmdbAvailabilityReqCopyWithImpl<$Res>
    implements $TmdbAvailabilityReqCopyWith<$Res> {
  _$TmdbAvailabilityReqCopyWithImpl(this._self, this._then);

  final TmdbAvailabilityReq _self;
  final $Res Function(TmdbAvailabilityReq) _then;

/// Create a copy of TmdbAvailabilityReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? tmdbId = null,Object? mediaType = null,Object? imdbId = freezed,}) {
  return _then(_self.copyWith(
tmdbId: null == tmdbId ? _self.tmdbId : tmdbId // ignore: cast_nullable_to_non_nullable
as String,mediaType: null == mediaType ? _self.mediaType : mediaType // ignore: cast_nullable_to_non_nullable
as String,imdbId: freezed == imdbId ? _self.imdbId : imdbId // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [TmdbAvailabilityReq].
extension TmdbAvailabilityReqPatterns on TmdbAvailabilityReq {
/// 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( _TmdbAvailabilityReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _TmdbAvailabilityReq() 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( _TmdbAvailabilityReq value)  $default,){
final _that = this;
switch (_that) {
case _TmdbAvailabilityReq():
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( _TmdbAvailabilityReq value)?  $default,){
final _that = this;
switch (_that) {
case _TmdbAvailabilityReq() 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( String tmdbId,  String mediaType,  String? imdbId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _TmdbAvailabilityReq() when $default != null:
return $default(_that.tmdbId,_that.mediaType,_that.imdbId);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( String tmdbId,  String mediaType,  String? imdbId)  $default,) {final _that = this;
switch (_that) {
case _TmdbAvailabilityReq():
return $default(_that.tmdbId,_that.mediaType,_that.imdbId);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( String tmdbId,  String mediaType,  String? imdbId)?  $default,) {final _that = this;
switch (_that) {
case _TmdbAvailabilityReq() when $default != null:
return $default(_that.tmdbId,_that.mediaType,_that.imdbId);case _:
  return null;

}
}

}

/// @nodoc


class _TmdbAvailabilityReq implements TmdbAvailabilityReq {
  const _TmdbAvailabilityReq({required this.tmdbId, required this.mediaType, this.imdbId});
  

@override final  String tmdbId;
@override final  String mediaType;
/// imdb id 兜底（如 `tt0137523`），仅对 movie 生效；提供后反查口径为
/// `Tmdb.x,Imdb.y`，提升只刮削了 imdb 的影片命中率（见 R1）。
@override final  String? imdbId;

/// Create a copy of TmdbAvailabilityReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$TmdbAvailabilityReqCopyWith<_TmdbAvailabilityReq> get copyWith => __$TmdbAvailabilityReqCopyWithImpl<_TmdbAvailabilityReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _TmdbAvailabilityReq&&(identical(other.tmdbId, tmdbId) || other.tmdbId == tmdbId)&&(identical(other.mediaType, mediaType) || other.mediaType == mediaType)&&(identical(other.imdbId, imdbId) || other.imdbId == imdbId));
}


@override
int get hashCode => Object.hash(runtimeType,tmdbId,mediaType,imdbId);

@override
String toString() {
  return 'TmdbAvailabilityReq(tmdbId: $tmdbId, mediaType: $mediaType, imdbId: $imdbId)';
}


}

/// @nodoc
abstract mixin class _$TmdbAvailabilityReqCopyWith<$Res> implements $TmdbAvailabilityReqCopyWith<$Res> {
  factory _$TmdbAvailabilityReqCopyWith(_TmdbAvailabilityReq value, $Res Function(_TmdbAvailabilityReq) _then) = __$TmdbAvailabilityReqCopyWithImpl;
@override @useResult
$Res call({
 String tmdbId, String mediaType, String? imdbId
});




}
/// @nodoc
class __$TmdbAvailabilityReqCopyWithImpl<$Res>
    implements _$TmdbAvailabilityReqCopyWith<$Res> {
  __$TmdbAvailabilityReqCopyWithImpl(this._self, this._then);

  final _TmdbAvailabilityReq _self;
  final $Res Function(_TmdbAvailabilityReq) _then;

/// Create a copy of TmdbAvailabilityReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? tmdbId = null,Object? mediaType = null,Object? imdbId = freezed,}) {
  return _then(_TmdbAvailabilityReq(
tmdbId: null == tmdbId ? _self.tmdbId : tmdbId // ignore: cast_nullable_to_non_nullable
as String,mediaType: null == mediaType ? _self.mediaType : mediaType // ignore: cast_nullable_to_non_nullable
as String,imdbId: freezed == imdbId ? _self.imdbId : imdbId // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}

/// @nodoc
mixin _$TmdbLibraryHit {

 String get serverId; String get serverName; String get itemId; String get itemType; String get name; int? get productionYear;/// 该服务器上此条目的续播位置（ticks，1 tick = 100ns）；用于「有进度优先」
/// 选主命中（见 Decision 11）与 CTA「继续播放」文案。无 UserData / 未观看为
/// null 或 0。随可用性反查的同一次 GET 折叠取回（Fields 含 UserData），不额外
/// 发请求。
 int? get playbackPositionTicks;/// 该条目总时长（ticks），用于 CTA 进度展示与「看到 mm:ss」。
 int? get runTimeTicks;
/// Create a copy of TmdbLibraryHit
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$TmdbLibraryHitCopyWith<TmdbLibraryHit> get copyWith => _$TmdbLibraryHitCopyWithImpl<TmdbLibraryHit>(this as TmdbLibraryHit, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is TmdbLibraryHit&&(identical(other.serverId, serverId) || other.serverId == serverId)&&(identical(other.serverName, serverName) || other.serverName == serverName)&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.itemType, itemType) || other.itemType == itemType)&&(identical(other.name, name) || other.name == name)&&(identical(other.productionYear, productionYear) || other.productionYear == productionYear)&&(identical(other.playbackPositionTicks, playbackPositionTicks) || other.playbackPositionTicks == playbackPositionTicks)&&(identical(other.runTimeTicks, runTimeTicks) || other.runTimeTicks == runTimeTicks));
}


@override
int get hashCode => Object.hash(runtimeType,serverId,serverName,itemId,itemType,name,productionYear,playbackPositionTicks,runTimeTicks);

@override
String toString() {
  return 'TmdbLibraryHit(serverId: $serverId, serverName: $serverName, itemId: $itemId, itemType: $itemType, name: $name, productionYear: $productionYear, playbackPositionTicks: $playbackPositionTicks, runTimeTicks: $runTimeTicks)';
}


}

/// @nodoc
abstract mixin class $TmdbLibraryHitCopyWith<$Res>  {
  factory $TmdbLibraryHitCopyWith(TmdbLibraryHit value, $Res Function(TmdbLibraryHit) _then) = _$TmdbLibraryHitCopyWithImpl;
@useResult
$Res call({
 String serverId, String serverName, String itemId, String itemType, String name, int? productionYear, int? playbackPositionTicks, int? runTimeTicks
});




}
/// @nodoc
class _$TmdbLibraryHitCopyWithImpl<$Res>
    implements $TmdbLibraryHitCopyWith<$Res> {
  _$TmdbLibraryHitCopyWithImpl(this._self, this._then);

  final TmdbLibraryHit _self;
  final $Res Function(TmdbLibraryHit) _then;

/// Create a copy of TmdbLibraryHit
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? serverId = null,Object? serverName = null,Object? itemId = null,Object? itemType = null,Object? name = null,Object? productionYear = freezed,Object? playbackPositionTicks = freezed,Object? runTimeTicks = freezed,}) {
  return _then(_self.copyWith(
serverId: null == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String,serverName: null == serverName ? _self.serverName : serverName // ignore: cast_nullable_to_non_nullable
as String,itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,itemType: null == itemType ? _self.itemType : itemType // ignore: cast_nullable_to_non_nullable
as String,name: null == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String,productionYear: freezed == productionYear ? _self.productionYear : productionYear // ignore: cast_nullable_to_non_nullable
as int?,playbackPositionTicks: freezed == playbackPositionTicks ? _self.playbackPositionTicks : playbackPositionTicks // ignore: cast_nullable_to_non_nullable
as int?,runTimeTicks: freezed == runTimeTicks ? _self.runTimeTicks : runTimeTicks // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}

}


/// Adds pattern-matching-related methods to [TmdbLibraryHit].
extension TmdbLibraryHitPatterns on TmdbLibraryHit {
/// 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( _TmdbLibraryHit value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _TmdbLibraryHit() 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( _TmdbLibraryHit value)  $default,){
final _that = this;
switch (_that) {
case _TmdbLibraryHit():
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( _TmdbLibraryHit value)?  $default,){
final _that = this;
switch (_that) {
case _TmdbLibraryHit() 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( String serverId,  String serverName,  String itemId,  String itemType,  String name,  int? productionYear,  int? playbackPositionTicks,  int? runTimeTicks)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _TmdbLibraryHit() when $default != null:
return $default(_that.serverId,_that.serverName,_that.itemId,_that.itemType,_that.name,_that.productionYear,_that.playbackPositionTicks,_that.runTimeTicks);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( String serverId,  String serverName,  String itemId,  String itemType,  String name,  int? productionYear,  int? playbackPositionTicks,  int? runTimeTicks)  $default,) {final _that = this;
switch (_that) {
case _TmdbLibraryHit():
return $default(_that.serverId,_that.serverName,_that.itemId,_that.itemType,_that.name,_that.productionYear,_that.playbackPositionTicks,_that.runTimeTicks);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( String serverId,  String serverName,  String itemId,  String itemType,  String name,  int? productionYear,  int? playbackPositionTicks,  int? runTimeTicks)?  $default,) {final _that = this;
switch (_that) {
case _TmdbLibraryHit() when $default != null:
return $default(_that.serverId,_that.serverName,_that.itemId,_that.itemType,_that.name,_that.productionYear,_that.playbackPositionTicks,_that.runTimeTicks);case _:
  return null;

}
}

}

/// @nodoc


class _TmdbLibraryHit implements TmdbLibraryHit {
  const _TmdbLibraryHit({required this.serverId, required this.serverName, required this.itemId, required this.itemType, required this.name, this.productionYear, this.playbackPositionTicks, this.runTimeTicks});
  

@override final  String serverId;
@override final  String serverName;
@override final  String itemId;
@override final  String itemType;
@override final  String name;
@override final  int? productionYear;
/// 该服务器上此条目的续播位置（ticks，1 tick = 100ns）；用于「有进度优先」
/// 选主命中（见 Decision 11）与 CTA「继续播放」文案。无 UserData / 未观看为
/// null 或 0。随可用性反查的同一次 GET 折叠取回（Fields 含 UserData），不额外
/// 发请求。
@override final  int? playbackPositionTicks;
/// 该条目总时长（ticks），用于 CTA 进度展示与「看到 mm:ss」。
@override final  int? runTimeTicks;

/// Create a copy of TmdbLibraryHit
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$TmdbLibraryHitCopyWith<_TmdbLibraryHit> get copyWith => __$TmdbLibraryHitCopyWithImpl<_TmdbLibraryHit>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _TmdbLibraryHit&&(identical(other.serverId, serverId) || other.serverId == serverId)&&(identical(other.serverName, serverName) || other.serverName == serverName)&&(identical(other.itemId, itemId) || other.itemId == itemId)&&(identical(other.itemType, itemType) || other.itemType == itemType)&&(identical(other.name, name) || other.name == name)&&(identical(other.productionYear, productionYear) || other.productionYear == productionYear)&&(identical(other.playbackPositionTicks, playbackPositionTicks) || other.playbackPositionTicks == playbackPositionTicks)&&(identical(other.runTimeTicks, runTimeTicks) || other.runTimeTicks == runTimeTicks));
}


@override
int get hashCode => Object.hash(runtimeType,serverId,serverName,itemId,itemType,name,productionYear,playbackPositionTicks,runTimeTicks);

@override
String toString() {
  return 'TmdbLibraryHit(serverId: $serverId, serverName: $serverName, itemId: $itemId, itemType: $itemType, name: $name, productionYear: $productionYear, playbackPositionTicks: $playbackPositionTicks, runTimeTicks: $runTimeTicks)';
}


}

/// @nodoc
abstract mixin class _$TmdbLibraryHitCopyWith<$Res> implements $TmdbLibraryHitCopyWith<$Res> {
  factory _$TmdbLibraryHitCopyWith(_TmdbLibraryHit value, $Res Function(_TmdbLibraryHit) _then) = __$TmdbLibraryHitCopyWithImpl;
@override @useResult
$Res call({
 String serverId, String serverName, String itemId, String itemType, String name, int? productionYear, int? playbackPositionTicks, int? runTimeTicks
});




}
/// @nodoc
class __$TmdbLibraryHitCopyWithImpl<$Res>
    implements _$TmdbLibraryHitCopyWith<$Res> {
  __$TmdbLibraryHitCopyWithImpl(this._self, this._then);

  final _TmdbLibraryHit _self;
  final $Res Function(_TmdbLibraryHit) _then;

/// Create a copy of TmdbLibraryHit
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? serverId = null,Object? serverName = null,Object? itemId = null,Object? itemType = null,Object? name = null,Object? productionYear = freezed,Object? playbackPositionTicks = freezed,Object? runTimeTicks = freezed,}) {
  return _then(_TmdbLibraryHit(
serverId: null == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String,serverName: null == serverName ? _self.serverName : serverName // ignore: cast_nullable_to_non_nullable
as String,itemId: null == itemId ? _self.itemId : itemId // ignore: cast_nullable_to_non_nullable
as String,itemType: null == itemType ? _self.itemType : itemType // ignore: cast_nullable_to_non_nullable
as String,name: null == name ? _self.name : name // ignore: cast_nullable_to_non_nullable
as String,productionYear: freezed == productionYear ? _self.productionYear : productionYear // ignore: cast_nullable_to_non_nullable
as int?,playbackPositionTicks: freezed == playbackPositionTicks ? _self.playbackPositionTicks : playbackPositionTicks // ignore: cast_nullable_to_non_nullable
as int?,runTimeTicks: freezed == runTimeTicks ? _self.runTimeTicks : runTimeTicks // ignore: cast_nullable_to_non_nullable
as int?,
  ));
}


}

/// @nodoc
mixin _$LibraryItemsReq {

 String? get parentId; String? get includeItemTypes; List<String>? get genreIds; String? get searchTerm; String? get anyProviderIdEquals; String? get fields; String? get enableImageTypes; bool? get groupProgramsBySeries; int? get imageTypeLimit; int? get startIndex; int? get limit; bool? get recursive; String? get sortBy; SortOrder? get sortOrder;
/// Create a copy of LibraryItemsReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LibraryItemsReqCopyWith<LibraryItemsReq> get copyWith => _$LibraryItemsReqCopyWithImpl<LibraryItemsReq>(this as LibraryItemsReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LibraryItemsReq&&(identical(other.parentId, parentId) || other.parentId == parentId)&&(identical(other.includeItemTypes, includeItemTypes) || other.includeItemTypes == includeItemTypes)&&const DeepCollectionEquality().equals(other.genreIds, genreIds)&&(identical(other.searchTerm, searchTerm) || other.searchTerm == searchTerm)&&(identical(other.anyProviderIdEquals, anyProviderIdEquals) || other.anyProviderIdEquals == anyProviderIdEquals)&&(identical(other.fields, fields) || other.fields == fields)&&(identical(other.enableImageTypes, enableImageTypes) || other.enableImageTypes == enableImageTypes)&&(identical(other.groupProgramsBySeries, groupProgramsBySeries) || other.groupProgramsBySeries == groupProgramsBySeries)&&(identical(other.imageTypeLimit, imageTypeLimit) || other.imageTypeLimit == imageTypeLimit)&&(identical(other.startIndex, startIndex) || other.startIndex == startIndex)&&(identical(other.limit, limit) || other.limit == limit)&&(identical(other.recursive, recursive) || other.recursive == recursive)&&(identical(other.sortBy, sortBy) || other.sortBy == sortBy)&&(identical(other.sortOrder, sortOrder) || other.sortOrder == sortOrder));
}


@override
int get hashCode => Object.hash(runtimeType,parentId,includeItemTypes,const DeepCollectionEquality().hash(genreIds),searchTerm,anyProviderIdEquals,fields,enableImageTypes,groupProgramsBySeries,imageTypeLimit,startIndex,limit,recursive,sortBy,sortOrder);

@override
String toString() {
  return 'LibraryItemsReq(parentId: $parentId, includeItemTypes: $includeItemTypes, genreIds: $genreIds, searchTerm: $searchTerm, anyProviderIdEquals: $anyProviderIdEquals, fields: $fields, enableImageTypes: $enableImageTypes, groupProgramsBySeries: $groupProgramsBySeries, imageTypeLimit: $imageTypeLimit, startIndex: $startIndex, limit: $limit, recursive: $recursive, sortBy: $sortBy, sortOrder: $sortOrder)';
}


}

/// @nodoc
abstract mixin class $LibraryItemsReqCopyWith<$Res>  {
  factory $LibraryItemsReqCopyWith(LibraryItemsReq value, $Res Function(LibraryItemsReq) _then) = _$LibraryItemsReqCopyWithImpl;
@useResult
$Res call({
 String? parentId, String? includeItemTypes, List<String>? genreIds, String? searchTerm, String? anyProviderIdEquals, String? fields, String? enableImageTypes, bool? groupProgramsBySeries, int? imageTypeLimit, int? startIndex, int? limit, bool? recursive, String? sortBy, SortOrder? sortOrder
});




}
/// @nodoc
class _$LibraryItemsReqCopyWithImpl<$Res>
    implements $LibraryItemsReqCopyWith<$Res> {
  _$LibraryItemsReqCopyWithImpl(this._self, this._then);

  final LibraryItemsReq _self;
  final $Res Function(LibraryItemsReq) _then;

/// Create a copy of LibraryItemsReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? parentId = freezed,Object? includeItemTypes = freezed,Object? genreIds = freezed,Object? searchTerm = freezed,Object? anyProviderIdEquals = freezed,Object? fields = freezed,Object? enableImageTypes = freezed,Object? groupProgramsBySeries = freezed,Object? imageTypeLimit = freezed,Object? startIndex = freezed,Object? limit = freezed,Object? recursive = freezed,Object? sortBy = freezed,Object? sortOrder = freezed,}) {
  return _then(_self.copyWith(
parentId: freezed == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String?,includeItemTypes: freezed == includeItemTypes ? _self.includeItemTypes : includeItemTypes // ignore: cast_nullable_to_non_nullable
as String?,genreIds: freezed == genreIds ? _self.genreIds : genreIds // ignore: cast_nullable_to_non_nullable
as List<String>?,searchTerm: freezed == searchTerm ? _self.searchTerm : searchTerm // ignore: cast_nullable_to_non_nullable
as String?,anyProviderIdEquals: freezed == anyProviderIdEquals ? _self.anyProviderIdEquals : anyProviderIdEquals // ignore: cast_nullable_to_non_nullable
as String?,fields: freezed == fields ? _self.fields : fields // ignore: cast_nullable_to_non_nullable
as String?,enableImageTypes: freezed == enableImageTypes ? _self.enableImageTypes : enableImageTypes // ignore: cast_nullable_to_non_nullable
as String?,groupProgramsBySeries: freezed == groupProgramsBySeries ? _self.groupProgramsBySeries : groupProgramsBySeries // ignore: cast_nullable_to_non_nullable
as bool?,imageTypeLimit: freezed == imageTypeLimit ? _self.imageTypeLimit : imageTypeLimit // ignore: cast_nullable_to_non_nullable
as int?,startIndex: freezed == startIndex ? _self.startIndex : startIndex // ignore: cast_nullable_to_non_nullable
as int?,limit: freezed == limit ? _self.limit : limit // ignore: cast_nullable_to_non_nullable
as int?,recursive: freezed == recursive ? _self.recursive : recursive // ignore: cast_nullable_to_non_nullable
as bool?,sortBy: freezed == sortBy ? _self.sortBy : sortBy // ignore: cast_nullable_to_non_nullable
as String?,sortOrder: freezed == sortOrder ? _self.sortOrder : sortOrder // ignore: cast_nullable_to_non_nullable
as SortOrder?,
  ));
}

}


/// Adds pattern-matching-related methods to [LibraryItemsReq].
extension LibraryItemsReqPatterns on LibraryItemsReq {
/// 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( _LibraryItemsReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LibraryItemsReq() 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( _LibraryItemsReq value)  $default,){
final _that = this;
switch (_that) {
case _LibraryItemsReq():
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( _LibraryItemsReq value)?  $default,){
final _that = this;
switch (_that) {
case _LibraryItemsReq() 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( String? parentId,  String? includeItemTypes,  List<String>? genreIds,  String? searchTerm,  String? anyProviderIdEquals,  String? fields,  String? enableImageTypes,  bool? groupProgramsBySeries,  int? imageTypeLimit,  int? startIndex,  int? limit,  bool? recursive,  String? sortBy,  SortOrder? sortOrder)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LibraryItemsReq() when $default != null:
return $default(_that.parentId,_that.includeItemTypes,_that.genreIds,_that.searchTerm,_that.anyProviderIdEquals,_that.fields,_that.enableImageTypes,_that.groupProgramsBySeries,_that.imageTypeLimit,_that.startIndex,_that.limit,_that.recursive,_that.sortBy,_that.sortOrder);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( String? parentId,  String? includeItemTypes,  List<String>? genreIds,  String? searchTerm,  String? anyProviderIdEquals,  String? fields,  String? enableImageTypes,  bool? groupProgramsBySeries,  int? imageTypeLimit,  int? startIndex,  int? limit,  bool? recursive,  String? sortBy,  SortOrder? sortOrder)  $default,) {final _that = this;
switch (_that) {
case _LibraryItemsReq():
return $default(_that.parentId,_that.includeItemTypes,_that.genreIds,_that.searchTerm,_that.anyProviderIdEquals,_that.fields,_that.enableImageTypes,_that.groupProgramsBySeries,_that.imageTypeLimit,_that.startIndex,_that.limit,_that.recursive,_that.sortBy,_that.sortOrder);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( String? parentId,  String? includeItemTypes,  List<String>? genreIds,  String? searchTerm,  String? anyProviderIdEquals,  String? fields,  String? enableImageTypes,  bool? groupProgramsBySeries,  int? imageTypeLimit,  int? startIndex,  int? limit,  bool? recursive,  String? sortBy,  SortOrder? sortOrder)?  $default,) {final _that = this;
switch (_that) {
case _LibraryItemsReq() when $default != null:
return $default(_that.parentId,_that.includeItemTypes,_that.genreIds,_that.searchTerm,_that.anyProviderIdEquals,_that.fields,_that.enableImageTypes,_that.groupProgramsBySeries,_that.imageTypeLimit,_that.startIndex,_that.limit,_that.recursive,_that.sortBy,_that.sortOrder);case _:
  return null;

}
}

}

/// @nodoc


class _LibraryItemsReq implements LibraryItemsReq {
  const _LibraryItemsReq({this.parentId, this.includeItemTypes, final  List<String>? genreIds, this.searchTerm, this.anyProviderIdEquals, this.fields, this.enableImageTypes, this.groupProgramsBySeries, this.imageTypeLimit, this.startIndex, this.limit, this.recursive, this.sortBy, this.sortOrder}): _genreIds = genreIds;
  

@override final  String? parentId;
@override final  String? includeItemTypes;
 final  List<String>? _genreIds;
@override List<String>? get genreIds {
  final value = _genreIds;
  if (value == null) return null;
  if (_genreIds is EqualUnmodifiableListView) return _genreIds;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(value);
}

@override final  String? searchTerm;
@override final  String? anyProviderIdEquals;
@override final  String? fields;
@override final  String? enableImageTypes;
@override final  bool? groupProgramsBySeries;
@override final  int? imageTypeLimit;
@override final  int? startIndex;
@override final  int? limit;
@override final  bool? recursive;
@override final  String? sortBy;
@override final  SortOrder? sortOrder;

/// Create a copy of LibraryItemsReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LibraryItemsReqCopyWith<_LibraryItemsReq> get copyWith => __$LibraryItemsReqCopyWithImpl<_LibraryItemsReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LibraryItemsReq&&(identical(other.parentId, parentId) || other.parentId == parentId)&&(identical(other.includeItemTypes, includeItemTypes) || other.includeItemTypes == includeItemTypes)&&const DeepCollectionEquality().equals(other._genreIds, _genreIds)&&(identical(other.searchTerm, searchTerm) || other.searchTerm == searchTerm)&&(identical(other.anyProviderIdEquals, anyProviderIdEquals) || other.anyProviderIdEquals == anyProviderIdEquals)&&(identical(other.fields, fields) || other.fields == fields)&&(identical(other.enableImageTypes, enableImageTypes) || other.enableImageTypes == enableImageTypes)&&(identical(other.groupProgramsBySeries, groupProgramsBySeries) || other.groupProgramsBySeries == groupProgramsBySeries)&&(identical(other.imageTypeLimit, imageTypeLimit) || other.imageTypeLimit == imageTypeLimit)&&(identical(other.startIndex, startIndex) || other.startIndex == startIndex)&&(identical(other.limit, limit) || other.limit == limit)&&(identical(other.recursive, recursive) || other.recursive == recursive)&&(identical(other.sortBy, sortBy) || other.sortBy == sortBy)&&(identical(other.sortOrder, sortOrder) || other.sortOrder == sortOrder));
}


@override
int get hashCode => Object.hash(runtimeType,parentId,includeItemTypes,const DeepCollectionEquality().hash(_genreIds),searchTerm,anyProviderIdEquals,fields,enableImageTypes,groupProgramsBySeries,imageTypeLimit,startIndex,limit,recursive,sortBy,sortOrder);

@override
String toString() {
  return 'LibraryItemsReq(parentId: $parentId, includeItemTypes: $includeItemTypes, genreIds: $genreIds, searchTerm: $searchTerm, anyProviderIdEquals: $anyProviderIdEquals, fields: $fields, enableImageTypes: $enableImageTypes, groupProgramsBySeries: $groupProgramsBySeries, imageTypeLimit: $imageTypeLimit, startIndex: $startIndex, limit: $limit, recursive: $recursive, sortBy: $sortBy, sortOrder: $sortOrder)';
}


}

/// @nodoc
abstract mixin class _$LibraryItemsReqCopyWith<$Res> implements $LibraryItemsReqCopyWith<$Res> {
  factory _$LibraryItemsReqCopyWith(_LibraryItemsReq value, $Res Function(_LibraryItemsReq) _then) = __$LibraryItemsReqCopyWithImpl;
@override @useResult
$Res call({
 String? parentId, String? includeItemTypes, List<String>? genreIds, String? searchTerm, String? anyProviderIdEquals, String? fields, String? enableImageTypes, bool? groupProgramsBySeries, int? imageTypeLimit, int? startIndex, int? limit, bool? recursive, String? sortBy, SortOrder? sortOrder
});




}
/// @nodoc
class __$LibraryItemsReqCopyWithImpl<$Res>
    implements _$LibraryItemsReqCopyWith<$Res> {
  __$LibraryItemsReqCopyWithImpl(this._self, this._then);

  final _LibraryItemsReq _self;
  final $Res Function(_LibraryItemsReq) _then;

/// Create a copy of LibraryItemsReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? parentId = freezed,Object? includeItemTypes = freezed,Object? genreIds = freezed,Object? searchTerm = freezed,Object? anyProviderIdEquals = freezed,Object? fields = freezed,Object? enableImageTypes = freezed,Object? groupProgramsBySeries = freezed,Object? imageTypeLimit = freezed,Object? startIndex = freezed,Object? limit = freezed,Object? recursive = freezed,Object? sortBy = freezed,Object? sortOrder = freezed,}) {
  return _then(_LibraryItemsReq(
parentId: freezed == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String?,includeItemTypes: freezed == includeItemTypes ? _self.includeItemTypes : includeItemTypes // ignore: cast_nullable_to_non_nullable
as String?,genreIds: freezed == genreIds ? _self._genreIds : genreIds // ignore: cast_nullable_to_non_nullable
as List<String>?,searchTerm: freezed == searchTerm ? _self.searchTerm : searchTerm // ignore: cast_nullable_to_non_nullable
as String?,anyProviderIdEquals: freezed == anyProviderIdEquals ? _self.anyProviderIdEquals : anyProviderIdEquals // ignore: cast_nullable_to_non_nullable
as String?,fields: freezed == fields ? _self.fields : fields // ignore: cast_nullable_to_non_nullable
as String?,enableImageTypes: freezed == enableImageTypes ? _self.enableImageTypes : enableImageTypes // ignore: cast_nullable_to_non_nullable
as String?,groupProgramsBySeries: freezed == groupProgramsBySeries ? _self.groupProgramsBySeries : groupProgramsBySeries // ignore: cast_nullable_to_non_nullable
as bool?,imageTypeLimit: freezed == imageTypeLimit ? _self.imageTypeLimit : imageTypeLimit // ignore: cast_nullable_to_non_nullable
as int?,startIndex: freezed == startIndex ? _self.startIndex : startIndex // ignore: cast_nullable_to_non_nullable
as int?,limit: freezed == limit ? _self.limit : limit // ignore: cast_nullable_to_non_nullable
as int?,recursive: freezed == recursive ? _self.recursive : recursive // ignore: cast_nullable_to_non_nullable
as bool?,sortBy: freezed == sortBy ? _self.sortBy : sortBy // ignore: cast_nullable_to_non_nullable
as String?,sortOrder: freezed == sortOrder ? _self.sortOrder : sortOrder // ignore: cast_nullable_to_non_nullable
as SortOrder?,
  ));
}


}

/// @nodoc
mixin _$LibraryItemsRes {

 String get parentId; List<EmbyRawItem> get items;
/// Create a copy of LibraryItemsRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$LibraryItemsResCopyWith<LibraryItemsRes> get copyWith => _$LibraryItemsResCopyWithImpl<LibraryItemsRes>(this as LibraryItemsRes, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is LibraryItemsRes&&(identical(other.parentId, parentId) || other.parentId == parentId)&&const DeepCollectionEquality().equals(other.items, items));
}


@override
int get hashCode => Object.hash(runtimeType,parentId,const DeepCollectionEquality().hash(items));

@override
String toString() {
  return 'LibraryItemsRes(parentId: $parentId, items: $items)';
}


}

/// @nodoc
abstract mixin class $LibraryItemsResCopyWith<$Res>  {
  factory $LibraryItemsResCopyWith(LibraryItemsRes value, $Res Function(LibraryItemsRes) _then) = _$LibraryItemsResCopyWithImpl;
@useResult
$Res call({
 String parentId, List<EmbyRawItem> items
});




}
/// @nodoc
class _$LibraryItemsResCopyWithImpl<$Res>
    implements $LibraryItemsResCopyWith<$Res> {
  _$LibraryItemsResCopyWithImpl(this._self, this._then);

  final LibraryItemsRes _self;
  final $Res Function(LibraryItemsRes) _then;

/// Create a copy of LibraryItemsRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? parentId = null,Object? items = null,}) {
  return _then(_self.copyWith(
parentId: null == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}

}


/// Adds pattern-matching-related methods to [LibraryItemsRes].
extension LibraryItemsResPatterns on LibraryItemsRes {
/// 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( _LibraryItemsRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _LibraryItemsRes() 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( _LibraryItemsRes value)  $default,){
final _that = this;
switch (_that) {
case _LibraryItemsRes():
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( _LibraryItemsRes value)?  $default,){
final _that = this;
switch (_that) {
case _LibraryItemsRes() 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( String parentId,  List<EmbyRawItem> items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _LibraryItemsRes() when $default != null:
return $default(_that.parentId,_that.items);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( String parentId,  List<EmbyRawItem> items)  $default,) {final _that = this;
switch (_that) {
case _LibraryItemsRes():
return $default(_that.parentId,_that.items);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( String parentId,  List<EmbyRawItem> items)?  $default,) {final _that = this;
switch (_that) {
case _LibraryItemsRes() when $default != null:
return $default(_that.parentId,_that.items);case _:
  return null;

}
}

}

/// @nodoc


class _LibraryItemsRes implements LibraryItemsRes {
  const _LibraryItemsRes({required this.parentId, required final  List<EmbyRawItem> items}): _items = items;
  

@override final  String parentId;
 final  List<EmbyRawItem> _items;
@override List<EmbyRawItem> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}


/// Create a copy of LibraryItemsRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$LibraryItemsResCopyWith<_LibraryItemsRes> get copyWith => __$LibraryItemsResCopyWithImpl<_LibraryItemsRes>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _LibraryItemsRes&&(identical(other.parentId, parentId) || other.parentId == parentId)&&const DeepCollectionEquality().equals(other._items, _items));
}


@override
int get hashCode => Object.hash(runtimeType,parentId,const DeepCollectionEquality().hash(_items));

@override
String toString() {
  return 'LibraryItemsRes(parentId: $parentId, items: $items)';
}


}

/// @nodoc
abstract mixin class _$LibraryItemsResCopyWith<$Res> implements $LibraryItemsResCopyWith<$Res> {
  factory _$LibraryItemsResCopyWith(_LibraryItemsRes value, $Res Function(_LibraryItemsRes) _then) = __$LibraryItemsResCopyWithImpl;
@override @useResult
$Res call({
 String parentId, List<EmbyRawItem> items
});




}
/// @nodoc
class __$LibraryItemsResCopyWithImpl<$Res>
    implements _$LibraryItemsResCopyWith<$Res> {
  __$LibraryItemsResCopyWithImpl(this._self, this._then);

  final _LibraryItemsRes _self;
  final $Res Function(_LibraryItemsRes) _then;

/// Create a copy of LibraryItemsRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? parentId = null,Object? items = null,}) {
  return _then(_LibraryItemsRes(
parentId: null == parentId ? _self.parentId : parentId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}


}


/// @nodoc
mixin _$ItemCountsRes {

@JsonKey(name: 'MovieCount', fromJson: _intOrZero) int get movieCount;@JsonKey(name: 'EpisodeCount', fromJson: _intOrZero) int get episodeCount;
/// Create a copy of ItemCountsRes
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$ItemCountsResCopyWith<ItemCountsRes> get copyWith => _$ItemCountsResCopyWithImpl<ItemCountsRes>(this as ItemCountsRes, _$identity);

  /// Serializes this ItemCountsRes to a JSON map.
  Map<String, dynamic> toJson();


@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is ItemCountsRes&&(identical(other.movieCount, movieCount) || other.movieCount == movieCount)&&(identical(other.episodeCount, episodeCount) || other.episodeCount == episodeCount));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,movieCount,episodeCount);

@override
String toString() {
  return 'ItemCountsRes(movieCount: $movieCount, episodeCount: $episodeCount)';
}


}

/// @nodoc
abstract mixin class $ItemCountsResCopyWith<$Res>  {
  factory $ItemCountsResCopyWith(ItemCountsRes value, $Res Function(ItemCountsRes) _then) = _$ItemCountsResCopyWithImpl;
@useResult
$Res call({
@JsonKey(name: 'MovieCount', fromJson: _intOrZero) int movieCount,@JsonKey(name: 'EpisodeCount', fromJson: _intOrZero) int episodeCount
});




}
/// @nodoc
class _$ItemCountsResCopyWithImpl<$Res>
    implements $ItemCountsResCopyWith<$Res> {
  _$ItemCountsResCopyWithImpl(this._self, this._then);

  final ItemCountsRes _self;
  final $Res Function(ItemCountsRes) _then;

/// Create a copy of ItemCountsRes
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? movieCount = null,Object? episodeCount = null,}) {
  return _then(_self.copyWith(
movieCount: null == movieCount ? _self.movieCount : movieCount // ignore: cast_nullable_to_non_nullable
as int,episodeCount: null == episodeCount ? _self.episodeCount : episodeCount // ignore: cast_nullable_to_non_nullable
as int,
  ));
}

}


/// Adds pattern-matching-related methods to [ItemCountsRes].
extension ItemCountsResPatterns on ItemCountsRes {
/// 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( _ItemCountsRes value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _ItemCountsRes() 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( _ItemCountsRes value)  $default,){
final _that = this;
switch (_that) {
case _ItemCountsRes():
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( _ItemCountsRes value)?  $default,){
final _that = this;
switch (_that) {
case _ItemCountsRes() 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(@JsonKey(name: 'MovieCount', fromJson: _intOrZero)  int movieCount, @JsonKey(name: 'EpisodeCount', fromJson: _intOrZero)  int episodeCount)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _ItemCountsRes() when $default != null:
return $default(_that.movieCount,_that.episodeCount);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(@JsonKey(name: 'MovieCount', fromJson: _intOrZero)  int movieCount, @JsonKey(name: 'EpisodeCount', fromJson: _intOrZero)  int episodeCount)  $default,) {final _that = this;
switch (_that) {
case _ItemCountsRes():
return $default(_that.movieCount,_that.episodeCount);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(@JsonKey(name: 'MovieCount', fromJson: _intOrZero)  int movieCount, @JsonKey(name: 'EpisodeCount', fromJson: _intOrZero)  int episodeCount)?  $default,) {final _that = this;
switch (_that) {
case _ItemCountsRes() when $default != null:
return $default(_that.movieCount,_that.episodeCount);case _:
  return null;

}
}

}

/// @nodoc
@JsonSerializable()

class _ItemCountsRes implements ItemCountsRes {
  const _ItemCountsRes({@JsonKey(name: 'MovieCount', fromJson: _intOrZero) required this.movieCount, @JsonKey(name: 'EpisodeCount', fromJson: _intOrZero) required this.episodeCount});
  factory _ItemCountsRes.fromJson(Map<String, dynamic> json) => _$ItemCountsResFromJson(json);

@override@JsonKey(name: 'MovieCount', fromJson: _intOrZero) final  int movieCount;
@override@JsonKey(name: 'EpisodeCount', fromJson: _intOrZero) final  int episodeCount;

/// Create a copy of ItemCountsRes
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$ItemCountsResCopyWith<_ItemCountsRes> get copyWith => __$ItemCountsResCopyWithImpl<_ItemCountsRes>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$ItemCountsResToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _ItemCountsRes&&(identical(other.movieCount, movieCount) || other.movieCount == movieCount)&&(identical(other.episodeCount, episodeCount) || other.episodeCount == episodeCount));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,movieCount,episodeCount);

@override
String toString() {
  return 'ItemCountsRes(movieCount: $movieCount, episodeCount: $episodeCount)';
}


}

/// @nodoc
abstract mixin class _$ItemCountsResCopyWith<$Res> implements $ItemCountsResCopyWith<$Res> {
  factory _$ItemCountsResCopyWith(_ItemCountsRes value, $Res Function(_ItemCountsRes) _then) = __$ItemCountsResCopyWithImpl;
@override @useResult
$Res call({
@JsonKey(name: 'MovieCount', fromJson: _intOrZero) int movieCount,@JsonKey(name: 'EpisodeCount', fromJson: _intOrZero) int episodeCount
});




}
/// @nodoc
class __$ItemCountsResCopyWithImpl<$Res>
    implements _$ItemCountsResCopyWith<$Res> {
  __$ItemCountsResCopyWithImpl(this._self, this._then);

  final _ItemCountsRes _self;
  final $Res Function(_ItemCountsRes) _then;

/// Create a copy of ItemCountsRes
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? movieCount = null,Object? episodeCount = null,}) {
  return _then(_ItemCountsRes(
movieCount: null == movieCount ? _self.movieCount : movieCount // ignore: cast_nullable_to_non_nullable
as int,episodeCount: null == episodeCount ? _self.episodeCount : episodeCount // ignore: cast_nullable_to_non_nullable
as int,
  ));
}


}

/// @nodoc
mixin _$GlobalSearchReq {

 String get keyword; String? get includeItemTypes; int? get limitPerServer; String? get serverId;
/// Create a copy of GlobalSearchReq
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$GlobalSearchReqCopyWith<GlobalSearchReq> get copyWith => _$GlobalSearchReqCopyWithImpl<GlobalSearchReq>(this as GlobalSearchReq, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is GlobalSearchReq&&(identical(other.keyword, keyword) || other.keyword == keyword)&&(identical(other.includeItemTypes, includeItemTypes) || other.includeItemTypes == includeItemTypes)&&(identical(other.limitPerServer, limitPerServer) || other.limitPerServer == limitPerServer)&&(identical(other.serverId, serverId) || other.serverId == serverId));
}


@override
int get hashCode => Object.hash(runtimeType,keyword,includeItemTypes,limitPerServer,serverId);

@override
String toString() {
  return 'GlobalSearchReq(keyword: $keyword, includeItemTypes: $includeItemTypes, limitPerServer: $limitPerServer, serverId: $serverId)';
}


}

/// @nodoc
abstract mixin class $GlobalSearchReqCopyWith<$Res>  {
  factory $GlobalSearchReqCopyWith(GlobalSearchReq value, $Res Function(GlobalSearchReq) _then) = _$GlobalSearchReqCopyWithImpl;
@useResult
$Res call({
 String keyword, String? includeItemTypes, int? limitPerServer, String? serverId
});




}
/// @nodoc
class _$GlobalSearchReqCopyWithImpl<$Res>
    implements $GlobalSearchReqCopyWith<$Res> {
  _$GlobalSearchReqCopyWithImpl(this._self, this._then);

  final GlobalSearchReq _self;
  final $Res Function(GlobalSearchReq) _then;

/// Create a copy of GlobalSearchReq
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? keyword = null,Object? includeItemTypes = freezed,Object? limitPerServer = freezed,Object? serverId = freezed,}) {
  return _then(_self.copyWith(
keyword: null == keyword ? _self.keyword : keyword // ignore: cast_nullable_to_non_nullable
as String,includeItemTypes: freezed == includeItemTypes ? _self.includeItemTypes : includeItemTypes // ignore: cast_nullable_to_non_nullable
as String?,limitPerServer: freezed == limitPerServer ? _self.limitPerServer : limitPerServer // ignore: cast_nullable_to_non_nullable
as int?,serverId: freezed == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}

}


/// Adds pattern-matching-related methods to [GlobalSearchReq].
extension GlobalSearchReqPatterns on GlobalSearchReq {
/// 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( _GlobalSearchReq value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _GlobalSearchReq() 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( _GlobalSearchReq value)  $default,){
final _that = this;
switch (_that) {
case _GlobalSearchReq():
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( _GlobalSearchReq value)?  $default,){
final _that = this;
switch (_that) {
case _GlobalSearchReq() 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( String keyword,  String? includeItemTypes,  int? limitPerServer,  String? serverId)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _GlobalSearchReq() when $default != null:
return $default(_that.keyword,_that.includeItemTypes,_that.limitPerServer,_that.serverId);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( String keyword,  String? includeItemTypes,  int? limitPerServer,  String? serverId)  $default,) {final _that = this;
switch (_that) {
case _GlobalSearchReq():
return $default(_that.keyword,_that.includeItemTypes,_that.limitPerServer,_that.serverId);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( String keyword,  String? includeItemTypes,  int? limitPerServer,  String? serverId)?  $default,) {final _that = this;
switch (_that) {
case _GlobalSearchReq() when $default != null:
return $default(_that.keyword,_that.includeItemTypes,_that.limitPerServer,_that.serverId);case _:
  return null;

}
}

}

/// @nodoc


class _GlobalSearchReq implements GlobalSearchReq {
  const _GlobalSearchReq({required this.keyword, this.includeItemTypes, this.limitPerServer, this.serverId});
  

@override final  String keyword;
@override final  String? includeItemTypes;
@override final  int? limitPerServer;
@override final  String? serverId;

/// Create a copy of GlobalSearchReq
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$GlobalSearchReqCopyWith<_GlobalSearchReq> get copyWith => __$GlobalSearchReqCopyWithImpl<_GlobalSearchReq>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _GlobalSearchReq&&(identical(other.keyword, keyword) || other.keyword == keyword)&&(identical(other.includeItemTypes, includeItemTypes) || other.includeItemTypes == includeItemTypes)&&(identical(other.limitPerServer, limitPerServer) || other.limitPerServer == limitPerServer)&&(identical(other.serverId, serverId) || other.serverId == serverId));
}


@override
int get hashCode => Object.hash(runtimeType,keyword,includeItemTypes,limitPerServer,serverId);

@override
String toString() {
  return 'GlobalSearchReq(keyword: $keyword, includeItemTypes: $includeItemTypes, limitPerServer: $limitPerServer, serverId: $serverId)';
}


}

/// @nodoc
abstract mixin class _$GlobalSearchReqCopyWith<$Res> implements $GlobalSearchReqCopyWith<$Res> {
  factory _$GlobalSearchReqCopyWith(_GlobalSearchReq value, $Res Function(_GlobalSearchReq) _then) = __$GlobalSearchReqCopyWithImpl;
@override @useResult
$Res call({
 String keyword, String? includeItemTypes, int? limitPerServer, String? serverId
});




}
/// @nodoc
class __$GlobalSearchReqCopyWithImpl<$Res>
    implements _$GlobalSearchReqCopyWith<$Res> {
  __$GlobalSearchReqCopyWithImpl(this._self, this._then);

  final _GlobalSearchReq _self;
  final $Res Function(_GlobalSearchReq) _then;

/// Create a copy of GlobalSearchReq
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? keyword = null,Object? includeItemTypes = freezed,Object? limitPerServer = freezed,Object? serverId = freezed,}) {
  return _then(_GlobalSearchReq(
keyword: null == keyword ? _self.keyword : keyword // ignore: cast_nullable_to_non_nullable
as String,includeItemTypes: freezed == includeItemTypes ? _self.includeItemTypes : includeItemTypes // ignore: cast_nullable_to_non_nullable
as String?,limitPerServer: freezed == limitPerServer ? _self.limitPerServer : limitPerServer // ignore: cast_nullable_to_non_nullable
as int?,serverId: freezed == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String?,
  ));
}


}

/// @nodoc
mixin _$GlobalSearchServerResult {

 String get serverId; String get serverName; String get serverUrl; String get token; String get userId; List<EmbyRawItem> get items;
/// Create a copy of GlobalSearchServerResult
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$GlobalSearchServerResultCopyWith<GlobalSearchServerResult> get copyWith => _$GlobalSearchServerResultCopyWithImpl<GlobalSearchServerResult>(this as GlobalSearchServerResult, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is GlobalSearchServerResult&&(identical(other.serverId, serverId) || other.serverId == serverId)&&(identical(other.serverName, serverName) || other.serverName == serverName)&&(identical(other.serverUrl, serverUrl) || other.serverUrl == serverUrl)&&(identical(other.token, token) || other.token == token)&&(identical(other.userId, userId) || other.userId == userId)&&const DeepCollectionEquality().equals(other.items, items));
}


@override
int get hashCode => Object.hash(runtimeType,serverId,serverName,serverUrl,token,userId,const DeepCollectionEquality().hash(items));

@override
String toString() {
  return 'GlobalSearchServerResult(serverId: $serverId, serverName: $serverName, serverUrl: $serverUrl, token: $token, userId: $userId, items: $items)';
}


}

/// @nodoc
abstract mixin class $GlobalSearchServerResultCopyWith<$Res>  {
  factory $GlobalSearchServerResultCopyWith(GlobalSearchServerResult value, $Res Function(GlobalSearchServerResult) _then) = _$GlobalSearchServerResultCopyWithImpl;
@useResult
$Res call({
 String serverId, String serverName, String serverUrl, String token, String userId, List<EmbyRawItem> items
});




}
/// @nodoc
class _$GlobalSearchServerResultCopyWithImpl<$Res>
    implements $GlobalSearchServerResultCopyWith<$Res> {
  _$GlobalSearchServerResultCopyWithImpl(this._self, this._then);

  final GlobalSearchServerResult _self;
  final $Res Function(GlobalSearchServerResult) _then;

/// Create a copy of GlobalSearchServerResult
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? serverId = null,Object? serverName = null,Object? serverUrl = null,Object? token = null,Object? userId = null,Object? items = null,}) {
  return _then(_self.copyWith(
serverId: null == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String,serverName: null == serverName ? _self.serverName : serverName // ignore: cast_nullable_to_non_nullable
as String,serverUrl: null == serverUrl ? _self.serverUrl : serverUrl // ignore: cast_nullable_to_non_nullable
as String,token: null == token ? _self.token : token // ignore: cast_nullable_to_non_nullable
as String,userId: null == userId ? _self.userId : userId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self.items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}

}


/// Adds pattern-matching-related methods to [GlobalSearchServerResult].
extension GlobalSearchServerResultPatterns on GlobalSearchServerResult {
/// 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( _GlobalSearchServerResult value)?  $default,{required TResult orElse(),}){
final _that = this;
switch (_that) {
case _GlobalSearchServerResult() 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( _GlobalSearchServerResult value)  $default,){
final _that = this;
switch (_that) {
case _GlobalSearchServerResult():
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( _GlobalSearchServerResult value)?  $default,){
final _that = this;
switch (_that) {
case _GlobalSearchServerResult() 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( String serverId,  String serverName,  String serverUrl,  String token,  String userId,  List<EmbyRawItem> items)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _GlobalSearchServerResult() when $default != null:
return $default(_that.serverId,_that.serverName,_that.serverUrl,_that.token,_that.userId,_that.items);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( String serverId,  String serverName,  String serverUrl,  String token,  String userId,  List<EmbyRawItem> items)  $default,) {final _that = this;
switch (_that) {
case _GlobalSearchServerResult():
return $default(_that.serverId,_that.serverName,_that.serverUrl,_that.token,_that.userId,_that.items);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( String serverId,  String serverName,  String serverUrl,  String token,  String userId,  List<EmbyRawItem> items)?  $default,) {final _that = this;
switch (_that) {
case _GlobalSearchServerResult() when $default != null:
return $default(_that.serverId,_that.serverName,_that.serverUrl,_that.token,_that.userId,_that.items);case _:
  return null;

}
}

}

/// @nodoc


class _GlobalSearchServerResult implements GlobalSearchServerResult {
  const _GlobalSearchServerResult({required this.serverId, required this.serverName, required this.serverUrl, required this.token, required this.userId, required final  List<EmbyRawItem> items}): _items = items;
  

@override final  String serverId;
@override final  String serverName;
@override final  String serverUrl;
@override final  String token;
@override final  String userId;
 final  List<EmbyRawItem> _items;
@override List<EmbyRawItem> get items {
  if (_items is EqualUnmodifiableListView) return _items;
  // ignore: implicit_dynamic_type
  return EqualUnmodifiableListView(_items);
}


/// Create a copy of GlobalSearchServerResult
/// with the given fields replaced by the non-null parameter values.
@override @JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
_$GlobalSearchServerResultCopyWith<_GlobalSearchServerResult> get copyWith => __$GlobalSearchServerResultCopyWithImpl<_GlobalSearchServerResult>(this, _$identity);



@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is _GlobalSearchServerResult&&(identical(other.serverId, serverId) || other.serverId == serverId)&&(identical(other.serverName, serverName) || other.serverName == serverName)&&(identical(other.serverUrl, serverUrl) || other.serverUrl == serverUrl)&&(identical(other.token, token) || other.token == token)&&(identical(other.userId, userId) || other.userId == userId)&&const DeepCollectionEquality().equals(other._items, _items));
}


@override
int get hashCode => Object.hash(runtimeType,serverId,serverName,serverUrl,token,userId,const DeepCollectionEquality().hash(_items));

@override
String toString() {
  return 'GlobalSearchServerResult(serverId: $serverId, serverName: $serverName, serverUrl: $serverUrl, token: $token, userId: $userId, items: $items)';
}


}

/// @nodoc
abstract mixin class _$GlobalSearchServerResultCopyWith<$Res> implements $GlobalSearchServerResultCopyWith<$Res> {
  factory _$GlobalSearchServerResultCopyWith(_GlobalSearchServerResult value, $Res Function(_GlobalSearchServerResult) _then) = __$GlobalSearchServerResultCopyWithImpl;
@override @useResult
$Res call({
 String serverId, String serverName, String serverUrl, String token, String userId, List<EmbyRawItem> items
});




}
/// @nodoc
class __$GlobalSearchServerResultCopyWithImpl<$Res>
    implements _$GlobalSearchServerResultCopyWith<$Res> {
  __$GlobalSearchServerResultCopyWithImpl(this._self, this._then);

  final _GlobalSearchServerResult _self;
  final $Res Function(_GlobalSearchServerResult) _then;

/// Create a copy of GlobalSearchServerResult
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? serverId = null,Object? serverName = null,Object? serverUrl = null,Object? token = null,Object? userId = null,Object? items = null,}) {
  return _then(_GlobalSearchServerResult(
serverId: null == serverId ? _self.serverId : serverId // ignore: cast_nullable_to_non_nullable
as String,serverName: null == serverName ? _self.serverName : serverName // ignore: cast_nullable_to_non_nullable
as String,serverUrl: null == serverUrl ? _self.serverUrl : serverUrl // ignore: cast_nullable_to_non_nullable
as String,token: null == token ? _self.token : token // ignore: cast_nullable_to_non_nullable
as String,userId: null == userId ? _self.userId : userId // ignore: cast_nullable_to_non_nullable
as String,items: null == items ? _self._items : items // ignore: cast_nullable_to_non_nullable
as List<EmbyRawItem>,
  ));
}


}

// dart format on
