From 9b586e33bb1020e44b2438a555282bf44321dbbe Mon Sep 17 00:00:00 2001 From: jk <47693+sectore@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:37:16 +0200 Subject: [PATCH] run clippy --- src/app_ctx.rs | 19 ++++++------------- src/components/add.rs | 30 +++++++++++++++--------------- src/components/details.rs | 12 ++++++------ src/utils.rs | 8 ++++---- 4 files changed, 31 insertions(+), 38 deletions(-) diff --git a/src/app_ctx.rs b/src/app_ctx.rs index f02001b..86858fa 100644 --- a/src/app_ctx.rs +++ b/src/app_ctx.rs @@ -24,19 +24,12 @@ pub enum Msg { // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Default)] pub struct AppState { pub file: Option, pub exified: bool, } -impl Default for AppState { - fn default() -> Self { - Self { - file: None, - exified: false, - } - } -} // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Reducer @@ -52,7 +45,9 @@ impl Reducible for AppState { exified: self.exified, }, Msg::RemoveExif => { - let state = if let Some(Ok(details)) = &self.file { + + + if let Some(Ok(details)) = &self.file { let result = remove_exif(details.clone()); AppState { @@ -64,9 +59,7 @@ impl Reducible for AppState { file: None, exified: false, } - }; - - state + } } Msg::Saved(_) => AppState { file: None, @@ -90,7 +83,7 @@ pub struct AppProviderProps { #[function_component] pub fn AppProvider(props: &AppProviderProps) -> Html { - let msg = use_reducer(|| AppState::default()); + let msg = use_reducer(AppState::default); html! { context={msg}> diff --git a/src/components/add.rs b/src/components/add.rs index 50e9a69..870a294 100644 --- a/src/components/add.rs +++ b/src/components/add.rs @@ -30,20 +30,20 @@ pub fn Add() -> Html { Callback::from(move |files: FileList| { match files.item(0) { None => { - return ctx.dispatch(Msg::Update(Err(FileError::DragDropFailed( + ctx.dispatch(Msg::Update(Err(FileError::DragDropFailed( "No file in FileList".to_string(), - )))); + )))) } Some(file) => { - let file = File::from(web_sys::File::from(file)); + let file = File::from(file); let file_name = file.name(); let file_type = file.raw_mime_type(); let ctx = ctx.clone(); let task = gloo::file::callbacks::read_as_bytes(&file, move |res| { let msg = match res { Ok(data) => { - let file_details = get_file_details(data, file_name, file_type); - file_details + + get_file_details(data, file_name, file_type) } Err(e) => Err(FileError::InvalidData(e.to_string())), }; @@ -54,7 +54,7 @@ pub fn Add() -> Html { // store task so it doesn't get dropped *task_ref.borrow_mut() = Some(task); } - }; + } }) }; @@ -62,9 +62,9 @@ pub fn Add() -> Html { let files_selected = files_selected.clone(); Callback::from(move |e: Event| { let input: HtmlInputElement = e.target_unchecked_into(); - input.files().and_then(|list| { + input.files().map(|list| { files_selected.emit(list); - return Some(true); + Some(true) }); }) }; @@ -81,11 +81,11 @@ pub fn Add() -> Html { event .data_transfer() .and_then(|data| { - return data.files(); + data.files() }) - .and_then(|list| { + .map(|list| { files_selected.emit(list.clone()); - return Some(true); + Some(true) }); }) }; @@ -98,8 +98,8 @@ pub fn Add() -> Html { event.prevent_default(); event.stop_propagation(); - let _ = event.data_transfer().and_then(|_| { - return Some(true); + let _ = event.data_transfer().map(|_| { + Some(true) }); s.set(true); @@ -121,8 +121,8 @@ pub fn Add() -> Html { Callback::from(move |event: DragEvent| { event.prevent_default(); - let _ = event.data_transfer().and_then(|_| { - return Some(true); + let _ = event.data_transfer().map(|_| { + Some(true) }); s.set(false); diff --git a/src/components/details.rs b/src/components/details.rs index 060d6b9..f604681 100644 --- a/src/components/details.rs +++ b/src/components/details.rs @@ -20,7 +20,7 @@ pub fn Details() -> Html { let file_error = use_memo(ctx.file.clone(), |file| file.clone().and_then(Result::err)); - let is_exified = use_memo(ctx.exified, |ex| ex.clone()); + let is_exified = use_memo(ctx.exified, |ex| *ex); let has_exif = use_memo(ctx.file.clone(), |file| file.clone().and_then(Result::ok).map(|fd| !fd.exif.is_empty()).unwrap_or(false)); @@ -59,8 +59,8 @@ pub fn Details() -> Html { // Map error needed to stay with Result<_, JSValue> .ok_or(JsValue::from_str("no document")) .and_then(|d| d.create_element("a")) - .and_then(|elem| { - let name = exified_file_name(&fd); + .map(|elem| { + let name = exified_file_name(fd); let a: HtmlAnchorElement = HtmlAnchorElement::from(JsValue::from(elem)); a.set_href(&url); a.set_download(&name); @@ -70,7 +70,7 @@ pub fn Details() -> Html { Url::revoke_object_url(&url).unwrap(); document().body().unwrap().remove_child(&a).unwrap(); // return name - Ok(name) + name }) ); @@ -106,10 +106,10 @@ pub fn Details() -> Html {
+ src={img_src(fd)} />

{ if *is_exified { - exified_file_name(&fd) + exified_file_name(fd) } else { fd.name.clone() } diff --git a/src/utils.rs b/src/utils.rs index fbc1c83..674979a 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -8,11 +8,11 @@ use img_parts::{Bytes, DynImage, ImageEXIF}; use crate::types::{ExifMap, FileDetails, FileError}; pub fn img_from_bytes(data: Vec) -> Result { - let image = DynImage::from_bytes(data.clone().into()) - .map_err(|e| FileError::InvalidData(e.to_string()))? - .ok_or_else(|| FileError::InvalidData("No image data".to_string())); + - image + DynImage::from_bytes(data.clone().into()) + .map_err(|e| FileError::InvalidData(e.to_string()))? + .ok_or_else(|| FileError::InvalidData("No image data".to_string())) } pub fn exif_to_map(bytes: Bytes) -> Result {