mingpan 0.1.2 → 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 (108) hide show
  1. package/README.md +72 -44
  2. package/dist/core/qimen/FlyingRule.d.ts +60 -0
  3. package/dist/core/qimen/FlyingRule.d.ts.map +1 -0
  4. package/dist/core/qimen/FlyingRule.js +94 -0
  5. package/dist/core/qimen/FlyingRule.js.map +1 -0
  6. package/dist/core/qimen/GongMapping.d.ts +29 -0
  7. package/dist/core/qimen/GongMapping.d.ts.map +1 -0
  8. package/dist/core/qimen/GongMapping.js +83 -0
  9. package/dist/core/qimen/GongMapping.js.map +1 -0
  10. package/dist/core/qimen/RotatingRule.d.ts +76 -0
  11. package/dist/core/qimen/RotatingRule.d.ts.map +1 -0
  12. package/dist/core/qimen/RotatingRule.js +126 -0
  13. package/dist/core/qimen/RotatingRule.js.map +1 -0
  14. package/dist/core/qimen/YinYangDunCalculator.d.ts +28 -0
  15. package/dist/core/qimen/YinYangDunCalculator.d.ts.map +1 -0
  16. package/dist/core/qimen/YinYangDunCalculator.js +79 -0
  17. package/dist/core/qimen/YinYangDunCalculator.js.map +1 -0
  18. package/dist/core/qimen/index.d.ts +10 -0
  19. package/dist/core/qimen/index.d.ts.map +1 -0
  20. package/dist/core/qimen/index.js +58 -0
  21. package/dist/core/qimen/index.js.map +1 -0
  22. package/dist/core/qimen/types.d.ts +19 -0
  23. package/dist/core/qimen/types.d.ts.map +1 -0
  24. package/dist/core/qimen/types.js +7 -0
  25. package/dist/core/qimen/types.js.map +1 -0
  26. package/dist/index.js +269 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/output/qimenTextRenderer.d.ts +40 -0
  29. package/dist/output/qimenTextRenderer.d.ts.map +1 -0
  30. package/dist/output/qimenTextRenderer.js +363 -0
  31. package/dist/output/qimenTextRenderer.js.map +1 -0
  32. package/dist/services/qimen/QimenService.d.ts +93 -0
  33. package/dist/services/qimen/QimenService.d.ts.map +1 -0
  34. package/dist/services/qimen/QimenService.js +427 -0
  35. package/dist/services/qimen/QimenService.js.map +1 -0
  36. package/dist/services/qimen/calculators/BaMenCalculator.d.ts +53 -0
  37. package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -0
  38. package/dist/services/qimen/calculators/BaMenCalculator.js +105 -0
  39. package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -0
  40. package/dist/services/qimen/calculators/BaShenCalculator.d.ts +34 -0
  41. package/dist/services/qimen/calculators/BaShenCalculator.d.ts.map +1 -0
  42. package/dist/services/qimen/calculators/BaShenCalculator.js +57 -0
  43. package/dist/services/qimen/calculators/BaShenCalculator.js.map +1 -0
  44. package/dist/services/qimen/calculators/GeJuCalculator.d.ts +141 -0
  45. package/dist/services/qimen/calculators/GeJuCalculator.d.ts.map +1 -0
  46. package/dist/services/qimen/calculators/GeJuCalculator.js +711 -0
  47. package/dist/services/qimen/calculators/GeJuCalculator.js.map +1 -0
  48. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +56 -0
  49. package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -0
  50. package/dist/services/qimen/calculators/JiuGongCalculator.js +98 -0
  51. package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -0
  52. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +54 -0
  53. package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -0
  54. package/dist/services/qimen/calculators/JiuXingCalculator.js +117 -0
  55. package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -0
  56. package/dist/services/qimen/calculators/JuShuCalculator.d.ts +57 -0
  57. package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -0
  58. package/dist/services/qimen/calculators/JuShuCalculator.js +115 -0
  59. package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -0
  60. package/dist/services/qimen/calculators/PanTypeCalculator.d.ts +117 -0
  61. package/dist/services/qimen/calculators/PanTypeCalculator.d.ts.map +1 -0
  62. package/dist/services/qimen/calculators/PanTypeCalculator.js +237 -0
  63. package/dist/services/qimen/calculators/PanTypeCalculator.js.map +1 -0
  64. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +50 -0
  65. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -0
  66. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +86 -0
  67. package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -0
  68. package/dist/services/qimen/calculators/ShenShaCalculator.d.ts +80 -0
  69. package/dist/services/qimen/calculators/ShenShaCalculator.d.ts.map +1 -0
  70. package/dist/services/qimen/calculators/ShenShaCalculator.js +300 -0
  71. package/dist/services/qimen/calculators/ShenShaCalculator.js.map +1 -0
  72. package/dist/services/qimen/calculators/YongShenCalculator.d.ts +78 -0
  73. package/dist/services/qimen/calculators/YongShenCalculator.d.ts.map +1 -0
  74. package/dist/services/qimen/calculators/YongShenCalculator.js +497 -0
  75. package/dist/services/qimen/calculators/YongShenCalculator.js.map +1 -0
  76. package/dist/services/qimen/calculators/ZeRiCalculator.d.ts +78 -0
  77. package/dist/services/qimen/calculators/ZeRiCalculator.d.ts.map +1 -0
  78. package/dist/services/qimen/calculators/ZeRiCalculator.js +431 -0
  79. package/dist/services/qimen/calculators/ZeRiCalculator.js.map +1 -0
  80. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +118 -0
  81. package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -0
  82. package/dist/services/qimen/calculators/ZhuanPanCalculator.js +260 -0
  83. package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -0
  84. package/dist/services/qimen/data/constants.d.ts +105 -0
  85. package/dist/services/qimen/data/constants.d.ts.map +1 -0
  86. package/dist/services/qimen/data/constants.js +295 -0
  87. package/dist/services/qimen/data/constants.js.map +1 -0
  88. package/dist/services/qimen/data/shensha-rules.d.ts +177 -0
  89. package/dist/services/qimen/data/shensha-rules.d.ts.map +1 -0
  90. package/dist/services/qimen/data/shensha-rules.js +397 -0
  91. package/dist/services/qimen/data/shensha-rules.js.map +1 -0
  92. package/dist/services/qimen/data/yongshen-rules.d.ts +115 -0
  93. package/dist/services/qimen/data/yongshen-rules.d.ts.map +1 -0
  94. package/dist/services/qimen/data/yongshen-rules.js +365 -0
  95. package/dist/services/qimen/data/yongshen-rules.js.map +1 -0
  96. package/dist/services/qimen/index.d.ts +20 -0
  97. package/dist/services/qimen/index.d.ts.map +1 -0
  98. package/dist/services/qimen/index.js +43 -0
  99. package/dist/services/qimen/index.js.map +1 -0
  100. package/dist/services/qimen/types.d.ts +390 -0
  101. package/dist/services/qimen/types.d.ts.map +1 -0
  102. package/dist/services/qimen/types.js +20 -0
  103. package/dist/services/qimen/types.js.map +1 -0
  104. package/dist/services/qimen/utils/gongUtils.d.ts +80 -0
  105. package/dist/services/qimen/utils/gongUtils.d.ts.map +1 -0
  106. package/dist/services/qimen/utils/gongUtils.js +164 -0
  107. package/dist/services/qimen/utils/gongUtils.js.map +1 -0
  108. package/package.json +1 -1
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ /**
3
+ * 奇门遁甲常量数据
4
+ *
5
+ * 注意:飞宫规则、九宫映射、阴阳遁计算等核心逻辑已迁移到 core/qimen/
6
+ * 本文件重新导出核心常量,并保留奇门业务专用常量
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.QI_YI_GEJU_MAP = exports.MA_XING = exports.TIAN_GAN_WUXING = exports.FU_TOU_MAP = exports.BA_SHEN_FULL = exports.BA_SHEN_ORDER = exports.JIU_XING_FULL = exports.JIU_XING_ORDER = exports.JIU_XING_GONG = exports.BA_MEN_FULL = exports.BA_MEN_ORDER = exports.BA_MEN_GONG = exports.XUN_KONG = exports.JIA_ZI_60 = exports.LIU_YI_MAP = exports.SAN_QI_LIU_YI = exports.DI_ZHI = exports.TIAN_GAN = exports.getJuShu = exports.getYinYangDun = exports.JIEQI_JU_MAP = exports.GAN_HE_MAP = exports.CHONG_GONG_MAP = exports.DI_ZHI_GONG = exports.GONG_WUXING = exports.GONG_NAMES = exports.getRotationSteps = exports.rotate = exports.getPhysicalCounterClockwiseGong = exports.getPhysicalCounterClockwiseIndex = exports.getPhysicalClockwiseGong = exports.getPhysicalClockwiseIndex = exports.ZHONG_GONG_JI_ZHUAN = exports.PHYSICAL_COUNTER_CLOCKWISE_ORDER = exports.PHYSICAL_CLOCKWISE_ORDER = exports.flyBackward = exports.flyForward = exports.getLuoShuGong9 = exports.getLuoShuIndex9 = exports.getLuoShuGong = exports.getLuoShuIndex = exports.ZHONG_GONG_JI = exports.LUOSHU_ORDER_9 = exports.LUOSHU_ORDER = void 0;
10
+ exports.getXunShou = getXunShou;
11
+ exports.getXunKong = getXunKong;
12
+ exports.getLiuYiGan = getLiuYiGan;
13
+ exports.getYuanIndex = getYuanIndex;
14
+ // ============= 从 core/qimen 重新导出 =============
15
+ var qimen_1 = require("../../../core/qimen");
16
+ // Flying rules (飞盘式)
17
+ Object.defineProperty(exports, "LUOSHU_ORDER", { enumerable: true, get: function () { return qimen_1.LUOSHU_ORDER; } });
18
+ Object.defineProperty(exports, "LUOSHU_ORDER_9", { enumerable: true, get: function () { return qimen_1.LUOSHU_ORDER_9; } });
19
+ Object.defineProperty(exports, "ZHONG_GONG_JI", { enumerable: true, get: function () { return qimen_1.ZHONG_GONG_JI; } });
20
+ Object.defineProperty(exports, "getLuoShuIndex", { enumerable: true, get: function () { return qimen_1.getLuoShuIndex; } });
21
+ Object.defineProperty(exports, "getLuoShuGong", { enumerable: true, get: function () { return qimen_1.getLuoShuGong; } });
22
+ Object.defineProperty(exports, "getLuoShuIndex9", { enumerable: true, get: function () { return qimen_1.getLuoShuIndex9; } });
23
+ Object.defineProperty(exports, "getLuoShuGong9", { enumerable: true, get: function () { return qimen_1.getLuoShuGong9; } });
24
+ Object.defineProperty(exports, "flyForward", { enumerable: true, get: function () { return qimen_1.flyForward; } });
25
+ Object.defineProperty(exports, "flyBackward", { enumerable: true, get: function () { return qimen_1.flyBackward; } });
26
+ // Rotating rules (转盘式)
27
+ Object.defineProperty(exports, "PHYSICAL_CLOCKWISE_ORDER", { enumerable: true, get: function () { return qimen_1.PHYSICAL_CLOCKWISE_ORDER; } });
28
+ Object.defineProperty(exports, "PHYSICAL_COUNTER_CLOCKWISE_ORDER", { enumerable: true, get: function () { return qimen_1.PHYSICAL_COUNTER_CLOCKWISE_ORDER; } });
29
+ Object.defineProperty(exports, "ZHONG_GONG_JI_ZHUAN", { enumerable: true, get: function () { return qimen_1.ZHONG_GONG_JI_ZHUAN; } });
30
+ Object.defineProperty(exports, "getPhysicalClockwiseIndex", { enumerable: true, get: function () { return qimen_1.getPhysicalClockwiseIndex; } });
31
+ Object.defineProperty(exports, "getPhysicalClockwiseGong", { enumerable: true, get: function () { return qimen_1.getPhysicalClockwiseGong; } });
32
+ Object.defineProperty(exports, "getPhysicalCounterClockwiseIndex", { enumerable: true, get: function () { return qimen_1.getPhysicalCounterClockwiseIndex; } });
33
+ Object.defineProperty(exports, "getPhysicalCounterClockwiseGong", { enumerable: true, get: function () { return qimen_1.getPhysicalCounterClockwiseGong; } });
34
+ Object.defineProperty(exports, "rotate", { enumerable: true, get: function () { return qimen_1.rotate; } });
35
+ Object.defineProperty(exports, "getRotationSteps", { enumerable: true, get: function () { return qimen_1.getRotationSteps; } });
36
+ // Gong mappings
37
+ Object.defineProperty(exports, "GONG_NAMES", { enumerable: true, get: function () { return qimen_1.GONG_NAMES; } });
38
+ Object.defineProperty(exports, "GONG_WUXING", { enumerable: true, get: function () { return qimen_1.GONG_WUXING; } });
39
+ Object.defineProperty(exports, "DI_ZHI_GONG", { enumerable: true, get: function () { return qimen_1.DI_ZHI_GONG; } });
40
+ Object.defineProperty(exports, "CHONG_GONG_MAP", { enumerable: true, get: function () { return qimen_1.CHONG_GONG_MAP; } });
41
+ Object.defineProperty(exports, "GAN_HE_MAP", { enumerable: true, get: function () { return qimen_1.GAN_HE_MAP; } });
42
+ // Yin-Yang Dun
43
+ Object.defineProperty(exports, "JIEQI_JU_MAP", { enumerable: true, get: function () { return qimen_1.JIEQI_JU_MAP; } });
44
+ Object.defineProperty(exports, "getYinYangDun", { enumerable: true, get: function () { return qimen_1.getYinYangDun; } });
45
+ Object.defineProperty(exports, "getJuShu", { enumerable: true, get: function () { return qimen_1.getJuShu; } });
46
+ // ============= 天干地支序列 =============
47
+ /** 十天干 */
48
+ exports.TIAN_GAN = [
49
+ '甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'
50
+ ];
51
+ /** 十二地支 */
52
+ exports.DI_ZHI = [
53
+ '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥'
54
+ ];
55
+ // ============= 三奇六仪 =============
56
+ /**
57
+ * 三奇六仪顺序 (戊-癸-壬-辛-庚-己-丁-丙-乙)
58
+ * 甲遁于戊下,所以顺序从戊开始
59
+ */
60
+ exports.SAN_QI_LIU_YI = [
61
+ '戊', '己', '庚', '辛', '壬', '癸', '丁', '丙', '乙'
62
+ ];
63
+ /**
64
+ * 六仪(甲子戊、甲戌己、甲申庚、甲午辛、甲辰壬、甲寅癸)
65
+ * 旬首 -> 对应的遁甲干
66
+ */
67
+ exports.LIU_YI_MAP = {
68
+ '甲子': '戊',
69
+ '甲戌': '己',
70
+ '甲申': '庚',
71
+ '甲午': '辛',
72
+ '甲辰': '壬',
73
+ '甲寅': '癸',
74
+ };
75
+ /**
76
+ * 六十甲子表
77
+ */
78
+ exports.JIA_ZI_60 = [
79
+ '甲子', '乙丑', '丙寅', '丁卯', '戊辰', '己巳', '庚午', '辛未', '壬申', '癸酉',
80
+ '甲戌', '乙亥', '丙子', '丁丑', '戊寅', '己卯', '庚辰', '辛巳', '壬午', '癸未',
81
+ '甲申', '乙酉', '丙戌', '丁亥', '戊子', '己丑', '庚寅', '辛卯', '壬辰', '癸巳',
82
+ '甲午', '乙未', '丙申', '丁酉', '戊戌', '己亥', '庚子', '辛丑', '壬寅', '癸卯',
83
+ '甲辰', '乙巳', '丙午', '丁未', '戊申', '己酉', '庚戌', '辛亥', '壬子', '癸丑',
84
+ '甲寅', '乙卯', '丙辰', '丁巳', '戊午', '己未', '庚申', '辛酉', '壬戌', '癸亥',
85
+ ];
86
+ /**
87
+ * 旬空表(每旬的空亡地支)
88
+ */
89
+ exports.XUN_KONG = {
90
+ '甲子': ['戌', '亥'],
91
+ '甲戌': ['申', '酉'],
92
+ '甲申': ['午', '未'],
93
+ '甲午': ['辰', '巳'],
94
+ '甲辰': ['寅', '卯'],
95
+ '甲寅': ['子', '丑'],
96
+ };
97
+ // ============= 八门 =============
98
+ /**
99
+ * 八门原始宫位
100
+ * 休门居坎1、生门居艮8、伤门居震3、杜门居巽4
101
+ * 景门居离9、死门居坤2、惊门居兑7、开门居乾6
102
+ */
103
+ exports.BA_MEN_GONG = {
104
+ '休': 1,
105
+ '生': 8,
106
+ '伤': 3,
107
+ '杜': 4,
108
+ '景': 9,
109
+ '死': 2,
110
+ '惊': 7,
111
+ '开': 6,
112
+ };
113
+ /** 八门顺序(按宫位顺序) */
114
+ exports.BA_MEN_ORDER = ['休', '生', '伤', '杜', '景', '死', '惊', '开'];
115
+ /** 八门全称 */
116
+ exports.BA_MEN_FULL = {
117
+ '休': '休门',
118
+ '生': '生门',
119
+ '伤': '伤门',
120
+ '杜': '杜门',
121
+ '景': '景门',
122
+ '死': '死门',
123
+ '惊': '惊门',
124
+ '开': '开门',
125
+ };
126
+ // ============= 九星 =============
127
+ /**
128
+ * 九星原始宫位
129
+ * 天蓬居坎1、天芮居坤2、天冲居震3、天辅居巽4
130
+ * 天禽居中5、天心居乾6、天柱居兑7、天任居艮8、天英居离9
131
+ */
132
+ exports.JIU_XING_GONG = {
133
+ '蓬': 1,
134
+ '芮': 2,
135
+ '冲': 3,
136
+ '辅': 4,
137
+ '禽': 5,
138
+ '心': 6,
139
+ '柱': 7,
140
+ '任': 8,
141
+ '英': 9,
142
+ };
143
+ /** 九星顺序(按宫位顺序) */
144
+ exports.JIU_XING_ORDER = ['蓬', '芮', '冲', '辅', '禽', '心', '柱', '任', '英'];
145
+ /** 九星全称 */
146
+ exports.JIU_XING_FULL = {
147
+ '蓬': '天蓬',
148
+ '芮': '天芮',
149
+ '冲': '天冲',
150
+ '辅': '天辅',
151
+ '禽': '天禽',
152
+ '心': '天心',
153
+ '柱': '天柱',
154
+ '任': '天任',
155
+ '英': '天英',
156
+ };
157
+ // ============= 八神 =============
158
+ /**
159
+ * 八神顺序
160
+ * 阳遁:值符-腾蛇-太阴-六合-白虎-玄武-九地-九天(顺时针)
161
+ * 阴遁:值符-腾蛇-太阴-六合-白虎-玄武-九地-九天(逆时针)
162
+ */
163
+ exports.BA_SHEN_ORDER = ['符', '蛇', '阴', '合', '虎', '武', '地', '天'];
164
+ /** 八神全称 */
165
+ exports.BA_SHEN_FULL = {
166
+ '符': '值符',
167
+ '蛇': '腾蛇',
168
+ '阴': '太阴',
169
+ '合': '六合',
170
+ '虎': '白虎',
171
+ '武': '玄武',
172
+ '地': '九地',
173
+ '天': '九天',
174
+ };
175
+ // ============= 其他奇门专用常量 =============
176
+ /**
177
+ * 符头表:根据日干支确定属于哪个旬
178
+ */
179
+ exports.FU_TOU_MAP = (() => {
180
+ const map = {};
181
+ const xunShous = ['甲子', '甲戌', '甲申', '甲午', '甲辰', '甲寅'];
182
+ for (const xunShou of xunShous) {
183
+ const startIdx = exports.JIA_ZI_60.indexOf(xunShou);
184
+ for (let i = 0; i < 10; i++) {
185
+ const ganZhi = exports.JIA_ZI_60[(startIdx + i) % 60];
186
+ map[ganZhi] = xunShou;
187
+ }
188
+ }
189
+ return map;
190
+ })();
191
+ /**
192
+ * 天干五行
193
+ */
194
+ exports.TIAN_GAN_WUXING = {
195
+ '甲': '木',
196
+ '乙': '木',
197
+ '丙': '火',
198
+ '丁': '火',
199
+ '戊': '土',
200
+ '己': '土',
201
+ '庚': '金',
202
+ '辛': '金',
203
+ '壬': '水',
204
+ '癸': '水',
205
+ };
206
+ /**
207
+ * 马星地支
208
+ * 日支 -> 马星所在地支
209
+ */
210
+ exports.MA_XING = {
211
+ '申': '寅',
212
+ '子': '寅',
213
+ '辰': '寅',
214
+ '寅': '申',
215
+ '午': '申',
216
+ '戌': '申',
217
+ '亥': '巳',
218
+ '卯': '巳',
219
+ '未': '巳',
220
+ '巳': '亥',
221
+ '酉': '亥',
222
+ '丑': '亥',
223
+ };
224
+ /**
225
+ * 奇仪组合格局映射表
226
+ */
227
+ exports.QI_YI_GEJU_MAP = [
228
+ // ========== 吉格(8种) ==========
229
+ { tianGan: '乙', diGan: '戊', name: '青龙返首', type: '吉格', description: '乙奇临戊,龙归故里' },
230
+ { tianGan: '丙', diGan: '戊', name: '飞鸟跌穴', type: '吉格', description: '丙奇临戊,鸟归巢穴' },
231
+ { tianGan: '丁', diGan: '戊', name: '丁遇戊格', type: '吉格', description: '丁奇临戊,玉女守护' },
232
+ { tianGan: '丙', diGan: '乙', name: '日月会合', type: '吉格', description: '丙临乙,日月相会' },
233
+ { tianGan: '丁', diGan: '乙', name: '奇仪相佐', type: '吉格', description: '丁临乙,星月相辉' },
234
+ { tianGan: '乙', diGan: '丙', name: '日月并行', type: '吉格', description: '乙临丙,阴阳和合' },
235
+ { tianGan: '丁', diGan: '丙', name: '星奇朱雀', type: '吉格', description: '丁临丙,星辉日出' },
236
+ { tianGan: '丁', diGan: '丁', name: '星奇入太', type: '吉格', description: '丁奇伏吟,可断隐私事' },
237
+ // ========== 伏吟格局(6种,中性偏吉/凶视情况) ==========
238
+ { tianGan: '乙', diGan: '乙', name: '乙奇伏吟', type: '吉格', description: '乙奇自临,主隐私阴谋' },
239
+ { tianGan: '丙', diGan: '丙', name: '丙奇伏吟', type: '吉格', description: '丙奇自临,光明正大' },
240
+ { tianGan: '戊', diGan: '戊', name: '戊仪伏吟', type: '凶格', description: '戊仪自临,财物不动' },
241
+ { tianGan: '己', diGan: '己', name: '己仪伏吟', type: '凶格', description: '己仪自临,主私昧纠缠' },
242
+ { tianGan: '壬', diGan: '壬', name: '壬仪伏吟', type: '凶格', description: '壬仪自临,流动停滞' },
243
+ { tianGan: '癸', diGan: '癸', name: '癸仪伏吟', type: '凶格', description: '癸仪自临,阴私暗昧' },
244
+ { tianGan: '辛', diGan: '辛', name: '辛仪伏吟', type: '凶格', description: '辛仪自临,阴金凝滞' },
245
+ // ========== 凶格(18种,不含上方伏吟类) ==========
246
+ { tianGan: '乙', diGan: '辛', name: '青龙折足', type: '凶格', description: '乙遇辛,金克木' },
247
+ { tianGan: '辛', diGan: '乙', name: '白虎逢星', type: '凶格', description: '辛临乙,金克木' }, // 避免与"庚+开+虎"的白虎猖狂混淆
248
+ { tianGan: '丁', diGan: '癸', name: '朱雀投江', type: '凶格', description: '丁遇癸,水克火' },
249
+ { tianGan: '癸', diGan: '丁', name: '腾蛇夭矫', type: '凶格', description: '癸临丁,水火相战' },
250
+ { tianGan: '庚', diGan: '丙', name: '太白入荧', type: '凶格', description: '庚临丙,金入火乡' },
251
+ { tianGan: '丙', diGan: '庚', name: '荧入太白', type: '凶格', description: '丙临庚,火入金地' },
252
+ { tianGan: '庚', diGan: '癸', name: '大格', type: '凶格', description: '庚临癸,阻滞严重' },
253
+ { tianGan: '庚', diGan: '壬', name: '小格', type: '凶格', description: '庚临壬,小有阻碍' },
254
+ { tianGan: '庚', diGan: '庚', name: '刑格', type: '凶格', description: '庚金伏吟,主刑伤' },
255
+ { tianGan: '戊', diGan: '庚', name: '戊加庚格', type: '凶格', description: '甲首遇庚,主悖逆' },
256
+ { tianGan: '己', diGan: '庚', name: '己加庚格', type: '凶格', description: '甲首遇庚,主悖逆' },
257
+ { tianGan: '壬', diGan: '庚', name: '飞宫格', type: '凶格', description: '壬临庚,飞扬跋扈' },
258
+ { tianGan: '癸', diGan: '庚', name: '伏宫格', type: '凶格', description: '癸临庚,阴私暗害' },
259
+ { tianGan: '癸', diGan: '戊', name: '地网高张', type: '凶格', description: '癸临戊,地网笼罩' },
260
+ // 补充庚/辛相关格局
261
+ { tianGan: '庚', diGan: '乙', name: '庚加乙格', type: '凶格', description: '庚临乙,金克木,主官非口舌' },
262
+ { tianGan: '庚', diGan: '丁', name: '庚加丁格', type: '凶格', description: '庚临丁,金夺火气,主文书阻滞' },
263
+ { tianGan: '辛', diGan: '丙', name: '辛加丙格', type: '凶格', description: '辛临丙,金被火炼,主损耗变化' },
264
+ { tianGan: '辛', diGan: '丁', name: '辛加丁格', type: '凶格', description: '辛临丁,阴金遇阴火,主暗昧是非' },
265
+ ];
266
+ // ============= 辅助函数 =============
267
+ /**
268
+ * 根据干支获取旬首
269
+ */
270
+ function getXunShou(ganZhi) {
271
+ return exports.FU_TOU_MAP[ganZhi] || '甲子';
272
+ }
273
+ /**
274
+ * 获取旬空
275
+ */
276
+ function getXunKong(xunShou) {
277
+ return exports.XUN_KONG[xunShou] || ['戌', '亥'];
278
+ }
279
+ /**
280
+ * 获取六仪遁干
281
+ */
282
+ function getLiuYiGan(xunShou) {
283
+ return exports.LIU_YI_MAP[xunShou] || '戊';
284
+ }
285
+ /**
286
+ * 根据元获取局数索引
287
+ */
288
+ function getYuanIndex(yuan) {
289
+ switch (yuan) {
290
+ case '上元': return 0;
291
+ case '中元': return 1;
292
+ case '下元': return 2;
293
+ }
294
+ }
295
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/services/qimen/data/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * 神煞规则配置
3
+ *
4
+ * 定义各类神煞的查表规则和计算方法
5
+ * 参考《协纪辨方书》、《神奇之门》等经典著作
6
+ */
7
+ import type { DiZhi, TianGan, GongWei, ShenShaType } from '../types';
8
+ /** 神煞定义 */
9
+ export interface ShenShaDef {
10
+ /** 神煞名称 */
11
+ name: string;
12
+ /** 吉凶属性 */
13
+ type: ShenShaType;
14
+ /** 简要说明 */
15
+ description: string;
16
+ }
17
+ /**
18
+ * 天乙贵人查表
19
+ *
20
+ * 由日干查天乙贵人落宫地支
21
+ * 规则:甲戊庚牛羊(丑未),乙己鼠猴乡(子申),
22
+ * 丙丁猪鸡位(亥酉),壬癸兔蛇藏(卯巳),
23
+ * 六辛逢马虎(午寅)
24
+ */
25
+ export declare const TIANYI_GUIREN: Record<TianGan, [DiZhi, DiZhi]>;
26
+ /**
27
+ * 天乙贵人神煞定义
28
+ */
29
+ export declare const TIANYI_DEF: ShenShaDef;
30
+ /**
31
+ * 驿马查表
32
+ *
33
+ * 由日支三合局冲位查驿马
34
+ * 寅午戌见申,申子辰见寅,亥卯未见巳,巳酉丑见亥
35
+ */
36
+ export declare const YIMA: Record<DiZhi, DiZhi>;
37
+ /**
38
+ * 驿马神煞定义
39
+ */
40
+ export declare const YIMA_DEF: ShenShaDef;
41
+ /**
42
+ * 华盖查表
43
+ *
44
+ * 由年支或日支三合局墓库位查华盖
45
+ * 寅午戌见戌,申子辰见辰,亥卯未见未,巳酉丑见丑
46
+ */
47
+ export declare const HUAGAI: Record<DiZhi, DiZhi>;
48
+ /**
49
+ * 华盖神煞定义
50
+ */
51
+ export declare const HUAGAI_DEF: ShenShaDef;
52
+ /**
53
+ * 天德值类型
54
+ *
55
+ * 天德可以是天干或地支(历史上部分月份取地支)
56
+ */
57
+ export type TianDeValue = TianGan | DiZhi;
58
+ /**
59
+ * 天德查表
60
+ *
61
+ * 由月支查天德
62
+ * 注:卯月见申(地支)、午月见亥(地支)、酉月见寅(地支)、子月见巳(地支)
63
+ */
64
+ export declare const TIANDE: Record<DiZhi, TianDeValue>;
65
+ /**
66
+ * 月德查表
67
+ *
68
+ * 由月支查月德
69
+ */
70
+ export declare const YUEDE: Record<DiZhi, TianGan>;
71
+ /**
72
+ * 天德神煞定义
73
+ */
74
+ export declare const TIANDE_DEF: ShenShaDef;
75
+ /**
76
+ * 月德神煞定义
77
+ */
78
+ export declare const YUEDE_DEF: ShenShaDef;
79
+ /**
80
+ * 禄神查表
81
+ *
82
+ * 由日干查禄神落宫地支
83
+ * 甲禄在寅,乙禄在卯,丙戊禄在巳,丁己禄在午,
84
+ * 庚禄在申,辛禄在酉,壬禄在亥,癸禄在子
85
+ */
86
+ export declare const LUSHEN: Record<TianGan, DiZhi>;
87
+ /**
88
+ * 禄神神煞定义
89
+ */
90
+ export declare const LUSHEN_DEF: ShenShaDef;
91
+ /**
92
+ * 桃花(咸池)查表
93
+ *
94
+ * 由日支三合局首位之冲位查桃花
95
+ * 寅午戌见卯,申子辰见酉,亥卯未见子,巳酉丑见午
96
+ */
97
+ export declare const TAOHUA: Record<DiZhi, DiZhi>;
98
+ /**
99
+ * 桃花神煞定义
100
+ */
101
+ export declare const TAOHUA_DEF: ShenShaDef;
102
+ /**
103
+ * 天医查表
104
+ *
105
+ * 由月支后一位查天医
106
+ * 正月见丑,二月见寅,...依次类推
107
+ */
108
+ export declare const TIANYI_YIZHI: Record<DiZhi, DiZhi>;
109
+ /**
110
+ * 天医神煞定义
111
+ */
112
+ export declare const TIANYI_SHEN_DEF: ShenShaDef;
113
+ /**
114
+ * 太岁神煞定义
115
+ */
116
+ export declare const TAISUI_DEF: ShenShaDef;
117
+ /**
118
+ * 羊刃查表
119
+ *
120
+ * 由日干阳刃位查羊刃
121
+ * 甲刃在卯,乙刃在寅(或不取),丙戊刃在午,丁己刃在巳(或不取),
122
+ * 庚刃在酉,辛刃在申(或不取),壬刃在子,癸刃在亥(或不取)
123
+ *
124
+ * 注:阴干是否取羊刃有争议,这里采用阴干不取的主流做法
125
+ */
126
+ export declare const YANGREN: Record<TianGan, DiZhi | null>;
127
+ /**
128
+ * 羊刃神煞定义
129
+ */
130
+ export declare const YANGREN_DEF: ShenShaDef;
131
+ /**
132
+ * 日马查表(同驿马)
133
+ */
134
+ export declare const RIMA: Record<DiZhi, DiZhi>;
135
+ /**
136
+ * 日马神煞定义
137
+ */
138
+ export declare const RIMA_DEF: ShenShaDef;
139
+ /**
140
+ * 丁马神煞定义
141
+ */
142
+ export declare const DINGMA_DEF: ShenShaDef;
143
+ /**
144
+ * 地支到宫位映射
145
+ */
146
+ export declare const DIZHI_TO_GONG: Record<DiZhi, GongWei>;
147
+ /**
148
+ * 所有神煞定义列表
149
+ */
150
+ export declare const ALL_SHENSHA_DEFS: ShenShaDef[];
151
+ /**
152
+ * 神煞评分权重
153
+ */
154
+ export declare const SHENSHA_SCORE_WEIGHTS: Record<string, number>;
155
+ /**
156
+ * 六冲对照表
157
+ *
158
+ * 用于计算岁破、月破
159
+ */
160
+ export declare const LIU_CHONG: Record<DiZhi, DiZhi>;
161
+ /**
162
+ * 检测岁破
163
+ *
164
+ * @param yearZhi 年支(太岁)
165
+ * @param dayZhi 日支
166
+ * @returns 是否为岁破日
167
+ */
168
+ export declare function checkSuiPo(yearZhi: DiZhi, dayZhi: DiZhi): boolean;
169
+ /**
170
+ * 检测月破
171
+ *
172
+ * @param monthZhi 月支
173
+ * @param dayZhi 日支
174
+ * @returns 是否为月破日
175
+ */
176
+ export declare function checkYuePo(monthZhi: DiZhi, dayZhi: DiZhi): boolean;
177
+ //# sourceMappingURL=shensha-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shensha-rules.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/data/shensha-rules.ts"],"names":[],"mappings":"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"}