refactor
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#![allow(clippy::needless_pass_by_value)]
|
||||
// This module shows examples of how to use IPC command handlers that can be invoked from the frontend.
|
||||
|
||||
use sha2::{Digest, Sha256};
|
||||
use specta::collect_types;
|
||||
use tauri::{Builder, State, Wry};
|
||||
@@ -8,7 +8,7 @@ use tauri_specta::ts;
|
||||
use crate::state::Store;
|
||||
|
||||
// Exports a function for the tauri app instance to use and register all commands defined as frontend IPC command handlers.
|
||||
pub fn register_commands(builder: Builder<Wry>) -> Builder<Wry> {
|
||||
pub fn register_command_handlers(builder: Builder<Wry>) -> Builder<Wry> {
|
||||
// Specta generating typed binding interfaces
|
||||
#[cfg(debug_assertions)]
|
||||
ts::export(
|
||||
@@ -39,7 +39,7 @@ fn hash256sum(hash_input: String) -> String {
|
||||
let mut hasher = Sha256::new();
|
||||
hasher.update(hash_input.as_bytes());
|
||||
let result = hasher.finalize();
|
||||
format!("{:X}", result)
|
||||
format!("{result:X}")
|
||||
}
|
||||
|
||||
// Example command using managed state
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
windows_subsystem = "windows"
|
||||
)]
|
||||
|
||||
use commands::register_commands;
|
||||
use commands::register_command_handlers;
|
||||
use state::register_managed_state;
|
||||
use tauri::{Builder as TauriBuilder, RunEvent};
|
||||
|
||||
@@ -17,7 +17,7 @@ fn main() {
|
||||
let app = TauriBuilder::default().plugin(tauri_plugin_window_state::Builder::default().build());
|
||||
|
||||
// Register app commands
|
||||
let app = register_commands(app);
|
||||
let app = register_command_handlers(app);
|
||||
|
||||
// Register app managed state
|
||||
let app = register_managed_state(app);
|
||||
@@ -26,8 +26,8 @@ fn main() {
|
||||
app.build(tauri::generate_context!())
|
||||
.expect("error while running tauri application")
|
||||
.run(|_, e| {
|
||||
if let RunEvent::Ready = e {
|
||||
if matches!(e, RunEvent::Ready) {
|
||||
println!("Window is ready");
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,9 +1,18 @@
|
||||
// This module shows examples of how to use managed custom state.
|
||||
|
||||
use std::{collections::HashMap, sync::Mutex};
|
||||
use std::collections::HashMap;
|
||||
use std::string::ToString;
|
||||
use std::sync::Mutex;
|
||||
|
||||
use tauri::{Builder, Wry};
|
||||
|
||||
// Exports a function for the tauri app instance to use and register all commands defined as frontend IPC command handlers.
|
||||
pub fn register_managed_state(builder: Builder<Wry>) -> Builder<Wry> {
|
||||
let store = Store::default();
|
||||
|
||||
builder.manage(store)
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct Store {
|
||||
store: Mutex<HashMap<String, String>>,
|
||||
@@ -20,13 +29,6 @@ impl Store {
|
||||
.lock()
|
||||
.expect("cannot lock store")
|
||||
.get(key)
|
||||
.map(|val| val.to_string())
|
||||
.map(ToString::to_string)
|
||||
}
|
||||
}
|
||||
|
||||
// Exports a function for the tauri app instance to use and register all commands defined as frontend IPC command handlers.
|
||||
pub fn register_managed_state(builder: Builder<Wry>) -> Builder<Wry> {
|
||||
let store = Store::default();
|
||||
|
||||
builder.manage(store)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user