#tauri #command #declaration #invoke #typescript #generate-typescript #name

tauri-named-invoke

这是一个小型实用程序,可以从Tauri命令在代码中找到的函数生成调用函数的typescript声明文件。因此,可以避免命令名称的误用。

1 个稳定版本

1.0.4 2024年4月12日
1.0.3 2024年4月10日

8#invoke 中排名

Download history

每月141 次下载

MIT 协议

7KB

关于

tauri-named-invoke 是一个小型实用程序,可以从Tauri命令在代码中找到的函数生成调用函数的 invoke 声明文件。因此,可以避免命令名称的误用。

示例

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();
}

生成的文件将位于以下路径

project root
├── ui
   └── invoke.d.ts
├── src
   └── main.rs
└── Cargo.toml

生成的文件将包含

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>;
}

依赖关系

~2.2–3MB
~54K SLoC