use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, thiserror::Error)]
#[non_exhaustive]
pub enum SankhyaError {
#[error("invalid date: {0}")]
InvalidDate(String),
#[error("invalid base: {0}")]
InvalidBase(String),
#[error("invalid fraction: {0}")]
InvalidFraction(String),
#[error("overflow: {0}")]
OverflowError(String),
#[error("computation error: {0}")]
ComputationError(String),
}
pub type Result<T> = core::result::Result<T, SankhyaError>;