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.
- Constant support.
- Client source dependency is only
@SharedTyperetained 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
@SharedTypeand there you go. Global + class level options.
Cause Chung (cuzfrog@gmail.com), Jeremy Zhou (hb.zhou.jeremy@gmail.com)