From 174875b88bfe2eee8de3d43c0adeb377410d4bce Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Wed, 27 Apr 2022 16:51:57 +0900 Subject: [PATCH] back-end/front-end: Rust clippy fixes/refactorings --- back_end/src/db_handler.rs | 78 ++++++++++++++++----------------- front_end/src/yew_components.rs | 59 +++++++++++++------------ 2 files changed, 69 insertions(+), 68 deletions(-) diff --git a/back_end/src/db_handler.rs b/back_end/src/db_handler.rs index c718309..fcb4324 100644 --- a/back_end/src/db_handler.rs +++ b/back_end/src/db_handler.rs @@ -354,11 +354,11 @@ impl DBHandler { phrase: Option, ) -> Result { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let row_result: Result = @@ -404,11 +404,11 @@ impl DBHandler { fn pair_up_players(&self, conn: Option<&Connection>) -> Result<(), String> { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let mut to_pair: Option = None; @@ -454,11 +454,11 @@ impl DBHandler { fn create_game(&self, conn: Option<&Connection>, players: &[u32; 2]) -> Result { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let mut game_id: u32 = thread_rng().gen(); @@ -505,11 +505,11 @@ impl DBHandler { } let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let check_player_row = conn.query_row("SELECT games.cyan_player FROM players JOIN games where games.id = players.game_id AND players.id = ?;", [player_id], |row| row.get::(0)); @@ -548,11 +548,11 @@ impl DBHandler { player_id: u32, ) -> Result { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let check_player_row: Result = @@ -572,11 +572,11 @@ impl DBHandler { player_id: u32, ) -> Result { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let check_player_game_row: Result = conn.query_row( @@ -596,11 +596,11 @@ impl DBHandler { player_id: u32, ) -> Result { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; // TODO maybe handle "opponent_disconnected" case @@ -671,11 +671,11 @@ impl DBHandler { fn disconnect_player(&self, conn: Option<&Connection>, player_id: u32) -> Result<(), String> { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let stmt_result = conn.execute("DELETE FROM players WHERE id = ?;", [player_id]); @@ -688,11 +688,11 @@ impl DBHandler { fn clear_empty_games(&self, conn: Option<&Connection>) -> Result<(), String> { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; // Only fails if no rows were removed, and that is not an issue @@ -712,11 +712,11 @@ impl DBHandler { pos: usize, ) -> PlaceResultType { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; // check if player exists @@ -960,11 +960,11 @@ impl DBHandler { } let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; let is_cyan = status == 0; @@ -1032,11 +1032,11 @@ impl DBHandler { fn cleanup_stale_games(&self, conn: Option<&Connection>) -> Result<(), String> { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; conn.execute( @@ -1050,11 +1050,11 @@ impl DBHandler { fn cleanup_stale_players(&self, conn: Option<&Connection>) -> Result<(), String> { let mut _conn_result = Err(String::new()); - let conn = if conn.is_none() { + let conn = if let Some(c) = conn { + c + } else { _conn_result = self.get_conn(DBFirstRun::NotFirstRun); _conn_result.as_ref().unwrap() - } else { - conn.unwrap() }; conn.execute( diff --git a/front_end/src/yew_components.rs b/front_end/src/yew_components.rs index fd37e72..1f5f46c 100644 --- a/front_end/src/yew_components.rs +++ b/front_end/src/yew_components.rs @@ -282,17 +282,18 @@ impl Component for Slot { current_turn, phrase: _, } => { - if paired && current_side.is_some() { - if current_side.as_ref().unwrap() == ¤t_turn { - // notify Wrapper with picked slot - if let Some(p) = ctx.link().get_parent() { - p.clone().downcast::().send_message( - WrapperMsg::BackendRequest { - place: ctx.props().idx, - }, - ); - return false; - } + if paired + && current_side.is_some() + && current_side.as_ref().unwrap() == ¤t_turn + { + // notify Wrapper with picked slot + if let Some(p) = ctx.link().get_parent() { + p.clone() + .downcast::() + .send_message(WrapperMsg::BackendRequest { + place: ctx.props().idx, + }); + return false; } } } @@ -542,29 +543,29 @@ impl Wrapper { let board = board_from_string(board_string.clone()); for (idx, slot) in board.iter().enumerate() { let was_open = - element_has_class(&document, &format!("slot{}", idx), "open").unwrap_or(false); - element_remove_class(&document, &format!("slot{}", idx), "open").ok(); - element_remove_class(&document, &format!("slot{}", idx), "placed").ok(); - element_remove_class(&document, &format!("slot{}", idx), "win").ok(); - element_remove_class(&document, &format!("slot{}", idx), "cyan").ok(); - element_remove_class(&document, &format!("slot{}", idx), "magenta").ok(); + element_has_class(document, &format!("slot{}", idx), "open").unwrap_or(false); + element_remove_class(document, &format!("slot{}", idx), "open").ok(); + element_remove_class(document, &format!("slot{}", idx), "placed").ok(); + element_remove_class(document, &format!("slot{}", idx), "win").ok(); + element_remove_class(document, &format!("slot{}", idx), "cyan").ok(); + element_remove_class(document, &format!("slot{}", idx), "magenta").ok(); match slot.get() { BoardState::Empty => { - element_append_class(&document, &format!("slot{}", idx), "open").ok(); + element_append_class(document, &format!("slot{}", idx), "open").ok(); } BoardState::Cyan => { - element_append_class(&document, &format!("slot{}", idx), "cyan").ok(); + element_append_class(document, &format!("slot{}", idx), "cyan").ok(); } BoardState::CyanWin => { - element_append_class(&document, &format!("slot{}", idx), "cyan").ok(); - element_append_class(&document, &format!("slot{}", idx), "win").ok(); + element_append_class(document, &format!("slot{}", idx), "cyan").ok(); + element_append_class(document, &format!("slot{}", idx), "win").ok(); } BoardState::Magenta => { - element_append_class(&document, &format!("slot{}", idx), "magenta").ok(); + element_append_class(document, &format!("slot{}", idx), "magenta").ok(); } BoardState::MagentaWin => { - element_append_class(&document, &format!("slot{}", idx), "magenta").ok(); - element_append_class(&document, &format!("slot{}", idx), "win").ok(); + element_append_class(document, &format!("slot{}", idx), "magenta").ok(); + element_append_class(document, &format!("slot{}", idx), "win").ok(); } } let char_at_idx = board_string @@ -573,11 +574,11 @@ impl Wrapper { .expect("idx into board_string should be in range"); if char_at_idx == 'f' || char_at_idx == 'h' { if char_at_idx == 'f' { - element_append_class(&document, &format!("slot{}", idx), "placed").ok(); + element_append_class(document, &format!("slot{}", idx), "placed").ok(); } if was_open { append_to_info_text( - &document, + document, "info_text0", &format!("CyanPlayer placed at {}", idx), INFO_TEXT_MAX_ITEMS, @@ -586,11 +587,11 @@ impl Wrapper { } } else if char_at_idx == 'g' || char_at_idx == 'i' { if char_at_idx == 'g' { - element_append_class(&document, &format!("slot{}", idx), "placed").ok(); + element_append_class(document, &format!("slot{}", idx), "placed").ok(); } if was_open { append_to_info_text( - &document, + document, "info_text0", &format!("MagentaPlayer placed at {}", idx), INFO_TEXT_MAX_ITEMS, @@ -627,7 +628,7 @@ pub enum WrapperMsg { } impl WrapperMsg { - fn is_ai_pressed(self) -> bool { + fn is_ai_pressed(&self) -> bool { matches!(self, WrapperMsg::AIPressed(_)) } }