streamAllVideoRequests method

  1. @override
Stream<List<VideoRequestDetails>> streamAllVideoRequests()
override

Implementation

@override
Stream<List<VideoRequestDetails>> streamAllVideoRequests() {
  try {
    return _streamAllVideoRequestsEventChannel
        .receiveBroadcastStream()
        .map<List<VideoRequestDetails>>((event) {
          if (event == null || event == '[]' || event == '{}') {
            return <VideoRequestDetails>[];
          }

          final jsonData = event is String
              ? jsonDecode(event) as List<dynamic>
              : List<dynamic>.from(event as List);
          return jsonData
              .map(
                (item) => VideoRequestDetails.fromJson(
                  Map<String, dynamic>.from(item as Map),
                ),
              )
              .toList();
        })
        .asBroadcastStream();
  } on PlatformException {
    rethrow;
  }
}