getTabBrowseIds function

Map<String, String> getTabBrowseIds(
  1. JsonMap watchNextRenderer
)

Gets the browse IDs in a watchNextRenderer.

Implementation

Map<String, String> getTabBrowseIds(JsonMap watchNextRenderer) {
  final browseIds = <String, String>{};

  for (final tab in List<JsonMap>.from(watchNextRenderer['tabs'] as List)) {
    if ((tab['tabRenderer'] as JsonMap).containsKey('unselectable')) {
      continue;
    }

    final browseEndpoint =
        nav(tab, [
              'tabRenderer',
              'endpoint',
              'browseEndpoint',
            ], nullIfAbsent: true)
            as JsonMap?;

    if (browseEndpoint != null) {
      final pageType = nav(browseEndpoint, PAGE_TYPE) as String;

      browseIds[pageType] = browseEndpoint['browseId'] as String;
    }
  }

  return browseIds;
}