TS

Derive Macro TS 

Source
#[derive(TS)]
{
    // Attributes available to this derive:
    #[ts]
}
Expand description

Derive macro for generating TypeScript type definitions from Rust types.

§Examples

§Unit variants

#[derive(TS)]
enum Status {
    Pending,
    Active,
    Completed,
}
// Generates: "Pending" | "Active" | "Completed"

§Tuple variants

#[derive(TS)]
enum Coordinate {
    D2(f64, f64),
    D3(f64, f64, f64),
}
// Generates: { type: "D2"; value: [number, number] } | { type: "D3"; value: [number, number, number] }

§Struct variants

#[derive(TS)]
enum Shape {
    Circle { center: Point, radius: f64 },
    Rectangle { x: f64, y: f64, width: f64, height: f64 },
}
// Generates: { type: "Circle"; center: Point; radius: number } | { type: "Rectangle"; x: number; y: number; width: number; height: number }

§Structs

#[derive(TS)]
struct User {
    id: String,
    name: String,
    age: i32,
}
// Generates: { id: string; name: string; age: number }