#[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 }