diff --git a/libjrpc/src/targets/typescript.rs b/libjrpc/src/targets/typescript.rs index 205ea48..0e49213 100644 --- a/libjrpc/src/targets/typescript.rs +++ b/libjrpc/src/targets/typescript.rs @@ -476,9 +476,12 @@ impl Compile for TypeScriptCompiler { for field in definition.fields.iter() { let typ = Self::type_to_typescript_ext(&field.typ); + let opt = if field.typ.is_optional() { "?" } else { "" }; + f.a1(format!( - "public {}: {};", + "public {}{}: {};", Self::fix_keyword_name(&field.name), + opt, typ )); }