21 个版本 (13 个稳定版)

1.10.0-beta.72024 年 7 月 23 日
1.10.0-beta.42024 年 5 月 28 日
1.8.0 2024 年 2 月 28 日
1.7.0 2023 年 8 月 11 日
1.0.0 2022 年 11 月 22 日

#1414命令行工具

Download history 736/week @ 2024-04-16 336/week @ 2024-04-23 415/week @ 2024-04-30 264/week @ 2024-05-07 431/week @ 2024-05-14 395/week @ 2024-05-21 395/week @ 2024-05-28 430/week @ 2024-06-04 604/week @ 2024-06-11 329/week @ 2024-06-18 424/week @ 2024-06-25 362/week @ 2024-07-02 482/week @ 2024-07-09 277/week @ 2024-07-16 365/week @ 2024-07-23 467/week @ 2024-07-30

1,670 每月下载量

MIT/Apache

430KB
12K SLoC

Rust 6K SLoC // 0.0% comments Swift 2K SLoC // 0.0% comments Go 1.5K SLoC // 0.0% comments Scala 819 SLoC // 0.1% comments Kotlin 804 SLoC // 0.1% comments TypeScript 351 SLoC // 0.1% comments

typeshare

基于 typeshare-core 的 CLI。从 Rust 类型定义生成不同语言的代码,用于 FFI 互操作性。

用法

cargo install typeshare
typeshare --lang=typescript some/file.rs
typeshare --lang=swift some/file.rs
typeshare --lang=kotlin --java-package=com.some.package.name some/file.rs
typeshare --lang=scala --scala-package=com.some.package.name some/file.rs

生成 FFI 绑定

包含 typeshare 注解以生成该函数的 FFI 绑定。支持的语言有 kotlinswift

#[typeshare(kotlin = "generateTotp", swift = "generate_totp")]
pub fn generate_totp(request: TotpGeneratorRequest) -> Result<TotpGeneratorResponse>`

由于构建系统尚未更改以在构建期间生成绑定,因此必须手动完成并将更改提交到仓库。FFI 绑定生成在 ffi/src/generated.rs 文件中。

要生成所有 FFI 绑定,请运行 make ffi。在添加或删除 FFI 绑定时,不要忘记在 Makefile 中包含更改。

依赖关系

~7–16MB
~208K SLoC