Skip to content

Commit 9264e91

Browse files
committed
Accept AsRef[u8]> instead of AsRef<str> in conversion helpers
1 parent ec88530 commit 9264e91

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/lib.rs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,28 @@ pub use accepted_languages::parse as parse_accepted_languages;
2222
pub use negotiate::negotiate_languages;
2323
pub use negotiate::NegotiationStrategy;
2424

25+
use unic_langid::{LanguageIdentifier, LanguageIdentifierError};
26+
2527
pub fn convert_vec_str_to_langids<'a, I, J>(
2628
input: I,
27-
) -> Result<Vec<unic_langid::LanguageIdentifier>, unic_langid::LanguageIdentifierError>
29+
) -> Result<Vec<LanguageIdentifier>, LanguageIdentifierError>
2830
where
2931
I: IntoIterator<Item = J>,
30-
J: AsRef<str> + 'a,
32+
J: AsRef<[u8]> + 'a,
3133
{
32-
input.into_iter().map(|s| s.as_ref().parse()).collect()
34+
input
35+
.into_iter()
36+
.map(|s| LanguageIdentifier::from_bytes(s.as_ref()))
37+
.collect()
3338
}
3439

35-
pub fn convert_vec_str_to_langids_lossy<'a, I, J>(input: I) -> Vec<unic_langid::LanguageIdentifier>
40+
pub fn convert_vec_str_to_langids_lossy<'a, I, J>(input: I) -> Vec<LanguageIdentifier>
3641
where
3742
I: IntoIterator<Item = J>,
38-
J: AsRef<str> + 'a,
43+
J: AsRef<[u8]> + 'a,
3944
{
4045
input
4146
.into_iter()
42-
.filter_map(|t| t.as_ref().parse().ok())
47+
.filter_map(|t| LanguageIdentifier::from_bytes(t.as_ref()).ok())
4348
.collect()
4449
}

0 commit comments

Comments
 (0)