diff --git a/crates/jsonschema-referencing-testsuite-codegen/src/loader.rs b/crates/jsonschema-referencing-testsuite-codegen/src/loader.rs index 19dcceb2..d653ea38 100644 --- a/crates/jsonschema-referencing-testsuite-codegen/src/loader.rs +++ b/crates/jsonschema-referencing-testsuite-codegen/src/loader.rs @@ -21,7 +21,7 @@ pub(crate) fn load_suite( for entry in WalkDir::new(&full_path).into_iter().filter_map(Result::ok) { let path = entry.path(); - if path.is_file() && path.extension().map_or(false, |ext| ext == "json") { + if path.is_file() && path.extension().is_some_and(|ext| ext == "json") { let file = File::open(path)?; let reader = BufReader::new(file); let case: Case = serde_json::from_reader(reader)?; diff --git a/crates/jsonschema-testsuite-codegen/src/loader.rs b/crates/jsonschema-testsuite-codegen/src/loader.rs index 8d4c3a02..c7b648f1 100644 --- a/crates/jsonschema-testsuite-codegen/src/loader.rs +++ b/crates/jsonschema-testsuite-codegen/src/loader.rs @@ -32,7 +32,7 @@ pub(crate) fn load_suite( for entry in WalkDir::new(&full_path).into_iter().filter_map(Result::ok) { let path = entry.path(); - if path.is_file() && path.extension().map_or(false, |ext| ext == "json") { + if path.is_file() && path.extension().is_some_and(|ext| ext == "json") { let relative_path = path.strip_prefix(&full_path)?; let file = File::open(path)?; let reader = BufReader::new(file); diff --git a/crates/jsonschema/src/ecma.rs b/crates/jsonschema/src/ecma.rs index 01baef40..f6b4f91c 100644 --- a/crates/jsonschema/src/ecma.rs +++ b/crates/jsonschema/src/ecma.rs @@ -99,7 +99,7 @@ impl<'a> Ecma262Translator<'a> { ); } } - self.offset += replacement.as_bytes().len() - (end.offset - start.offset); + self.offset += replacement.len() - (end.offset - start.offset); self.has_changes = true; } diff --git a/crates/jsonschema/src/keywords/content.rs b/crates/jsonschema/src/keywords/content.rs index 5c0e8e53..b2ea08d4 100644 --- a/crates/jsonschema/src/keywords/content.rs +++ b/crates/jsonschema/src/keywords/content.rs @@ -200,17 +200,11 @@ pub(crate) fn compile_media_type<'a>( ) -> Option> { match subschema { Value::String(media_type) => { - let func = match ctx.get_content_media_type_check(media_type.as_str()) { - Some(f) => f, - None => return None, - }; + let func = ctx.get_content_media_type_check(media_type.as_str())?; if let Some(content_encoding) = schema.get("contentEncoding") { match content_encoding { Value::String(content_encoding) => { - let converter = match ctx.get_content_encoding_convert(content_encoding) { - Some(f) => f, - None => return None, - }; + let converter = ctx.get_content_encoding_convert(content_encoding)?; Some(ContentMediaTypeAndEncodingValidator::compile( media_type, content_encoding, @@ -256,10 +250,7 @@ pub(crate) fn compile_content_encoding<'a>( } match subschema { Value::String(content_encoding) => { - let func = match ctx.get_content_encoding_check(content_encoding) { - Some(f) => f, - None => return None, - }; + let func = ctx.get_content_encoding_check(content_encoding)?; Some(ContentEncodingValidator::compile( content_encoding, func, diff --git a/crates/jsonschema/src/keywords/format.rs b/crates/jsonschema/src/keywords/format.rs index ee671ff9..675c0124 100644 --- a/crates/jsonschema/src/keywords/format.rs +++ b/crates/jsonschema/src/keywords/format.rs @@ -452,7 +452,7 @@ fn is_valid_idn_hostname(hostname: &str) -> bool { '\u{0375}' if !chars .peek() - .map_or(false, |next| ('\u{0370}'..='\u{03FF}').contains(next)) => + .is_some_and(|next| ('\u{0370}'..='\u{03FF}').contains(next)) => { return false } diff --git a/crates/jsonschema/src/keywords/one_of.rs b/crates/jsonschema/src/keywords/one_of.rs index c5e16e3e..f630abfe 100644 --- a/crates/jsonschema/src/keywords/one_of.rs +++ b/crates/jsonschema/src/keywords/one_of.rs @@ -66,7 +66,7 @@ impl OneOfValidator { impl Validate for OneOfValidator { fn is_valid(&self, instance: &Value) -> bool { let first_valid_idx = self.get_first_valid(instance); - first_valid_idx.map_or(false, |idx| !self.are_others_valid(instance, idx)) + first_valid_idx.is_some_and(|idx| !self.are_others_valid(instance, idx)) } fn validate<'i>( &self, diff --git a/crates/jsonschema/src/validator.rs b/crates/jsonschema/src/validator.rs index 71155fe2..cae4397a 100644 --- a/crates/jsonschema/src/validator.rs +++ b/crates/jsonschema/src/validator.rs @@ -382,7 +382,7 @@ mod tests { path: Location, ) -> Result, ValidationError<'a>> { const EXPECTED: &str = "ascii-keys"; - if schema.as_str().map_or(true, |key| key != EXPECTED) { + if schema.as_str() != Some(EXPECTED) { Err(ValidationError::constant_string( Location::new(), path, @@ -505,7 +505,7 @@ mod tests { }; let with_currency_format = parent .get("format") - .map_or(false, |format| format == "currency"); + .is_some_and(|format| format == "currency"); Ok(Box::new(CustomMinimumValidator { limit, limit_val: schema.clone(),