mirror of
				https://github.com/TeamPiped/piped_dart.git
				synced 2024-08-14 22:27:49 +00:00 
			
		
		
		
	Update with oneOf.
This commit is contained in:
		
							parent
							
								
									938917a835
								
							
						
					
					
						commit
						b91c008f1c
					
				
					 18 changed files with 2390 additions and 1919 deletions
				
			
		| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
6.0.1
 | 
					6.2.0
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:piped_api/src/model/stream_item.dart';
 | 
					import 'package:piped_api/src/model/stream_item.dart';
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
| 
						 | 
					@ -21,6 +22,7 @@ part 'channel_info.g.dart';
 | 
				
			||||||
/// * [relatedStreams] 
 | 
					/// * [relatedStreams] 
 | 
				
			||||||
/// * [subscriberCount] - The number of subscribers the channel has.
 | 
					/// * [subscriberCount] - The number of subscribers the channel has.
 | 
				
			||||||
/// * [verified] - Whether the channel is verified.
 | 
					/// * [verified] - Whether the channel is verified.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class ChannelInfo implements Built<ChannelInfo, ChannelInfoBuilder> {
 | 
					abstract class ChannelInfo implements Built<ChannelInfo, ChannelInfoBuilder> {
 | 
				
			||||||
  /// The URL of the channel's avatar.
 | 
					  /// The URL of the channel's avatar.
 | 
				
			||||||
  @BuiltValueField(wireName: r'avatarUrl')
 | 
					  @BuiltValueField(wireName: r'avatarUrl')
 | 
				
			||||||
| 
						 | 
					@ -59,142 +61,201 @@ abstract class ChannelInfo implements Built<ChannelInfo, ChannelInfoBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ChannelInfo._();
 | 
					  ChannelInfo._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory ChannelInfo([void updates(ChannelInfoBuilder b)]) = _$ChannelInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(ChannelInfoBuilder b) => b;
 | 
					  static void _defaults(ChannelInfoBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory ChannelInfo([void updates(ChannelInfoBuilder b)]) = _$ChannelInfo;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<ChannelInfo> get serializer => _$ChannelInfoSerializer();
 | 
					  static Serializer<ChannelInfo> get serializer => _$ChannelInfoSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$ChannelInfoSerializer implements StructuredSerializer<ChannelInfo> {
 | 
					class _$ChannelInfoSerializer implements PrimitiveSerializer<ChannelInfo> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [ChannelInfo, _$ChannelInfo];
 | 
					  final Iterable<Type> types = const [ChannelInfo, _$ChannelInfo];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'ChannelInfo';
 | 
					  final String wireName = r'ChannelInfo';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, ChannelInfo object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    ChannelInfo object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.avatarUrl != null) {
 | 
					    if (object.avatarUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'avatarUrl';
 | 
				
			||||||
                ..add(r'avatarUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.avatarUrl,
 | 
					        object.avatarUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.bannerUrl != null) {
 | 
					    if (object.bannerUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'bannerUrl';
 | 
				
			||||||
                ..add(r'bannerUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.bannerUrl,
 | 
					        object.bannerUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.description != null) {
 | 
					    if (object.description != null) {
 | 
				
			||||||
            result
 | 
					      yield r'description';
 | 
				
			||||||
                ..add(r'description')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.description,
 | 
					        object.description,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.id != null) {
 | 
					    if (object.id != null) {
 | 
				
			||||||
            result
 | 
					      yield r'id';
 | 
				
			||||||
                ..add(r'id')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.id,
 | 
					        object.id,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.name != null) {
 | 
					    if (object.name != null) {
 | 
				
			||||||
            result
 | 
					      yield r'name';
 | 
				
			||||||
                ..add(r'name')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.name,
 | 
					        object.name,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.nextpage != null) {
 | 
					    if (object.nextpage != null) {
 | 
				
			||||||
            result
 | 
					      yield r'nextpage';
 | 
				
			||||||
                ..add(r'nextpage')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.nextpage,
 | 
					        object.nextpage,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.relatedStreams != null) {
 | 
					    if (object.relatedStreams != null) {
 | 
				
			||||||
            result
 | 
					      yield r'relatedStreams';
 | 
				
			||||||
                ..add(r'relatedStreams')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.relatedStreams,
 | 
					        object.relatedStreams,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(StreamItem)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.subscriberCount != null) {
 | 
					    if (object.subscriberCount != null) {
 | 
				
			||||||
            result
 | 
					      yield r'subscriberCount';
 | 
				
			||||||
                ..add(r'subscriberCount')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.subscriberCount,
 | 
					        object.subscriberCount,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.verified != null) {
 | 
					    if (object.verified != null) {
 | 
				
			||||||
            result
 | 
					      yield r'verified';
 | 
				
			||||||
                ..add(r'verified')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.verified,
 | 
					        object.verified,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    ChannelInfo deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = ChannelInfoBuilder();
 | 
					    ChannelInfo object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required ChannelInfoBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'avatarUrl':
 | 
					        case r'avatarUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.avatarUrl = valueDes;
 | 
					          result.avatarUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'bannerUrl':
 | 
					        case r'bannerUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.bannerUrl = valueDes;
 | 
					          result.bannerUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'description':
 | 
					        case r'description':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.description = valueDes;
 | 
					          result.description = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'id':
 | 
					        case r'id':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.id = valueDes;
 | 
					          result.id = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'name':
 | 
					        case r'name':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.name = valueDes;
 | 
					          result.name = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'nextpage':
 | 
					        case r'nextpage':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.nextpage = valueDes;
 | 
					          result.nextpage = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'relatedStreams':
 | 
					        case r'relatedStreams':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(StreamItem)])) as BuiltList<StreamItem>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<StreamItem>;
 | 
				
			||||||
          result.relatedStreams.replace(valueDes);
 | 
					          result.relatedStreams.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'subscriberCount':
 | 
					        case r'subscriberCount':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.subscriberCount = valueDes;
 | 
					          result.subscriberCount = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'verified':
 | 
					        case r'verified':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.verified = valueDes;
 | 
					          result.verified = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  ChannelInfo deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = ChannelInfoBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,6 +18,7 @@ part 'channel_item.g.dart';
 | 
				
			||||||
/// * [url] - The relative URL of the channel.
 | 
					/// * [url] - The relative URL of the channel.
 | 
				
			||||||
/// * [verified] - Whether the channel is verified.
 | 
					/// * [verified] - Whether the channel is verified.
 | 
				
			||||||
/// * [videos] - The number of videos the channel has.
 | 
					/// * [videos] - The number of videos the channel has.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class ChannelItem implements Built<ChannelItem, ChannelItemBuilder> {
 | 
					abstract class ChannelItem implements Built<ChannelItem, ChannelItemBuilder> {
 | 
				
			||||||
  /// The description of the channel.
 | 
					  /// The description of the channel.
 | 
				
			||||||
  @BuiltValueField(wireName: r'description')
 | 
					  @BuiltValueField(wireName: r'description')
 | 
				
			||||||
| 
						 | 
					@ -48,120 +50,173 @@ abstract class ChannelItem implements Built<ChannelItem, ChannelItemBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ChannelItem._();
 | 
					  ChannelItem._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory ChannelItem([void updates(ChannelItemBuilder b)]) = _$ChannelItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(ChannelItemBuilder b) => b;
 | 
					  static void _defaults(ChannelItemBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory ChannelItem([void updates(ChannelItemBuilder b)]) = _$ChannelItem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<ChannelItem> get serializer => _$ChannelItemSerializer();
 | 
					  static Serializer<ChannelItem> get serializer => _$ChannelItemSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$ChannelItemSerializer implements StructuredSerializer<ChannelItem> {
 | 
					class _$ChannelItemSerializer implements PrimitiveSerializer<ChannelItem> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [ChannelItem, _$ChannelItem];
 | 
					  final Iterable<Type> types = const [ChannelItem, _$ChannelItem];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'ChannelItem';
 | 
					  final String wireName = r'ChannelItem';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, ChannelItem object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    ChannelItem object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.description != null) {
 | 
					    if (object.description != null) {
 | 
				
			||||||
            result
 | 
					      yield r'description';
 | 
				
			||||||
                ..add(r'description')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.description,
 | 
					        object.description,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.name != null) {
 | 
					    if (object.name != null) {
 | 
				
			||||||
            result
 | 
					      yield r'name';
 | 
				
			||||||
                ..add(r'name')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.name,
 | 
					        object.name,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.subscribers != null) {
 | 
					    if (object.subscribers != null) {
 | 
				
			||||||
            result
 | 
					      yield r'subscribers';
 | 
				
			||||||
                ..add(r'subscribers')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.subscribers,
 | 
					        object.subscribers,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.thumbnail != null) {
 | 
					    if (object.thumbnail != null) {
 | 
				
			||||||
            result
 | 
					      yield r'thumbnail';
 | 
				
			||||||
                ..add(r'thumbnail')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.thumbnail,
 | 
					        object.thumbnail,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.url != null) {
 | 
					    if (object.url != null) {
 | 
				
			||||||
            result
 | 
					      yield r'url';
 | 
				
			||||||
                ..add(r'url')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.url,
 | 
					        object.url,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.verified != null) {
 | 
					    if (object.verified != null) {
 | 
				
			||||||
            result
 | 
					      yield r'verified';
 | 
				
			||||||
                ..add(r'verified')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.verified,
 | 
					        object.verified,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.videos != null) {
 | 
					    if (object.videos != null) {
 | 
				
			||||||
            result
 | 
					      yield r'videos';
 | 
				
			||||||
                ..add(r'videos')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.videos,
 | 
					        object.videos,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    ChannelItem deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = ChannelItemBuilder();
 | 
					    ChannelItem object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required ChannelItemBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'description':
 | 
					        case r'description':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.description = valueDes;
 | 
					          result.description = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'name':
 | 
					        case r'name':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.name = valueDes;
 | 
					          result.name = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'subscribers':
 | 
					        case r'subscribers':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.subscribers = valueDes;
 | 
					          result.subscribers = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'thumbnail':
 | 
					        case r'thumbnail':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.thumbnail = valueDes;
 | 
					          result.thumbnail = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'url':
 | 
					        case r'url':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.url = valueDes;
 | 
					          result.url = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'verified':
 | 
					        case r'verified':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.verified = valueDes;
 | 
					          result.verified = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'videos':
 | 
					        case r'videos':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.videos = valueDes;
 | 
					          result.videos = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  ChannelItem deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = ChannelItemBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +22,7 @@ part 'comment.g.dart';
 | 
				
			||||||
/// * [hearted] - Whether the comment was hearted by the video's uploader.
 | 
					/// * [hearted] - Whether the comment was hearted by the video's uploader.
 | 
				
			||||||
/// * [pinned] - Whether the comment was pinned by the video's uploader.
 | 
					/// * [pinned] - Whether the comment was pinned by the video's uploader.
 | 
				
			||||||
/// * [verified] - Whether the author of the comment is verified.
 | 
					/// * [verified] - Whether the author of the comment is verified.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class Comment implements Built<Comment, CommentBuilder> {
 | 
					abstract class Comment implements Built<Comment, CommentBuilder> {
 | 
				
			||||||
  /// The name of the author of the comment.
 | 
					  /// The name of the author of the comment.
 | 
				
			||||||
  @BuiltValueField(wireName: r'author')
 | 
					  @BuiltValueField(wireName: r'author')
 | 
				
			||||||
| 
						 | 
					@ -68,164 +70,229 @@ abstract class Comment implements Built<Comment, CommentBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Comment._();
 | 
					  Comment._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory Comment([void updates(CommentBuilder b)]) = _$Comment;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(CommentBuilder b) => b;
 | 
					  static void _defaults(CommentBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory Comment([void updates(CommentBuilder b)]) = _$Comment;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<Comment> get serializer => _$CommentSerializer();
 | 
					  static Serializer<Comment> get serializer => _$CommentSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$CommentSerializer implements StructuredSerializer<Comment> {
 | 
					class _$CommentSerializer implements PrimitiveSerializer<Comment> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [Comment, _$Comment];
 | 
					  final Iterable<Type> types = const [Comment, _$Comment];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'Comment';
 | 
					  final String wireName = r'Comment';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, Comment object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Comment object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.author != null) {
 | 
					    if (object.author != null) {
 | 
				
			||||||
            result
 | 
					      yield r'author';
 | 
				
			||||||
                ..add(r'author')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.author,
 | 
					        object.author,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.thumbnail != null) {
 | 
					    if (object.thumbnail != null) {
 | 
				
			||||||
            result
 | 
					      yield r'thumbnail';
 | 
				
			||||||
                ..add(r'thumbnail')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.thumbnail,
 | 
					        object.thumbnail,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.commentId != null) {
 | 
					    if (object.commentId != null) {
 | 
				
			||||||
            result
 | 
					      yield r'commentId';
 | 
				
			||||||
                ..add(r'commentId')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.commentId,
 | 
					        object.commentId,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.commentText != null) {
 | 
					    if (object.commentText != null) {
 | 
				
			||||||
            result
 | 
					      yield r'commentText';
 | 
				
			||||||
                ..add(r'commentText')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.commentText,
 | 
					        object.commentText,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.commentedTime != null) {
 | 
					    if (object.commentedTime != null) {
 | 
				
			||||||
            result
 | 
					      yield r'commentedTime';
 | 
				
			||||||
                ..add(r'commentedTime')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.commentedTime,
 | 
					        object.commentedTime,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.commentorUrl != null) {
 | 
					    if (object.commentorUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'commentorUrl';
 | 
				
			||||||
                ..add(r'commentorUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.commentorUrl,
 | 
					        object.commentorUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.repliesPage != null) {
 | 
					    if (object.repliesPage != null) {
 | 
				
			||||||
            result
 | 
					      yield r'repliesPage';
 | 
				
			||||||
                ..add(r'repliesPage')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.repliesPage,
 | 
					        object.repliesPage,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.likeCount != null) {
 | 
					    if (object.likeCount != null) {
 | 
				
			||||||
            result
 | 
					      yield r'likeCount';
 | 
				
			||||||
                ..add(r'likeCount')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.likeCount,
 | 
					        object.likeCount,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.hearted != null) {
 | 
					    if (object.hearted != null) {
 | 
				
			||||||
            result
 | 
					      yield r'hearted';
 | 
				
			||||||
                ..add(r'hearted')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.hearted,
 | 
					        object.hearted,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.pinned != null) {
 | 
					    if (object.pinned != null) {
 | 
				
			||||||
            result
 | 
					      yield r'pinned';
 | 
				
			||||||
                ..add(r'pinned')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.pinned,
 | 
					        object.pinned,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.verified != null) {
 | 
					    if (object.verified != null) {
 | 
				
			||||||
            result
 | 
					      yield r'verified';
 | 
				
			||||||
                ..add(r'verified')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.verified,
 | 
					        object.verified,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    Comment deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = CommentBuilder();
 | 
					    Comment object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required CommentBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'author':
 | 
					        case r'author':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.author = valueDes;
 | 
					          result.author = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'thumbnail':
 | 
					        case r'thumbnail':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.thumbnail = valueDes;
 | 
					          result.thumbnail = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'commentId':
 | 
					        case r'commentId':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.commentId = valueDes;
 | 
					          result.commentId = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'commentText':
 | 
					        case r'commentText':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.commentText = valueDes;
 | 
					          result.commentText = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'commentedTime':
 | 
					        case r'commentedTime':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.commentedTime = valueDes;
 | 
					          result.commentedTime = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'commentorUrl':
 | 
					        case r'commentorUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.commentorUrl = valueDes;
 | 
					          result.commentorUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'repliesPage':
 | 
					        case r'repliesPage':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.repliesPage = valueDes;
 | 
					          result.repliesPage = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'likeCount':
 | 
					        case r'likeCount':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.likeCount = valueDes;
 | 
					          result.likeCount = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'hearted':
 | 
					        case r'hearted':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.hearted = valueDes;
 | 
					          result.hearted = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'pinned':
 | 
					        case r'pinned':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.pinned = valueDes;
 | 
					          result.pinned = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'verified':
 | 
					        case r'verified':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.verified = valueDes;
 | 
					          result.verified = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  Comment deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = CommentBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:piped_api/src/model/comment.dart';
 | 
					import 'package:piped_api/src/model/comment.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
| 
						 | 
					@ -15,6 +16,7 @@ part 'comments_page.g.dart';
 | 
				
			||||||
/// * [comments] 
 | 
					/// * [comments] 
 | 
				
			||||||
/// * [nextpage] - The parameter used to get the next page of comments.
 | 
					/// * [nextpage] - The parameter used to get the next page of comments.
 | 
				
			||||||
/// * [disabled] - Whether or not comments are disabled on the video.
 | 
					/// * [disabled] - Whether or not comments are disabled on the video.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class CommentsPage implements Built<CommentsPage, CommentsPageBuilder> {
 | 
					abstract class CommentsPage implements Built<CommentsPage, CommentsPageBuilder> {
 | 
				
			||||||
  @BuiltValueField(wireName: r'comments')
 | 
					  @BuiltValueField(wireName: r'comments')
 | 
				
			||||||
  BuiltList<Comment>? get comments;
 | 
					  BuiltList<Comment>? get comments;
 | 
				
			||||||
| 
						 | 
					@ -29,77 +31,118 @@ abstract class CommentsPage implements Built<CommentsPage, CommentsPageBuilder>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  CommentsPage._();
 | 
					  CommentsPage._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory CommentsPage([void updates(CommentsPageBuilder b)]) = _$CommentsPage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(CommentsPageBuilder b) => b;
 | 
					  static void _defaults(CommentsPageBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory CommentsPage([void updates(CommentsPageBuilder b)]) = _$CommentsPage;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<CommentsPage> get serializer => _$CommentsPageSerializer();
 | 
					  static Serializer<CommentsPage> get serializer => _$CommentsPageSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$CommentsPageSerializer implements StructuredSerializer<CommentsPage> {
 | 
					class _$CommentsPageSerializer implements PrimitiveSerializer<CommentsPage> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [CommentsPage, _$CommentsPage];
 | 
					  final Iterable<Type> types = const [CommentsPage, _$CommentsPage];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'CommentsPage';
 | 
					  final String wireName = r'CommentsPage';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, CommentsPage object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    CommentsPage object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.comments != null) {
 | 
					    if (object.comments != null) {
 | 
				
			||||||
            result
 | 
					      yield r'comments';
 | 
				
			||||||
                ..add(r'comments')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.comments,
 | 
					        object.comments,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(Comment)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(Comment)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.nextpage != null) {
 | 
					    if (object.nextpage != null) {
 | 
				
			||||||
            result
 | 
					      yield r'nextpage';
 | 
				
			||||||
                ..add(r'nextpage')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.nextpage,
 | 
					        object.nextpage,
 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					        specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.disabled != null) {
 | 
					    if (object.disabled != null) {
 | 
				
			||||||
            result
 | 
					      yield r'disabled';
 | 
				
			||||||
                ..add(r'disabled')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.disabled,
 | 
					        object.disabled,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    CommentsPage deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = CommentsPageBuilder();
 | 
					    CommentsPage object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required CommentsPageBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'comments':
 | 
					        case r'comments':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(Comment)])) as BuiltList<Comment>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(Comment)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<Comment>;
 | 
				
			||||||
          result.comments.replace(valueDes);
 | 
					          result.comments.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'nextpage':
 | 
					        case r'nextpage':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					          ) as String?;
 | 
				
			||||||
          if (valueDes == null) continue;
 | 
					          if (valueDes == null) continue;
 | 
				
			||||||
          result.nextpage = valueDes;
 | 
					          result.nextpage = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'disabled':
 | 
					        case r'disabled':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.disabled = valueDes;
 | 
					          result.disabled = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  CommentsPage deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = CommentsPageBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +13,7 @@ part 'exception_error.g.dart';
 | 
				
			||||||
/// Properties:
 | 
					/// Properties:
 | 
				
			||||||
/// * [error] - The stacktrace provided by the server.
 | 
					/// * [error] - The stacktrace provided by the server.
 | 
				
			||||||
/// * [message] - The error message from the stacktrace.
 | 
					/// * [message] - The error message from the stacktrace.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class ExceptionError implements Built<ExceptionError, ExceptionErrorBuilder> {
 | 
					abstract class ExceptionError implements Built<ExceptionError, ExceptionErrorBuilder> {
 | 
				
			||||||
  /// The stacktrace provided by the server.
 | 
					  /// The stacktrace provided by the server.
 | 
				
			||||||
  @BuiltValueField(wireName: r'error')
 | 
					  @BuiltValueField(wireName: r'error')
 | 
				
			||||||
| 
						 | 
					@ -23,61 +25,99 @@ abstract class ExceptionError implements Built<ExceptionError, ExceptionErrorBui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ExceptionError._();
 | 
					  ExceptionError._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory ExceptionError([void updates(ExceptionErrorBuilder b)]) = _$ExceptionError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(ExceptionErrorBuilder b) => b;
 | 
					  static void _defaults(ExceptionErrorBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory ExceptionError([void updates(ExceptionErrorBuilder b)]) = _$ExceptionError;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<ExceptionError> get serializer => _$ExceptionErrorSerializer();
 | 
					  static Serializer<ExceptionError> get serializer => _$ExceptionErrorSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$ExceptionErrorSerializer implements StructuredSerializer<ExceptionError> {
 | 
					class _$ExceptionErrorSerializer implements PrimitiveSerializer<ExceptionError> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [ExceptionError, _$ExceptionError];
 | 
					  final Iterable<Type> types = const [ExceptionError, _$ExceptionError];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'ExceptionError';
 | 
					  final String wireName = r'ExceptionError';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, ExceptionError object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    ExceptionError object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        result
 | 
					  }) sync* {
 | 
				
			||||||
            ..add(r'error')
 | 
					    yield r'error';
 | 
				
			||||||
            ..add(serializers.serialize(object.error,
 | 
					    yield serializers.serialize(
 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					      object.error,
 | 
				
			||||||
        result
 | 
					      specifiedType: const FullType(String),
 | 
				
			||||||
            ..add(r'message')
 | 
					    );
 | 
				
			||||||
            ..add(serializers.serialize(object.message,
 | 
					    yield r'message';
 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					    yield serializers.serialize(
 | 
				
			||||||
        return result;
 | 
					      object.message,
 | 
				
			||||||
 | 
					      specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    ExceptionError deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = ExceptionErrorBuilder();
 | 
					    ExceptionError object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required ExceptionErrorBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'error':
 | 
					        case r'error':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.error = valueDes;
 | 
					          result.error = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'message':
 | 
					        case r'message':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.message = valueDes;
 | 
					          result.message = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  ExceptionError deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = ExceptionErrorBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +15,7 @@ part 'playlist_item.g.dart';
 | 
				
			||||||
/// * [thumbnail] - The thumbnail of the playlist.
 | 
					/// * [thumbnail] - The thumbnail of the playlist.
 | 
				
			||||||
/// * [url] - The relative URL of the playlist.
 | 
					/// * [url] - The relative URL of the playlist.
 | 
				
			||||||
/// * [videos] - The number of videos in the playlist.
 | 
					/// * [videos] - The number of videos in the playlist.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class PlaylistItem implements Built<PlaylistItem, PlaylistItemBuilder> {
 | 
					abstract class PlaylistItem implements Built<PlaylistItem, PlaylistItemBuilder> {
 | 
				
			||||||
  /// The name of the playlist.
 | 
					  /// The name of the playlist.
 | 
				
			||||||
  @BuiltValueField(wireName: r'name')
 | 
					  @BuiltValueField(wireName: r'name')
 | 
				
			||||||
| 
						 | 
					@ -33,87 +35,131 @@ abstract class PlaylistItem implements Built<PlaylistItem, PlaylistItemBuilder>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  PlaylistItem._();
 | 
					  PlaylistItem._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory PlaylistItem([void updates(PlaylistItemBuilder b)]) = _$PlaylistItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(PlaylistItemBuilder b) => b;
 | 
					  static void _defaults(PlaylistItemBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory PlaylistItem([void updates(PlaylistItemBuilder b)]) = _$PlaylistItem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<PlaylistItem> get serializer => _$PlaylistItemSerializer();
 | 
					  static Serializer<PlaylistItem> get serializer => _$PlaylistItemSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$PlaylistItemSerializer implements StructuredSerializer<PlaylistItem> {
 | 
					class _$PlaylistItemSerializer implements PrimitiveSerializer<PlaylistItem> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [PlaylistItem, _$PlaylistItem];
 | 
					  final Iterable<Type> types = const [PlaylistItem, _$PlaylistItem];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'PlaylistItem';
 | 
					  final String wireName = r'PlaylistItem';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, PlaylistItem object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    PlaylistItem object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.name != null) {
 | 
					    if (object.name != null) {
 | 
				
			||||||
            result
 | 
					      yield r'name';
 | 
				
			||||||
                ..add(r'name')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.name,
 | 
					        object.name,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.thumbnail != null) {
 | 
					    if (object.thumbnail != null) {
 | 
				
			||||||
            result
 | 
					      yield r'thumbnail';
 | 
				
			||||||
                ..add(r'thumbnail')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.thumbnail,
 | 
					        object.thumbnail,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.url != null) {
 | 
					    if (object.url != null) {
 | 
				
			||||||
            result
 | 
					      yield r'url';
 | 
				
			||||||
                ..add(r'url')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.url,
 | 
					        object.url,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.videos != null) {
 | 
					    if (object.videos != null) {
 | 
				
			||||||
            result
 | 
					      yield r'videos';
 | 
				
			||||||
                ..add(r'videos')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.videos,
 | 
					        object.videos,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    PlaylistItem deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = PlaylistItemBuilder();
 | 
					    PlaylistItem object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required PlaylistItemBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'name':
 | 
					        case r'name':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.name = valueDes;
 | 
					          result.name = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'thumbnail':
 | 
					        case r'thumbnail':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.thumbnail = valueDes;
 | 
					          result.thumbnail = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'url':
 | 
					        case r'url':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.url = valueDes;
 | 
					          result.url = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'videos':
 | 
					        case r'videos':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.videos = valueDes;
 | 
					          result.videos = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  PlaylistItem deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = PlaylistItemBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,11 +2,13 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:piped_api/src/model/stream_item.dart';
 | 
					import 'package:piped_api/src/model/stream_item.dart';
 | 
				
			||||||
import 'package:piped_api/src/model/channel_item.dart';
 | 
					import 'package:piped_api/src/model/channel_item.dart';
 | 
				
			||||||
import 'package:piped_api/src/model/playlist_item.dart';
 | 
					import 'package:piped_api/src/model/playlist_item.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					import 'package:one_of/one_of.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
part 'search_item.g.dart';
 | 
					part 'search_item.g.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,280 +31,57 @@ part 'search_item.g.dart';
 | 
				
			||||||
/// * [subscribers] - The number of subscribers the channel has.
 | 
					/// * [subscribers] - The number of subscribers the channel has.
 | 
				
			||||||
/// * [verified] - Whether the channel is verified.
 | 
					/// * [verified] - Whether the channel is verified.
 | 
				
			||||||
/// * [videos] - The number of videos in the playlist.
 | 
					/// * [videos] - The number of videos in the playlist.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class SearchItem implements Built<SearchItem, SearchItemBuilder> {
 | 
					abstract class SearchItem implements Built<SearchItem, SearchItemBuilder> {
 | 
				
			||||||
    /// The duration of the video in seconds.
 | 
					  /// One Of [ChannelItem], [PlaylistItem], [StreamItem]
 | 
				
			||||||
    @BuiltValueField(wireName: r'duration')
 | 
					  OneOf get oneOf;
 | 
				
			||||||
    int get duration;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The thumbnail of the playlist.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'thumbnail')
 | 
					 | 
				
			||||||
    String get thumbnail;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The title of the video.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'title')
 | 
					 | 
				
			||||||
    String get title;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The date in unix epoch the video was uploaded.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'uploaded')
 | 
					 | 
				
			||||||
    int? get uploaded;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The relative date the video was uploaded on.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'uploadedDate')
 | 
					 | 
				
			||||||
    String? get uploadedDate;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The avatar of the channel of the video.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'uploaderAvatar')
 | 
					 | 
				
			||||||
    String? get uploaderAvatar;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The name of the channel of the video.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'uploaderName')
 | 
					 | 
				
			||||||
    String? get uploaderName;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The relative URL of the channel of the video.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'uploaderUrl')
 | 
					 | 
				
			||||||
    String? get uploaderUrl;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// Whether or not the channel has a verified badge.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'uploaderVerified')
 | 
					 | 
				
			||||||
    bool? get uploaderVerified;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The relative URL of the playlist.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'url')
 | 
					 | 
				
			||||||
    String get url;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The number of views the video has.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'views')
 | 
					 | 
				
			||||||
    int? get views;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The description of the channel.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'description')
 | 
					 | 
				
			||||||
    String? get description;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The name of the playlist.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'name')
 | 
					 | 
				
			||||||
    String? get name;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The number of subscribers the channel has.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'subscribers')
 | 
					 | 
				
			||||||
    int? get subscribers;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// Whether the channel is verified.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'verified')
 | 
					 | 
				
			||||||
    bool? get verified;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /// The number of videos in the playlist.
 | 
					 | 
				
			||||||
    @BuiltValueField(wireName: r'videos')
 | 
					 | 
				
			||||||
    int? get videos;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  SearchItem._();
 | 
					  SearchItem._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory SearchItem([void updates(SearchItemBuilder b)]) = _$SearchItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(SearchItemBuilder b) => b;
 | 
					  static void _defaults(SearchItemBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory SearchItem([void updates(SearchItemBuilder b)]) = _$SearchItem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<SearchItem> get serializer => _$SearchItemSerializer();
 | 
					  static Serializer<SearchItem> get serializer => _$SearchItemSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$SearchItemSerializer implements StructuredSerializer<SearchItem> {
 | 
					class _$SearchItemSerializer implements PrimitiveSerializer<SearchItem> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [SearchItem, _$SearchItem];
 | 
					  final Iterable<Type> types = const [SearchItem, _$SearchItem];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'SearchItem';
 | 
					  final String wireName = r'SearchItem';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, SearchItem object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    SearchItem object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        result
 | 
					  }) sync* {
 | 
				
			||||||
            ..add(r'duration')
 | 
					 | 
				
			||||||
            ..add(serializers.serialize(object.duration,
 | 
					 | 
				
			||||||
                specifiedType: const FullType(int)));
 | 
					 | 
				
			||||||
        result
 | 
					 | 
				
			||||||
            ..add(r'thumbnail')
 | 
					 | 
				
			||||||
            ..add(serializers.serialize(object.thumbnail,
 | 
					 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        result
 | 
					 | 
				
			||||||
            ..add(r'title')
 | 
					 | 
				
			||||||
            ..add(serializers.serialize(object.title,
 | 
					 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        if (object.uploaded != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'uploaded')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.uploaded,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.uploadedDate != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'uploadedDate')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.uploadedDate,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.uploaderAvatar != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'uploaderAvatar')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderAvatar,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.uploaderName != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'uploaderName')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderName,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.uploaderUrl != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'uploaderUrl')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderUrl,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.uploaderVerified != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'uploaderVerified')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderVerified,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        result
 | 
					 | 
				
			||||||
            ..add(r'url')
 | 
					 | 
				
			||||||
            ..add(serializers.serialize(object.url,
 | 
					 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        if (object.views != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'views')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.views,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.description != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'description')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.description,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.name != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'name')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.name,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.subscribers != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'subscribers')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.subscribers,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.verified != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'verified')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.verified,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if (object.videos != null) {
 | 
					 | 
				
			||||||
            result
 | 
					 | 
				
			||||||
                ..add(r'videos')
 | 
					 | 
				
			||||||
                ..add(serializers.serialize(object.videos,
 | 
					 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    SearchItem deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    SearchItem object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final oneOf = object.oneOf;
 | 
				
			||||||
 | 
					    return serializers.serialize(oneOf.value, specifiedType: FullType(oneOf.valueType))!;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  SearchItem deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
    final result = SearchItemBuilder();
 | 
					    final result = SearchItemBuilder();
 | 
				
			||||||
 | 
					    Object? oneOfDataSrc;
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					    final targetType = const FullType(OneOf, [FullType(StreamItem), FullType(ChannelItem), FullType(PlaylistItem), ]);
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    oneOfDataSrc = serialized;
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					    result.oneOf = serializers.deserialize(oneOfDataSrc, specifiedType: targetType) as OneOf;
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            switch (key) {
 | 
					 | 
				
			||||||
                case r'duration':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					 | 
				
			||||||
                    result.duration = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'thumbnail':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.thumbnail = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'title':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.title = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'uploaded':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					 | 
				
			||||||
                    result.uploaded = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'uploadedDate':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					 | 
				
			||||||
                    if (valueDes == null) continue;
 | 
					 | 
				
			||||||
                    result.uploadedDate = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'uploaderAvatar':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					 | 
				
			||||||
                    if (valueDes == null) continue;
 | 
					 | 
				
			||||||
                    result.uploaderAvatar = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'uploaderName':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.uploaderName = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'uploaderUrl':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.uploaderUrl = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'uploaderVerified':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					 | 
				
			||||||
                    result.uploaderVerified = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'url':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.url = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'views':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					 | 
				
			||||||
                    result.views = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'description':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.description = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'name':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					 | 
				
			||||||
                    result.name = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'subscribers':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					 | 
				
			||||||
                    result.subscribers = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'verified':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					 | 
				
			||||||
                    result.verified = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                case r'videos':
 | 
					 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					 | 
				
			||||||
                    result.videos = valueDes;
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:piped_api/src/model/search_item.dart';
 | 
					import 'package:piped_api/src/model/search_item.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
| 
						 | 
					@ -16,6 +17,7 @@ part 'search_page.g.dart';
 | 
				
			||||||
/// * [items] 
 | 
					/// * [items] 
 | 
				
			||||||
/// * [nextpage] - The parameter used to get the next page of this page.
 | 
					/// * [nextpage] - The parameter used to get the next page of this page.
 | 
				
			||||||
/// * [suggestion] - The suggested search query.
 | 
					/// * [suggestion] - The suggested search query.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class SearchPage implements Built<SearchPage, SearchPageBuilder> {
 | 
					abstract class SearchPage implements Built<SearchPage, SearchPageBuilder> {
 | 
				
			||||||
  /// Whether the search query was corrected.
 | 
					  /// Whether the search query was corrected.
 | 
				
			||||||
  @BuiltValueField(wireName: r'corrected')
 | 
					  @BuiltValueField(wireName: r'corrected')
 | 
				
			||||||
| 
						 | 
					@ -34,89 +36,133 @@ abstract class SearchPage implements Built<SearchPage, SearchPageBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  SearchPage._();
 | 
					  SearchPage._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory SearchPage([void updates(SearchPageBuilder b)]) = _$SearchPage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(SearchPageBuilder b) => b;
 | 
					  static void _defaults(SearchPageBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory SearchPage([void updates(SearchPageBuilder b)]) = _$SearchPage;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<SearchPage> get serializer => _$SearchPageSerializer();
 | 
					  static Serializer<SearchPage> get serializer => _$SearchPageSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$SearchPageSerializer implements StructuredSerializer<SearchPage> {
 | 
					class _$SearchPageSerializer implements PrimitiveSerializer<SearchPage> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [SearchPage, _$SearchPage];
 | 
					  final Iterable<Type> types = const [SearchPage, _$SearchPage];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'SearchPage';
 | 
					  final String wireName = r'SearchPage';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, SearchPage object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    SearchPage object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.corrected != null) {
 | 
					    if (object.corrected != null) {
 | 
				
			||||||
            result
 | 
					      yield r'corrected';
 | 
				
			||||||
                ..add(r'corrected')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.corrected,
 | 
					        object.corrected,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.items != null) {
 | 
					    if (object.items != null) {
 | 
				
			||||||
            result
 | 
					      yield r'items';
 | 
				
			||||||
                ..add(r'items')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.items,
 | 
					        object.items,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(SearchItem)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(SearchItem)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.nextpage != null) {
 | 
					    if (object.nextpage != null) {
 | 
				
			||||||
            result
 | 
					      yield r'nextpage';
 | 
				
			||||||
                ..add(r'nextpage')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.nextpage,
 | 
					        object.nextpage,
 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					        specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.suggestion != null) {
 | 
					    if (object.suggestion != null) {
 | 
				
			||||||
            result
 | 
					      yield r'suggestion';
 | 
				
			||||||
                ..add(r'suggestion')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.suggestion,
 | 
					        object.suggestion,
 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					        specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    SearchPage deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = SearchPageBuilder();
 | 
					    SearchPage object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required SearchPageBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'corrected':
 | 
					        case r'corrected':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.corrected = valueDes;
 | 
					          result.corrected = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'items':
 | 
					        case r'items':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(SearchItem)])) as BuiltList<SearchItem>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(SearchItem)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<SearchItem>;
 | 
				
			||||||
          result.items.replace(valueDes);
 | 
					          result.items.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'nextpage':
 | 
					        case r'nextpage':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					          ) as String?;
 | 
				
			||||||
          if (valueDes == null) continue;
 | 
					          if (valueDes == null) continue;
 | 
				
			||||||
          result.nextpage = valueDes;
 | 
					          result.nextpage = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'suggestion':
 | 
					        case r'suggestion':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					          ) as String?;
 | 
				
			||||||
          if (valueDes == null) continue;
 | 
					          if (valueDes == null) continue;
 | 
				
			||||||
          result.suggestion = valueDes;
 | 
					          result.suggestion = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  SearchPage deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = SearchPageBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
| 
						 | 
					@ -25,6 +26,7 @@ part 'stream.g.dart';
 | 
				
			||||||
/// * [width] 
 | 
					/// * [width] 
 | 
				
			||||||
/// * [height] 
 | 
					/// * [height] 
 | 
				
			||||||
/// * [fps] 
 | 
					/// * [fps] 
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class Stream implements Built<Stream, StreamBuilder> {
 | 
					abstract class Stream implements Built<Stream, StreamBuilder> {
 | 
				
			||||||
  /// The URL of the stream.
 | 
					  /// The URL of the stream.
 | 
				
			||||||
  @BuiltValueField(wireName: r'url')
 | 
					  @BuiltValueField(wireName: r'url')
 | 
				
			||||||
| 
						 | 
					@ -76,197 +78,271 @@ abstract class Stream implements Built<Stream, StreamBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Stream._();
 | 
					  Stream._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory Stream([void updates(StreamBuilder b)]) = _$Stream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(StreamBuilder b) => b;
 | 
					  static void _defaults(StreamBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory Stream([void updates(StreamBuilder b)]) = _$Stream;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<Stream> get serializer => _$StreamSerializer();
 | 
					  static Serializer<Stream> get serializer => _$StreamSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$StreamSerializer implements StructuredSerializer<Stream> {
 | 
					class _$StreamSerializer implements PrimitiveSerializer<Stream> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [Stream, _$Stream];
 | 
					  final Iterable<Type> types = const [Stream, _$Stream];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'Stream';
 | 
					  final String wireName = r'Stream';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, Stream object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Stream object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.url != null) {
 | 
					    if (object.url != null) {
 | 
				
			||||||
            result
 | 
					      yield r'url';
 | 
				
			||||||
                ..add(r'url')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.url,
 | 
					        object.url,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.format != null) {
 | 
					    if (object.format != null) {
 | 
				
			||||||
            result
 | 
					      yield r'format';
 | 
				
			||||||
                ..add(r'format')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.format,
 | 
					        object.format,
 | 
				
			||||||
                    specifiedType: const FullType(StreamFormatEnum)));
 | 
					        specifiedType: const FullType(StreamFormatEnum),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.quality != null) {
 | 
					    if (object.quality != null) {
 | 
				
			||||||
            result
 | 
					      yield r'quality';
 | 
				
			||||||
                ..add(r'quality')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.quality,
 | 
					        object.quality,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.mimeType != null) {
 | 
					    if (object.mimeType != null) {
 | 
				
			||||||
            result
 | 
					      yield r'mimeType';
 | 
				
			||||||
                ..add(r'mimeType')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.mimeType,
 | 
					        object.mimeType,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.codec != null) {
 | 
					    if (object.codec != null) {
 | 
				
			||||||
            result
 | 
					      yield r'codec';
 | 
				
			||||||
                ..add(r'codec')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.codec,
 | 
					        object.codec,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.videoOnly != null) {
 | 
					    if (object.videoOnly != null) {
 | 
				
			||||||
            result
 | 
					      yield r'videoOnly';
 | 
				
			||||||
                ..add(r'videoOnly')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.videoOnly,
 | 
					        object.videoOnly,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.bitrate != null) {
 | 
					    if (object.bitrate != null) {
 | 
				
			||||||
            result
 | 
					      yield r'bitrate';
 | 
				
			||||||
                ..add(r'bitrate')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.bitrate,
 | 
					        object.bitrate,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.initStart != null) {
 | 
					    if (object.initStart != null) {
 | 
				
			||||||
            result
 | 
					      yield r'initStart';
 | 
				
			||||||
                ..add(r'initStart')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.initStart,
 | 
					        object.initStart,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.initEnd != null) {
 | 
					    if (object.initEnd != null) {
 | 
				
			||||||
            result
 | 
					      yield r'initEnd';
 | 
				
			||||||
                ..add(r'initEnd')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.initEnd,
 | 
					        object.initEnd,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.indexStart != null) {
 | 
					    if (object.indexStart != null) {
 | 
				
			||||||
            result
 | 
					      yield r'indexStart';
 | 
				
			||||||
                ..add(r'indexStart')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.indexStart,
 | 
					        object.indexStart,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.indexEnd != null) {
 | 
					    if (object.indexEnd != null) {
 | 
				
			||||||
            result
 | 
					      yield r'indexEnd';
 | 
				
			||||||
                ..add(r'indexEnd')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.indexEnd,
 | 
					        object.indexEnd,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.width != null) {
 | 
					    if (object.width != null) {
 | 
				
			||||||
            result
 | 
					      yield r'width';
 | 
				
			||||||
                ..add(r'width')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.width,
 | 
					        object.width,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.height != null) {
 | 
					    if (object.height != null) {
 | 
				
			||||||
            result
 | 
					      yield r'height';
 | 
				
			||||||
                ..add(r'height')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.height,
 | 
					        object.height,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.fps != null) {
 | 
					    if (object.fps != null) {
 | 
				
			||||||
            result
 | 
					      yield r'fps';
 | 
				
			||||||
                ..add(r'fps')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.fps,
 | 
					        object.fps,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    Stream deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = StreamBuilder();
 | 
					    Stream object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required StreamBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'url':
 | 
					        case r'url':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.url = valueDes;
 | 
					          result.url = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'format':
 | 
					        case r'format':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(StreamFormatEnum)) as StreamFormatEnum;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(StreamFormatEnum),
 | 
				
			||||||
 | 
					          ) as StreamFormatEnum;
 | 
				
			||||||
          result.format = valueDes;
 | 
					          result.format = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'quality':
 | 
					        case r'quality':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.quality = valueDes;
 | 
					          result.quality = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'mimeType':
 | 
					        case r'mimeType':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.mimeType = valueDes;
 | 
					          result.mimeType = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'codec':
 | 
					        case r'codec':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.codec = valueDes;
 | 
					          result.codec = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'videoOnly':
 | 
					        case r'videoOnly':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.videoOnly = valueDes;
 | 
					          result.videoOnly = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'bitrate':
 | 
					        case r'bitrate':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.bitrate = valueDes;
 | 
					          result.bitrate = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'initStart':
 | 
					        case r'initStart':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.initStart = valueDes;
 | 
					          result.initStart = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'initEnd':
 | 
					        case r'initEnd':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.initEnd = valueDes;
 | 
					          result.initEnd = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'indexStart':
 | 
					        case r'indexStart':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.indexStart = valueDes;
 | 
					          result.indexStart = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'indexEnd':
 | 
					        case r'indexEnd':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.indexEnd = valueDes;
 | 
					          result.indexEnd = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'width':
 | 
					        case r'width':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.width = valueDes;
 | 
					          result.width = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'height':
 | 
					        case r'height':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.height = valueDes;
 | 
					          result.height = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'fps':
 | 
					        case r'fps':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.fps = valueDes;
 | 
					          result.fps = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  Stream deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = StreamBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +22,7 @@ part 'stream_item.g.dart';
 | 
				
			||||||
/// * [uploaderVerified] - Whether or not the channel has a verified badge.
 | 
					/// * [uploaderVerified] - Whether or not the channel has a verified badge.
 | 
				
			||||||
/// * [url] - The relative URL to the video.
 | 
					/// * [url] - The relative URL to the video.
 | 
				
			||||||
/// * [views] - The number of views the video has.
 | 
					/// * [views] - The number of views the video has.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class StreamItem implements Built<StreamItem, StreamItemBuilder> {
 | 
					abstract class StreamItem implements Built<StreamItem, StreamItemBuilder> {
 | 
				
			||||||
  /// The duration of the video in seconds.
 | 
					  /// The duration of the video in seconds.
 | 
				
			||||||
  @BuiltValueField(wireName: r'duration')
 | 
					  @BuiltValueField(wireName: r'duration')
 | 
				
			||||||
| 
						 | 
					@ -68,158 +70,223 @@ abstract class StreamItem implements Built<StreamItem, StreamItemBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  StreamItem._();
 | 
					  StreamItem._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory StreamItem([void updates(StreamItemBuilder b)]) = _$StreamItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(StreamItemBuilder b) => b;
 | 
					  static void _defaults(StreamItemBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory StreamItem([void updates(StreamItemBuilder b)]) = _$StreamItem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<StreamItem> get serializer => _$StreamItemSerializer();
 | 
					  static Serializer<StreamItem> get serializer => _$StreamItemSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$StreamItemSerializer implements StructuredSerializer<StreamItem> {
 | 
					class _$StreamItemSerializer implements PrimitiveSerializer<StreamItem> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [StreamItem, _$StreamItem];
 | 
					  final Iterable<Type> types = const [StreamItem, _$StreamItem];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'StreamItem';
 | 
					  final String wireName = r'StreamItem';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, StreamItem object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    StreamItem object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        result
 | 
					  }) sync* {
 | 
				
			||||||
            ..add(r'duration')
 | 
					    yield r'duration';
 | 
				
			||||||
            ..add(serializers.serialize(object.duration,
 | 
					    yield serializers.serialize(
 | 
				
			||||||
                specifiedType: const FullType(int)));
 | 
					      object.duration,
 | 
				
			||||||
        result
 | 
					      specifiedType: const FullType(int),
 | 
				
			||||||
            ..add(r'thumbnail')
 | 
					    );
 | 
				
			||||||
            ..add(serializers.serialize(object.thumbnail,
 | 
					    yield r'thumbnail';
 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					    yield serializers.serialize(
 | 
				
			||||||
        result
 | 
					      object.thumbnail,
 | 
				
			||||||
            ..add(r'title')
 | 
					      specifiedType: const FullType(String),
 | 
				
			||||||
            ..add(serializers.serialize(object.title,
 | 
					    );
 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					    yield r'title';
 | 
				
			||||||
 | 
					    yield serializers.serialize(
 | 
				
			||||||
 | 
					      object.title,
 | 
				
			||||||
 | 
					      specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    if (object.uploaded != null) {
 | 
					    if (object.uploaded != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaded';
 | 
				
			||||||
                ..add(r'uploaded')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaded,
 | 
					        object.uploaded,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploadedDate != null) {
 | 
					    if (object.uploadedDate != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploadedDate';
 | 
				
			||||||
                ..add(r'uploadedDate')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploadedDate,
 | 
					        object.uploadedDate,
 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					        specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderAvatar != null) {
 | 
					    if (object.uploaderAvatar != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderAvatar';
 | 
				
			||||||
                ..add(r'uploaderAvatar')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderAvatar,
 | 
					        object.uploaderAvatar,
 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					        specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderName != null) {
 | 
					    if (object.uploaderName != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderName';
 | 
				
			||||||
                ..add(r'uploaderName')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderName,
 | 
					        object.uploaderName,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderUrl != null) {
 | 
					    if (object.uploaderUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderUrl';
 | 
				
			||||||
                ..add(r'uploaderUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderUrl,
 | 
					        object.uploaderUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderVerified != null) {
 | 
					    if (object.uploaderVerified != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderVerified';
 | 
				
			||||||
                ..add(r'uploaderVerified')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderVerified,
 | 
					        object.uploaderVerified,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        result
 | 
					    yield r'url';
 | 
				
			||||||
            ..add(r'url')
 | 
					    yield serializers.serialize(
 | 
				
			||||||
            ..add(serializers.serialize(object.url,
 | 
					      object.url,
 | 
				
			||||||
                specifiedType: const FullType(String)));
 | 
					      specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    if (object.views != null) {
 | 
					    if (object.views != null) {
 | 
				
			||||||
            result
 | 
					      yield r'views';
 | 
				
			||||||
                ..add(r'views')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.views,
 | 
					        object.views,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    StreamItem deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = StreamItemBuilder();
 | 
					    StreamItem object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required StreamItemBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'duration':
 | 
					        case r'duration':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.duration = valueDes;
 | 
					          result.duration = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'thumbnail':
 | 
					        case r'thumbnail':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.thumbnail = valueDes;
 | 
					          result.thumbnail = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'title':
 | 
					        case r'title':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.title = valueDes;
 | 
					          result.title = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaded':
 | 
					        case r'uploaded':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.uploaded = valueDes;
 | 
					          result.uploaded = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploadedDate':
 | 
					        case r'uploadedDate':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					          ) as String?;
 | 
				
			||||||
          if (valueDes == null) continue;
 | 
					          if (valueDes == null) continue;
 | 
				
			||||||
          result.uploadedDate = valueDes;
 | 
					          result.uploadedDate = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderAvatar':
 | 
					        case r'uploaderAvatar':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					          ) as String?;
 | 
				
			||||||
          if (valueDes == null) continue;
 | 
					          if (valueDes == null) continue;
 | 
				
			||||||
          result.uploaderAvatar = valueDes;
 | 
					          result.uploaderAvatar = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderName':
 | 
					        case r'uploaderName':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.uploaderName = valueDes;
 | 
					          result.uploaderName = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderUrl':
 | 
					        case r'uploaderUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.uploaderUrl = valueDes;
 | 
					          result.uploaderUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderVerified':
 | 
					        case r'uploaderVerified':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.uploaderVerified = valueDes;
 | 
					          result.uploaderVerified = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'url':
 | 
					        case r'url':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.url = valueDes;
 | 
					          result.url = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'views':
 | 
					        case r'views':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.views = valueDes;
 | 
					          result.views = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  StreamItem deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = StreamItemBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:piped_api/src/model/stream_item.dart';
 | 
					import 'package:piped_api/src/model/stream_item.dart';
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
| 
						 | 
					@ -14,6 +15,7 @@ part 'streams_page.g.dart';
 | 
				
			||||||
/// Properties:
 | 
					/// Properties:
 | 
				
			||||||
/// * [relatedStreams] 
 | 
					/// * [relatedStreams] 
 | 
				
			||||||
/// * [nextpage] - The parameter used to get the next page of this page.
 | 
					/// * [nextpage] - The parameter used to get the next page of this page.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class StreamsPage implements Built<StreamsPage, StreamsPageBuilder> {
 | 
					abstract class StreamsPage implements Built<StreamsPage, StreamsPageBuilder> {
 | 
				
			||||||
  @BuiltValueField(wireName: r'relatedStreams')
 | 
					  @BuiltValueField(wireName: r'relatedStreams')
 | 
				
			||||||
  BuiltList<StreamItem>? get relatedStreams;
 | 
					  BuiltList<StreamItem>? get relatedStreams;
 | 
				
			||||||
| 
						 | 
					@ -24,66 +26,104 @@ abstract class StreamsPage implements Built<StreamsPage, StreamsPageBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  StreamsPage._();
 | 
					  StreamsPage._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory StreamsPage([void updates(StreamsPageBuilder b)]) = _$StreamsPage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(StreamsPageBuilder b) => b;
 | 
					  static void _defaults(StreamsPageBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory StreamsPage([void updates(StreamsPageBuilder b)]) = _$StreamsPage;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<StreamsPage> get serializer => _$StreamsPageSerializer();
 | 
					  static Serializer<StreamsPage> get serializer => _$StreamsPageSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$StreamsPageSerializer implements StructuredSerializer<StreamsPage> {
 | 
					class _$StreamsPageSerializer implements PrimitiveSerializer<StreamsPage> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [StreamsPage, _$StreamsPage];
 | 
					  final Iterable<Type> types = const [StreamsPage, _$StreamsPage];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'StreamsPage';
 | 
					  final String wireName = r'StreamsPage';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, StreamsPage object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    StreamsPage object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.relatedStreams != null) {
 | 
					    if (object.relatedStreams != null) {
 | 
				
			||||||
            result
 | 
					      yield r'relatedStreams';
 | 
				
			||||||
                ..add(r'relatedStreams')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.relatedStreams,
 | 
					        object.relatedStreams,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(StreamItem)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.nextpage != null) {
 | 
					    if (object.nextpage != null) {
 | 
				
			||||||
            result
 | 
					      yield r'nextpage';
 | 
				
			||||||
                ..add(r'nextpage')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.nextpage,
 | 
					        object.nextpage,
 | 
				
			||||||
                    specifiedType: const FullType.nullable(String)));
 | 
					        specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    StreamsPage deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = StreamsPageBuilder();
 | 
					    StreamsPage object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required StreamsPageBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'relatedStreams':
 | 
					        case r'relatedStreams':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(StreamItem)])) as BuiltList<StreamItem>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<StreamItem>;
 | 
				
			||||||
          result.relatedStreams.replace(valueDes);
 | 
					          result.relatedStreams.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'nextpage':
 | 
					        case r'nextpage':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType.nullable(String)) as String?;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType.nullable(String),
 | 
				
			||||||
 | 
					          ) as String?;
 | 
				
			||||||
          if (valueDes == null) continue;
 | 
					          if (valueDes == null) continue;
 | 
				
			||||||
          result.nextpage = valueDes;
 | 
					          result.nextpage = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  StreamsPage deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = StreamsPageBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:built_value/built_value.dart';
 | 
					import 'package:built_value/built_value.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +15,7 @@ part 'subtitle.g.dart';
 | 
				
			||||||
/// * [code] - The language code of the subtitle.
 | 
					/// * [code] - The language code of the subtitle.
 | 
				
			||||||
/// * [mimeType] - The mime type of the subtitle.
 | 
					/// * [mimeType] - The mime type of the subtitle.
 | 
				
			||||||
/// * [url] - The URL of the subtitle.
 | 
					/// * [url] - The URL of the subtitle.
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class Subtitle implements Built<Subtitle, SubtitleBuilder> {
 | 
					abstract class Subtitle implements Built<Subtitle, SubtitleBuilder> {
 | 
				
			||||||
  /// Whether the subtitle is auto generated.
 | 
					  /// Whether the subtitle is auto generated.
 | 
				
			||||||
  @BuiltValueField(wireName: r'autoGenerated')
 | 
					  @BuiltValueField(wireName: r'autoGenerated')
 | 
				
			||||||
| 
						 | 
					@ -33,87 +35,131 @@ abstract class Subtitle implements Built<Subtitle, SubtitleBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Subtitle._();
 | 
					  Subtitle._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory Subtitle([void updates(SubtitleBuilder b)]) = _$Subtitle;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(SubtitleBuilder b) => b;
 | 
					  static void _defaults(SubtitleBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory Subtitle([void updates(SubtitleBuilder b)]) = _$Subtitle;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<Subtitle> get serializer => _$SubtitleSerializer();
 | 
					  static Serializer<Subtitle> get serializer => _$SubtitleSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$SubtitleSerializer implements StructuredSerializer<Subtitle> {
 | 
					class _$SubtitleSerializer implements PrimitiveSerializer<Subtitle> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [Subtitle, _$Subtitle];
 | 
					  final Iterable<Type> types = const [Subtitle, _$Subtitle];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'Subtitle';
 | 
					  final String wireName = r'Subtitle';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, Subtitle object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Subtitle object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.autoGenerated != null) {
 | 
					    if (object.autoGenerated != null) {
 | 
				
			||||||
            result
 | 
					      yield r'autoGenerated';
 | 
				
			||||||
                ..add(r'autoGenerated')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.autoGenerated,
 | 
					        object.autoGenerated,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.code != null) {
 | 
					    if (object.code != null) {
 | 
				
			||||||
            result
 | 
					      yield r'code';
 | 
				
			||||||
                ..add(r'code')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.code,
 | 
					        object.code,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.mimeType != null) {
 | 
					    if (object.mimeType != null) {
 | 
				
			||||||
            result
 | 
					      yield r'mimeType';
 | 
				
			||||||
                ..add(r'mimeType')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.mimeType,
 | 
					        object.mimeType,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.url != null) {
 | 
					    if (object.url != null) {
 | 
				
			||||||
            result
 | 
					      yield r'url';
 | 
				
			||||||
                ..add(r'url')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.url,
 | 
					        object.url,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    Subtitle deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = SubtitleBuilder();
 | 
					    Subtitle object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required SubtitleBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'autoGenerated':
 | 
					        case r'autoGenerated':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.autoGenerated = valueDes;
 | 
					          result.autoGenerated = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'code':
 | 
					        case r'code':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.code = valueDes;
 | 
					          result.code = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'mimeType':
 | 
					        case r'mimeType':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.mimeType = valueDes;
 | 
					          result.mimeType = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'url':
 | 
					        case r'url':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.url = valueDes;
 | 
					          result.url = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  Subtitle deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = SubtitleBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
					// AUTO-GENERATED FILE, DO NOT MODIFY!
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ignore_for_file: unused_element
 | 
				
			||||||
import 'package:piped_api/src/model/stream_item.dart';
 | 
					import 'package:piped_api/src/model/stream_item.dart';
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:piped_api/src/model/stream.dart';
 | 
					import 'package:piped_api/src/model/stream.dart';
 | 
				
			||||||
| 
						 | 
					@ -35,6 +36,7 @@ part 'video_info.g.dart';
 | 
				
			||||||
/// * [uploaderVerified] - Whether the video's uploader is verified.
 | 
					/// * [uploaderVerified] - Whether the video's uploader is verified.
 | 
				
			||||||
/// * [views] - The number of views the video has.
 | 
					/// * [views] - The number of views the video has.
 | 
				
			||||||
/// * [relatedStreams] 
 | 
					/// * [relatedStreams] 
 | 
				
			||||||
 | 
					@BuiltValue()
 | 
				
			||||||
abstract class VideoInfo implements Built<VideoInfo, VideoInfoBuilder> {
 | 
					abstract class VideoInfo implements Built<VideoInfo, VideoInfoBuilder> {
 | 
				
			||||||
  @BuiltValueField(wireName: r'audioStreams')
 | 
					  @BuiltValueField(wireName: r'audioStreams')
 | 
				
			||||||
  BuiltList<Stream>? get audioStreams;
 | 
					  BuiltList<Stream>? get audioStreams;
 | 
				
			||||||
| 
						 | 
					@ -118,274 +120,369 @@ abstract class VideoInfo implements Built<VideoInfo, VideoInfoBuilder> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  VideoInfo._();
 | 
					  VideoInfo._();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  factory VideoInfo([void updates(VideoInfoBuilder b)]) = _$VideoInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @BuiltValueHook(initializeBuilder: true)
 | 
					  @BuiltValueHook(initializeBuilder: true)
 | 
				
			||||||
  static void _defaults(VideoInfoBuilder b) => b;
 | 
					  static void _defaults(VideoInfoBuilder b) => b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    factory VideoInfo([void updates(VideoInfoBuilder b)]) = _$VideoInfo;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @BuiltValueSerializer(custom: true)
 | 
					  @BuiltValueSerializer(custom: true)
 | 
				
			||||||
  static Serializer<VideoInfo> get serializer => _$VideoInfoSerializer();
 | 
					  static Serializer<VideoInfo> get serializer => _$VideoInfoSerializer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _$VideoInfoSerializer implements StructuredSerializer<VideoInfo> {
 | 
					class _$VideoInfoSerializer implements PrimitiveSerializer<VideoInfo> {
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final Iterable<Type> types = const [VideoInfo, _$VideoInfo];
 | 
					  final Iterable<Type> types = const [VideoInfo, _$VideoInfo];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  final String wireName = r'VideoInfo';
 | 
					  final String wireName = r'VideoInfo';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @override
 | 
					  Iterable<Object?> _serializeProperties(
 | 
				
			||||||
    Iterable<Object?> serialize(Serializers serializers, VideoInfo object,
 | 
					    Serializers serializers,
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    VideoInfo object, {
 | 
				
			||||||
        final result = <Object?>[];
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) sync* {
 | 
				
			||||||
    if (object.audioStreams != null) {
 | 
					    if (object.audioStreams != null) {
 | 
				
			||||||
            result
 | 
					      yield r'audioStreams';
 | 
				
			||||||
                ..add(r'audioStreams')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.audioStreams,
 | 
					        object.audioStreams,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(Stream)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(Stream)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.videoStreams != null) {
 | 
					    if (object.videoStreams != null) {
 | 
				
			||||||
            result
 | 
					      yield r'videoStreams';
 | 
				
			||||||
                ..add(r'videoStreams')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.videoStreams,
 | 
					        object.videoStreams,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(Stream)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(Stream)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.description != null) {
 | 
					    if (object.description != null) {
 | 
				
			||||||
            result
 | 
					      yield r'description';
 | 
				
			||||||
                ..add(r'description')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.description,
 | 
					        object.description,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.dislikes != null) {
 | 
					    if (object.dislikes != null) {
 | 
				
			||||||
            result
 | 
					      yield r'dislikes';
 | 
				
			||||||
                ..add(r'dislikes')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.dislikes,
 | 
					        object.dislikes,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.duration != null) {
 | 
					    if (object.duration != null) {
 | 
				
			||||||
            result
 | 
					      yield r'duration';
 | 
				
			||||||
                ..add(r'duration')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.duration,
 | 
					        object.duration,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.hls != null) {
 | 
					    if (object.hls != null) {
 | 
				
			||||||
            result
 | 
					      yield r'hls';
 | 
				
			||||||
                ..add(r'hls')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.hls,
 | 
					        object.hls,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.lbryId != null) {
 | 
					    if (object.lbryId != null) {
 | 
				
			||||||
            result
 | 
					      yield r'lbryId';
 | 
				
			||||||
                ..add(r'lbryId')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.lbryId,
 | 
					        object.lbryId,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.likes != null) {
 | 
					    if (object.likes != null) {
 | 
				
			||||||
            result
 | 
					      yield r'likes';
 | 
				
			||||||
                ..add(r'likes')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.likes,
 | 
					        object.likes,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.livestream != null) {
 | 
					    if (object.livestream != null) {
 | 
				
			||||||
            result
 | 
					      yield r'livestream';
 | 
				
			||||||
                ..add(r'livestream')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.livestream,
 | 
					        object.livestream,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.proxyUrl != null) {
 | 
					    if (object.proxyUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'proxyUrl';
 | 
				
			||||||
                ..add(r'proxyUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.proxyUrl,
 | 
					        object.proxyUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.subtitles != null) {
 | 
					    if (object.subtitles != null) {
 | 
				
			||||||
            result
 | 
					      yield r'subtitles';
 | 
				
			||||||
                ..add(r'subtitles')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.subtitles,
 | 
					        object.subtitles,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(Subtitle)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(Subtitle)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.dash != null) {
 | 
					    if (object.dash != null) {
 | 
				
			||||||
            result
 | 
					      yield r'dash';
 | 
				
			||||||
                ..add(r'dash')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.dash,
 | 
					        object.dash,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.thumbnailUrl != null) {
 | 
					    if (object.thumbnailUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'thumbnailUrl';
 | 
				
			||||||
                ..add(r'thumbnailUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.thumbnailUrl,
 | 
					        object.thumbnailUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.title != null) {
 | 
					    if (object.title != null) {
 | 
				
			||||||
            result
 | 
					      yield r'title';
 | 
				
			||||||
                ..add(r'title')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.title,
 | 
					        object.title,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploadDate != null) {
 | 
					    if (object.uploadDate != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploadDate';
 | 
				
			||||||
                ..add(r'uploadDate')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploadDate,
 | 
					        object.uploadDate,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploader != null) {
 | 
					    if (object.uploader != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploader';
 | 
				
			||||||
                ..add(r'uploader')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploader,
 | 
					        object.uploader,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderAvatar != null) {
 | 
					    if (object.uploaderAvatar != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderAvatar';
 | 
				
			||||||
                ..add(r'uploaderAvatar')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderAvatar,
 | 
					        object.uploaderAvatar,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderUrl != null) {
 | 
					    if (object.uploaderUrl != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderUrl';
 | 
				
			||||||
                ..add(r'uploaderUrl')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderUrl,
 | 
					        object.uploaderUrl,
 | 
				
			||||||
                    specifiedType: const FullType(String)));
 | 
					        specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.uploaderVerified != null) {
 | 
					    if (object.uploaderVerified != null) {
 | 
				
			||||||
            result
 | 
					      yield r'uploaderVerified';
 | 
				
			||||||
                ..add(r'uploaderVerified')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.uploaderVerified,
 | 
					        object.uploaderVerified,
 | 
				
			||||||
                    specifiedType: const FullType(bool)));
 | 
					        specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.views != null) {
 | 
					    if (object.views != null) {
 | 
				
			||||||
            result
 | 
					      yield r'views';
 | 
				
			||||||
                ..add(r'views')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.views,
 | 
					        object.views,
 | 
				
			||||||
                    specifiedType: const FullType(int)));
 | 
					        specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (object.relatedStreams != null) {
 | 
					    if (object.relatedStreams != null) {
 | 
				
			||||||
            result
 | 
					      yield r'relatedStreams';
 | 
				
			||||||
                ..add(r'relatedStreams')
 | 
					      yield serializers.serialize(
 | 
				
			||||||
                ..add(serializers.serialize(object.relatedStreams,
 | 
					        object.relatedStreams,
 | 
				
			||||||
                    specifiedType: const FullType(BuiltList, [FullType(StreamItem)])));
 | 
					        specifiedType: const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
        return result;
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
    VideoInfo deserialize(Serializers serializers, Iterable<Object?> serialized,
 | 
					  Object serialize(
 | 
				
			||||||
        {FullType specifiedType = FullType.unspecified}) {
 | 
					    Serializers serializers,
 | 
				
			||||||
        final result = VideoInfoBuilder();
 | 
					    VideoInfo object, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
        final iterator = serialized.iterator;
 | 
					  }) {
 | 
				
			||||||
        while (iterator.moveNext()) {
 | 
					    return _serializeProperties(serializers, object, specifiedType: specifiedType).toList();
 | 
				
			||||||
            final key = iterator.current as String;
 | 
					  }
 | 
				
			||||||
            iterator.moveNext();
 | 
					 | 
				
			||||||
            final Object? value = iterator.current;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void _deserializeProperties(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					    required List<Object?> serializedList,
 | 
				
			||||||
 | 
					    required VideoInfoBuilder result,
 | 
				
			||||||
 | 
					    required List<Object?> unhandled,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    for (var i = 0; i < serializedList.length; i += 2) {
 | 
				
			||||||
 | 
					      final key = serializedList[i] as String;
 | 
				
			||||||
 | 
					      final value = serializedList[i + 1];
 | 
				
			||||||
      switch (key) {
 | 
					      switch (key) {
 | 
				
			||||||
        case r'audioStreams':
 | 
					        case r'audioStreams':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(Stream)])) as BuiltList<Stream>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(Stream)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<Stream>;
 | 
				
			||||||
          result.audioStreams.replace(valueDes);
 | 
					          result.audioStreams.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'videoStreams':
 | 
					        case r'videoStreams':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(Stream)])) as BuiltList<Stream>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(Stream)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<Stream>;
 | 
				
			||||||
          result.videoStreams.replace(valueDes);
 | 
					          result.videoStreams.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'description':
 | 
					        case r'description':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.description = valueDes;
 | 
					          result.description = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'dislikes':
 | 
					        case r'dislikes':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.dislikes = valueDes;
 | 
					          result.dislikes = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'duration':
 | 
					        case r'duration':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.duration = valueDes;
 | 
					          result.duration = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'hls':
 | 
					        case r'hls':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.hls = valueDes;
 | 
					          result.hls = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'lbryId':
 | 
					        case r'lbryId':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.lbryId = valueDes;
 | 
					          result.lbryId = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'likes':
 | 
					        case r'likes':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.likes = valueDes;
 | 
					          result.likes = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'livestream':
 | 
					        case r'livestream':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.livestream = valueDes;
 | 
					          result.livestream = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'proxyUrl':
 | 
					        case r'proxyUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.proxyUrl = valueDes;
 | 
					          result.proxyUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'subtitles':
 | 
					        case r'subtitles':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(Subtitle)])) as BuiltList<Subtitle>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(Subtitle)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<Subtitle>;
 | 
				
			||||||
          result.subtitles.replace(valueDes);
 | 
					          result.subtitles.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'dash':
 | 
					        case r'dash':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.dash = valueDes;
 | 
					          result.dash = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'thumbnailUrl':
 | 
					        case r'thumbnailUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.thumbnailUrl = valueDes;
 | 
					          result.thumbnailUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'title':
 | 
					        case r'title':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.title = valueDes;
 | 
					          result.title = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploadDate':
 | 
					        case r'uploadDate':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.uploadDate = valueDes;
 | 
					          result.uploadDate = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploader':
 | 
					        case r'uploader':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.uploader = valueDes;
 | 
					          result.uploader = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderAvatar':
 | 
					        case r'uploaderAvatar':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.uploaderAvatar = valueDes;
 | 
					          result.uploaderAvatar = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderUrl':
 | 
					        case r'uploaderUrl':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(String)) as String;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(String),
 | 
				
			||||||
 | 
					          ) as String;
 | 
				
			||||||
          result.uploaderUrl = valueDes;
 | 
					          result.uploaderUrl = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'uploaderVerified':
 | 
					        case r'uploaderVerified':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(bool)) as bool;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(bool),
 | 
				
			||||||
 | 
					          ) as bool;
 | 
				
			||||||
          result.uploaderVerified = valueDes;
 | 
					          result.uploaderVerified = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'views':
 | 
					        case r'views':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(int)) as int;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(int),
 | 
				
			||||||
 | 
					          ) as int;
 | 
				
			||||||
          result.views = valueDes;
 | 
					          result.views = valueDes;
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case r'relatedStreams':
 | 
					        case r'relatedStreams':
 | 
				
			||||||
                    final valueDes = serializers.deserialize(value,
 | 
					          final valueDes = serializers.deserialize(
 | 
				
			||||||
                        specifiedType: const FullType(BuiltList, [FullType(StreamItem)])) as BuiltList<StreamItem>;
 | 
					            value,
 | 
				
			||||||
 | 
					            specifiedType: const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
 | 
					          ) as BuiltList<StreamItem>;
 | 
				
			||||||
          result.relatedStreams.replace(valueDes);
 | 
					          result.relatedStreams.replace(valueDes);
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          unhandled.add(key);
 | 
				
			||||||
 | 
					          unhandled.add(value);
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  VideoInfo deserialize(
 | 
				
			||||||
 | 
					    Serializers serializers,
 | 
				
			||||||
 | 
					    Object serialized, {
 | 
				
			||||||
 | 
					    FullType specifiedType = FullType.unspecified,
 | 
				
			||||||
 | 
					  }) {
 | 
				
			||||||
 | 
					    final result = VideoInfoBuilder();
 | 
				
			||||||
 | 
					    final serializedList = (serialized as Iterable<Object?>).toList();
 | 
				
			||||||
 | 
					    final unhandled = <Object?>[];
 | 
				
			||||||
 | 
					    _deserializeProperties(
 | 
				
			||||||
 | 
					      serializers,
 | 
				
			||||||
 | 
					      serialized,
 | 
				
			||||||
 | 
					      specifiedType: specifiedType,
 | 
				
			||||||
 | 
					      serializedList: serializedList,
 | 
				
			||||||
 | 
					      unhandled: unhandled,
 | 
				
			||||||
 | 
					      result: result,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
    return result.build();
 | 
					    return result.build();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ignore_for_file: unused_import
 | 
					// ignore_for_file: unused_import
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import 'package:one_of_serializer/any_of_serializer.dart';
 | 
				
			||||||
 | 
					import 'package:one_of_serializer/one_of_serializer.dart';
 | 
				
			||||||
import 'package:built_collection/built_collection.dart';
 | 
					import 'package:built_collection/built_collection.dart';
 | 
				
			||||||
import 'package:built_value/json_object.dart';
 | 
					import 'package:built_value/json_object.dart';
 | 
				
			||||||
import 'package:built_value/serializer.dart';
 | 
					import 'package:built_value/serializer.dart';
 | 
				
			||||||
| 
						 | 
					@ -52,6 +54,8 @@ Serializers serializers = (_$serializers.toBuilder()
 | 
				
			||||||
        const FullType(BuiltList, [FullType(StreamItem)]),
 | 
					        const FullType(BuiltList, [FullType(StreamItem)]),
 | 
				
			||||||
        () => ListBuilder<StreamItem>(),
 | 
					        () => ListBuilder<StreamItem>(),
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
 | 
					      ..add(const OneOfSerializer())
 | 
				
			||||||
 | 
					      ..add(const AnyOfSerializer())
 | 
				
			||||||
      ..add(const DateSerializer())
 | 
					      ..add(const DateSerializer())
 | 
				
			||||||
      ..add(Iso8601DateTimeSerializer()))
 | 
					      ..add(Iso8601DateTimeSerializer()))
 | 
				
			||||||
    .build();
 | 
					    .build();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,10 +8,12 @@ environment:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dependencies:
 | 
					dependencies:
 | 
				
			||||||
  dio: '>=4.0.1 <5.0.0'
 | 
					  dio: '>=4.0.1 <5.0.0'
 | 
				
			||||||
  built_value: '>=8.1.0 <9.0.0'
 | 
					  one_of: '>=1.5.0 <2.0.0'
 | 
				
			||||||
  built_collection: '>=5.1.0 <6.0.0'
 | 
					  one_of_serializer: '>=1.5.0 <2.0.0'
 | 
				
			||||||
 | 
					  built_value: '>=8.4.0 <9.0.0'
 | 
				
			||||||
 | 
					  built_collection: '>=5.1.1 <6.0.0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dev_dependencies:
 | 
					dev_dependencies:
 | 
				
			||||||
  built_value_generator: '>=8.1.0 <9.0.0'
 | 
					  built_value_generator: '>=8.4.0 <9.0.0'
 | 
				
			||||||
  build_runner: any
 | 
					  build_runner: any
 | 
				
			||||||
  test: ^1.16.0
 | 
					  test: ^1.16.0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue