getGuGuaIndex function

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

安孤辰寡宿

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

@param earthlyBranchName 地支 @returns 孤辰、寡宿索引

Implementation

Map<String, int> getGuGuaIndex(EarthlyBranchName earthlyBranchName) {
  var guIdx = -1;
  var guaIdx = -1;
  switch (earthlyBranchName) {
    case EarthlyBranchName.yinEarthly:
    case EarthlyBranchName.maoEarthly:
    case EarthlyBranchName.chenEarthly:
      guIdx = fixEarthlyBranchIndex(EarthlyBranchName.siEarthly);
      guaIdx = fixEarthlyBranchIndex(EarthlyBranchName.chouEarthly);
      break;
    case EarthlyBranchName.siEarthly:
    case EarthlyBranchName.wuEarthly:
    case EarthlyBranchName.weiEarthly:
      guIdx = fixEarthlyBranchIndex(EarthlyBranchName.shenEarthly);
      guaIdx = fixEarthlyBranchIndex(EarthlyBranchName.chenEarthly);
      break;
    case EarthlyBranchName.shenEarthly:
    case EarthlyBranchName.youEarthly:
    case EarthlyBranchName.xuEarthly:
      guIdx = fixEarthlyBranchIndex(EarthlyBranchName.haiEarthly);
      guaIdx = fixEarthlyBranchIndex(EarthlyBranchName.weiEarthly);
      break;
    case EarthlyBranchName.haiEarthly:
    case EarthlyBranchName.ziEarthly:
    case EarthlyBranchName.chouEarthly:
      guIdx = fixEarthlyBranchIndex(EarthlyBranchName.yinEarthly);
      guaIdx = fixEarthlyBranchIndex(EarthlyBranchName.xuEarthly);
      break;
  }
  return {"guChenIndex": fixIndex(guIdx), "guaSuIndex": fixIndex(guaIdx)};
}