mingpan 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/README.md +120 -47
  2. package/dist/core/bazi/BaziCore.d.ts +7 -1
  3. package/dist/core/bazi/BaziCore.d.ts.map +1 -1
  4. package/dist/core/bazi/BaziCore.js +37 -11
  5. package/dist/core/bazi/BaziCore.js.map +1 -1
  6. package/dist/core/bazi/types.d.ts +4 -0
  7. package/dist/core/bazi/types.d.ts.map +1 -1
  8. package/dist/core/qimen/FlyingRule.d.ts +60 -0
  9. package/dist/core/qimen/FlyingRule.d.ts.map +1 -0
  10. package/dist/core/qimen/FlyingRule.js +94 -0
  11. package/dist/core/qimen/FlyingRule.js.map +1 -0
  12. package/dist/core/qimen/GongMapping.d.ts +29 -0
  13. package/dist/core/qimen/GongMapping.d.ts.map +1 -0
  14. package/dist/core/qimen/GongMapping.js +83 -0
  15. package/dist/core/qimen/GongMapping.js.map +1 -0
  16. package/dist/core/qimen/RotatingRule.d.ts +76 -0
  17. package/dist/core/qimen/RotatingRule.d.ts.map +1 -0
  18. package/dist/core/qimen/RotatingRule.js +126 -0
  19. package/dist/core/qimen/RotatingRule.js.map +1 -0
  20. package/dist/core/qimen/YinYangDunCalculator.d.ts +28 -0
  21. package/dist/core/qimen/YinYangDunCalculator.d.ts.map +1 -0
  22. package/dist/core/qimen/YinYangDunCalculator.js +79 -0
  23. package/dist/core/qimen/YinYangDunCalculator.js.map +1 -0
  24. package/dist/core/qimen/index.d.ts +10 -0
  25. package/dist/core/qimen/index.d.ts.map +1 -0
  26. package/dist/core/qimen/index.js +58 -0
  27. package/dist/core/qimen/index.js.map +1 -0
  28. package/dist/core/qimen/types.d.ts +19 -0
  29. package/dist/core/qimen/types.d.ts.map +1 -0
  30. package/dist/core/qimen/types.js +7 -0
  31. package/dist/core/qimen/types.js.map +1 -0
  32. package/dist/index.d.ts +10 -5
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +14 -1311
  35. package/dist/index.js.map +1 -1
  36. package/dist/output/fortuneTextRenderer.d.ts +8 -7
  37. package/dist/output/fortuneTextRenderer.d.ts.map +1 -1
  38. package/dist/output/fortuneTextRenderer.js +83 -21
  39. package/dist/output/fortuneTextRenderer.js.map +1 -1
  40. package/dist/output/qimenTextRenderer.d.ts +36 -0
  41. package/dist/output/qimenTextRenderer.d.ts.map +1 -0
  42. package/dist/output/qimenTextRenderer.js +230 -0
  43. package/dist/output/qimenTextRenderer.js.map +1 -0
  44. package/dist/server.d.ts +11 -0
  45. package/dist/server.d.ts.map +1 -0
  46. package/dist/server.js +33 -0
  47. package/dist/server.js.map +1 -0
  48. package/dist/services/bazi/BaziService.d.ts +1 -17
  49. package/dist/services/bazi/BaziService.d.ts.map +1 -1
  50. package/dist/services/bazi/BaziService.js +9 -194
  51. package/dist/services/bazi/BaziService.js.map +1 -1
  52. package/dist/services/bazi/analyzers/TenGodsAnalyzer.js +12 -12
  53. package/dist/services/bazi/analyzers/TenGodsAnalyzer.js.map +1 -1
  54. package/dist/services/bazi/index.d.ts +0 -2
  55. package/dist/services/bazi/index.d.ts.map +1 -1
  56. package/dist/services/bazi/index.js +1 -5
  57. package/dist/services/bazi/index.js.map +1 -1
  58. package/dist/services/bazi/types.d.ts +4 -112
  59. package/dist/services/bazi/types.d.ts.map +1 -1
  60. package/dist/services/bazi/types.js +3 -102
  61. package/dist/services/bazi/types.js.map +1 -1
  62. package/dist/services/daliuren/DaliurenService.d.ts +11 -1
  63. package/dist/services/daliuren/DaliurenService.d.ts.map +1 -1
  64. package/dist/services/daliuren/DaliurenService.js +30 -0
  65. package/dist/services/daliuren/DaliurenService.js.map +1 -1
  66. package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts.map +1 -1
  67. package/dist/services/daliuren/calculators/TianDiPanCalculator.js +3 -4
  68. package/dist/services/daliuren/calculators/TianDiPanCalculator.js.map +1 -1
  69. package/dist/services/daliuren/data/constants.d.ts +7 -0
  70. package/dist/services/daliuren/data/constants.d.ts.map +1 -1
  71. package/dist/services/daliuren/data/constants.js +17 -1
  72. package/dist/services/daliuren/data/constants.js.map +1 -1
  73. package/dist/services/daliuren/types.d.ts +13 -0
  74. package/dist/services/daliuren/types.d.ts.map +1 -1
  75. package/dist/services/meihua/calculators/TiyongCalculator.d.ts.map +1 -1
  76. package/dist/services/meihua/calculators/TiyongCalculator.js +6 -5
  77. package/dist/services/meihua/calculators/TiyongCalculator.js.map +1 -1
  78. package/dist/services/qimen/QimenService.d.ts +76 -0
  79. package/dist/services/qimen/QimenService.d.ts.map +1 -0
  80. package/dist/services/qimen/QimenService.js +393 -0
  81. package/dist/services/qimen/QimenService.js.map +1 -0
  82. package/dist/services/qimen/calculators/BaMenCalculator.d.ts +45 -0
  83. package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -0
  84. package/dist/services/qimen/calculators/BaMenCalculator.js +87 -0
  85. package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -0
  86. package/dist/services/qimen/calculators/BaShenCalculator.d.ts +34 -0
  87. package/dist/services/qimen/calculators/BaShenCalculator.d.ts.map +1 -0
  88. package/dist/services/qimen/calculators/BaShenCalculator.js +57 -0
  89. package/dist/services/qimen/calculators/BaShenCalculator.js.map +1 -0
  90. package/dist/services/qimen/calculators/GeJuCalculator.d.ts +141 -0
  91. package/dist/services/qimen/calculators/GeJuCalculator.d.ts.map +1 -0
  92. package/dist/services/qimen/calculators/GeJuCalculator.js +711 -0
  93. package/dist/services/qimen/calculators/GeJuCalculator.js.map +1 -0
  94. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +49 -0
  95. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -0
  96. package/dist/services/qimen/calculators/JiuGongCalculator.js +68 -0
  97. package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -0
  98. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +44 -0
  99. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -0
  100. package/dist/services/qimen/calculators/JiuXingCalculator.js +72 -0
  101. package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -0
  102. package/dist/services/qimen/calculators/JuShuCalculator.d.ts +60 -0
  103. package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -0
  104. package/dist/services/qimen/calculators/JuShuCalculator.js +110 -0
  105. package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -0
  106. package/dist/services/qimen/calculators/PanTypeCalculator.d.ts +117 -0
  107. package/dist/services/qimen/calculators/PanTypeCalculator.d.ts.map +1 -0
  108. package/dist/services/qimen/calculators/PanTypeCalculator.js +237 -0
  109. package/dist/services/qimen/calculators/PanTypeCalculator.js.map +1 -0
  110. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +41 -0
  111. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -0
  112. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +73 -0
  113. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -0
  114. package/dist/services/qimen/calculators/ShenShaCalculator.d.ts +80 -0
  115. package/dist/services/qimen/calculators/ShenShaCalculator.d.ts.map +1 -0
  116. package/dist/services/qimen/calculators/ShenShaCalculator.js +300 -0
  117. package/dist/services/qimen/calculators/ShenShaCalculator.js.map +1 -0
  118. package/dist/services/qimen/calculators/YongShenCalculator.d.ts +78 -0
  119. package/dist/services/qimen/calculators/YongShenCalculator.d.ts.map +1 -0
  120. package/dist/services/qimen/calculators/YongShenCalculator.js +497 -0
  121. package/dist/services/qimen/calculators/YongShenCalculator.js.map +1 -0
  122. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +111 -0
  123. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -0
  124. package/dist/services/qimen/calculators/ZhuanPanCalculator.js +232 -0
  125. package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -0
  126. package/dist/services/qimen/data/constants.d.ts +105 -0
  127. package/dist/services/qimen/data/constants.d.ts.map +1 -0
  128. package/dist/services/qimen/data/constants.js +295 -0
  129. package/dist/services/qimen/data/constants.js.map +1 -0
  130. package/dist/services/qimen/data/shensha-rules.d.ts +177 -0
  131. package/dist/services/qimen/data/shensha-rules.d.ts.map +1 -0
  132. package/dist/services/qimen/data/shensha-rules.js +397 -0
  133. package/dist/services/qimen/data/shensha-rules.js.map +1 -0
  134. package/dist/services/qimen/data/yongshen-rules.d.ts +115 -0
  135. package/dist/services/qimen/data/yongshen-rules.d.ts.map +1 -0
  136. package/dist/services/qimen/data/yongshen-rules.js +365 -0
  137. package/dist/services/qimen/data/yongshen-rules.js.map +1 -0
  138. package/dist/services/qimen/index.d.ts +20 -0
  139. package/dist/services/qimen/index.d.ts.map +1 -0
  140. package/dist/services/qimen/index.js +43 -0
  141. package/dist/services/qimen/index.js.map +1 -0
  142. package/dist/services/qimen/types.d.ts +316 -0
  143. package/dist/services/qimen/types.d.ts.map +1 -0
  144. package/dist/services/qimen/types.js +21 -0
  145. package/dist/services/qimen/types.js.map +1 -0
  146. package/dist/services/qimen/utils/gongUtils.d.ts +80 -0
  147. package/dist/services/qimen/utils/gongUtils.d.ts.map +1 -0
  148. package/dist/services/qimen/utils/gongUtils.js +164 -0
  149. package/dist/services/qimen/utils/gongUtils.js.map +1 -0
  150. package/dist/shared/logger.d.ts +5 -0
  151. package/dist/shared/logger.d.ts.map +1 -1
  152. package/dist/shared/logger.js +11 -4
  153. package/dist/shared/logger.js.map +1 -1
  154. package/dist/tools/baziTools.d.ts +13 -0
  155. package/dist/tools/baziTools.d.ts.map +1 -0
  156. package/dist/tools/baziTools.js +331 -0
  157. package/dist/tools/baziTools.js.map +1 -0
  158. package/dist/tools/divinationTools.d.ts +9 -0
  159. package/dist/tools/divinationTools.d.ts.map +1 -0
  160. package/dist/tools/divinationTools.js +209 -0
  161. package/dist/tools/divinationTools.js.map +1 -0
  162. package/dist/tools/qimenTools.d.ts +10 -0
  163. package/dist/tools/qimenTools.d.ts.map +1 -0
  164. package/dist/tools/qimenTools.js +132 -0
  165. package/dist/tools/qimenTools.js.map +1 -0
  166. package/dist/tools/schemas.d.ts +99 -0
  167. package/dist/tools/schemas.d.ts.map +1 -0
  168. package/dist/tools/schemas.js +162 -0
  169. package/dist/tools/schemas.js.map +1 -0
  170. package/dist/tools/ziweiTools.d.ts +14 -0
  171. package/dist/tools/ziweiTools.d.ts.map +1 -0
  172. package/dist/tools/ziweiTools.js +483 -0
  173. package/dist/tools/ziweiTools.js.map +1 -0
  174. package/dist/utils/timeNormalization.d.ts +42 -17
  175. package/dist/utils/timeNormalization.d.ts.map +1 -1
  176. package/dist/utils/timeNormalization.js +99 -41
  177. package/dist/utils/timeNormalization.js.map +1 -1
  178. package/package.json +15 -9
  179. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.d.ts +0 -16
  180. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.d.ts.map +0 -1
  181. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.js +0 -60
  182. package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.js.map +0 -1
  183. package/dist/services/bazi/analyzers/NaYinAnalyzer.d.ts +0 -33
  184. package/dist/services/bazi/analyzers/NaYinAnalyzer.d.ts.map +0 -1
  185. package/dist/services/bazi/analyzers/NaYinAnalyzer.js +0 -209
  186. package/dist/services/bazi/analyzers/NaYinAnalyzer.js.map +0 -1
  187. package/dist/services/bazi/analyzers/ShenShaAnalyzer.d.ts +0 -236
  188. package/dist/services/bazi/analyzers/ShenShaAnalyzer.d.ts.map +0 -1
  189. package/dist/services/bazi/analyzers/ShenShaAnalyzer.js +0 -2079
  190. package/dist/services/bazi/analyzers/ShenShaAnalyzer.js.map +0 -1
  191. package/dist/services/bazi/analyzers/TraditionalAnalyzer.d.ts +0 -46
  192. package/dist/services/bazi/analyzers/TraditionalAnalyzer.d.ts.map +0 -1
  193. package/dist/services/bazi/analyzers/TraditionalAnalyzer.js +0 -260
  194. package/dist/services/bazi/analyzers/TraditionalAnalyzer.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeJuCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/GeJuCalculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * 九宫计算器
