RealtimeMessage.fromJson constructor

RealtimeMessage.fromJson(
  1. Map<String, dynamic> json
)

Deserializes a RealtimeMessage from a decoded JSON map.

If 'payload' is missing or invalid, defaults to an empty map.

Implementation

factory RealtimeMessage.fromJson(Map<String, dynamic> json) {
  final type = json['type'] as String? ?? '';
  final channel = json['channel'] as String?;
  final rawPayload = json['payload'];
  final Map<String, dynamic> payload;
  if (rawPayload is Map<String, dynamic>) {
    payload = rawPayload;
  } else if (rawPayload is Map) {
    payload = Map<String, dynamic>.from(rawPayload);
  } else {
    payload = const {};
  }
  return RealtimeMessage(type: type, channel: channel, payload: payload);
}