use thiserror::Error;
#[derive(Debug, Error)]
pub enum FPEError {
#[error("Alphabet error: {0}")]
AlphabetError(String),
#[error("FPE operation failed: {0}")]
OperationFailed(String),
#[error("Out of bounds: {0}")]
OutOfBounds(String),
#[error("Invalid key size {0}, expected: {1}")]
KeySize(usize, usize),
#[error("Conversion error: {0}")]
ConversionError(String),
}
impl From<std::num::TryFromIntError> for FPEError {
fn from(value: std::num::TryFromIntError) -> Self {
Self::ConversionError(value.to_string())
}
}