11use serde:: Serialize ;
22use serde_json:: Value as JsonValue ;
3- use std:: fmt:: Display ;
43
54/// Formats a function name and argument to be evaluated as callback.
65///
@@ -25,10 +24,7 @@ use std::fmt::Display;
2524/// }).expect("failed to serialize"));
2625/// assert!(cb.contains(r#"window["callback-function-name"]({"value":"some value"})"#));
2726/// ```
28- pub fn format_callback < T : Into < JsonValue > , S : AsRef < str > + Display > (
29- function_name : S ,
30- arg : T ,
31- ) -> String {
27+ pub fn format_callback < T : Into < JsonValue > , S : AsRef < str > > ( function_name : S , arg : T ) -> String {
3228 format ! (
3329 r#"
3430 if (window["{fn}"]) {{
@@ -37,7 +33,7 @@ pub fn format_callback<T: Into<JsonValue>, S: AsRef<str> + Display>(
3733 console.warn("[TAURI] Couldn't find callback id {fn} in window. This happens when the app is reloaded while Rust is running an asynchronous operation.")
3834 }}
3935 "# ,
40- fn = function_name,
36+ fn = function_name. as_ref ( ) ,
4137 arg = arg. into( ) . to_string( )
4238 )
4339}
@@ -57,17 +53,17 @@ pub fn format_callback<T: Into<JsonValue>, S: AsRef<str> + Display>(
5753/// ```
5854/// use tauri_api::rpc::format_callback_result;
5955/// let res: Result<u8, &str> = Ok(5);
60- /// let cb = format_callback_result(res, "success_cb".to_string() , "error_cb".to_string() ).expect("failed to format");
56+ /// let cb = format_callback_result(res, "success_cb", "error_cb").expect("failed to format");
6157/// assert!(cb.contains(r#"window["success_cb"](5)"#));
6258///
6359/// let res: Result<&str, &str> = Err("error message here");
64- /// let cb = format_callback_result(res, "success_cb".to_string() , "error_cb".to_string() ).expect("failed to format");
60+ /// let cb = format_callback_result(res, "success_cb", "error_cb").expect("failed to format");
6561/// assert!(cb.contains(r#"window["error_cb"]("error message here")"#));
6662/// ```
6763pub fn format_callback_result < T : Serialize , E : Serialize > (
6864 result : Result < T , E > ,
69- success_callback : String ,
70- error_callback : String ,
65+ success_callback : impl AsRef < str > ,
66+ error_callback : impl AsRef < str > ,
7167) -> crate :: Result < String > {
7268 let rpc = match result {
7369 Ok ( res) => format_callback ( success_callback, serde_json:: to_value ( res) ?) ,
0 commit comments