parseEpisode function

JsonMap parseEpisode(
  1. JsonMap data
)

Parses episode from data.

Implementation

JsonMap parseEpisode(JsonMap data) {
  final JsonMap realData;
  if (data.containsKey(MMRIR)) {
    realData = nav(data, [MMRIR]) as JsonMap;
  } else {
    realData = data;
  }
  final thumbnails = nav(realData, THUMBNAILS);
  final date = nav(realData, SUBTITLE, nullIfAbsent: true);
  final duration = nav(realData, [
    'playbackProgress',
    ...PROGRESS_RENDERER,
    ...DURATION_TEXT,
  ], nullIfAbsent: true);
  final title = nav(realData, TITLE_TEXT);
  final description = nav(realData, DESCRIPTION, nullIfAbsent: true);
  final videoId = nav(realData, [
    'onTap',
    ...WATCH_VIDEO_ID,
  ], nullIfAbsent: true);
  final browseId = nav(realData, [
    ...TITLE,
    ...NAVIGATION_BROWSE_ID,
  ], nullIfAbsent: true);
  final videoType = nav(realData, [
    'onTap',
    ...NAVIGATION_VIDEO_TYPE,
  ], nullIfAbsent: true);
  final index = nav(realData, [
    'onTap',
    'watchEndpoint',
    'index',
  ], nullIfAbsent: true);

  return {
    'index': index,
    'title': title,
    'description': description,
    'duration': duration,
    'videoId': videoId,
    'browseId': browseId,
    'videoType': videoType,
    'date': date,
    'thumbnails': thumbnails,
  };
}