RealtimeMessage.fromJson constructor
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);
}