Derive Copy/Clone on data types (#20)

This commit is contained in:
Tim Visée 2021-11-09 19:53:55 +01:00 committed by GitHub
parent 09f95625ef
commit 6a069edaff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 11 deletions

View File

@ -68,7 +68,7 @@ use serde::{
}; };
use serde_json::Error; use serde_json::Error;
#[derive(Debug, Eq, PartialEq)] #[derive(Debug, Clone, Eq, PartialEq)]
pub enum Color { pub enum Color {
Black, Black,
DarkBlue, DarkBlue,
@ -175,7 +175,7 @@ impl<'de> Deserialize<'de> for Color {
} }
} }
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] #[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")] #[serde(rename_all = "snake_case")]
pub enum ClickAction { pub enum ClickAction {
OpenUrl, OpenUrl,
@ -184,7 +184,7 @@ pub enum ClickAction {
ChangePage, ChangePage,
} }
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
pub struct ClickEvent { pub struct ClickEvent {
pub action: ClickAction, pub action: ClickAction,
pub value: String, pub value: String,
@ -199,7 +199,7 @@ impl ClickEvent {
} }
} }
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] #[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")] #[serde(rename_all = "snake_case")]
pub enum HoverAction { pub enum HoverAction {
ShowText, ShowText,
@ -207,7 +207,7 @@ pub enum HoverAction {
ShowEntity, ShowEntity,
} }
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
pub struct HoverEvent { pub struct HoverEvent {
pub action: HoverAction, pub action: HoverAction,
pub value: String, pub value: String,
@ -222,7 +222,7 @@ impl HoverEvent {
} }
} }
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(untagged)] #[serde(untagged)]
pub enum Payload { pub enum Payload {
Text { Text {
@ -280,7 +280,7 @@ impl Payload {
} }
} }
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct Message { pub struct Message {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]

View File

@ -3,27 +3,27 @@ use crate::impl_json_encoder_decoder;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use uuid::Uuid; use uuid::Uuid;
#[derive(Serialize, Deserialize, Debug)] #[derive(Clone, Serialize, Deserialize, Debug)]
pub struct ServerStatus { pub struct ServerStatus {
pub version: ServerVersion, pub version: ServerVersion,
pub players: OnlinePlayers, pub players: OnlinePlayers,
pub description: Message, pub description: Message,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Clone, Serialize, Deserialize, Debug)]
pub struct ServerVersion { pub struct ServerVersion {
pub name: String, pub name: String,
pub protocol: u32, pub protocol: u32,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Clone, Serialize, Deserialize, Debug)]
pub struct OnlinePlayers { pub struct OnlinePlayers {
pub max: u32, pub max: u32,
pub online: u32, pub online: u32,
pub sample: Vec<OnlinePlayer>, pub sample: Vec<OnlinePlayer>,
} }
#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)] #[derive(Clone, Serialize, Deserialize, Debug, Eq, PartialEq)]
pub struct OnlinePlayer { pub struct OnlinePlayer {
pub name: String, pub name: String,
pub id: Uuid, pub id: Uuid,