diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-03-15 17:46:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-15 17:46:36 -0400 |
commit | fb021d7ceff3f8b1d7cdb0c2bdd75ea07c0428d2 (patch) | |
tree | 09cb2bf87bba760b1abf706e0b8faedc9c368bbc /cli/lsp/language_server.rs | |
parent | ca51f4f6c058d16ac438ad75ac92e8954895f5aa (diff) |
refactor: remove usages of `map_or` / `map_or_else` (#18212)
These methods are confusing because the arguments are backwards. I feel
like they should have never been added to `Option<T>` and that clippy
should suggest rewriting to
`map(...).unwrap_or(...)`/`map(...).unwrap_or_else(|| ...)`
https://github.com/rust-lang/rfcs/issues/1025
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index fc87001af..8a779d283 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -509,14 +509,14 @@ impl Inner { &self, specifier: &ModuleSpecifier, ) -> LspResult<AssetOrDocument> { - self.get_maybe_asset_or_document(specifier).map_or_else( - || { + self + .get_maybe_asset_or_document(specifier) + .map(Ok) + .unwrap_or_else(|| { Err(LspError::invalid_params(format!( "Unable to find asset or document for: {specifier}" ))) - }, - Ok, - ) + }) } /// Searches assets and documents for the provided specifier. @@ -1677,16 +1677,12 @@ impl Inner { // Refactor let start = line_index.offset_tsc(params.range.start)?; let length = line_index.offset_tsc(params.range.end)? - start; - let only = - params - .context - .only - .as_ref() - .map_or(String::default(), |values| { - values - .first() - .map_or(String::default(), |v| v.as_str().to_owned()) - }); + let only = params + .context + .only + .as_ref() + .and_then(|values| values.first().map(|v| v.as_str().to_owned())) + .unwrap_or_default(); let req = tsc::RequestMethod::GetApplicableRefactors(( specifier.clone(), tsc::TextSpan { start, length }, |