Implement OneOrMany<&AnyString>::as_as_str()

This commit is contained in:
Kitaiti Makoto 2022-02-13 01:15:23 +09:00
parent a6a21d5dfa
commit f0112850fa

View File

@ -435,6 +435,15 @@ impl AsAsStr for &AnyString {
}
}
impl AsAsStr for OneOrMany<&AnyString> {
fn as_as_str(&self) -> Option<&str> {
self.as_one().and_then(|prop| prop.as_as_str()).or_else(|| {
self.as_many()
.and_then(|props| props.iter().next().and_then(|prop| prop.as_as_str()))
})
}
}
#[cfg(test)]
mod tests {
use super::*;