Skip to content

Commit 5a83330

Browse files
committed
Rm raw prefix
1 parent 443cf1e commit 5a83330

4 files changed

Lines changed: 15 additions & 8 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"changes":{"crates/vespera_core/Cargo.toml":"Patch","crates/vespera_macro/Cargo.toml":"Patch","crates/vespera/Cargo.toml":"Patch"},"note":"Remove raw prefix","date":"2026-01-14T03:53:02.608967800Z"}

crates/vespera_macro/src/openapi_generator.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use vespera_core::{
1010
use crate::metadata::CollectedMetadata;
1111
use crate::parser::{
1212
build_operation_from_function, extract_default, extract_field_rename, extract_rename_all,
13-
parse_enum_to_schema, parse_struct_to_schema, rename_field,
13+
parse_enum_to_schema, parse_struct_to_schema, rename_field, strip_raw_prefix,
1414
};
1515

1616
/// Generate OpenAPI document from collected metadata
@@ -260,7 +260,7 @@ fn process_default_functions(
260260
let rust_field_name = field
261261
.ident
262262
.as_ref()
263-
.map(|i| i.to_string())
263+
.map(|i| strip_raw_prefix(&i.to_string()).to_string())
264264
.unwrap_or_else(|| "unknown".to_string());
265265

266266
let field_name = if let Some(renamed) = extract_field_rename(&field.attrs) {
@@ -291,7 +291,7 @@ fn process_default_functions(
291291
let rust_field_name = field
292292
.ident
293293
.as_ref()
294-
.map(|i| i.to_string())
294+
.map(|i| strip_raw_prefix(&i.to_string()).to_string())
295295
.unwrap_or_else(|| "unknown".to_string());
296296

297297
let field_name = if let Some(renamed) = extract_field_rename(&field.attrs) {

crates/vespera_macro/src/parser/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ mod schema;
88
pub use operation::build_operation_from_function;
99
pub use schema::{
1010
extract_default, extract_field_rename, extract_rename_all, parse_enum_to_schema,
11-
parse_struct_to_schema, rename_field,
11+
parse_struct_to_schema, rename_field, strip_raw_prefix,
1212
};

crates/vespera_macro/src/parser/schema.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@ use std::collections::{BTreeMap, HashMap};
33
use syn::{Fields, Type};
44
use vespera_core::schema::{Reference, Schema, SchemaRef, SchemaType};
55

6+
/// Strips the `r#` prefix from raw identifiers.
7+
/// E.g., `r#type` becomes `type`.
8+
pub fn strip_raw_prefix(ident: &str) -> &str {
9+
ident.strip_prefix("r#").unwrap_or(ident)
10+
}
11+
612
pub fn extract_rename_all(attrs: &[syn::Attribute]) -> Option<String> {
713
for attr in attrs {
814
if attr.path().is_ident("serde") {
@@ -394,7 +400,7 @@ pub fn parse_enum_to_schema(
394400
let mut enum_values = Vec::new();
395401

396402
for variant in &enum_item.variants {
397-
let variant_name = variant.ident.to_string();
403+
let variant_name = strip_raw_prefix(&variant.ident.to_string()).to_string();
398404

399405
// Check for variant-level rename attribute first (takes precedence)
400406
let enum_value = if let Some(renamed) = extract_field_rename(&variant.attrs) {
@@ -421,7 +427,7 @@ pub fn parse_enum_to_schema(
421427
let mut one_of_schemas = Vec::new();
422428

423429
for variant in &enum_item.variants {
424-
let variant_name = variant.ident.to_string();
430+
let variant_name = strip_raw_prefix(&variant.ident.to_string()).to_string();
425431

426432
// Check for variant-level rename attribute first (takes precedence)
427433
let variant_key = if let Some(renamed) = extract_field_rename(&variant.attrs) {
@@ -505,7 +511,7 @@ pub fn parse_enum_to_schema(
505511
let rust_field_name = field
506512
.ident
507513
.as_ref()
508-
.map(|i| i.to_string())
514+
.map(|i| strip_raw_prefix(&i.to_string()).to_string())
509515
.unwrap_or_else(|| "unknown".to_string());
510516

511517
// Check for field-level rename attribute first (takes precedence)
@@ -608,7 +614,7 @@ pub fn parse_struct_to_schema(
608614
let rust_field_name = field
609615
.ident
610616
.as_ref()
611-
.map(|i| i.to_string())
617+
.map(|i| strip_raw_prefix(&i.to_string()).to_string())
612618
.unwrap_or_else(|| "unknown".to_string());
613619

614620
// Check for field-level rename attribute first (takes precedence)

0 commit comments

Comments
 (0)