use crate::core::model::ganzhi::StemBranch;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum NaYinElement {
Metal,
Fire,
Wood,
Earth,
Water,
}
const NAYIN_ELEMENTS: [NaYinElement; 30] = [
NaYinElement::Metal, NaYinElement::Fire, NaYinElement::Wood, NaYinElement::Earth, NaYinElement::Metal, NaYinElement::Fire, NaYinElement::Water, NaYinElement::Earth, NaYinElement::Metal, NaYinElement::Wood, NaYinElement::Water, NaYinElement::Earth, NaYinElement::Fire, NaYinElement::Wood, NaYinElement::Water, NaYinElement::Metal, NaYinElement::Fire, NaYinElement::Wood, NaYinElement::Earth, NaYinElement::Metal, NaYinElement::Fire, NaYinElement::Water, NaYinElement::Earth, NaYinElement::Metal, NaYinElement::Wood, NaYinElement::Water, NaYinElement::Earth, NaYinElement::Fire, NaYinElement::Wood, NaYinElement::Water, ];
pub fn nayin_element(pair: StemBranch) -> NaYinElement {
NAYIN_ELEMENTS[pair.cycle_index() / 2]
}