ModelChange.fromJson constructor

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

Implementation

factory ModelChange.fromJson(Map<String, dynamic> json) {
  final tag = json['type'] as String;
  return switch (tag) {
    'message_added' => ModelChangeMessageAdded.fromJson(json),
    'channel_joined' => ModelChangeChannelJoined.fromJson(json),
    'channel_parted' => ModelChangeChannelParted.fromJson(json),
    'channel_members_changed' => ModelChangeChannelMembersChanged.fromJson(json),
    'channel_topic_changed' => ModelChangeChannelTopicChanged.fromJson(json),
    'nick_changed' => ModelChangeNickChanged.fromJson(json),
    'channel_modes_changed' => ModelChangeChannelModesChanged.fromJson(json),
    'read_marker_moved' => ModelChangeReadMarkerMoved.fromJson(json),
    'message_reacted' => ModelChangeMessageReacted.fromJson(json),
    'message_redacted' => ModelChangeMessageRedacted.fromJson(json),
    'metadata_changed' => ModelChangeMetadataChanged.fromJson(json),
    'whois_received' => ModelChangeWhoisReceived.fromJson(json),
    'channel_renamed' => ModelChangeChannelRenamed.fromJson(json),
    _ => throw ArgumentError.value(tag, 'type', 'unknown ModelChange variant'),
  };
}