summaryrefslogtreecommitdiff
path: root/cli/lsp/registries.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-03-15 17:46:36 -0400
committerGitHub <noreply@github.com>2023-03-15 17:46:36 -0400
commitfb021d7ceff3f8b1d7cdb0c2bdd75ea07c0428d2 (patch)
tree09cb2bf87bba760b1abf706e0b8faedc9c368bbc /cli/lsp/registries.rs
parentca51f4f6c058d16ac438ad75ac92e8954895f5aa (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/registries.rs')
-rw-r--r--cli/lsp/registries.rs40
1 files changed, 22 insertions, 18 deletions
diff --git a/cli/lsp/registries.rs b/cli/lsp/registries.rs
index fb60c7626..c1fa815e9 100644
--- a/cli/lsp/registries.rs
+++ b/cli/lsp/registries.rs
@@ -295,18 +295,20 @@ fn validate_config(config: &RegistryConfigurationJson) -> Result<(), AnyError> {
}
for registry in &config.registries {
let (_, keys) = string_to_regex(&registry.schema, None)?;
- let key_names: Vec<String> = keys.map_or_else(Vec::new, |keys| {
- keys
- .iter()
- .filter_map(|k| {
- if let StringOrNumber::String(s) = &k.name {
- Some(s.clone())
- } else {
- None
- }
- })
- .collect()
- });
+ let key_names: Vec<String> = keys
+ .map(|keys| {
+ keys
+ .iter()
+ .filter_map(|k| {
+ if let StringOrNumber::String(s) = &k.name {
+ Some(s.clone())
+ } else {
+ None
+ }
+ })
+ .collect()
+ })
+ .unwrap_or_default();
for key_name in &key_names {
if !registry
@@ -664,18 +666,20 @@ impl ModuleRegistry {
})
.ok()?;
let mut i = tokens.len();
- let last_key_name =
- StringOrNumber::String(tokens.iter().last().map_or_else(
- || "".to_string(),
- |t| {
+ let last_key_name = StringOrNumber::String(
+ tokens
+ .iter()
+ .last()
+ .map(|t| {
if let Token::Key(key) = t {
if let StringOrNumber::String(s) = &key.name {
return s.clone();
}
}
"".to_string()
- },
- ));
+ })
+ .unwrap_or_default(),
+ );
loop {
let matcher = Matcher::new(&tokens[..i], None)
.map_err(|e| {