import '../../../features/divination/data/models/divination_params.dart'; abstract final class DivinationTerms { static const yaoNames = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻']; static const yaoTypeLabels = { YaoTypeLabel.youngYang: '少阳', YaoTypeLabel.youngYin: '少阴', YaoTypeLabel.oldYang: '老阳', YaoTypeLabel.oldYin: '老阴', }; static const yinYang = {true: '阳', false: '阴'}; static const ziHua = {true: '字', false: '花'}; static const wuXing = ['木', '火', '土', '金', '水']; static const yuanZhi = '元'; static const changeMarkOldYang = '○'; static const changeMarkOldYin = '×'; static const yinYangSymbol = {true: '—', false: '--'}; static const youngYangSymbol = '—'; static const youngYinSymbol = '--'; static const oldYangSymbol = '—○'; static const oldYinSymbol = '--×'; static const signBest = '上上签'; static const signGood = '中上签'; static const signNormal = '中下签'; static const signWorst = '下下签'; static const ganZhi = '干支'; static const ganZhiInfo = '干支信息'; static const ganZhiKongWang = '干支空亡'; static const yueJian = '月建'; static const riChen = '日辰'; static const yuePo = '月破'; static const riChong = '日冲'; static const wuXingWangShuai = '五行旺衰'; static const guaXiang = '卦象'; static const yaoXiang = '爻象'; static const qiGua = '起卦'; static const jieGua = '解卦'; } enum YaoTypeLabel { youngYang, youngYin, oldYang, oldYin } extension YaoTypeLabelX on YaoType { String get label { return switch (this) { YaoType.youngYang => DivinationTerms.yaoTypeLabels[YaoTypeLabel.youngYang]!, YaoType.youngYin => DivinationTerms.yaoTypeLabels[YaoTypeLabel.youngYin]!, YaoType.oldYang => DivinationTerms.yaoTypeLabels[YaoTypeLabel.oldYang]!, YaoType.oldYin => DivinationTerms.yaoTypeLabels[YaoTypeLabel.oldYin]!, YaoType.undetermined => '', }; } String get changeMark { return switch (this) { YaoType.oldYang => DivinationTerms.changeMarkOldYang, YaoType.oldYin => DivinationTerms.changeMarkOldYin, _ => '', }; } bool get isYang { return switch (this) { YaoType.youngYang || YaoType.oldYang => true, _ => false, }; } }