Files

22 lines
769 B
Dart
Raw Permalink Normal View History

2025-12-14 21:03:11 +01:00
/// Utility class for parsing Plex API cache responses
///
/// Provides consistent extraction of MediaContainer data across the codebase.
class PlexCacheParser {
PlexCacheParser._();
static Map<String, dynamic>? extractMediaContainer(Map<String, dynamic>? cached) {
final container = cached?['MediaContainer'];
return container is Map<String, dynamic> ? container : null;
}
2025-12-14 21:03:11 +01:00
static List<dynamic>? extractMetadataList(Map<String, dynamic>? cached) {
return extractMediaContainer(cached)?['Metadata'] as List?;
2025-12-14 21:03:11 +01:00
}
2025-12-15 02:29:03 +01:00
static Map<String, dynamic>? extractFirstMetadata(Map<String, dynamic>? cached) {
2025-12-14 21:03:11 +01:00
final list = extractMetadataList(cached);
if (list == null || list.isEmpty) return null;
2026-02-15 03:14:04 +01:00
return list.first as Map<String, dynamic>;
2025-12-14 21:03:11 +01:00
}
}