relatica/lib/models/TimelineIdentifiers.dart

40 lines
879 B
Dart
Raw Normal View History

2022-11-17 16:04:14 +00:00
enum TimelineType {
home,
global,
local,
tag,
profile,
self,
}
class TimelineIdentifiers {
final TimelineType timeline;
final String auxData;
2022-11-22 05:21:41 +00:00
2022-11-17 16:04:14 +00:00
TimelineIdentifiers({required this.timeline, this.auxData = ''});
String toHumanKey() {
return auxData.isEmpty ? timeline.name : '${timeline.name}_$auxData';
}
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is TimelineIdentifiers &&
runtimeType == other.runtimeType &&
timeline == other.timeline;
@override
int get hashCode => timeline.hashCode;
factory TimelineIdentifiers.home() =>
TimelineIdentifiers(timeline: TimelineType.home);
@override
String toString() {
return auxData.isEmpty
? 'TimelineIdentifiers{timeline: $timeline)'
: 'TimelineIdentifiers{timeline: $timeline, auxData: $auxData}';
}
}