3
+ * 计算地盘布局(三奇六仪在九宫中的分布)
4
+ */
5
+ import type { GongWei, JuShu, TianGan, YinYangDun } from '../types';
6
+ export interface DiPanResult {
7
+ /** 各宫地盘干 (宫位 -> 干) */
8
+ gongGan: Record<GongWei, TianGan>;
9
+ /** 干找宫位映射 (干 -> 宫位) */
10
+ ganGong: Record<TianGan, GongWei>;
11
+ }
12
+ /**
13
+ * 九宫计算器
14
+ * 负责计算地盘布局(三奇六仪的分布)
15
+ */
16
+ export declare class JiuGongCalculator {
17
+ /**
18
+ * 计算地盘布局
19
+ * @param juShu 局数 (1-9)
20
+ * @param yinYangDun 阴阳遁
21
+ * @returns 地盘各宫的干
22
+ *
23
+ * 原理:
24
+ * - 阳遁:从局数对应的宫位开始,按宫位数字顺序(1→2→…→9→1)顺布戊己庚辛壬癸丁丙乙
25
+ * - 阴遁:从局数对应的宫位开始,按宫位数字逆序(1→9→…→2→1)顺布戊己庚辛壬癸丁丙乙
26
+ * - 落入中五宫的干寄坤二宫(查询时换算,显示时仍在中宫)
27
+ *
28
+ * 例如阳遁一局:戊-坎1, 己-坤2, 庚-震3, 辛-巽4, 壬-中5(寄坤2), 癸-乾6, 丁-兑7, 丙-艮8, 乙-离9
29
+ * 例如阴遁九局:戊-离9, 己-艮8, 庚-兑7, 辛-乾6, 壬-中5(寄坤2), 癸-巽4, 丁-震3, 丙-坤2, 乙-坎1
30
+ *
31
+ * 参照:《神奇之门》、kentang2017/kinqimen pan_earth(MIT)
32
+ */
33
+ static calculate(juShu: JuShu, yinYangDun: YinYangDun): DiPanResult;
34
+ /**
35
+ * 根据天干找落宫
36
+ * @param diPan 地盘信息
37
+ * @param gan 要查找的天干
38
+ * @returns 该天干所在的宫位
39
+ */
40
+ static findGongByGan(ganGong: Record<TianGan, GongWei>, gan: TianGan): GongWei;
41
+ /**
42
+ * 根据宫位找天干
43
+ * @param gongGan 地盘各宫的干
44
+ * @param gong 宫位
45
+ * @returns 该宫位的天干
46
+ */
47
+ static findGanByGong(gongGan: Record<GongWei, TianGan>, gong: GongWei): TianGan;
48
+ }
49
+ //# sourceMappingURL=JiuGongCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JiuGongCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuGongCalculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMpE,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW;IAoBnE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO;IAM9E;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;CAGhF"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * 九宫计算器
4
+ * 计算地盘布局(三奇六仪在九宫中的分布)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.JiuGongCalculator = void 0;
8
+ const constants_1 = require("../data/constants");
9
+ /**
10
+ * 九宫计算器
11
+ * 负责计算地盘布局(三奇六仪的分布)
12
+ */
13
+ class JiuGongCalculator {
14
+ /**
15
+ * 计算地盘布局
16
+ * @param juShu 局数 (1-9)
17
+ * @param yinYangDun 阴阳遁
18
+ * @returns 地盘各宫的干
19
+ *
20
+ * 原理:
21
+ * - 阳遁:从局数对应的宫位开始,按宫位数字顺序(1→2→…→9→1)顺布戊己庚辛壬癸丁丙乙
22
+ * - 阴遁:从局数对应的宫位开始,按宫位数字逆序(1→9→…→2→1)顺布戊己庚辛壬癸丁丙乙
23
+ * - 落入中五宫的干寄坤二宫(查询时换算,显示时仍在中宫)
24
+ *
25
+ * 例如阳遁一局:戊-坎1, 己-坤2, 庚-震3, 辛-巽4, 壬-中5(寄坤2), 癸-乾6, 丁-兑7, 丙-艮8, 乙-离9
26
+ * 例如阴遁九局:戊-离9, 己-艮8, 庚-兑7, 辛-乾6, 壬-中5(寄坤2), 癸-巽4, 丁-震3, 丙-坤2, 乙-坎1
27
+ *
28
+ * 参照:《神奇之门》、kentang2017/kinqimen pan_earth(MIT)
29
+ */
30
+ static calculate(juShu, yinYangDun) {
31
+ const isYang = yinYangDun === '阳遁';
32
+ const gongGan = {};
33
+ const ganGong = {};
34
+ // 起始宫位就是局数
35
+ const startGong = juShu;
36
+ // 遍历九个干(三奇六仪),按宫位数字飞布
37
+ for (let i = 0; i < 9; i++) {
38
+ const gan = constants_1.SAN_QI_LIU_YI[i];
39
+ const offset = isYang ? i : -i;
40
+ const gong = (((startGong - 1 + offset) % 9) + 9) % 9 + 1;
41
+ gongGan[gong] = gan;
42
+ ganGong[gan] = gong;
43
+ }
44
+ return { gongGan, ganGong };
45
+ }
46
+ /**
47
+ * 根据天干找落宫
48
+ * @param diPan 地盘信息
49
+ * @param gan 要查找的天干
50
+ * @returns 该天干所在的宫位
51
+ */
52
+ static findGongByGan(ganGong, gan) {
53
+ const gong = ganGong[gan];
54
+ // 如果在中宫,返回寄宫
55
+ return gong === 5 ? constants_1.ZHONG_GONG_JI : gong;
56
+ }
57
+ /**
58
+ * 根据宫位找天干
59
+ * @param gongGan 地盘各宫的干
60
+ * @param gong 宫位
61
+ * @returns 该宫位的天干
62
+ */
63
+ static findGanByGong(gongGan, gong) {
64
+ return gongGan[gong];
65
+ }
66
+ }
67
+ exports.JiuGongCalculator = JiuGongCalculator;
68
+ //# sourceMappingURL=JiuGongCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JiuGongCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuGongCalculator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iDAG2B;AAS3B;;;GAGG;AACH,MAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAS,CAAC,KAAY,EAAE,UAAsB;QACnD,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;QACnC,MAAM,OAAO,GAA6B,EAA8B,CAAC;QACzE,MAAM,OAAO,GAA6B,EAA8B,CAAC;QAEzE,WAAW;QACX,MAAM,SAAS,GAAW,KAAK,CAAC;QAEhC,sBAAsB;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,yBAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAe,CAAC,GAAG,GAAG,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAe,CAAC;QACjC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAiC,EAAE,GAAY;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,aAAa;QACb,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAiC,EAAE,IAAa;QACnE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AA1DD,8CA0DC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * 九星计算器(飞盘式)
3
+ * 计算九星在九宫中的飞布
4
+ */
5
+ import type { GongWei, JiuXing, YinYangDun } from '../types';
6
+ export interface JiuXingResult {
7
+ /** 各宫九星 (宫位 -> 星) */
8
+ gongXing: Record<GongWei, JiuXing>;
9
+ /** 值符星 */
10
+ zhiFuXing: JiuXing;
11
+ /** 值符星原始宫位 */
12
+ zhiFuGong: GongWei;
13
+ /** 值符星落宫 */
14
+ zhiFuLuoGong: GongWei;
15
+ }
16
+ /**
17
+ * 九星计算器(飞盘式)
18
+ * 负责计算九星的飞布
19
+ */
20
+ export declare class JiuXingCalculator {
21
+ /**
22
+ * 计算飞盘式九星布局
23
+ * @param xunShouGong 旬首遁干在地盘的宫位(值符星原始宫)
24
+ * @param shiGanLuoGong 参考干(时干等,甲用旬首仪)的地盘落宫
25
+ * @param yinYangDun 阴阳遁
26
+ * @returns 九星布局
27
+ *
28
+ * 原理(飞盘式):
29
+ * 1. 值符星 = 旬首遁干原始宫对应的星(中五宫为天禽)
30
+ * 2. 值符星随时干:飞到参考干落宫
31
+ * 3. 其余诸星按九星原始序(蓬芮冲辅禽心柱任英,即原始宫数字序)
32
+ * 自值符星起,按宫位数字顺序飞布,阳遁顺飞、阴遁逆飞
33
+ */
34
+ static calculate(xunShouGong: GongWei, shiGanLuoGong: GongWei, yinYangDun: YinYangDun): JiuXingResult;
35
+ /**
36
+ * 根据宫位获取原始星
37
+ */
38
+ private static getXingByGong;
39
+ /**
40
+ * 根据宫位找星
41
+ */
42
+ static findXingByGong(gongXing: Record<GongWei, JiuXing>, gong: GongWei): JiuXing;
43
+ }
44
+ //# sourceMappingURL=JiuXingCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JiuXingCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuXingCalculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM7D,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CACd,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,UAAU,GACrB,aAAa;IA2BhB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAe5B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;CAGlF"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * 九星计算器(飞盘式)
4
+ * 计算九星在九宫中的飞布
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.JiuXingCalculator = void 0;
8
+ const constants_1 = require("../data/constants");
9
+ /**
10
+ * 九星计算器(飞盘式)
11
+ * 负责计算九星的飞布
12
+ */
13
+ class JiuXingCalculator {
14
+ /**
15
+ * 计算飞盘式九星布局
16
+ * @param xunShouGong 旬首遁干在地盘的宫位(值符星原始宫)
17
+ * @param shiGanLuoGong 参考干(时干等,甲用旬首仪)的地盘落宫
18
+ * @param yinYangDun 阴阳遁
19
+ * @returns 九星布局
20
+ *
21
+ * 原理(飞盘式):
22
+ * 1. 值符星 = 旬首遁干原始宫对应的星(中五宫为天禽)
23
+ * 2. 值符星随时干:飞到参考干落宫
24
+ * 3. 其余诸星按九星原始序(蓬芮冲辅禽心柱任英,即原始宫数字序)
25
+ * 自值符星起,按宫位数字顺序飞布,阳遁顺飞、阴遁逆飞
26
+ */
27
+ static calculate(xunShouGong, shiGanLuoGong, yinYangDun) {
28
+ const isYang = yinYangDun === '阳遁';
29
+ // 1. 确定值符星(旬首落宫对应的星)
30
+ const zhiFuXing = this.getXingByGong(xunShouGong);
31
+ const zhiFuGong = constants_1.JIU_XING_GONG[zhiFuXing];
32
+ // 2. 飞布序列:自值符星起,按九星原始序循环
33
+ const zhiFuIdx = constants_1.JIU_XING_ORDER.indexOf(zhiFuXing);
34
+ const flyOrder = constants_1.JIU_XING_ORDER.slice(zhiFuIdx).concat(constants_1.JIU_XING_ORDER.slice(0, zhiFuIdx));
35
+ // 3. 从参考干落宫起飞布(阳顺阴逆,宫位数字序)
36
+ const gongXing = {};
37
+ for (let i = 0; i < 9; i++) {
38
+ const offset = isYang ? i : -i;
39
+ const gong = (((shiGanLuoGong - 1 + offset) % 9) + 9) % 9 + 1;
40
+ gongXing[gong] = flyOrder[i];
41
+ }
42
+ return {
43
+ gongXing,
44
+ zhiFuXing,
45
+ zhiFuGong,
46
+ zhiFuLuoGong: shiGanLuoGong,
47
+ };
48
+ }
49
+ /**
50
+ * 根据宫位获取原始星
51
+ */
52
+ static getXingByGong(gong) {
53
+ for (const [xing, xingGong] of Object.entries(constants_1.JIU_XING_GONG)) {
54
+ if (xingGong === gong) {
55
+ return xing;
56
+ }
57
+ }
58
+ // 中宫为天禽
59
+ if (gong === 5) {
60
+ return '禽';
61
+ }
62
+ return '芮'; // 默认天芮
63
+ }
64
+ /**
65
+ * 根据宫位找星
66
+ */
67
+ static findXingByGong(gongXing, gong) {
68
+ return gongXing[gong];
69
+ }
70
+ }
71
+ exports.JiuXingCalculator = JiuXingCalculator;
72
+ //# sourceMappingURL=JiuXingCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JiuXingCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuXingCalculator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iDAG2B;AAa3B;;;GAGG;AACH,MAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CACd,WAAoB,EACpB,aAAsB,EACtB,UAAsB;QAEtB,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;QAEnC,qBAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,yBAAa,CAAC,SAAS,CAAC,CAAC;QAE3C,yBAAyB;QACzB,MAAM,QAAQ,GAAG,0BAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,0BAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,0BAAc,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE1F,2BAA2B;QAC3B,MAAM,QAAQ,GAA6B,EAA8B,CAAC;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,QAAQ;YACR,SAAS;YACT,SAAS;YACT,YAAY,EAAE,aAAa;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,aAAa,CAAC,IAAa;QACxC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAa,CAAC,EAAE,CAAC;YAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,IAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,QAAQ;QACR,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,GAAG,CAAC,CAAC,OAAO;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAkC,EAAE,IAAa;QACrE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF;AArED,8CAqEC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * 局数计算器
3
+ * 根据节气和置闰法确定阴阳遁和局数
4
+ */
5
+ import type { JuShu, YinYangDun, YuanType, ZhiRunMethod } from '../types';
6
+ export interface JuShuResult {
7
+ /** 阴阳遁 */
8
+ yinYangDun: YinYangDun;
9
+ /** 局数 (1-9) */
10
+ juShu: JuShu;
11
+ /** 上中下元 */
12
+ yuan: YuanType;
13
+ }
14
+ /**
15
+ * 局数计算器
16
+ */
17
+ export declare class JuShuCalculator {
18
+ /**
19
+ * 计算局数
20
+ * @param jieQi 当前节气名称
21
+ * @param dayGanZhi 日干支
22
+ * @param method 置闰方法
23
+ * @param jieQiDate 节气开始日期 (茅山法需要)
24
+ * @param currentDate 当前日期 (茅山法需要)
25
+ */
26
+ static calculate(jieQi: string, dayGanZhi: string, method: ZhiRunMethod, jieQiDate?: Date, currentDate?: Date): JuShuResult;
27
+ /**
28
+ * 拆补法计算上中下元
29
+ * 根据日干支的符头(五日一元,元首为甲日或己日)确定上中下元
30
+ *
31
+ * 原理:
32
+ * - 六十甲子按五日一组,各组首日(甲/己日)为符头
33
+ * - 符头地支为四仲(子午卯酉)者为上元:甲子、甲午、己卯、己酉
34
+ * - 符头地支为四孟(寅申巳亥)者为中元:甲寅、甲申、己巳、己亥
35
+ * - 符头地支为四季(辰戌丑未)者为下元:甲辰、甲戌、己丑、己未
36
+ * - 节气内十五天被三元「拆开补齐」,故称拆补法
37
+ *
38
+ * 参照:kentang2017/kinqimen findyuen_dict(MIT)、《神奇之门》
39
+ */
40
+ private static calculateYuanChaibu;
41
+ /**
42
+ * 茅山法计算上中下元
43
+ * 根据节气交节后的天数确定
44
+ *
45
+ * 原理:
46
+ * - 节气交节后 1-5 天为上元
47
+ * - 节气交节后 6-10 天为中元
48
+ * - 节气交节后 11-15 天为下元
49
+ */
50
+ private static calculateYuanMaoshan;
51
+ /**
52
+ * 根据日干支获取其在六十甲子中的索引
53
+ */
54
+ static getGanZhiIndex(ganZhi: string): number;
55
+ /**
56
+ * 判断是否为阳遁
57
+ */
58
+ static isYangDun(yinYangDun: YinYangDun): boolean;
59
+ }
60
+ //# sourceMappingURL=JuShuCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JuShuCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JuShuCalculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAkB,KAAK,EAAW,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQnG,MAAM,WAAW,WAAW;IAC1B,UAAU;IACV,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,IAAI,EAChB,WAAW,CAAC,EAAE,IAAI,GACjB,WAAW;IA6Bd;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAmBnC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CAGlD"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /**
3
+ * 局数计算器
4
+ * 根据节气和置闰法确定阴阳遁和局数
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.JuShuCalculator = void 0;
8
+ const constants_1 = require("../data/constants");
9
+ const PanTypeCalculator_1 = require("./PanTypeCalculator");
10
+ /**
11
+ * 局数计算器
12
+ */
13
+ class JuShuCalculator {
14
+ /**
15
+ * 计算局数
16
+ * @param jieQi 当前节气名称
17
+ * @param dayGanZhi 日干支
18
+ * @param method 置闰方法
19
+ * @param jieQiDate 节气开始日期 (茅山法需要)
20
+ * @param currentDate 当前日期 (茅山法需要)
21
+ */
22
+ static calculate(jieQi, dayGanZhi, method, jieQiDate, currentDate) {
23
+ // 获取节气对应的阴阳遁和局数表
24
+ const jieQiInfo = constants_1.JIEQI_JU_MAP[jieQi];
25
+ if (!jieQiInfo) {
26
+ throw new Error(`未知节气: ${jieQi}`);
27
+ }
28
+ const { dun, ju } = jieQiInfo;
29
+ const yinYangDun = dun;
30
+ // 根据置闰方法计算元
31
+ let yuan;
32
+ if (method === 'chaibu') {
33
+ yuan = this.calculateYuanChaibu(dayGanZhi);
34
+ }
35
+ else {
36
+ yuan = this.calculateYuanMaoshan(jieQiDate, currentDate);
37
+ }
38
+ // 根据元获取对应局数
39
+ const yuanIdx = (0, constants_1.getYuanIndex)(yuan);
40
+ const juShu = ju[yuanIdx];
41
+ return {
42
+ yinYangDun,
43
+ juShu,
44
+ yuan,
45
+ };
46
+ }
47
+ /**
48
+ * 拆补法计算上中下元
49
+ * 根据日干支的符头(五日一元,元首为甲日或己日)确定上中下元
50
+ *
51
+ * 原理:
52
+ * - 六十甲子按五日一组,各组首日(甲/己日)为符头
53
+ * - 符头地支为四仲(子午卯酉)者为上元:甲子、甲午、己卯、己酉
54
+ * - 符头地支为四孟(寅申巳亥)者为中元:甲寅、甲申、己巳、己亥
55
+ * - 符头地支为四季(辰戌丑未)者为下元:甲辰、甲戌、己丑、己未
56
+ * - 节气内十五天被三元「拆开补齐」,故称拆补法
57
+ *
58
+ * 参照:kentang2017/kinqimen findyuen_dict(MIT)、《神奇之门》
59
+ */
60
+ static calculateYuanChaibu(dayGanZhi) {
61
+ const idx = constants_1.JIA_ZI_60.indexOf(dayGanZhi);
62
+ if (idx === -1) {
63
+ throw new Error(`无效的日干支: ${dayGanZhi}`);
64
+ }
65
+ const fuTou = constants_1.JIA_ZI_60[idx - (idx % 5)];
66
+ return PanTypeCalculator_1.DI_ZHI_YUAN_MAP[fuTou.charAt(1)];
67
+ }
68
+ /**
69
+ * 茅山法计算上中下元
70
+ * 根据节气交节后的天数确定
71
+ *
72
+ * 原理:
73
+ * - 节气交节后 1-5 天为上元
74
+ * - 节气交节后 6-10 天为中元
75
+ * - 节气交节后 11-15 天为下元
76
+ */
77
+ static calculateYuanMaoshan(jieQiDate, currentDate) {
78
+ // 使用 UTC 日期避免时区和时间精度问题
79
+ const jieQiDay = Date.UTC(jieQiDate.getFullYear(), jieQiDate.getMonth(), jieQiDate.getDate());
80
+ const currentDay = Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
81
+ const diffDays = Math.floor((currentDay - jieQiDay) / (1000 * 60 * 60 * 24)) + 1; // 交节当天算第1天
82
+ // 处理边界情况
83
+ if (diffDays < 1) {
84
+ return '上元'; // 节气当天之前,默认上元
85
+ }
86
+ else if (diffDays <= 5) {
87
+ return '上元';
88
+ }
89
+ else if (diffDays <= 10) {
90
+ return '中元';
91
+ }
92
+ else {
93
+ return '下元';
94
+ }
95
+ }
96
+ /**
97
+ * 根据日干支获取其在六十甲子中的索引
98
+ */
99
+ static getGanZhiIndex(ganZhi) {
100
+ return constants_1.JIA_ZI_60.indexOf(ganZhi);
101
+ }
102
+ /**
103
+ * 判断是否为阳遁
104
+ */
105
+ static isYangDun(yinYangDun) {
106
+ return yinYangDun === '阳遁';
107
+ }
108
+ }
109
+ exports.JuShuCalculator = JuShuCalculator;
110
+ //# sourceMappingURL=JuShuCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JuShuCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JuShuCalculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * 盘类型计算器
3
+ * 处理年盘、月盘的特殊计算逻辑
4
+ *
5
+ * 年盘规则:
6
+ * 1. 阴阳遁:冬至后到夏至前为阳遁,夏至后到冬至前为阴遁
7
+ * 2. 三元:按年支确定 (子午卯酉→上元, 寅申巳亥→中元, 辰戌丑未→下元)
8
+ * 3. 局数:(年干支序数 % 9) + 1
9
+ * 4. 旬首:基于年干支
10
+ * 5. 天盘旋转:值符飞到年干所在宫
11
+ *
12
+ * 月盘规则:
13
+ * 1. 阴阳遁:按月建对应的节气确定
14
+ * 2. 三元:按月支确定(规则同年盘)
15
+ * 3. 局数:使用节气局数表
16
+ * 4. 旬首:基于月干支
17
+ * 5. 天盘旋转:值符飞到月干所在宫
18
+ */
19
+ import type { DiZhi, JuShu, YinYangDun, YuanType } from '../types';
20
+ /**
21
+ * 月建对应的节气映射
22
+ * 月建(地支)-> 对应的节气
23
+ */
24
+ export declare const MONTH_JIEQI_MAP: Record<DiZhi, string>;
25
+ /**
26
+ * 三元判定表:地支 -> 三元
27
+ * 子午卯酉 → 上元
28
+ * 寅申巳亥 → 中元
29
+ * 辰戌丑未 → 下元
30
+ */
31
+ export declare const DI_ZHI_YUAN_MAP: Record<DiZhi, YuanType>;
32
+ /**
33
+ * 年盘阴阳遁判断
34
+ * 冬至当天为阳遁起始,夏至当天为阴遁起始
35
+ * @param currentJieQi 当前节气
36
+ * @returns 阴阳遁
37
+ */
38
+ export declare function getYearPanYinYangDun(currentJieQi: string): YinYangDun;
39
+ /**
40
+ * 年盘三元判断
41
+ * 根据年支确定三元
42
+ * @param yearZhi 年支
43
+ * @returns 三元
44
+ */
45
+ export declare function getYearPanYuan(yearZhi: DiZhi): YuanType;
46
+ /**
47
+ * 年盘局数计算
48
+ * 公式:(年干支在六十甲子中的序数 % 9) + 1
49
+ * 注意:序数从0开始,所以甲子=0, 乙丑=1, ...
50
+ * @param yearGanZhi 年干支(如 "甲辰")
51
+ * @returns 局数 (1-9)
52
+ */
53
+ export declare function getYearPanJuShu(yearGanZhi: string): JuShu;
54
+ /**
55
+ * 月盘阴阳遁判断
56
+ * 根据月建对应的节气确定
57
+ * @param monthZhi 月支(月建)
58
+ * @returns 阴阳遁
59
+ */
60
+ export declare function getMonthPanYinYangDun(monthZhi: DiZhi): YinYangDun;
61
+ /**
62
+ * 月盘三元判断
63
+ * 根据月支确定三元(规则同年盘)
64
+ * @param monthZhi 月支
65
+ * @returns 三元
66
+ */
67
+ export declare function getMonthPanYuan(monthZhi: DiZhi): YuanType;
68
+ /**
69
+ * 月盘局数计算
70
+ * 使用月建对应的节气,结合三元查找局数
71
+ * @param monthZhi 月支(月建)
72
+ * @returns 局数 (1-9)
73
+ */
74
+ export declare function getMonthPanJuShu(monthZhi: DiZhi): JuShu;
75
+ /**
76
+ * 从干支字符串提取地支
77
+ * @param ganZhi 干支字符串(如 "甲子")
78
+ * @returns 地支
79
+ */
80
+ export declare function extractZhi(ganZhi: string): DiZhi;
81
+ /**
82
+ * 验证干支是否有效
83
+ * @param ganZhi 干支字符串
84
+ * @returns 是否有效
85
+ */
86
+ export declare function isValidGanZhi(ganZhi: string): boolean;
87
+ export interface YearPanParams {
88
+ yearGanZhi: string;
89
+ currentJieQi: string;
90
+ }
91
+ export interface MonthPanParams {
92
+ monthGanZhi: string;
93
+ }
94
+ export interface PanTypeResult {
95
+ yinYangDun: YinYangDun;
96
+ yuan: YuanType;
97
+ juShu: JuShu;
98
+ }
99
+ /**
100
+ * 盘类型计算器
101
+ * 统一处理年盘、月盘的阴阳遁、三元、局数计算
102
+ */
103
+ export declare class PanTypeCalculator {
104
+ /**
105
+ * 计算年盘参数
106
+ * @param params 年盘参数
107
+ * @returns 阴阳遁、三元、局数
108
+ */
109
+ static calculateYearPan(params: YearPanParams): PanTypeResult;
110
+ /**
111
+ * 计算月盘参数
112
+ * @param params 月盘参数
113
+ * @returns 阴阳遁、三元、局数
114
+ */
115
+ static calculateMonthPan(params: MonthPanParams): PanTypeResult;
116
+ }
117
+ //# sourceMappingURL=PanTypeCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanTypeCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/PanTypeCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKnE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAajD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAanD,CAAC;AAoBF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CASrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAQzD;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,KAAK,GAAG,UAAU,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAWvD;AAeD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAID,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa;IAgB7D;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa;CAehE"}