streamAllUploadRequests method

  1. @override
Stream<List<StreamUploadRequest>> streamAllUploadRequests()
override

Implementation

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

      final jsonData = event is String
          ? jsonDecode(event) as List<dynamic>
          : List<dynamic>.from(event as List);
      return jsonData
          .map(
            (item) => StreamUploadRequest.fromJson(
              Map<String, dynamic>.from(item as Map),
            ),
          )
          .toList();
    }).asBroadcastStream();
  } on PlatformException catch (e) {
    throw PlatformException(
      code: 'STREAM_ERROR',
      message: e.message,
      details: e.toString(),
    );
  }
}