Make comparison simpler, add IndexUid error details similarly

This commit is contained in:
F. Levi 2024-09-17 00:16:15 +03:00
parent ec815fa368
commit e098cc8320
3 changed files with 9 additions and 7 deletions

View File

@ -74,7 +74,8 @@ impl Display for IndexUidFormatError {
f,
"invalid index uid `{}`, the uid must be an integer \
or a string containing only alphanumeric characters \
a-z A-Z 0-9, hyphens - and underscores _.",
a-z A-Z 0-9, hyphens - and underscores _, \
and can not be more than 400 bytes.",
self.invalid_uid,
)
}

View File

@ -74,7 +74,8 @@ impl Display for IndexUidFormatError {
f,
"invalid index uid `{}`, the uid must be an integer \
or a string containing only alphanumeric characters \
a-z A-Z 0-9, hyphens - and underscores _.",
a-z A-Z 0-9, hyphens - and underscores _, \
and can not be more than 400 bytes.",
self.invalid_uid,
)
}

View File

@ -150,13 +150,13 @@ fn starts_with(selector: &str, key: &str) -> bool {
// FIXME: move to a DocumentId struct
fn validate_document_id(document_id: &str) -> Option<&str> {
if !document_id.is_empty()
&& document_id.len() <= 512
&& document_id.chars().all(|c| matches!(c, 'a'..='z' | 'A'..='Z' | '0'..='9' | '-' | '_'))
if document_id.is_empty()
|| document_id.len() > 512
|| !document_id.chars().all(|c| c.is_ascii_alphanumeric() || c == '-' || c == '_')
{
Some(document_id)
} else {
None
} else {
Some(document_id)
}
}