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,141 @@
1
+ /**
2
+ * 格局计算器
3
+ * 识别奇门遁甲中的吉格和凶格
4
+ *
5
+ * 中宫处理说明:
6
+ * - 中宫(5)寄坤二宫,其门/神继承自坤二
7
+ * - 涉及"门克宫"的格局(如门迫)需跳过中宫,因中宫无独立门
8
+ * - 涉及"对冲"的格局(如反吟)需跳过中宫,因中宫无对冲宫
9
+ * - 涉及"相合"的格局跳过中宫,避免与坤二重复计数
10
+ * - 涉及"天盘干"的格局(如入墓、九遁)可检查中宫
11
+ */
12
+ import type { GongWei, GongInfo, TianGan, DiZhi, GeJuInfo, XunShouInfo, YinYangDun, PanType } from '../types';
13
+ /**
14
+ * 格局计算器
15
+ */
16
+ export declare class GeJuCalculator {
17
+ /**
18
+ * 计算所有格局
19
+ *
20
+ * @param gongs 九宫信息
21
+ * @param yinYangDun 阴阳遁
22
+ * @param dayGan 日干(时盘/日盘使用日干,月盘使用月干,年盘使用年干)
23
+ * @param hourGan 时干(仅时盘提供,其他盘类型为 null)
24
+ * @param hourZhi 时支(仅时盘提供,其他盘类型为 null)
25
+ * @param xunShou 旬首信息
26
+ * @param panType 盘类型(默认时盘)
27
+ *
28
+ * 格局分类:
29
+ * - 日干格局:只需要 dayGan,所有盘类型都检测
30
+ * - 时辰格局:需要 hourGan 和/或 hourZhi,仅时盘检测
31
+ * - 五不遇时:需要 dayGan + hourGan
32
+ * - 飞干格/伏干格:需要 dayGan + hourGan
33
+ * - 天显时格:需要 hourZhi
34
+ * - 地私门格:需要 hourZhi
35
+ */
36
+ static calculate(gongs: Record<GongWei, GongInfo>, yinYangDun: YinYangDun, dayGan: TianGan, hourGan: TianGan | null, hourZhi: DiZhi | null, xunShou: XunShouInfo, panType?: PanType): GeJuInfo[];
37
+ /**
38
+ * 三奇格局(乙丙丁为三奇)
39
+ */
40
+ private static checkSanQiGeJu;
41
+ /**
42
+ * 三奇得门格局(吉格)
43
+ * 比三奇得使更精确:乙配开门、丙配生门、丁配休门
44
+ *
45
+ * 口诀:乙奇开门最为良,丙奇生门福禄昌,丁奇休门多吉庆
46
+ */
47
+ private static checkSanQiDeMenGeJu;
48
+ /**
49
+ * 玉女守门格局(吉格)
50
+ * 丁奇临开门或休门,且遇太阴或六合
51
+ *
52
+ * 主阴人暗助、贵人相扶,利于谋事求人
53
+ */
54
+ private static checkYuNuShouMenGeJu;
55
+ /**
56
+ * 九遁格局
57
+ */
58
+ private static checkJiuDunGeJu;
59
+ /**
60
+ * 门迫格局(凶格)
61
+ */
62
+ private static checkMenPoGeJu;
63
+ /**
64
+ * 入墓格局(凶格)
65
+ * 注:甲遁于六仪,不会出现在天盘,故不检测甲入墓
66
+ */
67
+ private static checkRuMuGeJu;
68
+ /**
69
+ * 六仪击刑格局(凶格)
70
+ */
71
+ private static checkJiXingGeJu;
72
+ /**
73
+ * 五不遇时(凶格)
74
+ * 时干克日干,且阴阳属性相同(同性相克)
75
+ *
76
+ * 口诀:
77
+ * 甲日最怕庚午时,乙日忌见辛巳知,
78
+ * 丙日壬辰最难当,丁日癸卯必须防,
79
+ * 戊日甲寅时上忌,己日乙丑最为凶,
80
+ * 庚日丙子不为良,辛日丁酉时中藏,
81
+ * 壬日戊申时上忌,癸日己未定不昌。
82
+ */
83
+ private static checkWuBuYuShiGeJu;
84
+ /**
85
+ * 伏吟/反吟格局
86
+ */
87
+ private static checkFuYinGeJu;
88
+ /**
89
+ * 青龙逃走(吉格)
90
+ */
91
+ private static checkQingLongTaoGeJu;
92
+ /**
93
+ * 白虎猖狂(凶格)
94
+ */
95
+ private static checkBaiHuChangKuangGeJu;
96
+ /**
97
+ * 奇仪组合格局检测(断卦核心)
98
+ * 检测天盘干+地盘干的特定组合
99
+ *
100
+ * 包含33种格局:
101
+ * - 吉格10种:青龙返首、飞鸟跌穴、丁遇戊格、日月会合、乙奇伏吟、丙奇伏吟等
102
+ * - 凶格23种:青龙折足、朱雀投江、大格、小格、刑格、辛仪伏吟、戊仪伏吟等
103
+ */
104
+ private static checkQiYiZuHeGeJu;
105
+ /**
106
+ * 反吟格局检测
107
+ */
108
+ private static checkFanYinGeJu;
109
+ /**
110
+ * 查找干所在的宫位(辅助方法)
111
+ */
112
+ private static findGanGong;
113
+ /**
114
+ * 奇仪相合格局检测
115
+ */
116
+ private static checkQiYiXiangHeGeJu;
117
+ /**
118
+ * 飞干格/伏干格检测
119
+ */
120
+ private static checkFeiGanFuGanGeJu;
121
+ /**
122
+ * 天显时格检测
123
+ */
124
+ private static checkTianXianShiGeJu;
125
+ /**
126
+ * 地私门格检测
127
+ */
128
+ private static checkDiSiMenGeJu;
129
+ /**
130
+ * 网盖格检测
131
+ */
132
+ private static checkWangGaiGeJu;
133
+ /**
134
+ * 天牢格检测
135
+ * 庚+杜门 = 天牢,主阻滞闭塞、官司牢狱
136
+ *
137
+ * 注:庚+开门+白虎 由"白虎猖狂"格局检测,不再重复
138
+ */
139
+ private static checkTianLaoGeJu;
140
+ }
141
+ //# sourceMappingURL=GeJuCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeJuCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/GeJuCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EAEV,OAAO,EACR,MAAM,UAAU,CAAC;AASlB;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,EAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,KAAK,GAAG,IAAI,EACrB,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,OAAc,GACtB,QAAQ,EAAE;IAmCb;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IA8B7B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAyBlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAsBnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAkG9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IA2C7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAkC5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA8B9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA6BjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IA6C7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAkBnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAoBvC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAoBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAwD9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAS1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAwBnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyDnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA2BnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA2B/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4B/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAiBhC"}