From 4c323b9daa47140a970ee6c4632ade1d257c121a Mon Sep 17 00:00:00 2001 From: XIAO YU Date: Wed, 3 Jul 2024 09:33:16 +0900 Subject: [PATCH] chore: Refactor code to use HashSet for account search results (#222) --- src-tauri/src/commands/fns.rs | 7 ++----- src-tauri/src/nostr/keys.rs | 15 +++++---------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src-tauri/src/commands/fns.rs b/src-tauri/src/commands/fns.rs index 2cf44fd8..ed7eb1d0 100644 --- a/src-tauri/src/commands/fns.rs +++ b/src-tauri/src/commands/fns.rs @@ -27,11 +27,8 @@ pub fn swizzle_to_menubar_panel(app_handle: &tauri::AppHandle) { let handle = app_handle.clone(); panel_delegate.set_listener(Box::new(move |delegate_name: String| { - match delegate_name.as_str() { - "window_did_resign_key" => { - let _ = handle.emit("menubar_panel_did_resign_key", ()); - } - _ => (), + if delegate_name.as_str() == "window_did_resign_key" { + let _ = handle.emit("menubar_panel_did_resign_key", ()); } })); diff --git a/src-tauri/src/nostr/keys.rs b/src-tauri/src/nostr/keys.rs index 157c8662..fa0a41f7 100644 --- a/src-tauri/src/nostr/keys.rs +++ b/src-tauri/src/nostr/keys.rs @@ -3,6 +3,7 @@ use keyring_search::{Limit, List, Search}; use nostr_sdk::prelude::*; use serde::Serialize; use specta::Type; +use std::collections::HashSet; use std::time::Duration; use tauri::{EventTarget, Manager, State}; use tauri_plugin_notification::NotificationExt; @@ -22,24 +23,18 @@ pub struct Account { #[tauri::command] #[specta::specta] pub fn get_accounts() -> Result, String> { - let search = Search::new().unwrap(); + let search = Search::new().map_err(|e| e.to_string())?; let results = search.by("Account", "nostr_secret"); match List::list_credentials(results, Limit::All) { Ok(list) => { - let search: Vec = list + let accounts: HashSet = list .split_whitespace() - .map(|v| v.to_string()) .filter(|v| v.starts_with("npub1")) + .map(String::from) .collect(); - let accounts: Vec = search - .into_iter() - .collect::>() - .into_iter() - .collect(); - - Ok(accounts) + Ok(accounts.into_iter().collect()) } Err(_) => Err("Empty.".into()), }