Files
plezy/lib/services/playlist_items_loader.dart
T
2026-05-01 01:20:36 +02:00

17 lines
575 B
Dart

import '../media/media_item.dart';
import '../media/media_server_client.dart';
/// Page through every item in a playlist via the backend-neutral client API.
Future<List<MediaItem>> fetchAllPlaylistItems(MediaServerClient client, String playlistId, {int pageSize = 100}) async {
final all = <MediaItem>[];
var offset = 0;
while (true) {
final page = await client.fetchPlaylistItems(playlistId, offset: offset, limit: pageSize);
if (page.isEmpty) break;
all.addAll(page);
if (page.length < pageSize) break;
offset += page.length;
}
return all;
}