wow-alchemy-data 0.2.0

Base data types used in parsing WoW binary formats.
Documentation
use std::io;

use thiserror::Error;

#[derive(Error, Debug)]
pub enum WowDataError {
    #[error("I/O error: {0}")]
    Io(#[from] io::Error),

    #[error("Unsupported numeric version: {0}")]
    UnsupportedNumericVersion(u32),

    #[error("Conversion error: cannot convert from version {from} to {to}: {reason}")]
    ConversionError { from: u32, to: u32, reason: String },

    #[error("Generic error: {0}")]
    GenericError(String),

    #[error("Invalid value when trying to parse WowEnumFrom: {0} to {1}")]
    InvalidEnumParsedValue(String, String),
}

pub type Result<T> = std::result::Result<T, WowDataError>;