Reduce nesting in externalfiles implementation
Utilize `?` instead of and_then/map operators
This commit is contained in:
parent
1aa0964b54
commit
3b8a24d193
1 changed files with 14 additions and 28 deletions
|
@ -25,34 +25,20 @@ impl ExternalHtml {
|
||||||
id_map: &mut IdMap, edition: Edition, playground: &Option<Playground>)
|
id_map: &mut IdMap, edition: Edition, playground: &Option<Playground>)
|
||||||
-> Option<ExternalHtml> {
|
-> Option<ExternalHtml> {
|
||||||
let codes = ErrorCodes::from(UnstableFeatures::from_environment().is_nightly_build());
|
let codes = ErrorCodes::from(UnstableFeatures::from_environment().is_nightly_build());
|
||||||
load_external_files(in_header, diag)
|
let ih = load_external_files(in_header, diag)?;
|
||||||
.and_then(|ih|
|
let bc = load_external_files(before_content, diag)?;
|
||||||
load_external_files(before_content, diag)
|
let m_bc = load_external_files(md_before_content, diag)?;
|
||||||
.map(|bc| (ih, bc))
|
let bc = format!("{}{}", bc, Markdown(&m_bc, &[], id_map,
|
||||||
)
|
codes, edition, playground).to_string());
|
||||||
.and_then(|(ih, bc)|
|
let ac = load_external_files(after_content, diag)?;
|
||||||
load_external_files(md_before_content, diag)
|
let m_ac = load_external_files(md_after_content, diag)?;
|
||||||
.map(|m_bc| (ih,
|
let ac = format!("{}{}", ac, Markdown(&m_ac, &[], id_map,
|
||||||
format!("{}{}", bc, Markdown(&m_bc, &[], id_map,
|
codes, edition, playground).to_string());
|
||||||
codes, edition, playground).to_string())))
|
Some(ExternalHtml {
|
||||||
)
|
in_header: ih,
|
||||||
.and_then(|(ih, bc)|
|
before_content: bc,
|
||||||
load_external_files(after_content, diag)
|
after_content: ac,
|
||||||
.map(|ac| (ih, bc, ac))
|
})
|
||||||
)
|
|
||||||
.and_then(|(ih, bc, ac)|
|
|
||||||
load_external_files(md_after_content, diag)
|
|
||||||
.map(|m_ac| (ih, bc,
|
|
||||||
format!("{}{}", ac, Markdown(&m_ac, &[], id_map,
|
|
||||||
codes, edition, playground).to_string())))
|
|
||||||
)
|
|
||||||
.map(|(ih, bc, ac)|
|
|
||||||
ExternalHtml {
|
|
||||||
in_header: ih,
|
|
||||||
before_content: bc,
|
|
||||||
after_content: ac,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue