mingpan 0.1.1 → 0.1.3

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 (239) hide show
  1. package/README.md +116 -42
  2. package/dist/core/bazi/types.d.ts +0 -1
  3. package/dist/core/bazi/types.d.ts.map +1 -1
  4. package/dist/core/qimen/FlyingRule.d.ts +60 -0
  5. package/dist/core/qimen/FlyingRule.d.ts.map +1 -0
  6. package/dist/core/qimen/FlyingRule.js +94 -0
  7. package/dist/core/qimen/FlyingRule.js.map +1 -0
  8. package/dist/core/qimen/GongMapping.d.ts +29 -0
  9. package/dist/core/qimen/GongMapping.d.ts.map +1 -0
  10. package/dist/core/qimen/GongMapping.js +83 -0
  11. package/dist/core/qimen/GongMapping.js.map +1 -0
  12. package/dist/core/qimen/RotatingRule.d.ts +76 -0
  13. package/dist/core/qimen/RotatingRule.d.ts.map +1 -0
  14. package/dist/core/qimen/RotatingRule.js +126 -0
  15. package/dist/core/qimen/RotatingRule.js.map +1 -0
  16. package/dist/core/qimen/YinYangDunCalculator.d.ts +28 -0
  17. package/dist/core/qimen/YinYangDunCalculator.d.ts.map +1 -0
  18. package/dist/core/qimen/YinYangDunCalculator.js +79 -0
  19. package/dist/core/qimen/YinYangDunCalculator.js.map +1 -0
  20. package/dist/core/qimen/index.d.ts +10 -0
  21. package/dist/core/qimen/index.d.ts.map +1 -0
  22. package/dist/core/qimen/index.js +58 -0
  23. package/dist/core/qimen/index.js.map +1 -0
  24. package/dist/core/qimen/types.d.ts +19 -0
  25. package/dist/core/qimen/types.d.ts.map +1 -0
  26. package/dist/core/qimen/types.js +7 -0
  27. package/dist/core/qimen/types.js.map +1 -0
  28. package/dist/index.js +665 -164
  29. package/dist/index.js.map +1 -1
  30. package/dist/output/daliurenTextRenderer.d.ts +23 -0
  31. package/dist/output/daliurenTextRenderer.d.ts.map +1 -0
  32. package/dist/output/daliurenTextRenderer.js +109 -0
  33. package/dist/output/daliurenTextRenderer.js.map +1 -0
  34. package/dist/output/liuyaoTextRenderer.d.ts +12 -0
  35. package/dist/output/liuyaoTextRenderer.d.ts.map +1 -0
  36. package/dist/output/liuyaoTextRenderer.js +148 -0
  37. package/dist/output/liuyaoTextRenderer.js.map +1 -0
  38. package/dist/output/meihuaTextRenderer.d.ts +12 -0
  39. package/dist/output/meihuaTextRenderer.d.ts.map +1 -0
  40. package/dist/output/meihuaTextRenderer.js +53 -0
  41. package/dist/output/meihuaTextRenderer.js.map +1 -0
  42. package/dist/output/qimenTextRenderer.d.ts +40 -0
  43. package/dist/output/qimenTextRenderer.d.ts.map +1 -0
  44. package/dist/output/qimenTextRenderer.js +363 -0
  45. package/dist/output/qimenTextRenderer.js.map +1 -0
  46. package/dist/services/bazi/types.d.ts +0 -2
  47. package/dist/services/bazi/types.d.ts.map +1 -1
  48. package/dist/services/bazi/types.js.map +1 -1
  49. package/dist/services/daliuren/DaliurenService.d.ts +24 -0
  50. package/dist/services/daliuren/DaliurenService.d.ts.map +1 -0
  51. package/dist/services/daliuren/DaliurenService.js +67 -0
  52. package/dist/services/daliuren/DaliurenService.js.map +1 -0
  53. package/dist/services/daliuren/calculators/SanChuanCalculator.d.ts +87 -0
  54. package/dist/services/daliuren/calculators/SanChuanCalculator.d.ts.map +1 -0
  55. package/dist/services/daliuren/calculators/SanChuanCalculator.js +443 -0
  56. package/dist/services/daliuren/calculators/SanChuanCalculator.js.map +1 -0
  57. package/dist/services/daliuren/calculators/ShenShaCalculator.d.ts +33 -0
  58. package/dist/services/daliuren/calculators/ShenShaCalculator.d.ts.map +1 -0
  59. package/dist/services/daliuren/calculators/ShenShaCalculator.js +92 -0
  60. package/dist/services/daliuren/calculators/ShenShaCalculator.js.map +1 -0
  61. package/dist/services/daliuren/calculators/SiKeCalculator.d.ts +35 -0
  62. package/dist/services/daliuren/calculators/SiKeCalculator.d.ts.map +1 -0
  63. package/dist/services/daliuren/calculators/SiKeCalculator.js +121 -0
  64. package/dist/services/daliuren/calculators/SiKeCalculator.js.map +1 -0
  65. package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts +41 -0
  66. package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts.map +1 -0
  67. package/dist/services/daliuren/calculators/TianDiPanCalculator.js +138 -0
  68. package/dist/services/daliuren/calculators/TianDiPanCalculator.js.map +1 -0
  69. package/dist/services/daliuren/data/constants.d.ts +62 -0
  70. package/dist/services/daliuren/data/constants.d.ts.map +1 -0
  71. package/dist/services/daliuren/data/constants.js +240 -0
  72. package/dist/services/daliuren/data/constants.js.map +1 -0
  73. package/dist/services/daliuren/index.d.ts +11 -0
  74. package/dist/services/daliuren/index.d.ts.map +1 -0
  75. package/dist/services/daliuren/index.js +33 -0
  76. package/dist/services/daliuren/index.js.map +1 -0
  77. package/dist/services/daliuren/types.d.ts +152 -0
  78. package/dist/services/daliuren/types.d.ts.map +1 -0
  79. package/dist/services/daliuren/types.js +17 -0
  80. package/dist/services/daliuren/types.js.map +1 -0
  81. package/dist/services/liuyao/LiuyaoService.d.ts +37 -0
  82. package/dist/services/liuyao/LiuyaoService.d.ts.map +1 -0
  83. package/dist/services/liuyao/LiuyaoService.js +214 -0
  84. package/dist/services/liuyao/LiuyaoService.js.map +1 -0
  85. package/dist/services/liuyao/calculators/FushenCalculator.d.ts +40 -0
  86. package/dist/services/liuyao/calculators/FushenCalculator.d.ts.map +1 -0
  87. package/dist/services/liuyao/calculators/FushenCalculator.js +124 -0
  88. package/dist/services/liuyao/calculators/FushenCalculator.js.map +1 -0
  89. package/dist/services/liuyao/calculators/JintuishenCalculator.d.ts +37 -0
  90. package/dist/services/liuyao/calculators/JintuishenCalculator.d.ts.map +1 -0
  91. package/dist/services/liuyao/calculators/JintuishenCalculator.js +86 -0
  92. package/dist/services/liuyao/calculators/JintuishenCalculator.js.map +1 -0
  93. package/dist/services/liuyao/calculators/LiuqinCalculator.d.ts +24 -0
  94. package/dist/services/liuyao/calculators/LiuqinCalculator.d.ts.map +1 -0
  95. package/dist/services/liuyao/calculators/LiuqinCalculator.js +75 -0
  96. package/dist/services/liuyao/calculators/LiuqinCalculator.js.map +1 -0
  97. package/dist/services/liuyao/calculators/LiushenCalculator.d.ts +29 -0
  98. package/dist/services/liuyao/calculators/LiushenCalculator.d.ts.map +1 -0
  99. package/dist/services/liuyao/calculators/LiushenCalculator.js +58 -0
  100. package/dist/services/liuyao/calculators/LiushenCalculator.js.map +1 -0
  101. package/dist/services/liuyao/calculators/NajiaCalculator.d.ts +55 -0
  102. package/dist/services/liuyao/calculators/NajiaCalculator.d.ts.map +1 -0
  103. package/dist/services/liuyao/calculators/NajiaCalculator.js +87 -0
  104. package/dist/services/liuyao/calculators/NajiaCalculator.js.map +1 -0
  105. package/dist/services/liuyao/calculators/WangshuaiCalculator.d.ts +43 -0
  106. package/dist/services/liuyao/calculators/WangshuaiCalculator.d.ts.map +1 -0
  107. package/dist/services/liuyao/calculators/WangshuaiCalculator.js +100 -0
  108. package/dist/services/liuyao/calculators/WangshuaiCalculator.js.map +1 -0
  109. package/dist/services/liuyao/calculators/XunkongCalculator.d.ts +30 -0
  110. package/dist/services/liuyao/calculators/XunkongCalculator.d.ts.map +1 -0
  111. package/dist/services/liuyao/calculators/XunkongCalculator.js +58 -0
  112. package/dist/services/liuyao/calculators/XunkongCalculator.js.map +1 -0
  113. package/dist/services/liuyao/data/guagong.d.ts +94 -0
  114. package/dist/services/liuyao/data/guagong.d.ts.map +1 -0
  115. package/dist/services/liuyao/data/guagong.js +317 -0
  116. package/dist/services/liuyao/data/guagong.js.map +1 -0
  117. package/dist/services/liuyao/index.d.ts +13 -0
  118. package/dist/services/liuyao/index.d.ts.map +1 -0
  119. package/dist/services/liuyao/index.js +29 -0
  120. package/dist/services/liuyao/index.js.map +1 -0
  121. package/dist/services/liuyao/types.d.ts +154 -0
  122. package/dist/services/liuyao/types.d.ts.map +1 -0
  123. package/dist/services/liuyao/types.js +11 -0
  124. package/dist/services/liuyao/types.js.map +1 -0
  125. package/dist/services/meihua/MeihuaService.d.ts +32 -0
  126. package/dist/services/meihua/MeihuaService.d.ts.map +1 -0
  127. package/dist/services/meihua/MeihuaService.js +176 -0
  128. package/dist/services/meihua/MeihuaService.js.map +1 -0
  129. package/dist/services/meihua/calculators/BianguaCalculator.d.ts +21 -0
  130. package/dist/services/meihua/calculators/BianguaCalculator.d.ts.map +1 -0
  131. package/dist/services/meihua/calculators/BianguaCalculator.js +46 -0
  132. package/dist/services/meihua/calculators/BianguaCalculator.js.map +1 -0
  133. package/dist/services/meihua/calculators/HuguaCalculator.d.ts +22 -0
  134. package/dist/services/meihua/calculators/HuguaCalculator.d.ts.map +1 -0
  135. package/dist/services/meihua/calculators/HuguaCalculator.js +46 -0
  136. package/dist/services/meihua/calculators/HuguaCalculator.js.map +1 -0
  137. package/dist/services/meihua/calculators/QiguaCalculator.d.ts +40 -0
  138. package/dist/services/meihua/calculators/QiguaCalculator.d.ts.map +1 -0
  139. package/dist/services/meihua/calculators/QiguaCalculator.js +105 -0
  140. package/dist/services/meihua/calculators/QiguaCalculator.js.map +1 -0
  141. package/dist/services/meihua/calculators/TiyongCalculator.d.ts +34 -0
  142. package/dist/services/meihua/calculators/TiyongCalculator.d.ts.map +1 -0
  143. package/dist/services/meihua/calculators/TiyongCalculator.js +105 -0
  144. package/dist/services/meihua/calculators/TiyongCalculator.js.map +1 -0
  145. package/dist/services/meihua/data/bagua.d.ts +19 -0
  146. package/dist/services/meihua/data/bagua.d.ts.map +1 -0
  147. package/dist/services/meihua/data/bagua.js +81 -0
  148. package/dist/services/meihua/data/bagua.js.map +1 -0
  149. package/dist/services/meihua/index.d.ts +11 -0
  150. package/dist/services/meihua/index.d.ts.map +1 -0
  151. package/dist/services/meihua/index.js +27 -0
  152. package/dist/services/meihua/index.js.map +1 -0
  153. package/dist/services/meihua/types.d.ts +95 -0
  154. package/dist/services/meihua/types.d.ts.map +1 -0
  155. package/dist/services/meihua/types.js +6 -0
  156. package/dist/services/meihua/types.js.map +1 -0
  157. package/dist/services/qimen/QimenService.d.ts +93 -0
  158. package/dist/services/qimen/QimenService.d.ts.map +1 -0
  159. package/dist/services/qimen/QimenService.js +427 -0
  160. package/dist/services/qimen/QimenService.js.map +1 -0
  161. package/dist/services/qimen/calculators/BaMenCalculator.d.ts +53 -0
  162. package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -0
  163. package/dist/services/qimen/calculators/BaMenCalculator.js +105 -0
  164. package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -0
  165. package/dist/services/qimen/calculators/BaShenCalculator.d.ts +34 -0
  166. package/dist/services/qimen/calculators/BaShenCalculator.d.ts.map +1 -0
  167. package/dist/services/qimen/calculators/BaShenCalculator.js +57 -0
  168. package/dist/services/qimen/calculators/BaShenCalculator.js.map +1 -0
  169. package/dist/services/qimen/calculators/GeJuCalculator.d.ts +141 -0
  170. package/dist/services/qimen/calculators/GeJuCalculator.d.ts.map +1 -0
  171. package/dist/services/qimen/calculators/GeJuCalculator.js +711 -0
  172. package/dist/services/qimen/calculators/GeJuCalculator.js.map +1 -0
  173. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +56 -0
  174. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -0
  175. package/dist/services/qimen/calculators/JiuGongCalculator.js +98 -0
  176. package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -0
  177. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +54 -0
  178. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -0
  179. package/dist/services/qimen/calculators/JiuXingCalculator.js +117 -0
  180. package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -0
  181. package/dist/services/qimen/calculators/JuShuCalculator.d.ts +57 -0
  182. package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -0
  183. package/dist/services/qimen/calculators/JuShuCalculator.js +115 -0
  184. package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -0
  185. package/dist/services/qimen/calculators/PanTypeCalculator.d.ts +117 -0
  186. package/dist/services/qimen/calculators/PanTypeCalculator.d.ts.map +1 -0
  187. package/dist/services/qimen/calculators/PanTypeCalculator.js +237 -0
  188. package/dist/services/qimen/calculators/PanTypeCalculator.js.map +1 -0
  189. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +50 -0
  190. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -0
  191. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +86 -0
  192. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -0
  193. package/dist/services/qimen/calculators/ShenShaCalculator.d.ts +80 -0
  194. package/dist/services/qimen/calculators/ShenShaCalculator.d.ts.map +1 -0
  195. package/dist/services/qimen/calculators/ShenShaCalculator.js +300 -0
  196. package/dist/services/qimen/calculators/ShenShaCalculator.js.map +1 -0
  197. package/dist/services/qimen/calculators/YongShenCalculator.d.ts +78 -0
  198. package/dist/services/qimen/calculators/YongShenCalculator.d.ts.map +1 -0
  199. package/dist/services/qimen/calculators/YongShenCalculator.js +497 -0
  200. package/dist/services/qimen/calculators/YongShenCalculator.js.map +1 -0
  201. package/dist/services/qimen/calculators/ZeRiCalculator.d.ts +78 -0
  202. package/dist/services/qimen/calculators/ZeRiCalculator.d.ts.map +1 -0
  203. package/dist/services/qimen/calculators/ZeRiCalculator.js +431 -0
  204. package/dist/services/qimen/calculators/ZeRiCalculator.js.map +1 -0
  205. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +118 -0
  206. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -0
  207. package/dist/services/qimen/calculators/ZhuanPanCalculator.js +260 -0
  208. package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -0
  209. package/dist/services/qimen/data/constants.d.ts +105 -0
  210. package/dist/services/qimen/data/constants.d.ts.map +1 -0
  211. package/dist/services/qimen/data/constants.js +295 -0
  212. package/dist/services/qimen/data/constants.js.map +1 -0
  213. package/dist/services/qimen/data/shensha-rules.d.ts +177 -0
  214. package/dist/services/qimen/data/shensha-rules.d.ts.map +1 -0
  215. package/dist/services/qimen/data/shensha-rules.js +397 -0
  216. package/dist/services/qimen/data/shensha-rules.js.map +1 -0
  217. package/dist/services/qimen/data/yongshen-rules.d.ts +115 -0
  218. package/dist/services/qimen/data/yongshen-rules.d.ts.map +1 -0
  219. package/dist/services/qimen/data/yongshen-rules.js +365 -0
  220. package/dist/services/qimen/data/yongshen-rules.js.map +1 -0
  221. package/dist/services/qimen/index.d.ts +20 -0
  222. package/dist/services/qimen/index.d.ts.map +1 -0
  223. package/dist/services/qimen/index.js +43 -0
  224. package/dist/services/qimen/index.js.map +1 -0
  225. package/dist/services/qimen/types.d.ts +390 -0
  226. package/dist/services/qimen/types.d.ts.map +1 -0
  227. package/dist/services/qimen/types.js +20 -0
  228. package/dist/services/qimen/types.js.map +1 -0
  229. package/dist/services/qimen/utils/gongUtils.d.ts +80 -0
  230. package/dist/services/qimen/utils/gongUtils.d.ts.map +1 -0
  231. package/dist/services/qimen/utils/gongUtils.js +164 -0
  232. package/dist/services/qimen/utils/gongUtils.js.map +1 -0
  233. package/dist/shared/types.d.ts +0 -1
  234. package/dist/shared/types.d.ts.map +1 -1
  235. package/dist/utils/timeNormalization.d.ts +48 -0
  236. package/dist/utils/timeNormalization.d.ts.map +1 -0
  237. package/dist/utils/timeNormalization.js +69 -0
  238. package/dist/utils/timeNormalization.js.map +1 -0
  239. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * 八神计算器
4
+ * 计算八神在九宫中的分布
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BaShenCalculator = void 0;
8
+ const constants_1 = require("../data/constants");
9
+ /**
10
+ * 八神计算器
11
+ * 负责计算八神的排布
12
+ */
13
+ class BaShenCalculator {
14
+ /**
15
+ * 计算八神布局
16
+ * @param zhiFuLuoGong 值符星落宫
17
+ * @param yinYangDun 阴阳遁
18
+ * @returns 八神布局
19
+ *
20
+ * 原理:
21
+ * 1. 值符神(第一神)永远临值符星落宫
22
+ * 2. 阳遁:八神按洛书顺序顺布
23
+ * 3. 阴遁:八神按洛书顺序逆布
24
+ *
25
+ * 八神顺序:值符-腾蛇-太阴-六合-白虎-玄武-九地-九天
26
+ */
27
+ static calculate(zhiFuLuoGong, yinYangDun) {
28
+ const isYang = yinYangDun === '阳遁';
29
+ const gongShen = {};
30
+ // 值符神落宫
31
+ let startGong = zhiFuLuoGong;
32
+ if (startGong === 5) {
33
+ startGong = constants_1.ZHONG_GONG_JI; // 中宫寄坤二
34
+ }
35
+ const startIdx = (0, constants_1.getLuoShuIndex)(startGong);
36
+ // 依次排列八神
37
+ for (let i = 0; i < 8; i++) {
38
+ const shen = constants_1.BA_SHEN_ORDER[i];
39
+ const gongIdx = isYang
40
+ ? (startIdx + i) % 8
41
+ : ((startIdx - i) % 8 + 8) % 8;
42
+ const gong = (0, constants_1.getLuoShuGong)(gongIdx);
43
+ gongShen[gong] = shen;
44
+ }
45
+ // 中宫寄坤二,使用坤二的神
46
+ gongShen[5] = gongShen[constants_1.ZHONG_GONG_JI];
47
+ return { gongShen };
48
+ }
49
+ /**
50
+ * 根据宫位找神
51
+ */
52
+ static findShenByGong(gongShen, gong) {
53
+ return gongShen[gong === 5 ? constants_1.ZHONG_GONG_JI : gong];
54
+ }
55
+ }
56
+ exports.BaShenCalculator = BaShenCalculator;
57
+ //# sourceMappingURL=BaShenCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaShenCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/BaShenCalculator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iDAM2B;AAO3B;;;GAGG;AACH,MAAa,gBAAgB;IAC3B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CACd,YAAqB,EACrB,UAAsB;QAEtB,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;QACnC,MAAM,QAAQ,GAA4B,EAA6B,CAAC;QAExE,QAAQ;QACR,IAAI,SAAS,GAAG,YAAY,CAAC;QAC7B,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,SAAS,GAAG,yBAAa,CAAC,CAAC,QAAQ;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,0BAAc,EAAC,SAAS,CAAC,CAAC;QAE3C,SAAS;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,yBAAa,CAAC,CAAC,CAAC,CAAC;YAE9B,MAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;gBACpB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAEjC,MAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,eAAe;QACf,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,yBAAa,CAAC,CAAC;QAEtC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAiC,EAAE,IAAa;QACpE,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AArDD,4CAqDC"}
@@ -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"}