5 个版本
使用旧的 Rust 2015
0.1.4 | 2018 年 12 月 12 日 |
---|---|
0.1.3 | 2018 年 12 月 12 日 |
0.1.2 | 2018 年 11 月 22 日 |
0.1.1 | 2018 年 11 月 22 日 |
0.1.0 | 2018 年 11 月 21 日 |
#1890 在 过程宏 中
63 每月下载量
25KB
271 行
wasm-typescript-definition
当与 wasm-bindgen 一起使用时,将 serde 序列化的结构体和枚举导出为 Typescript 定义。
#[derive(Serialize, TypescriptDefinition)]
enum Enum {
#[allow(unused)]
V1 {
#[serde(rename = "Foo")]
foo: bool,
},
#[allow(unused)]
V2 {
#[serde(rename = "Bar")]
bar: i64,
#[serde(rename = "Baz")]
baz: u64,
},
#[allow(unused)]
V3 {
#[serde(rename = "Quux")]
quux: String,
},
}
使用支持 typescript_custom_section (待办事项) 的修补版 wasm-bindgen,这将输出到你的 .d.ts
定义文件中
export type Enum =
| {"tag": "V1", "fields": { "Foo": boolean, }, }
| {"tag": "V2", "fields": { "Bar": number, "Baz": number, }, }
| {"tag": "V3", "fields": { "Quux": string, }, }
;
致谢
由 rust-serde-schema
by @srijs 衍生。
许可证
MIT 或 Apache-2.0,任选其一。
依赖
~2.5MB
~54K SLoC