diff options
Diffstat (limited to 'vendored/mpd/src/sticker.rs')
| -rw-r--r-- | vendored/mpd/src/sticker.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/vendored/mpd/src/sticker.rs b/vendored/mpd/src/sticker.rs new file mode 100644 index 0000000..b1a2dc3 --- /dev/null +++ b/vendored/mpd/src/sticker.rs @@ -0,0 +1,23 @@ +use crate::error::ParseError; +use std::str::FromStr; + +pub struct Sticker { + pub name: String, + pub value: String, +} + +impl FromStr for Sticker { + type Err = ParseError; + fn from_str(s: &str) -> Result<Sticker, ParseError> { + let mut parts = s.splitn(2, '='); + match (parts.next(), parts.next()) { + (Some(name), Some(value)) => { + Ok(Sticker { + name: name.to_owned(), + value: value.to_owned(), + }) + } + _ => Err(ParseError::BadValue(s.to_owned())), + } + } +} |