mirror of
https://github.com/mbilker/kbinxml-rs.git
synced 2026-09-10 03:25:14 -05:00
value: add TryFrom impl for Binary values
This commit is contained in:
@@ -605,6 +605,22 @@ impl Value {
|
||||
value => Err(KbinErrorKind::ExpectedValueArray(value.clone()).into()),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn into_binary(self) -> Result<Vec<u8>, KbinError> {
|
||||
match self {
|
||||
Value::Binary(data) => Ok(data),
|
||||
value => Err(KbinErrorKind::ValueTypeMismatch(StandardType::Binary, value).into()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "try_from")]
|
||||
impl TryFrom<Value> for Vec<u8> {
|
||||
type Error = KbinError;
|
||||
|
||||
fn try_from(value: Value) -> Result<Self, Self::Error> {
|
||||
value.into_binary()
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Vec<u8>> for Value {
|
||||
|
||||
Reference in New Issue
Block a user