import type { EarthlyBranchName, FiveElement, HeavenlyStemName, YinYang, } from './types'; export const STEMS: readonly HeavenlyStemName[] = [ '甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸', ]; export const BRANCHES: readonly EarthlyBranchName[] = [ '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥', ]; export const STEM_INFO: Record< HeavenlyStemName, { element: FiveElement; yinYang: YinYang } > = { 甲: { element: 'wood', yinYang: 'yang' }, 乙: { element: 'wood', yinYang: 'yin' }, 丙: { element: 'fire', yinYang: 'yang' }, 丁: { element: 'fire', yinYang: 'yin' }, 戊: { element: 'earth', yinYang: 'yang' }, 己: { element: 'earth', yinYang: 'yin' }, 庚: { element: 'metal', yinYang: 'yang' }, 辛: { element: 'metal', yinYang: 'yin' }, 壬: { element: 'water', yinYang: 'yang' }, 癸: { element: 'water', yinYang: 'yin' }, }; export const BRANCH_ELEMENT: Record = { 子: 'water', 丑: 'earth', 寅: 'wood', 卯: 'wood', 辰: 'earth', 巳: 'fire', 午: 'fire', 未: 'earth', 申: 'metal', 酉: 'metal', 戌: 'earth', 亥: 'water', }; export const HIDDEN_STEMS: Record = { 子: ['癸'], 丑: ['己', '癸', '辛'], 寅: ['甲', '丙', '戊'], 卯: ['乙'], 辰: ['戊', '乙', '癸'], 巳: ['丙', '戊', '庚'], 午: ['丁', '己'], 未: ['己', '丁', '乙'], 申: ['庚', '壬', '戊'], 酉: ['辛'], 戌: ['戊', '辛', '丁'], 亥: ['壬', '甲'], }; export const GENERATES: Record = { wood: 'fire', fire: 'earth', earth: 'metal', metal: 'water', water: 'wood', }; export const CONTROLS: Record = { wood: 'earth', fire: 'metal', earth: 'water', metal: 'wood', water: 'fire', }; export const ELEMENT_LABEL: Record = { wood: '木', fire: '火', earth: '土', metal: '金', water: '水', };