use crate::errors::AssetError;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum AssetDeltaOperation {
Add = Self::ADD,
Remove = Self::REMOVE,
}
impl AssetDeltaOperation {
const ADD: u8 = 1;
const REMOVE: u8 = 2;
pub const fn as_u8(&self) -> u8 {
*self as u8
}
}
impl TryFrom<u8> for AssetDeltaOperation {
type Error = AssetError;
fn try_from(value: u8) -> Result<Self, Self::Error> {
match value {
Self::ADD => Ok(Self::Add),
Self::REMOVE => Ok(Self::Remove),
_ => Err(AssetError::UnknownAssetDeltaOperation(value)),
}
}
}