ApiResult.fromMap constructor

ApiResult.fromMap(
  1. dynamic data, {
  2. bool isSpecificKind = false,
})

Implementation

factory ApiResult.fromMap(dynamic data, {bool isSpecificKind = false}) {
  final type = EnumToString.fromString(
      ResultType.values,
      ((isSpecificKind ? data['kind'] : data['id']['kind']) as String)
          .split('#')
          .last)!;
  return switch (type) {
    ResultType.video => YoutubeVideo(data, isSingleResult: isSpecificKind),
    ResultType.channel =>
      YoutubeChannel(data, isSingleResult: isSpecificKind),
    ResultType.playlist =>
      YoutubePlaylist(data, isSingleResult: isSpecificKind),
  };
}