typeshare-cli

Crates.iotypeshare-cli
lib.rstypeshare-cli
version1.13.2
sourcesrc
created_at2022-11-22 06:40:15.885848
updated_at2024-11-21 18:13:41.454337
descriptionCommand Line Tool for generating language files with typeshare
homepage
repositoryhttps://github.com/1Password/typeshare
max_upload_size
id720640
size56,052
(1PasswordCratePublisher)

documentation

README

typeshare

CLI built on top of typeshare-core. Generate code in different languages from Rust type definitions for FFI interop.

Usage

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

Generating FFI bindings

Include the typeshare annotation to generate a FFI binding for that function. Available languages are kotlin and swift.

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

Until the build system is changed to generate bindings during a build, it must be done manually and committed into the repo. FFI bindings are generated into the ffi/src/generated.rs file.

To generate all FFI bindings run make ffi. When adding or removing FFI bindings, don't forget to include the changes in the Makefile.

Commit count: 365

cargo fmt