31 lines
666 B
Dart
31 lines
666 B
Dart
import 'package:equatable/equatable.dart';
|
|
|
|
import 'channel_id.dart';
|
|
|
|
/// YouTube channel metadata.
|
|
class Channel with EquatableMixin {
|
|
/// Channel ID.
|
|
final ChannelId id;
|
|
|
|
/// Channel URL.
|
|
String get url => 'https://www.youtube.com/channel/$id';
|
|
|
|
/// Channel title.
|
|
final String title;
|
|
|
|
/// URL of the channel's logo image.
|
|
final String logoUrl;
|
|
|
|
/// The (approximate) channel subscriber's count.
|
|
final int? subscribersCount;
|
|
|
|
/// Initializes an instance of [Channel]
|
|
Channel(this.id, this.title, this.logoUrl, this.subscribersCount);
|
|
|
|
@override
|
|
String toString() => 'Channel ($title)';
|
|
|
|
@override
|
|
List<Object> get props => [id];
|
|
}
|