diff --git a/src/js.rs b/src/js.rs index f2dc005..f8a38d3 100644 --- a/src/js.rs +++ b/src/js.rs @@ -1,6 +1,7 @@ use crate::*; use heck::ToLowerCamelCase; use indoc::formatdoc; +use js_ts::unraw; use specta::{datatype, FunctionResultVariant}; use specta_typescript as ts; use specta_typescript::js_doc; @@ -56,7 +57,7 @@ impl ExportLanguage for Language { type_map, ) .map(|typ| { - let name = name.to_lower_camel_case(); + let name = unraw(name).to_lower_camel_case(); format!("@param {{ {typ} }} {name}") }) diff --git a/src/js_ts.rs b/src/js_ts.rs index d73fab3..34a50b5 100644 --- a/src/js_ts.rs +++ b/src/js_ts.rs @@ -77,9 +77,17 @@ pub fn render_all_parts &str { + if s.starts_with("r#") { + s.split_at(2).1 + } else { + s.as_ref() + } +} + pub fn arg_names(args: &[(Cow<'static, str>, DataType)]) -> Vec { args.iter() - .map(|(name, _)| name.to_lower_camel_case()) + .map(|(name, _)| unraw(name).to_lower_camel_case()) .collect::>() } diff --git a/src/ts.rs b/src/ts.rs index 51510e5..a5e7377 100644 --- a/src/ts.rs +++ b/src/ts.rs @@ -1,3 +1,4 @@ +use crate::js_ts::unraw; use crate::{js_ts, *}; use heck::ToLowerCamelCase; use indoc::formatdoc; @@ -43,7 +44,7 @@ impl ExportLanguage for Language { &FunctionResultVariant::Value(typ.clone()), type_map, ) - .map(|ty| format!("{}: {}", name.to_lower_camel_case(), ty)) + .map(|ty| format!("{}: {}", unraw(name).to_lower_camel_case(), ty)) }) .collect::, _>>()?;