A utility to generate types for other typed languages.
Currently, only typescript is supported.
There are two parts to this:
The CLI tool:
cargo install tsync
The dependency for rust projects (to use the #[tsync]
attribute; see usage below)
``` /// Cargo.toml
tsync = "X.Y.Z" ```
Mark structs with #[tsync]
as below:
```rust /// src/main.rs use tsync::tsync;
struct Book {
name: String,
chapters: Vec
struct Chapter { title: String, pages: u32 } ```
Then use the CLI tool:
sh
tsync -i **/*.rs -o types.d.ts
And voilĂ !
```ts /// types.d.ts
/* This file is generated and managed by tsync */
interface Book {
name: string
chapters: Array
interface Chapter { title: string pages: number } ```
See tsync --help
for more information.
Feel free to open tickets for support or feature requests.
This tool is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.