parsers: Rename Message::get_best_owned to get_best_cloned

This commit is contained in:
xmppftw xmppftw 2024-12-19 18:14:18 +01:00
commit 9901141b5f
2 changed files with 13 additions and 13 deletions

View file

@ -51,8 +51,8 @@ XXXX-YY-ZZ RELEASER <admin@example.com>
the size of these elements (!472). the size of these elements (!472).
- Add Message::extract_valid_payload method to warn in case of failure - Add Message::extract_valid_payload method to warn in case of failure
and return simply Option<T> instead of Result<Option<T>> (!497) and return simply Option<T> instead of Result<Option<T>> (!497)
- Add Message::get_best_body_owned and Message::get_best_subject_owned - Add Message::get_best_body_cloned and Message::get_best_subject_cloned
for best developer experience when performance is not an issue (!497) to clone automatically when performance is not an issue (!497)
Version 0.21.0: Version 0.21.0:
2024-07-25 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> 2024-07-25 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>

View file

@ -183,7 +183,7 @@ impl Message {
map.iter().map(|(lang, value)| (lang.clone(), value)).next() map.iter().map(|(lang, value)| (lang.clone(), value)).next()
} }
fn get_best_owned<T: ToOwned<Owned = T>>( fn get_best_cloned<T: ToOwned<Owned = T>>(
map: &BTreeMap<Lang, T>, map: &BTreeMap<Lang, T>,
preferred_langs: Vec<&str>, preferred_langs: Vec<&str>,
) -> Option<(Lang, T)> { ) -> Option<(Lang, T)> {
@ -205,9 +205,9 @@ impl Message {
Message::get_best::<Body>(&self.bodies, preferred_langs) Message::get_best::<Body>(&self.bodies, preferred_langs)
} }
/// Owned variant of [`Message::get_best_body`] /// Cloned variant of [`Message::get_best_body`]
pub fn get_best_body_owned(&self, preferred_langs: Vec<&str>) -> Option<(Lang, Body)> { pub fn get_best_body_cloned(&self, preferred_langs: Vec<&str>) -> Option<(Lang, Body)> {
Message::get_best_owned::<Body>(&self.bodies, preferred_langs) Message::get_best_cloned::<Body>(&self.bodies, preferred_langs)
} }
/// Returns the best matching subject from a list of languages. /// Returns the best matching subject from a list of languages.
@ -221,9 +221,9 @@ impl Message {
Message::get_best::<Subject>(&self.subjects, preferred_langs) Message::get_best::<Subject>(&self.subjects, preferred_langs)
} }
/// Owned variant of [`Message::get_best_subject`] /// Cloned variant of [`Message::get_best_subject`]
pub fn get_best_subject_owned(&self, preferred_langs: Vec<&str>) -> Option<(Lang, Subject)> { pub fn get_best_subject_cloned(&self, preferred_langs: Vec<&str>) -> Option<(Lang, Subject)> {
Message::get_best_owned::<Subject>(&self.subjects, preferred_langs) Message::get_best_cloned::<Subject>(&self.subjects, preferred_langs)
} }
/// Try to extract the given payload type from the message's payloads. /// Try to extract the given payload type from the message's payloads.
@ -499,9 +499,9 @@ mod tests {
assert_eq!(subject, &Subject::from_str("Hello world!").unwrap()); assert_eq!(subject, &Subject::from_str("Hello world!").unwrap());
} }
// Test owned variant. // Test cloned variant.
{ {
let (lang, subject) = message.get_best_subject_owned(vec!["en"]).unwrap(); let (lang, subject) = message.get_best_subject_cloned(vec!["en"]).unwrap();
assert_eq!(lang, ""); assert_eq!(lang, "");
assert_eq!(subject, Subject::from_str("Hello world!").unwrap()); assert_eq!(subject, Subject::from_str("Hello world!").unwrap());
} }
@ -546,9 +546,9 @@ mod tests {
assert_eq!(body, &Body::from_str("Hello world!").unwrap()); assert_eq!(body, &Body::from_str("Hello world!").unwrap());
} }
// Test owned variant. // Test cloned variant.
{ {
let (lang, body) = message.get_best_body_owned(vec!["ja"]).unwrap(); let (lang, body) = message.get_best_body_cloned(vec!["ja"]).unwrap();
assert_eq!(lang, ""); assert_eq!(lang, "");
assert_eq!(body, Body::from_str("Hello world!").unwrap()); assert_eq!(body, Body::from_str("Hello world!").unwrap());
} }