Command.fromJson constructor

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

Implementation

factory Command.fromJson(Map<String, dynamic> json) {
  final tag = json['type'] as String;
  return switch (tag) {
    'join' => CommandJoin.fromJson(json),
    'part' => CommandPart.fromJson(json),
    'send_message' => CommandSendMessage.fromJson(json),
    'send_notice' => CommandSendNotice.fromJson(json),
    'send_action' => CommandSendAction.fromJson(json),
    'set_nick' => CommandSetNick.fromJson(json),
    'set_topic' => CommandSetTopic.fromJson(json),
    'set_away' => CommandSetAway.fromJson(json),
    'set_typing' => CommandSetTyping.fromJson(json),
    'add_reaction' => CommandAddReaction.fromJson(json),
    'remove_reaction' => CommandRemoveReaction.fromJson(json),
    'redact_message' => CommandRedactMessage.fromJson(json),
    'mark_read' => CommandMarkRead.fromJson(json),
    'fetch_history' => CommandFetchHistory.fromJson(json),
    'set_metadata' => CommandSetMetadata.fromJson(json),
    'subscribe_metadata' => CommandSubscribeMetadata.fromJson(json),
    'whois' => CommandWhois.fromJson(json),
    'rename_channel' => CommandRenameChannel.fromJson(json),
    'create_invite_link' => CommandCreateInviteLink.fromJson(json),
    'list_invite_links' => CommandListInviteLinks.fromJson(json),
    'delete_invite_link' => CommandDeleteInviteLink.fromJson(json),
    'redeem_invite_code' => CommandRedeemInviteCode.fromJson(json),
    'generate_token' => CommandGenerateToken.fromJson(json),
    'watch_nicks' => CommandWatchNicks.fromJson(json),
    'unwatch_nicks' => CommandUnwatchNicks.fromJson(json),
    'send_voice_signal' => CommandSendVoiceSignal.fromJson(json),
    'quit' => CommandQuit.fromJson(json),
    'send_raw_line' => CommandSendRawLine.fromJson(json),
    _ => throw ArgumentError.value(tag, 'type', 'unknown Command variant'),
  };
}