1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
use semver::Version;

/// # Example
///
/// ```rust,no_run
/// use tauri_wasm::api::app::get_name;
///     
/// let name = get_name().await;
/// ```
#[inline(always)]
pub async fn get_name() -> crate::Result<String> {
    let js_val = base::getName().await?;

    Ok(serde_wasm_bindgen::from_value(js_val)?)
}

/// # Example
///
/// ```rust,no_run
/// use tauri_wasm::api::app::get_version;
///     
/// let version = get_version().await;
/// ```
#[inline(always)]
pub async fn get_version() -> crate::Result<Version> {
    let js_val = base::getVersion().await?;

    Ok(serde_wasm_bindgen::from_value(js_val)?)
}

/// # Example
///
/// ```rust,no_run
/// use tauri_wasm::api::app:get_tauri_version;
///
/// let version = get_tauri_version().await;
/// ```
#[inline(always)]
pub async fn get_tauri_version() -> crate::Result<Version> {
    let js_val = base::getTauriVersion().await?;

    Ok(serde_wasm_bindgen::from_value(js_val)?)
}

/// # Example
///
/// ```rust,no_run
/// use tauri_wasm::api::app::show;
///
/// show().await;
/// ```
///
#[inline(always)]
pub async fn show() -> crate::Result<()> {
    Ok(base::show().await?)
}

/// # Example
///
/// ```rust,no_run
/// use tauri_wasm::api::app::hide;
///
/// hide().await;
/// ```
///
#[inline(always)]
pub async fn hide() -> crate::Result<()> {
    Ok(base::hide().await?)
}




mod base {
    use wasm_bindgen::{prelude::wasm_bindgen, JsValue};

    #[wasm_bindgen(module = "/src/scripts/api/app.js")]
    extern "C" {
        #[wasm_bindgen(catch)]
        pub async fn getName() -> Result<JsValue, JsValue>;
        #[wasm_bindgen(catch)]
        pub async fn getTauriVersion() -> Result<JsValue, JsValue>;
        #[wasm_bindgen(catch)]
        pub async fn getVersion() -> Result<JsValue, JsValue>;
        #[wasm_bindgen(catch)]
        pub async fn hide() -> Result<(), JsValue>;
        #[wasm_bindgen(catch)]
        pub async fn show() -> Result<(), JsValue>;
    }
}