sorted method
List<UTrackRecord>
sorted(
- List<
UTrackRecord> input, - ULibrarySort sort, {
- bool descending = false,
Implementation
List<UTrackRecord> sorted(List<UTrackRecord> input, ULibrarySort sort, {bool descending = false}) {
final List<UTrackRecord> copy = List<UTrackRecord>.of(input);
copy.sort((UTrackRecord a, UTrackRecord b) {
switch (sort) {
case ULibrarySort.title:
return a.title.compareTo(b.title);
case ULibrarySort.artist:
return a.artist.compareTo(b.artist);
case ULibrarySort.album:
return a.album.compareTo(b.album);
case ULibrarySort.dateAdded:
return a.addedAt.compareTo(b.addedAt);
case ULibrarySort.duration:
return a.durationMs.compareTo(b.durationMs);
case ULibrarySort.year:
return (a.year ?? 0).compareTo(b.year ?? 0);
}
});
return descending ? copy.reversed.toList(growable: false) : copy;
}