onEvent property

  1. @override
Stream get onEvent
override

Implementation

@override
Stream<dynamic> get onEvent {
  _onEvent ??=
      eventChannel.receiveBroadcastStream().distinct().map((dynamic event) {
    final Map<String, dynamic> result = jsonDecode(jsonEncode(event));
    debugPrint('onEvent data = ${result.toString()}');
    final eventName = result['name'] as String;
    final eventData = result['data'] as Map<String, dynamic>;
    switch (eventName) {
      case "connection_status":
        return ConnectionStatus(eventData['isConnected']);
      case "proposal":
        return SessionProposal.fromJson(eventData);
      case "session_settle":
        return Session.fromJson(eventData);
      case "session_request":
        return SessionRequest.fromJson(eventData);
      case "session_update":
        return SessionUpdate.fromJson(eventData);
      case "session_delete":
        return SessionDelete.fromJson(eventData);
      case "session_rejection":
        return SessionRejection.fromJson(eventData);
      case "session_response":
        return SessionResponse.fromJson(eventData);
      default:
        break;
    }
  });
  return _onEvent!;
}