Documentation
//! 奇门遁甲错误类型。

use crate::enums::QimenChartType;
use crate::enums::QimenMethod;

/// 奇门遁甲计算过程中可能出现的错误。
#[derive(Debug, thiserror::Error)]
pub enum QimenError {
    /// 不支持的奇门起局方法 (目前仅支持时家)。
    #[error("unsupported qimen method: {0}")]
    UnsupportedMethod(QimenMethod),

    /// 不支持的奇门盘式 (目前仅支持三元)。
    #[error("unsupported qimen chart type: {0}")]
    UnsupportedChartType(QimenChartType),

    /// 节气名称无法映射到上中下三元的局数。
    #[error("unsupported solar term for qimen: {0}")]
    UnsupportedTerm(String),
}

/// 奇门遁甲计算结果类型别名。
pub type Result<T> = core::result::Result<T, QimenError>;