Skip to content

Commit 43fcf9f

Browse files
committed
Actually recurse when resolving the types lol
1 parent c46dfee commit 43fcf9f

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/codesamples.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ fn recursively_resolve_type(ty_name: &str, api: &Api) -> Type {
5555
let update_fields = |fields: &mut Vec<Field>, api: &Api| {
5656
for f in fields.iter_mut() {
5757
if let FieldType::SchemaRef { name, .. } = &f.r#type {
58-
let inner_ty = api.types.get(name).unwrap().clone();
58+
let inner_ty = recursively_resolve_type(name, api);
5959
f.r#type = FieldType::SchemaRef {
6060
name: name.clone(),
6161
inner: Some(inner_ty),
@@ -83,7 +83,7 @@ fn recursively_resolve_type(ty_name: &str, api: &Api) -> Type {
8383
}
8484
EnumVariantType::Ref { schema_ref, inner } => {
8585
if let Some(schema_ref) = schema_ref {
86-
let inner_ty = api.types.get(schema_ref).unwrap().clone();
86+
let inner_ty = recursively_resolve_type(schema_ref, api);
8787
*inner = Some(inner_ty);
8888
}
8989
}
@@ -118,7 +118,6 @@ fn generate_sample(
118118
.request_body_schema_name
119119
.as_ref()
120120
.map(|req_body_name| recursively_resolve_type(req_body_name, api));
121-
122121
let ctx = context! { operation, resource_parents, req_body_ty };
123122

124123
let codesample = env.render_str(source, ctx).unwrap();

0 commit comments

Comments
 (0)