getHuaGaiXianChiIndex function

Map<String, int> getHuaGaiXianChiIndex(
  1. EarthlyBranchName earthlyBranchName
)

安华盖

  • 子辰申年在辰,丑巳酉年在丑
  • 寅午戍年在戍,卯未亥年在未。

安咸池

  • 子辰申年在酉,丑巳酉年在午
  • 寅午戍年在卯,卯未亥年在子。

@param earthlyBranchName 地支 @returns 华盖、咸池索引

Implementation

Map<String, int> getHuaGaiXianChiIndex(EarthlyBranchName earthlyBranchName) {
  var hgIdx = -1;
  var xcIdx = -1;
  switch (earthlyBranchName) {
    case EarthlyBranchName.yinEarthly:
    case EarthlyBranchName.wuEarthly:
    case EarthlyBranchName.xuEarthly:
      hgIdx = fixEarthlyBranchIndex(EarthlyBranchName.xuEarthly);
      xcIdx = fixEarthlyBranchIndex(EarthlyBranchName.maoEarthly);
      break;
    case EarthlyBranchName.shenEarthly:
    case EarthlyBranchName.ziEarthly:
    case EarthlyBranchName.chenEarthly:
      hgIdx = fixEarthlyBranchIndex(EarthlyBranchName.chenEarthly);
      xcIdx = fixEarthlyBranchIndex(EarthlyBranchName.youEarthly);
      break;
    case EarthlyBranchName.siEarthly:
    case EarthlyBranchName.youEarthly:
    case EarthlyBranchName.chouEarthly:
      hgIdx = fixEarthlyBranchIndex(EarthlyBranchName.chouEarthly);
      xcIdx = fixEarthlyBranchIndex(EarthlyBranchName.wuEarthly);
      break;
    case EarthlyBranchName.haiEarthly:
    case EarthlyBranchName.weiEarthly:
    case EarthlyBranchName.maoEarthly:
      hgIdx = fixEarthlyBranchIndex(EarthlyBranchName.weiEarthly);
      xcIdx = fixEarthlyBranchIndex(EarthlyBranchName.ziEarthly);
      break;
  }

  return {"hgIdx": fixIndex(hgIdx), "xcIdx": fixIndex(xcIdx)};
}