use semver::Version;
#[inline(always)]
pub async fn get_name() -> crate::Result<String> {
let js_val = base::getName().await?;
Ok(serde_wasm_bindgen::from_value(js_val)?)
}
#[inline(always)]
pub async fn get_version() -> crate::Result<Version> {
let js_val = base::getVersion().await?;
Ok(serde_wasm_bindgen::from_value(js_val)?)
}
#[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)?)
}
#[inline(always)]
pub async fn show() -> crate::Result<()> {
Ok(base::show().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>;
}
}