getAdjectiveStar function

List<List<FunctionalStar>> getAdjectiveStar(
  1. String solarDateStr,
  2. int timeIndex, [
  3. bool? fixLeap
])

安杂耀

@param solarDateStr 阳历日期字符串 @param timeIndex 时辰索引【0~12】 @param fixLeap 是否修复闰月,假如当月不是闰月则不生效 @returns 38杂耀

Implementation

List<List<FunctionalStar>> getAdjectiveStar(
  String solarDateStr,
  int timeIndex, [
  bool? fixLeap,
]) {
  final stars = initStars();
  final yearly =
      getHeavenlyStemAndEarthlyBranchSolarDate(
        solarDateStr,
        timeIndex,
        getConfig().yearDivide,
      ).yearly;
  final yearlyIndex = getYearlyStarIndex(solarDateStr, timeIndex, fixLeap);
  final monthlyIndex = getMonthlyStarIndex(solarDateStr, timeIndex, fixLeap);
  final dailyIndex = getDailyStarIndex(solarDateStr, timeIndex, fixLeap);
  final timelyIndex = getTimelyStarIndex(timeIndex);

  /// 'yueJieIndex': jieShenIndex,
  //     'tianYaoIndex': tianYaoIndex,
  //     'tianXingIndex': tianXingIndex,
  //     'yinShaIndex': yinShaIndex,
  //     'tianYueIndex': tianYueIndex,
  //     'tianWuIndex': tianWuIndex,
  int tianYaoIndex = monthlyIndex["tianYaoIndex"] ?? 0;
  int yueJieIndex = monthlyIndex["yueJieIndex"] ?? 0;
  int tianXingIndex = monthlyIndex["tianXingIndex"] ?? 0;
  int yinShaIndex = monthlyIndex["yinShaIndex"] ?? 0;
  int tianYueIndex = monthlyIndex["tianYueIndex"] ?? 0;
  int tianWuIndex = monthlyIndex["tianWuIndex"] ?? 0;

  //  "xianChiIndex": xianChiIndex,
  //     "huaGaiIndex": huaGaiIndex,
  //     "guChenIndex": guChenIndex,
  //     "guaSuIndex": guasuIndex,
  //     "tianCaiIndex": tianCaiIndex,
  //     "tianShouIndex": tianShouIndex,
  //     "tianChuIndex": tianChuIndex,
  //     "poSuiIndex": posuiIndex,
  //     "feiLianIndex": feiLianIndex,
  //     "longChiIndex": longChinIndex,
  //     "fenGeIndex": fenGeIndex,
  //     "tianKuIndex": tianKuIndex,
  //     "tianXuIndex": tianXuIndex,
  //     "tianGuanIndex": tianGuanIndex,
  //     "tianFuIndex": tianFuIndex,
  //     "tianDeIndex": tianDeIndex,
  //     "yueDeIndex": yueDeIndex,
  //     "tianKongIndex": tianKongIndex,
  //     "jieLuIndex": jieLuIndex,
  //     "kongWangIndex": kongWangIndex,
  //     "xunKongIndex": xunKongIndex,
  //     "tianShangIndex": tianShangIndex,
  //     "tianShiIndex": tianShiIndex,
  int xianChiIndex = yearlyIndex["xianChiIndex"] ?? 0;
  int huaGaiIndex = yearlyIndex["huaGaiIndex"] ?? 0;
  int guChenIndex = yearlyIndex["guChenIndex"] ?? 0;
  int guaSuIndex = yearlyIndex["guaSuIndex"] ?? 0;
  int tianCaiIndex = yearlyIndex["tianCaiIndex"] ?? 0;
  int tianShouIndex = yearlyIndex["tianShouIndex"] ?? 0;
  int tianChuIndex = yearlyIndex["tianChuIndex"] ?? 0;
  int poSuiIndex = yearlyIndex["poSuiIndex"] ?? 0;
  int feiLianIndex = yearlyIndex["feiLianIndex"] ?? 0;
  int longChiIndex = yearlyIndex["longChiIndex"] ?? 0;
  int fenGeIndex = yearlyIndex["fenGeIndex"] ?? 0;
  int tianKuIndex = yearlyIndex["tianKuIndex"] ?? 0;
  int tianXuIndex = yearlyIndex["tianXuIndex"] ?? 0;
  int tianGuanIndex = yearlyIndex["tianGuanIndex"] ?? 0;
  int tianFuIndex = yearlyIndex["tianFuIndex"] ?? 0;
  int tianDeIndex = yearlyIndex["tianDeIndex"] ?? 0;
  int yueDeIndex = yearlyIndex["yueDeIndex"] ?? 0;
  int tianKongIndex = yearlyIndex["tianKongIndex"] ?? 0;
  int jieLuIndex = yearlyIndex["jieLuIndex"] ?? 0;
  int kongWangIndex = yearlyIndex["kongWangIndex"] ?? 0;
  int xunKongIndex = yearlyIndex["xunKongIndex"] ?? 0;
  int tianShangIndex = yearlyIndex["tianShangIndex"] ?? 0;
  int tianShiIndex = yearlyIndex["tianShiIndex"] ?? 0;

  // final dailyIndex = getDailyStarIndex(solarDateStr, timeIndex);
  //"sanTaiIndex": sanTaiIndex,
  //     "baZuoIndex": baZuoIndex,
  //     "tianGuiIndex": tianGuiIndex,
  //     "enguangIndex": enguangIndex
  int sanTaiIndex = dailyIndex["sanTaiIndex"] ?? 0;
  int baZuoIndex = dailyIndex["baZuoIndex"] ?? 0;
  int tianGuiIndex = dailyIndex["tianGuiIndex"] ?? 0;
  int enguangIndex = dailyIndex["enguangIndex"] ?? 0;

  // final timelyIndex = getTimelyStarIndex(timeIndex);
  // "taiFuIndex": taiFuIndex, "fenggaoIndex": fenggaoIndex
  int taiFuIndex = timelyIndex["taiFuIndex"] ?? 0;
  int fenggaoIndex = timelyIndex["fenggaoIndex"] ?? 0;

  final luanXinMaps = getLuanXiIndex(getMyEarthlyBranchNameFrom(yearly[1]));
  int hongLuanIndex = luanXinMaps["hongLuanIndex"] ?? 0;
  int tianXiIndex = luanXinMaps["tianXiIndex"] ?? 0;

  final suiqian12 = getYearly12(solarDateStr)['suiqian12'] ?? [];
  final longdeIndex = suiqian12.indexOf(StarName.longDe);

  stars[hongLuanIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('hongLuan'),
        type: StarType.flower,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianXiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianXi'),
        type: StarType.flower,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianYaoIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianYao'),
        type: StarType.flower,
        scope: Scope.origin,
      ),
    ),
  );
  stars[xianChiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('xianChi'),
        type: StarType.flower,
        scope: Scope.origin,
      ),
    ),
  );
  stars[yueJieIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('jieShen'),
        type: StarType.helper,
        scope: Scope.origin,
      ),
    ),
  );
  stars[sanTaiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('sanTai'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[baZuoIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('baZuo'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[enguangIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('engGuang'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianGuiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianGui'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[longChiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('longChi'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[fenGeIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('fengGe'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianCaiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianCai'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianShouIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianShou'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[taiFuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('taiFu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[fenggaoIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('fengGao'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianWuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianWu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[huaGaiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('huaGai'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianGuanIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianGuan'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianFuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianFu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianChuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianChu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianYueIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianYue'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianDeIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianDe'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[yueDeIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('yueDe'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianKongIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianKong'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[xunKongIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('xunKong'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[jieLuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('jieLu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[kongWangIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('kongWang'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[guChenIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('guChen'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[guaSuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('guaSu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[feiLianIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('feiLian'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[poSuiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('poSui'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianXingIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianXing'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[yinShaIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('yinSha'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianKuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianKu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianXuIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianXu'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianShiIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianShi'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[tianShangIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('tianShang'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  stars[longdeIndex].add(
    FunctionalStar(
      Star(
        name: getStarNameFrom('longDe'),
        type: StarType.adjective,
        scope: Scope.origin,
      ),
    ),
  );
  return stars;
}