joinSubscriber method Null safety

Future joinSubscriber(
  1. dynamic roomId,
  2. {List<PublisherStream>? streams,
  3. int? privateId,
  4. int? feedId,
  5. String? pin,
  6. String? token}
)

joins the JanusVideoRoom as a media publisher on provided roomId with its name as displayName and optionally can provide your own id.

Implementation

Future<dynamic> joinSubscriber(
  dynamic roomId, {
  List<PublisherStream>? streams,
  int? privateId,
  int? feedId,
  String? pin,
  String? token,
}) async {
  var payload = {
    "request": "join",
    "room": roomId,
    "ptype": "subscriber",
    "pin": pin,
    "token": token,
    "feed": feedId,
    "private_id": privateId,
    "streams": streams
        ?.map((e) => e.toMap()..removeWhere((key, value) => value == null))
        .toList(),
  }..removeWhere((key, value) => value == null);
  _handleRoomIdTypeDifference(payload);
  await this.send(data: payload);
}