mingyu-core 0.1.7 → 0.1.9
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.
- package/README.md +11 -3
- package/dist/bazi/baziAnalysis.d.ts.map +1 -1
- package/dist/bazi/baziAnalysis.js +0 -2
- package/dist/bazi/baziAnalysis.js.map +1 -1
- package/dist/bazi/baziAnalysisFormatter.d.ts.map +1 -1
- package/dist/bazi/baziAnalysisFormatter.js +9 -0
- package/dist/bazi/baziAnalysisFormatter.js.map +1 -1
- package/dist/bazi/baziCalculator.d.ts.map +1 -1
- package/dist/bazi/baziCalculator.js +61 -3
- package/dist/bazi/baziCalculator.js.map +1 -1
- package/dist/bazi/baziConditionMatchers/branchMatchers.d.ts +1 -0
- package/dist/bazi/baziConditionMatchers/branchMatchers.d.ts.map +1 -1
- package/dist/bazi/baziConditionMatchers/branchMatchers.js +13 -1
- package/dist/bazi/baziConditionMatchers/branchMatchers.js.map +1 -1
- package/dist/bazi/baziConditionMatchers/index.d.ts.map +1 -1
- package/dist/bazi/baziConditionMatchers/index.js +4 -2
- package/dist/bazi/baziConditionMatchers/index.js.map +1 -1
- package/dist/bazi/baziConditionMatchers/stemMatchers.d.ts +1 -0
- package/dist/bazi/baziConditionMatchers/stemMatchers.d.ts.map +1 -1
- package/dist/bazi/baziConditionMatchers/stemMatchers.js +7 -3
- package/dist/bazi/baziConditionMatchers/stemMatchers.js.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.d.ts.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.js +31 -11
- package/dist/bazi/baziEnhancement/classicPatterns.js.map +1 -1
- package/dist/bazi/baziPromptEnhancement.d.ts.map +1 -1
- package/dist/bazi/baziPromptEnhancement.js +49 -0
- package/dist/bazi/baziPromptEnhancement.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/dayRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/dayRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/dayRules.js +101 -56
- package/dist/bazi/baziShenSha/helpers/dayRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/disasterRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.js +745 -23
- package/dist/bazi/baziShenSha/helpers/disasterRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/globalRules.d.ts +0 -6
- package/dist/bazi/baziShenSha/helpers/globalRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/globalRules.js +48 -16
- package/dist/bazi/baziShenSha/helpers/globalRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/luRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.js +266 -37
- package/dist/bazi/baziShenSha/helpers/luRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/marriageRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/marriageRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/marriageRules.js +5 -7
- package/dist/bazi/baziShenSha/helpers/marriageRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/nobleRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.js +208 -41
- package/dist/bazi/baziShenSha/helpers/nobleRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.d.ts +0 -4
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.js +0 -8
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.js.map +1 -1
- package/dist/bazi/baziShenSha/index.d.ts +0 -20
- package/dist/bazi/baziShenSha/index.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/index.js +0 -20
- package/dist/bazi/baziShenSha/index.js.map +1 -1
- package/dist/bazi/baziShenSha/variants.d.ts +0 -3
- package/dist/bazi/baziShenSha/variants.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/variants.js.map +1 -1
- package/dist/bazi/baziShenShaData.d.ts +0 -20
- package/dist/bazi/baziShenShaData.d.ts.map +1 -1
- package/dist/bazi/baziShenShaData.js +286 -34
- package/dist/bazi/baziShenShaData.js.map +1 -1
- package/dist/bazi/baziStrengthAnalyzer.d.ts.map +1 -1
- package/dist/bazi/baziStrengthAnalyzer.js +8 -9
- package/dist/bazi/baziStrengthAnalyzer.js.map +1 -1
- package/dist/bazi/baziTypes.d.ts +16 -0
- package/dist/bazi/baziTypes.d.ts.map +1 -1
- package/dist/bazi/baziTypes.js.map +1 -1
- package/dist/bazi/chinaDst.d.ts +36 -0
- package/dist/bazi/chinaDst.d.ts.map +1 -0
- package/dist/bazi/chinaDst.js +86 -0
- package/dist/bazi/chinaDst.js.map +1 -0
- package/dist/bazi/harmonyTransform.d.ts +16 -0
- package/dist/bazi/harmonyTransform.d.ts.map +1 -0
- package/dist/bazi/harmonyTransform.js +285 -0
- package/dist/bazi/harmonyTransform.js.map +1 -0
- package/dist/bazi/index.d.ts +6 -0
- package/dist/bazi/index.d.ts.map +1 -1
- package/dist/bazi/index.js +3 -1
- package/dist/bazi/index.js.map +1 -1
- package/dist/bazi/lifeStageAnalysis.d.ts.map +1 -1
- package/dist/bazi/lifeStageAnalysis.js +0 -3
- package/dist/bazi/lifeStageAnalysis.js.map +1 -1
- package/dist/bazi/nayinAnalysis.d.ts.map +1 -1
- package/dist/bazi/nayinAnalysis.js +0 -1
- package/dist/bazi/nayinAnalysis.js.map +1 -1
- package/dist/bazi/paipanWarnings.d.ts +25 -0
- package/dist/bazi/paipanWarnings.d.ts.map +1 -0
- package/dist/bazi/paipanWarnings.js +124 -0
- package/dist/bazi/paipanWarnings.js.map +1 -0
- package/dist/bazi/relationStructure.d.ts.map +1 -1
- package/dist/bazi/relationStructure.js +0 -4
- package/dist/bazi/relationStructure.js.map +1 -1
- package/dist/bazi/stemRootAnalysis.d.ts.map +1 -1
- package/dist/bazi/stemRootAnalysis.js +26 -16
- package/dist/bazi/stemRootAnalysis.js.map +1 -1
- package/dist/bazi/usefulGodPlacement.d.ts.map +1 -1
- package/dist/bazi/usefulGodPlacement.js +0 -2
- package/dist/bazi/usefulGodPlacement.js.map +1 -1
- package/dist/divination/algorithms/_shared/index.d.ts +1 -1
- package/dist/divination/algorithms/_shared/index.d.ts.map +1 -1
- package/dist/divination/algorithms/_shared/index.js +1 -1
- package/dist/divination/algorithms/_shared/index.js.map +1 -1
- package/dist/divination/algorithms/_shared/wuxing.d.ts +9 -8
- package/dist/divination/algorithms/_shared/wuxing.d.ts.map +1 -1
- package/dist/divination/algorithms/_shared/wuxing.js +40 -18
- package/dist/divination/algorithms/_shared/wuxing.js.map +1 -1
- package/dist/divination/algorithms/almanac.d.ts +2 -2
- package/dist/divination/algorithms/almanac.d.ts.map +1 -1
- package/dist/divination/algorithms/almanac.js +197 -32
- package/dist/divination/algorithms/almanac.js.map +1 -1
- package/dist/divination/algorithms/lenormand.js +2 -2
- package/dist/divination/algorithms/liuren/helpers/lessons.d.ts.map +1 -1
- package/dist/divination/algorithms/liuren/helpers/lessons.js +11 -7
- package/dist/divination/algorithms/liuren/helpers/lessons.js.map +1 -1
- package/dist/divination/algorithms/liuren/helpers/transmission.d.ts +6 -0
- package/dist/divination/algorithms/liuren/helpers/transmission.d.ts.map +1 -1
- package/dist/divination/algorithms/liuren/helpers/transmission.js +38 -0
- package/dist/divination/algorithms/liuren/helpers/transmission.js.map +1 -1
- package/dist/divination/algorithms/liuren/index.d.ts.map +1 -1
- package/dist/divination/algorithms/liuren/index.js +17 -14
- package/dist/divination/algorithms/liuren/index.js.map +1 -1
- package/dist/divination/algorithms/liuyao.d.ts +57 -0
- package/dist/divination/algorithms/liuyao.d.ts.map +1 -1
- package/dist/divination/algorithms/liuyao.js +221 -50
- package/dist/divination/algorithms/liuyao.js.map +1 -1
- package/dist/divination/algorithms/meihua/helpers/methods.d.ts +2 -2
- package/dist/divination/algorithms/meihua/helpers/methods.d.ts.map +1 -1
- package/dist/divination/algorithms/meihua/helpers/methods.js +47 -7
- package/dist/divination/algorithms/meihua/helpers/methods.js.map +1 -1
- package/dist/divination/algorithms/meihua/index.d.ts.map +1 -1
- package/dist/divination/algorithms/meihua/index.js +22 -15
- package/dist/divination/algorithms/meihua/index.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/_constants.d.ts +2 -4
- package/dist/divination/algorithms/qimen/helpers/_constants.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/_constants.js +3 -5
- package/dist/divination/algorithms/qimen/helpers/_constants.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.d.ts +15 -7
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js +814 -127
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/directions.d.ts +4 -3
- package/dist/divination/algorithms/qimen/helpers/directions.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/directions.js +16 -9
- package/dist/divination/algorithms/qimen/helpers/directions.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.d.ts +7 -6
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.js +55 -24
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu.d.ts +20 -13
- package/dist/divination/algorithms/qimen/helpers/jushu.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu.js +96 -61
- package/dist/divination/algorithms/qimen/helpers/jushu.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.js +18 -24
- package/dist/divination/algorithms/qimen/helpers/layout.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.d.ts +40 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.d.ts.map +1 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.js +1799 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.js.map +1 -0
- package/dist/divination/algorithms/qimen/helpers/patterns.d.ts +6 -5
- package/dist/divination/algorithms/qimen/helpers/patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/patterns.js +74 -22
- package/dist/divination/algorithms/qimen/helpers/patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/seasonality.d.ts +1 -1
- package/dist/divination/algorithms/qimen/helpers/seasonality.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.d.ts +8 -1
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.js +731 -67
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/ying-qi.d.ts +10 -6
- package/dist/divination/algorithms/qimen/helpers/ying-qi.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/ying-qi.js +58 -25
- package/dist/divination/algorithms/qimen/helpers/ying-qi.js.map +1 -1
- package/dist/divination/algorithms/qimen/index.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/index.js +112 -21
- package/dist/divination/algorithms/qimen/index.js.map +1 -1
- package/dist/divination/algorithms/xiaoliuren.d.ts +1 -1
- package/dist/divination/algorithms/xiaoliuren.js +12 -12
- package/dist/divination/algorithms/xiaoliuren.js.map +1 -1
- package/dist/divination/divination-data.d.ts.map +1 -1
- package/dist/divination/divination-data.js +2 -4
- package/dist/divination/divination-data.js.map +1 -1
- package/dist/types/analysis.d.ts +21 -0
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/divination.d.ts +84 -2
- package/dist/types/divination.d.ts.map +1 -1
- package/dist/ziwei/iztro/build-analysis-payload/index.d.ts.map +1 -1
- package/dist/ziwei/iztro/build-analysis-payload/index.js +7 -1
- package/dist/ziwei/iztro/build-analysis-payload/index.js.map +1 -1
- package/dist/ziwei/iztro/pattern-detection.d.ts +4 -2
- package/dist/ziwei/iztro/pattern-detection.d.ts.map +1 -1
- package/dist/ziwei/iztro/pattern-detection.js +1300 -184
- package/dist/ziwei/iztro/pattern-detection.js.map +1 -1
- package/package.json +1 -1
|
@@ -53,6 +53,44 @@ export function getPatternTag(pattern) {
|
|
|
53
53
|
}
|
|
54
54
|
return '递传';
|
|
55
55
|
}
|
|
56
|
+
const TRANSMISSION_BRANCH_CLASS_GUA_TI = [
|
|
57
|
+
{ name: '三交卦', branches: ['子', '午', '卯', '酉'] },
|
|
58
|
+
{ name: '玄胎卦', branches: ['寅', '申', '巳', '亥'] },
|
|
59
|
+
{ name: '稼穑卦', branches: ['辰', '戌', '丑', '未'] },
|
|
60
|
+
];
|
|
61
|
+
const TRANSMISSION_SANHE_GUA_TI = [
|
|
62
|
+
{ name: '曲直卦', branches: ['亥', '卯', '未'] },
|
|
63
|
+
{ name: '从革卦', branches: ['巳', '酉', '丑'] },
|
|
64
|
+
{ name: '炎上卦', branches: ['寅', '午', '戌'] },
|
|
65
|
+
{ name: '润下卦', branches: ['申', '子', '辰'] },
|
|
66
|
+
];
|
|
67
|
+
function hasSameBranchSet(actualBranches, expectedBranches) {
|
|
68
|
+
return (actualBranches.length === expectedBranches.length &&
|
|
69
|
+
expectedBranches.every((branch) => actualBranches.includes(branch)));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 识别三传成局课体。
|
|
73
|
+
* 《六壬指南》列三交、玄胎、稼穑及曲直、从革、炎上、润下等三传课体;
|
|
74
|
+
* 这里仅按三传地支结构打标签,吉凶仍交由后续断课结合用神、天将与旺衰判断。
|
|
75
|
+
*/
|
|
76
|
+
export function getLiurenTransmissionGuaTi(branches) {
|
|
77
|
+
const uniqueBranches = Array.from(new Set(branches));
|
|
78
|
+
if (uniqueBranches.length !== 3) {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
const guaTi = [];
|
|
82
|
+
for (const item of TRANSMISSION_BRANCH_CLASS_GUA_TI) {
|
|
83
|
+
if (uniqueBranches.every((branch) => item.branches.includes(branch))) {
|
|
84
|
+
guaTi.push(item.name);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
for (const item of TRANSMISSION_SANHE_GUA_TI) {
|
|
88
|
+
if (hasSameBranchSet(uniqueBranches, item.branches)) {
|
|
89
|
+
guaTi.push(item.name);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return guaTi;
|
|
93
|
+
}
|
|
56
94
|
export function buildTransmissionDetail(rule, _pattern, transmissions, classicalRule) {
|
|
57
95
|
const initialTransmission = transmissions[0];
|
|
58
96
|
if (!initialTransmission) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transmission.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/liuren/helpers/transmission.ts"],"names":[],"mappings":"AAMA,MAAM,YAAY,GAA2B;IAC3C,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;CACP,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAkC,EAAE,QAAgB;IACxF,MAAM,cAAc,GAAgD;QAClE,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;KACX,CAAC;IAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC;IACjD,CAAC;IAED,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAAW,EACX,KAAa,EACb,EAAU;IAEV,IAAI,GAAG,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0C;IACtE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAY,EACZ,QAA2C,EAC3C,aAAmC,EACnC,aAAmC;IAEnC,MAAM,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,UAAU,GAAG,aAAa;QAC9B,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,EAAE;QAChF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,OAAO,IAAI,KAAK,mBAAmB,CAAC,KAAK,GAAG,mBAAmB,CAAC,MAAM,QAAQ,UAAU,GAAG,CAAC;AACrG,CAAC"}
|
|
1
|
+
{"version":3,"file":"transmission.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/liuren/helpers/transmission.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/divination/algorithms/liuren/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/divination/algorithms/liuren/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,2BAA2B,CAAC;AAwPhF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,UAAU,CAqJ5D"}
|
|
@@ -5,7 +5,7 @@ import { getYiMa, getTaoHua } from '../_shared/index.js';
|
|
|
5
5
|
import { buildHeavenlyPlate, DIZHI, describeRelation, getDayStemResidence, getNoblemanBranch, getPlateItemByBranch, getUnderByUpper, getUpperByUnder, TIANJIANG_ATTRIBUTES, } from './helpers/plate.js';
|
|
6
6
|
import { buildFourLessons, resolveInitialTransmission } from './helpers/lessons.js';
|
|
7
7
|
import { resolveLiurenClassicalRules } from './helpers/classical-rules.js';
|
|
8
|
-
import { buildTransmissionDetail, buildTransmissionNote, getPatternTag, getTransmissionPattern, } from './helpers/transmission.js';
|
|
8
|
+
import { buildTransmissionDetail, buildTransmissionNote, getLiurenTransmissionGuaTi, getPatternTag, getTransmissionPattern, } from './helpers/transmission.js';
|
|
9
9
|
const MONTH_LEADER_BY_ZHONGQI = {
|
|
10
10
|
雨水: '亥',
|
|
11
11
|
春分: '戌',
|
|
@@ -72,20 +72,20 @@ function buildShenShaSummary(yearBranch, monthBranch, dayBranch, dayStem) {
|
|
|
72
72
|
const peach = getTaoHua(dayBranch);
|
|
73
73
|
if (peach)
|
|
74
74
|
items.push(`桃花在${peach}`);
|
|
75
|
-
//
|
|
75
|
+
// 破碎煞/红砂(日支取):《六壬指南》“四孟金鸡,四仲蛇,四季丑日是红砂”。
|
|
76
76
|
const poSuiMap = {
|
|
77
|
-
|
|
77
|
+
寅: '酉',
|
|
78
78
|
申: '酉',
|
|
79
|
-
|
|
80
|
-
亥: '
|
|
79
|
+
巳: '酉',
|
|
80
|
+
亥: '酉',
|
|
81
|
+
子: '巳',
|
|
81
82
|
卯: '巳',
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
戌: '
|
|
86
|
-
巳: '丑',
|
|
87
|
-
酉: '丑',
|
|
83
|
+
午: '巳',
|
|
84
|
+
酉: '巳',
|
|
85
|
+
辰: '丑',
|
|
86
|
+
戌: '丑',
|
|
88
87
|
丑: '丑',
|
|
88
|
+
未: '丑',
|
|
89
89
|
};
|
|
90
90
|
const poSui = poSuiMap[dayBranch];
|
|
91
91
|
if (poSui)
|
|
@@ -179,10 +179,10 @@ function buildShenShaSummary(yearBranch, monthBranch, dayBranch, dayStem) {
|
|
|
179
179
|
if (lu)
|
|
180
180
|
items.push(`日禄在${lu}`);
|
|
181
181
|
// ===== 年支取神煞 =====
|
|
182
|
-
//
|
|
183
|
-
if (yearBranch === '辰' || yearBranch === '巳')
|
|
184
|
-
items.push('命带天罗');
|
|
182
|
+
// 天罗地网:戌亥为天罗,辰巳为地网。
|
|
185
183
|
if (yearBranch === '戌' || yearBranch === '亥')
|
|
184
|
+
items.push('命带天罗');
|
|
185
|
+
if (yearBranch === '辰' || yearBranch === '巳')
|
|
186
186
|
items.push('命带地网');
|
|
187
187
|
return items;
|
|
188
188
|
}
|
|
@@ -284,6 +284,8 @@ export function generateLiuren(customDate) {
|
|
|
284
284
|
threeTransmissions.some((item) => xunKong.includes(item.branch)) ? '空亡入传' : '传不逢空',
|
|
285
285
|
getPatternTag(transmissionPattern),
|
|
286
286
|
];
|
|
287
|
+
const guaTi = getLiurenTransmissionGuaTi(transmissionBranches);
|
|
288
|
+
patternTags.push(...guaTi);
|
|
287
289
|
const lessonSummary = `四课源于日干寄宫${dayStemResidence}与日支${dayBranch},关系呈${fourLessons
|
|
288
290
|
.map((item) => item.relation)
|
|
289
291
|
.join('、')},重点先看${initialResult.tag}落点。`;
|
|
@@ -331,6 +333,7 @@ export function generateLiuren(customDate) {
|
|
|
331
333
|
classicalRules,
|
|
332
334
|
lessonSummary: `${lessonSummary} 当前节气为${timeInfo.jieQi}。`,
|
|
333
335
|
transmissionSummary,
|
|
336
|
+
guaTi,
|
|
334
337
|
shenShaSummary,
|
|
335
338
|
tianJiangProps,
|
|
336
339
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/divination/algorithms/liuren/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/divination/algorithms/liuren/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,49 @@
|
|
|
11
11
|
* 6. 六神:根据起卦日的日干,安上青龙、朱雀、勾陈、螣蛇、白虎、玄武。
|
|
12
12
|
* 7. 变卦分析:分析动爻变化后的爻,形成“父化财”等判断依据。
|
|
13
13
|
*/
|
|
14
|
+
/**
|
|
15
|
+
* 判断化进神/退神。
|
|
16
|
+
* 按《增删卜易》进神退神章明表取用,不按十二地支循环外推。
|
|
17
|
+
*/
|
|
18
|
+
export declare function getLiuyaoChangeDirection(originalBranch: string, changedBranch: string): '化进神' | '化退神' | null;
|
|
19
|
+
export type LiuyaoHexagramRelation = '六合卦' | '六冲卦';
|
|
20
|
+
export type LiuyaoFanFuScope = '内卦' | '外卦' | '内外';
|
|
21
|
+
export type LiuyaoFanFuKind = '卦反吟' | '爻反吟' | '伏吟';
|
|
22
|
+
export interface LiuyaoFanFuRelationItem {
|
|
23
|
+
kind: LiuyaoFanFuKind;
|
|
24
|
+
scope: LiuyaoFanFuScope;
|
|
25
|
+
label: string;
|
|
26
|
+
description: string;
|
|
27
|
+
}
|
|
28
|
+
export interface LiuyaoFanFuRelations {
|
|
29
|
+
/** 反吟结构,可能同时存在内卦、外卦不同类型 */
|
|
30
|
+
fanyin: LiuyaoFanFuRelationItem[];
|
|
31
|
+
/** 伏吟结构,按动变后纳甲地支不变识别 */
|
|
32
|
+
fuyin: LiuyaoFanFuRelationItem[];
|
|
33
|
+
/** 便于前端与提示词直接展示的标签 */
|
|
34
|
+
labels: string[];
|
|
35
|
+
}
|
|
36
|
+
export type LiuyaoPalaceStage = '首卦' | '一世' | '二世' | '三世' | '四世' | '五世' | '游魂' | '归魂';
|
|
37
|
+
/**
|
|
38
|
+
* 判断整卦层面的六合卦/六冲卦。
|
|
39
|
+
* 《增删卜易》六合章、六冲章以初四、二五、三上三组爻支相合/相冲定整卦关系,
|
|
40
|
+
* 如天地否为六合卦、乾为天为六冲卦。
|
|
41
|
+
*/
|
|
42
|
+
export declare function getLiuyaoHexagramRelation(hexagramName: string): LiuyaoHexagramRelation | null;
|
|
43
|
+
export declare function getLiuyaoHexagramRelations(originalName: string, changedName: string | undefined, hasChangingYaos: boolean): {
|
|
44
|
+
original: LiuyaoHexagramRelation;
|
|
45
|
+
changed: LiuyaoHexagramRelation;
|
|
46
|
+
transition: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 判断六爻卦变层面的反吟、伏吟。
|
|
50
|
+
*
|
|
51
|
+
* 《增删卜易》“反吟伏吟”:
|
|
52
|
+
* - 卦反吟:乾巽、坎离、震兑、坤艮相变。
|
|
53
|
+
* - 爻反吟:对应爻纳甲地支逐位相冲。
|
|
54
|
+
* - 伏吟:卦有动变,但变后六爻纳甲地支不变,并分内卦、外卦、内外。
|
|
55
|
+
*/
|
|
56
|
+
export declare function getLiuyaoFanFuRelations(originalName: string, changedName: string | undefined, hasChangingYaos: boolean): LiuyaoFanFuRelations;
|
|
14
57
|
declare function buildHiddenSpirits(params: {
|
|
15
58
|
originalName: string;
|
|
16
59
|
palace: {
|
|
@@ -37,6 +80,13 @@ declare function buildHiddenSpirits(params: {
|
|
|
37
80
|
wuxing: string;
|
|
38
81
|
};
|
|
39
82
|
}[];
|
|
83
|
+
/**
|
|
84
|
+
* 安世应
|
|
85
|
+
* @param hexagramName 卦名
|
|
86
|
+
* @param palaceName 宫位名
|
|
87
|
+
* @returns 返回世爻和应爻所在的爻位(1-6)
|
|
88
|
+
*/
|
|
89
|
+
export declare function getLiuyaoPalaceStage(hexagramName: string, palaceName?: string): LiuyaoPalaceStage;
|
|
40
90
|
/**
|
|
41
91
|
* 生成六爻卦盘
|
|
42
92
|
*
|
|
@@ -89,6 +139,7 @@ export declare function generateLiuyao(customDate?: Date): {
|
|
|
89
139
|
name: string;
|
|
90
140
|
wuxing: string;
|
|
91
141
|
};
|
|
142
|
+
palaceStage: LiuyaoPalaceStage;
|
|
92
143
|
ganzhi: any;
|
|
93
144
|
specialPattern: "静卦" | "独静卦" | "全动卦" | "乾卦用九" | "坤卦用六";
|
|
94
145
|
specialAdvice: string;
|
|
@@ -142,6 +193,12 @@ export declare function generateLiuyao(customDate?: Date): {
|
|
|
142
193
|
wuxing: string;
|
|
143
194
|
};
|
|
144
195
|
}[];
|
|
196
|
+
hexagramRelations: {
|
|
197
|
+
original: LiuyaoHexagramRelation;
|
|
198
|
+
changed: LiuyaoHexagramRelation;
|
|
199
|
+
transition: string;
|
|
200
|
+
};
|
|
201
|
+
fanfuRelations: LiuyaoFanFuRelations;
|
|
145
202
|
sanheWithDay: {
|
|
146
203
|
group: string;
|
|
147
204
|
members: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liuyao.d.ts","sourceRoot":"","sources":["../../../src/divination/algorithms/liuyao.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"liuyao.d.ts","sourceRoot":"","sources":["../../../src/divination/algorithms/liuyao.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuMH;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,KAAK,GAAG,KAAK,GAAG,IAAI,CAQtB;AAED,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAClD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,wBAAwB;IACxB,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAuBtF;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAmB7F;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,eAAe,EAAE,OAAO;;;;EAezB;AA6ED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,eAAe,EAAE,OAAO,GACvB,oBAAoB,CAwDtB;AA+CD,iBAAS,kBAAkB,CAAC,MAAM,EAAE;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,UAAU,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;;;;;;;;;;;;IA0BA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAejG;AAwFD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8Gd,QAAG,GAAG,QAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAxoB/B,MAAM;iBAAW,MAAM,EAAE;qBAAe,MAAM;;;eAA9C,MAAM;iBAAW,MAAM,EAAE;qBAAe,MAAM;;;kBA6rBjB,MAAM,EAAE;cAAQ,MAAM;;;;;;;;EAiF9D;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -126,7 +126,7 @@ function checkSanheWithTrigger(yaoBranches, triggerBranch, triggerLabel) {
|
|
|
126
126
|
* - 回头克:变爻克动爻
|
|
127
127
|
* - 回头冲:变爻冲动爻(六冲)
|
|
128
128
|
* - 化空:变爻落旬空
|
|
129
|
-
* - 化进/化退:同五行递进退(由
|
|
129
|
+
* - 化进/化退:同五行递进退(由 getLiuyaoChangeDirection 判定)
|
|
130
130
|
* - 比和:同五行同比和
|
|
131
131
|
*/
|
|
132
132
|
function getChangeRelation(originalWuxing, changedWuxing, originalBranch, changedBranch, changedIsVoid) {
|
|
@@ -156,44 +156,194 @@ function isDayBreak(branch, dayBranch) {
|
|
|
156
156
|
function isMonthBreak(branch, monthBranch) {
|
|
157
157
|
return isLiuchong(branch, monthBranch);
|
|
158
158
|
}
|
|
159
|
+
const LIUYAO_ADVANCING_CHANGE = {
|
|
160
|
+
亥: '子',
|
|
161
|
+
寅: '卯',
|
|
162
|
+
巳: '午',
|
|
163
|
+
申: '酉',
|
|
164
|
+
丑: '辰',
|
|
165
|
+
辰: '未',
|
|
166
|
+
未: '戌',
|
|
167
|
+
};
|
|
168
|
+
const LIUYAO_RETREATING_CHANGE = {
|
|
169
|
+
子: '亥',
|
|
170
|
+
卯: '寅',
|
|
171
|
+
午: '巳',
|
|
172
|
+
酉: '申',
|
|
173
|
+
辰: '丑',
|
|
174
|
+
未: '辰',
|
|
175
|
+
戌: '未',
|
|
176
|
+
};
|
|
159
177
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* 化退神:动爻变出的爻与原爻同五行,且顺序递退(如卯木化寅木)
|
|
178
|
+
* 判断化进神/退神。
|
|
179
|
+
* 按《增删卜易》进神退神章明表取用,不按十二地支循环外推。
|
|
163
180
|
*/
|
|
164
|
-
function
|
|
165
|
-
|
|
166
|
-
const changedWuxing = BRANCH_WUXING[changedBranch];
|
|
167
|
-
// 必须同五行
|
|
168
|
-
if (!originalWuxing || !changedWuxing || originalWuxing !== changedWuxing) {
|
|
169
|
-
return null;
|
|
170
|
-
}
|
|
171
|
-
const originalIndex = BRANCH_ORDER.indexOf(originalBranch);
|
|
172
|
-
const changedIndex = BRANCH_ORDER.indexOf(changedBranch);
|
|
173
|
-
if (originalIndex === -1 || changedIndex === -1) {
|
|
174
|
-
return null;
|
|
175
|
-
}
|
|
176
|
-
// 计算顺时针距离(进)
|
|
177
|
-
const forwardDistance = (changedIndex - originalIndex + 12) % 12;
|
|
178
|
-
// 计算逆时针距离(退)
|
|
179
|
-
const backwardDistance = (originalIndex - changedIndex + 12) % 12;
|
|
180
|
-
// 进神:顺行一位(距离1)
|
|
181
|
-
if (forwardDistance === 1) {
|
|
181
|
+
export function getLiuyaoChangeDirection(originalBranch, changedBranch) {
|
|
182
|
+
if (LIUYAO_ADVANCING_CHANGE[originalBranch] === changedBranch) {
|
|
182
183
|
return '化进神';
|
|
183
184
|
}
|
|
184
|
-
|
|
185
|
-
if (backwardDistance === 1) {
|
|
185
|
+
if (LIUYAO_RETREATING_CHANGE[originalBranch] === changedBranch) {
|
|
186
186
|
return '化退神';
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
const WHOLE_HEXAGRAM_PAIR_INDEXES = [
|
|
191
|
+
[0, 3],
|
|
192
|
+
[1, 4],
|
|
193
|
+
[2, 5],
|
|
194
|
+
];
|
|
195
|
+
const LIUYAO_FANYIN_TRIGRAM_PAIRS = {
|
|
196
|
+
乾: '巽',
|
|
197
|
+
巽: '乾',
|
|
198
|
+
坎: '离',
|
|
199
|
+
离: '坎',
|
|
200
|
+
震: '兑',
|
|
201
|
+
兑: '震',
|
|
202
|
+
坤: '艮',
|
|
203
|
+
艮: '坤',
|
|
204
|
+
};
|
|
205
|
+
function trimHexagramRelationSuffix(relation) {
|
|
206
|
+
return relation.replace(/卦$/, '');
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* 判断整卦层面的六合卦/六冲卦。
|
|
210
|
+
* 《增删卜易》六合章、六冲章以初四、二五、三上三组爻支相合/相冲定整卦关系,
|
|
211
|
+
* 如天地否为六合卦、乾为天为六冲卦。
|
|
212
|
+
*/
|
|
213
|
+
export function getLiuyaoHexagramRelation(hexagramName) {
|
|
214
|
+
const branches = hexagramNaJia[hexagramName];
|
|
215
|
+
if (!branches || branches.length !== 6) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
if (WHOLE_HEXAGRAM_PAIR_INDEXES.every(([lower, upper]) => isLiuhe(branches[lower], branches[upper]))) {
|
|
219
|
+
return '六合卦';
|
|
220
|
+
}
|
|
221
|
+
if (WHOLE_HEXAGRAM_PAIR_INDEXES.every(([lower, upper]) => isLiuchong(branches[lower], branches[upper]))) {
|
|
222
|
+
return '六冲卦';
|
|
194
223
|
}
|
|
195
224
|
return null;
|
|
196
225
|
}
|
|
226
|
+
export function getLiuyaoHexagramRelations(originalName, changedName, hasChangingYaos) {
|
|
227
|
+
const original = getLiuyaoHexagramRelation(originalName);
|
|
228
|
+
const changed = hasChangingYaos && changedName ? getLiuyaoHexagramRelation(changedName) : null;
|
|
229
|
+
const transition = original && changed
|
|
230
|
+
? `${trimHexagramRelationSuffix(original)}变${trimHexagramRelationSuffix(changed)}`
|
|
231
|
+
: null;
|
|
232
|
+
return {
|
|
233
|
+
original,
|
|
234
|
+
changed,
|
|
235
|
+
transition,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
function getHexagramDataByName(hexagramName) {
|
|
239
|
+
return hexagramsData.find((item) => item.name === hexagramName);
|
|
240
|
+
}
|
|
241
|
+
function isTrigramFanyin(originalTrigram, changedTrigram) {
|
|
242
|
+
return LIUYAO_FANYIN_TRIGRAM_PAIRS[originalTrigram] === changedTrigram;
|
|
243
|
+
}
|
|
244
|
+
function getScope(lowerMatched, upperMatched) {
|
|
245
|
+
if (lowerMatched && upperMatched)
|
|
246
|
+
return '内外';
|
|
247
|
+
if (lowerMatched)
|
|
248
|
+
return '内卦';
|
|
249
|
+
if (upperMatched)
|
|
250
|
+
return '外卦';
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
function getScopes(scope) {
|
|
254
|
+
return scope === '内外' ? ['内卦', '外卦'] : [scope];
|
|
255
|
+
}
|
|
256
|
+
function buildFanyinLabel(kind, scope) {
|
|
257
|
+
if (kind === '爻反吟') {
|
|
258
|
+
return scope === '内外' ? '内外爻反吟' : `${scope}爻反吟`;
|
|
259
|
+
}
|
|
260
|
+
return scope === '内外' ? '内外反吟' : `${scope}反吟`;
|
|
261
|
+
}
|
|
262
|
+
function buildFanyinDescription(kind, scope, original, changed) {
|
|
263
|
+
const parts = getScopes(scope).map((item) => item === '内卦'
|
|
264
|
+
? `内卦${original.lower}变${changed.lower}`
|
|
265
|
+
: `外卦${original.upper}变${changed.upper}`);
|
|
266
|
+
const rule = kind === '爻反吟'
|
|
267
|
+
? '对应纳甲地支逐位相冲'
|
|
268
|
+
: '按乾巽、坎离、震兑、坤艮相变';
|
|
269
|
+
return `${parts.join(',')},${rule}`;
|
|
270
|
+
}
|
|
271
|
+
function buildFuyinDescription(scope, original, changed) {
|
|
272
|
+
const parts = getScopes(scope).map((item) => item === '内卦'
|
|
273
|
+
? `内卦${original.lower}变${changed.lower}`
|
|
274
|
+
: `外卦${original.upper}变${changed.upper}`);
|
|
275
|
+
return `${parts.join(',')},动变后纳甲地支不变`;
|
|
276
|
+
}
|
|
277
|
+
function pushFanyinItem(items, kind, scope, original, changed) {
|
|
278
|
+
if (!kind || !scope) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
items.push({
|
|
282
|
+
kind,
|
|
283
|
+
scope,
|
|
284
|
+
label: buildFanyinLabel(kind, scope),
|
|
285
|
+
description: buildFanyinDescription(kind, scope, original, changed),
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* 判断六爻卦变层面的反吟、伏吟。
|
|
290
|
+
*
|
|
291
|
+
* 《增删卜易》“反吟伏吟”:
|
|
292
|
+
* - 卦反吟:乾巽、坎离、震兑、坤艮相变。
|
|
293
|
+
* - 爻反吟:对应爻纳甲地支逐位相冲。
|
|
294
|
+
* - 伏吟:卦有动变,但变后六爻纳甲地支不变,并分内卦、外卦、内外。
|
|
295
|
+
*/
|
|
296
|
+
export function getLiuyaoFanFuRelations(originalName, changedName, hasChangingYaos) {
|
|
297
|
+
const empty = { fanyin: [], fuyin: [], labels: [] };
|
|
298
|
+
if (!hasChangingYaos || !changedName) {
|
|
299
|
+
return empty;
|
|
300
|
+
}
|
|
301
|
+
const original = getHexagramDataByName(originalName);
|
|
302
|
+
const changed = getHexagramDataByName(changedName);
|
|
303
|
+
const originalBranches = hexagramNaJia[originalName];
|
|
304
|
+
const changedBranches = hexagramNaJia[changedName];
|
|
305
|
+
if (!original || !changed || !originalBranches || !changedBranches) {
|
|
306
|
+
return empty;
|
|
307
|
+
}
|
|
308
|
+
const lowerYaoFanyin = originalBranches
|
|
309
|
+
.slice(0, 3)
|
|
310
|
+
.every((branch, index) => isLiuchong(branch, changedBranches[index]));
|
|
311
|
+
const upperYaoFanyin = originalBranches
|
|
312
|
+
.slice(3)
|
|
313
|
+
.every((branch, index) => isLiuchong(branch, changedBranches[index + 3]));
|
|
314
|
+
const lowerGuaFanyin = isTrigramFanyin(original.lower, changed.lower);
|
|
315
|
+
const upperGuaFanyin = isTrigramFanyin(original.upper, changed.upper);
|
|
316
|
+
const lowerFanyinKind = lowerYaoFanyin ? '爻反吟' : lowerGuaFanyin ? '卦反吟' : null;
|
|
317
|
+
const upperFanyinKind = upperYaoFanyin ? '爻反吟' : upperGuaFanyin ? '卦反吟' : null;
|
|
318
|
+
const fanyin = [];
|
|
319
|
+
if (lowerFanyinKind && lowerFanyinKind === upperFanyinKind) {
|
|
320
|
+
pushFanyinItem(fanyin, lowerFanyinKind, '内外', original, changed);
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
pushFanyinItem(fanyin, lowerFanyinKind, lowerFanyinKind ? '内卦' : null, original, changed);
|
|
324
|
+
pushFanyinItem(fanyin, upperFanyinKind, upperFanyinKind ? '外卦' : null, original, changed);
|
|
325
|
+
}
|
|
326
|
+
const lowerFuyin = original.lower !== changed.lower &&
|
|
327
|
+
originalBranches.slice(0, 3).every((branch, index) => branch === changedBranches[index]);
|
|
328
|
+
const upperFuyin = original.upper !== changed.upper &&
|
|
329
|
+
originalBranches.slice(3).every((branch, index) => branch === changedBranches[index + 3]);
|
|
330
|
+
const fuyinScope = getScope(lowerFuyin, upperFuyin);
|
|
331
|
+
const fuyin = fuyinScope
|
|
332
|
+
? [
|
|
333
|
+
{
|
|
334
|
+
kind: '伏吟',
|
|
335
|
+
scope: fuyinScope,
|
|
336
|
+
label: fuyinScope === '内外' ? '内外伏吟' : `${fuyinScope}伏吟`,
|
|
337
|
+
description: buildFuyinDescription(fuyinScope, original, changed),
|
|
338
|
+
},
|
|
339
|
+
]
|
|
340
|
+
: [];
|
|
341
|
+
return {
|
|
342
|
+
fanyin,
|
|
343
|
+
fuyin,
|
|
344
|
+
labels: [...fanyin, ...fuyin].map((item) => item.label),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
197
347
|
/**
|
|
198
348
|
* 寻宫:根据卦名查找其所属的八宫
|
|
199
349
|
* @param hexagramName 卦名,如“乾为天”
|
|
@@ -263,20 +413,33 @@ function buildHiddenSpirits(params) {
|
|
|
263
413
|
* @param palaceName 宫位名
|
|
264
414
|
* @returns 返回世爻和应爻所在的爻位(1-6)
|
|
265
415
|
*/
|
|
266
|
-
function
|
|
416
|
+
export function getLiuyaoPalaceStage(hexagramName, palaceName) {
|
|
267
417
|
// 京房八宫卦序,决定了世爻的位置
|
|
268
418
|
const palaceOrder = ['首卦', '一世', '二世', '三世', '四世', '五世', '游魂', '归魂'];
|
|
269
|
-
const
|
|
270
|
-
const hexagramsInPalace = palaceHexagrams[
|
|
419
|
+
const resolvedPalaceName = palaceName || hexagramPalaceMap[hexagramName];
|
|
420
|
+
const hexagramsInPalace = palaceHexagrams[resolvedPalaceName];
|
|
271
421
|
if (!hexagramsInPalace) {
|
|
272
|
-
throw new Error(`找不到宫位 "${
|
|
422
|
+
throw new Error(`找不到宫位 "${resolvedPalaceName}" 的卦象列表。`);
|
|
273
423
|
}
|
|
274
424
|
const generation = hexagramsInPalace.indexOf(hexagramName);
|
|
275
425
|
if (generation === -1) {
|
|
276
|
-
|
|
277
|
-
throw new Error(`卦象 "${hexagramName}" 不在宫位 "${palaceName}" 的列表中。`);
|
|
426
|
+
throw new Error(`卦象 "${hexagramName}" 不在宫位 "${resolvedPalaceName}" 的列表中。`);
|
|
278
427
|
}
|
|
279
|
-
|
|
428
|
+
return palaceOrder[generation];
|
|
429
|
+
}
|
|
430
|
+
function getShiYing(hexagramName, palaceName) {
|
|
431
|
+
const shiYaoMap = {
|
|
432
|
+
首卦: 6,
|
|
433
|
+
一世: 1,
|
|
434
|
+
二世: 2,
|
|
435
|
+
三世: 3,
|
|
436
|
+
四世: 4,
|
|
437
|
+
五世: 5,
|
|
438
|
+
游魂: 4,
|
|
439
|
+
归魂: 3,
|
|
440
|
+
};
|
|
441
|
+
const palaceStage = getLiuyaoPalaceStage(hexagramName, palaceName);
|
|
442
|
+
const shiYao = shiYaoMap[palaceStage];
|
|
280
443
|
// 应爻永远在世爻之上或之下三位
|
|
281
444
|
const yingYao = shiYao + 3 > 6 ? shiYao - 3 : shiYao + 3;
|
|
282
445
|
return { shi: shiYao, ying: yingYao };
|
|
@@ -391,6 +554,7 @@ export function generateLiuyao(customDate) {
|
|
|
391
554
|
const palace = findPalace(mainHexagram.name);
|
|
392
555
|
const yaosInfo = getNaJiaAndLiuQin(mainHexagram.name, palace);
|
|
393
556
|
const shiYing = getShiYing(mainHexagram.name, palace.name);
|
|
557
|
+
const palaceStage = getLiuyaoPalaceStage(mainHexagram.name, palace.name);
|
|
394
558
|
const voids = getVoidBranches(ganzhi.day);
|
|
395
559
|
//【核心修正:增加变卦分析】
|
|
396
560
|
// 六爻占断,吉凶之机尽在“动变”二字。静爻观其本,动爻察其变。
|
|
@@ -408,12 +572,16 @@ export function generateLiuyao(customDate) {
|
|
|
408
572
|
}))
|
|
409
573
|
.filter((yao) => yao.isChanging);
|
|
410
574
|
const { specialPattern, specialAdvice, isChaotic, chaoticReason } = getSpecialPattern(changingYaosResult.length, mainHexagram.name);
|
|
575
|
+
const hexagramRelations = getLiuyaoHexagramRelations(mainHexagram.name, changedHexagram.name, changingYaosResult.length > 0);
|
|
576
|
+
const fanfuRelations = getLiuyaoFanFuRelations(mainHexagram.name, changedHexagram.name, changingYaosResult.length > 0);
|
|
411
577
|
const yaosDetail = yaosInfo.map((info, index) => {
|
|
412
578
|
const isChanging = rawYaos[index] === 6 || rawYaos[index] === 9;
|
|
413
579
|
const changedInfo = isChanging ? changedYaosInfo[index] : null;
|
|
414
580
|
const isDayBreakFlag = isDayBreak(info.dizhi, dayBranch);
|
|
415
581
|
const isMonthBreakFlag = isMonthBreak(info.dizhi, monthBranch);
|
|
416
|
-
const changeDirection = changedInfo
|
|
582
|
+
const changeDirection = changedInfo
|
|
583
|
+
? getLiuyaoChangeDirection(info.dizhi, changedInfo.dizhi)
|
|
584
|
+
: null;
|
|
417
585
|
// 月令旺衰:按月建定爻之五行的旺相休囚死。旺相为有力,休囚死为无力。
|
|
418
586
|
const seasonState = getSeasonState(info.wuxing, monthBranch);
|
|
419
587
|
// 暗动:静爻被日辰冲为暗动(旺相有力,暗中发动);休囚被日冲为日破(无力)。
|
|
@@ -496,24 +664,24 @@ export function generateLiuyao(customDate) {
|
|
|
496
664
|
sanxingInYaos.push({ branches: [branch, branch], type: '自刑' });
|
|
497
665
|
}
|
|
498
666
|
}
|
|
499
|
-
//
|
|
500
|
-
//
|
|
501
|
-
//
|
|
667
|
+
// 月卦身(按六爻传统“阳世从子月起,阴世从午月生,从初数至世方真”):
|
|
668
|
+
// 阳世:初爻子、二爻丑、三爻寅、四爻卯、五爻辰、六爻巳
|
|
669
|
+
// 阴世:初爻午、二爻未、三爻申、四爻酉、五爻戌、六爻亥
|
|
502
670
|
const SHI_YANG_TO_GUA_SHEN = {
|
|
503
671
|
1: '子',
|
|
504
|
-
2: '
|
|
505
|
-
3: '
|
|
506
|
-
4: '
|
|
507
|
-
5: '
|
|
508
|
-
6: '
|
|
672
|
+
2: '丑',
|
|
673
|
+
3: '寅',
|
|
674
|
+
4: '卯',
|
|
675
|
+
5: '辰',
|
|
676
|
+
6: '巳',
|
|
509
677
|
};
|
|
510
678
|
const SHI_YIN_TO_GUA_SHEN = {
|
|
511
679
|
1: '午',
|
|
512
|
-
2: '
|
|
513
|
-
3: '
|
|
514
|
-
4: '
|
|
680
|
+
2: '未',
|
|
681
|
+
3: '申',
|
|
682
|
+
4: '酉',
|
|
515
683
|
5: '戌',
|
|
516
|
-
6: '
|
|
684
|
+
6: '亥',
|
|
517
685
|
};
|
|
518
686
|
// 世爻的阴阳决定卦身取阳表还是阴表
|
|
519
687
|
const shiYaoIsYang = mainYaos[shiYing.shi - 1] === '阳';
|
|
@@ -539,6 +707,7 @@ export function generateLiuyao(customDate) {
|
|
|
539
707
|
worldAndResponse: getWorldAndResponseArray(shiYing),
|
|
540
708
|
voidBranches: voids,
|
|
541
709
|
palace,
|
|
710
|
+
palaceStage,
|
|
542
711
|
ganzhi,
|
|
543
712
|
specialPattern,
|
|
544
713
|
specialAdvice,
|
|
@@ -546,6 +715,8 @@ export function generateLiuyao(customDate) {
|
|
|
546
715
|
chaoticReason,
|
|
547
716
|
yaosDetail,
|
|
548
717
|
hiddenSpirits,
|
|
718
|
+
hexagramRelations,
|
|
719
|
+
fanfuRelations,
|
|
549
720
|
sanheWithDay,
|
|
550
721
|
sanheWithMonth,
|
|
551
722
|
sanxingInYaos,
|