From Java:
@SharedType
record User(String name, int age, String email) {}
To Typescript:
export interface User {
name: string;
age: number;
email: string;
}
Go (Planed):
type User struct {
Name string
Age int
Email string
}
Rust:
pub struct User {
name: String,
age: i32,
email: String,
}
- Java8 support.
- Generics support.
- (Planed) Constant support.
- Client source dependency is only
@SharedType
retained at source code level. - SharedType AP jar <150KB, only 2 small dependencies: jsr305 annotations and mustache.
- Parsing takes milliseconds with
-proc:only
. - Intuitive defaults, put
@SharedType
and there you go. Global + class level options.
Cause Chung ([email protected])