/// Utility class for parsing Plex API cache responses /// /// Provides consistent extraction of MediaContainer data across the codebase. class PlexCacheParser { PlexCacheParser._(); static Map? extractMediaContainer(Map? cached) { final container = cached?['MediaContainer']; return container is Map ? container : null; } static List? extractMetadataList(Map? cached) { return extractMediaContainer(cached)?['Metadata'] as List?; } static Map? extractFirstMetadata(Map? cached) { final list = extractMetadataList(cached); if (list == null || list.isEmpty) return null; return list.first as Map; } static List? extractChapters(Map? cached) { final metadata = extractFirstMetadata(cached); if (metadata == null) return null; return metadata['Chapter'] as List?; } }