Skip to content

Commit dbc2f63

Browse files
committed
Make the code getting query parameters shallower
I don't know if the fold experssion will ever be nice. It's done to pair up the parameter documentation keys from the `dl` html.
1 parent 4100a55 commit dbc2f63

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

transformer/src/parsers/doc/operation.rs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -151,36 +151,31 @@ impl<'a> TryFrom<(DetailPage, &BTreeMap<String, String>, String)> for Operation
151151

152152
let deprecated = p.definition_list.filter("Deprecated:").any(|_| true);
153153

154-
let query_parameters = match p
154+
let query_parameters = p
155155
.definition_list
156156
.find("Query parameters")
157157
.and_then(DefinitionListValue::as_sublist)
158-
{
159-
Some(s) => {
158+
.map(|s| {
160159
s.0.iter()
161160
.filter_map(|(key, value)| value.as_text().map(|v| (key, v)))
162161
.fold((None, Vec::new()), |(name, mut acc), (key, value)| {
163162
match (key.as_str(), name) {
164163
("Parameter", _) => (Some(value.to_string()), acc),
165164
("Documentation", Some(name)) => {
166-
let description = html2md::parse_html(value).trim().to_string();
167-
acc.push(QueryParameter {
168-
name,
169-
description: if description.is_empty() {
170-
None
171-
} else {
172-
Some(description)
173-
},
174-
});
165+
let description = if value.is_empty() {
166+
None
167+
} else {
168+
Some(html2md::parse_html(value))
169+
};
170+
acc.push(QueryParameter { name, description });
175171
(None, acc)
176172
}
177173
(_, name) => (name, acc),
178174
}
179175
})
180176
.1
181-
}
182-
None => Vec::new(),
183-
};
177+
})
178+
.unwrap_or_else(Vec::new);
184179

185180
Ok(Self {
186181
method,

0 commit comments

Comments
 (0)