Expand description
A small utility that generates a typescript declaration file for the invoke
function
from functions found in code by Tauri commands.
Thanks to this, there is no mistaking the name of the command.
§Example
main.rs:
fn main() {
tauri::Builder::default()
.invoke_handler(generate_handler![get_weather, get_config])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
#[tauri::command]
fn get_weather() -> String {
"sunny".to_string()
}
// or
use tauri::command;
#[command]
fn get_config() -> String {
"config".to_string()
}
build.rs:
fn main() {
tauri_named_invoke::build("ui").unwrap();
tauri_build::build();
}
The file will be generated at the following path:
project root
├── ui
│ └── invoke.d.ts
├── src
│ └── main.rs
└── Cargo.toml
The generated file will contain:
import * as tauri from '@tauri-apps/api/tauri';
declare module '@tauri-apps/api' {
type Commands =
'get_weather'
| 'get_config';
function invoke<T>(cmd: Commands, args?: InvokeArgs): Promise<T>;
}
Functions§
- build
- Generates an
invoke.d.ts
file declaringinvoke
function values composed of function names labeled with thetauri::command
attribute.