mingyu-core 0.1.5 → 0.1.7
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 +19 -1
- package/dist/bazi/baziAnalysisFormatter.d.ts.map +1 -1
- package/dist/bazi/baziAnalysisFormatter.js +3 -2
- package/dist/bazi/baziAnalysisFormatter.js.map +1 -1
- package/dist/bazi/baziCalculator.d.ts.map +1 -1
- package/dist/bazi/baziCalculator.js +6 -3
- package/dist/bazi/baziCalculator.js.map +1 -1
- package/dist/bazi/baziCalculatorHelpers.d.ts +2 -2
- package/dist/bazi/baziCalculatorHelpers.d.ts.map +1 -1
- package/dist/bazi/baziCalculatorHelpers.js +2 -19
- package/dist/bazi/baziCalculatorHelpers.js.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.d.ts +1 -0
- package/dist/bazi/baziEnhancement/classicPatterns.d.ts.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.js +41 -12
- package/dist/bazi/baziEnhancement/classicPatterns.js.map +1 -1
- package/dist/bazi/baziPromptEnhancement.d.ts +14 -0
- package/dist/bazi/baziPromptEnhancement.d.ts.map +1 -0
- package/dist/bazi/baziPromptEnhancement.js +414 -0
- package/dist/bazi/baziPromptEnhancement.js.map +1 -0
- package/dist/bazi/baziShenSha/helpers/dayRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/dayRules.js +3 -2
- package/dist/bazi/baziShenSha/helpers/dayRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.js +9 -16
- package/dist/bazi/baziShenSha/helpers/disasterRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.js +12 -28
- package/dist/bazi/baziShenSha/helpers/luRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.js +11 -13
- package/dist/bazi/baziShenSha/helpers/nobleRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/types.d.ts +2 -0
- package/dist/bazi/baziShenSha/helpers/types.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/index.d.ts +6 -2
- package/dist/bazi/baziShenSha/index.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/index.js +7 -2
- package/dist/bazi/baziShenSha/index.js.map +1 -1
- package/dist/bazi/baziShenSha/variants.d.ts +17 -0
- package/dist/bazi/baziShenSha/variants.d.ts.map +1 -0
- package/dist/bazi/baziShenSha/variants.js +12 -0
- package/dist/bazi/baziShenSha/variants.js.map +1 -0
- package/dist/bazi/baziTypes.d.ts +2 -0
- package/dist/bazi/baziTypes.d.ts.map +1 -1
- package/dist/bazi/baziTypes.js.map +1 -1
- package/dist/bazi/fortuneModalSelection.d.ts +6 -0
- package/dist/bazi/fortuneModalSelection.d.ts.map +1 -0
- package/dist/bazi/fortuneModalSelection.js +22 -0
- package/dist/bazi/fortuneModalSelection.js.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.d.ts +6 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.js +137 -0
- package/dist/bazi/fortuneSelection/helpers/breakdown.js.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.d.ts +9 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.js +74 -0
- package/dist/bazi/fortuneSelection/helpers/resolvers.js.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/types.d.ts +71 -0
- package/dist/bazi/fortuneSelection/helpers/types.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/helpers/types.js +2 -0
- package/dist/bazi/fortuneSelection/helpers/types.js.map +1 -0
- package/dist/bazi/fortuneSelection/index.d.ts +6 -0
- package/dist/bazi/fortuneSelection/index.d.ts.map +1 -0
- package/dist/bazi/fortuneSelection/index.js +484 -0
- package/dist/bazi/fortuneSelection/index.js.map +1 -0
- package/dist/bazi/index.d.ts +18 -0
- package/dist/bazi/index.d.ts.map +1 -1
- package/dist/bazi/index.js +14 -0
- package/dist/bazi/index.js.map +1 -1
- package/dist/bazi/kongWang.d.ts +4 -0
- package/dist/bazi/kongWang.d.ts.map +1 -0
- package/dist/bazi/kongWang.js +21 -0
- package/dist/bazi/kongWang.js.map +1 -0
- package/dist/bazi/kongWangAnalysis.d.ts.map +1 -1
- package/dist/bazi/kongWangAnalysis.js +2 -13
- package/dist/bazi/kongWangAnalysis.js.map +1 -1
- package/dist/bazi/tombStorage.d.ts.map +1 -1
- package/dist/bazi/tombStorage.js +23 -10
- package/dist/bazi/tombStorage.js.map +1 -1
- package/dist/divination/algorithms/_shared/wuxing.d.ts +1 -1
- package/dist/divination/algorithms/_shared/wuxing.js +2 -2
- package/dist/divination/algorithms/liuyao.d.ts +5 -0
- package/dist/divination/algorithms/liuyao.d.ts.map +1 -1
- package/dist/divination/algorithms/liuyao.js +22 -18
- package/dist/divination/algorithms/liuyao.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js +58 -93
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts +6 -5
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.js +84 -48
- package/dist/divination/algorithms/qimen/helpers/layout.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/patterns.js +1 -3
- package/dist/divination/algorithms/qimen/helpers/patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/index.d.ts +3 -2
- package/dist/divination/algorithms/qimen/index.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/index.js +32 -9
- package/dist/divination/algorithms/qimen/index.js.map +1 -1
- package/dist/divination/tarot.d.ts +1 -1
- package/dist/prompt-evidence/format.d.ts +5 -0
- package/dist/prompt-evidence/format.d.ts.map +1 -0
- package/dist/prompt-evidence/format.js +55 -0
- package/dist/prompt-evidence/format.js.map +1 -0
- package/dist/prompt-evidence/types.d.ts +15 -0
- package/dist/prompt-evidence/types.d.ts.map +1 -0
- package/dist/prompt-evidence/types.js +2 -0
- package/dist/prompt-evidence/types.js.map +1 -0
- package/dist/types/divination.d.ts +6 -0
- package/dist/types/divination.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nobleRules.d.ts","sourceRoot":"","sources":["../../../../src/bazi/baziShenSha/helpers/nobleRules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"nobleRules.d.ts","sourceRoot":"","sources":["../../../../src/bazi/baziShenSha/helpers/nobleRules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQ3D;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAuThE"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TWELVE_STAGES_MAP } from '../../baziDefinitions.js';
|
|
2
|
+
function getChangshengBranch(stem) {
|
|
3
|
+
const stages = TWELVE_STAGES_MAP[stem];
|
|
4
|
+
if (!stages)
|
|
5
|
+
return '';
|
|
6
|
+
return Object.entries(stages).find(([, stage]) => stage === '长生')?.[0] || '';
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* 贵人神煞规则
|
|
4
10
|
*/
|
|
5
11
|
export function buildNobleRules(ctx) {
|
|
6
|
-
const { gan, zhi, nianGan, yueZhi, riGan, pillarGZ,
|
|
12
|
+
const { gan, zhi, nianGan, yueZhi, riGan, pillarGZ, baziArray } = ctx;
|
|
7
13
|
return {
|
|
8
14
|
天乙贵人: () => {
|
|
9
15
|
const map = {
|
|
@@ -196,17 +202,9 @@ export function buildNobleRules(ctx) {
|
|
|
196
202
|
return map[nianGan] === zhi || map[riGan] === zhi;
|
|
197
203
|
},
|
|
198
204
|
学堂: () => {
|
|
199
|
-
|
|
200
|
-
const
|
|
201
|
-
|
|
202
|
-
火: '寅',
|
|
203
|
-
土: '寅',
|
|
204
|
-
金: '巳',
|
|
205
|
-
水: '申',
|
|
206
|
-
};
|
|
207
|
-
const riGanWuxing = BASIC_MAPPINGS.STEM_WUXING[ctg.indexOf(riGan)];
|
|
208
|
-
const nianGanWuxing = BASIC_MAPPINGS.STEM_WUXING[ctg.indexOf(nianGan)];
|
|
209
|
-
return wuxingMap[riGanWuxing] === zhi || wuxingMap[nianGanWuxing] === zhi;
|
|
205
|
+
const riChangsheng = getChangshengBranch(riGan);
|
|
206
|
+
const nianChangsheng = getChangshengBranch(nianGan);
|
|
207
|
+
return riChangsheng === zhi || nianChangsheng === zhi;
|
|
210
208
|
},
|
|
211
209
|
词馆: () => {
|
|
212
210
|
const map = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nobleRules.js","sourceRoot":"","sources":["../../../../src/bazi/baziShenSha/helpers/nobleRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"nobleRules.js","sourceRoot":"","sources":["../../../../src/bazi/baziShenSha/helpers/nobleRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ShenShaVariantConfig } from '../variants';
|
|
1
2
|
export type BaziArray = [string, string][];
|
|
2
3
|
export type PillarKey = 'year' | 'month' | 'day' | 'hour';
|
|
3
4
|
export interface RuleContext {
|
|
@@ -17,6 +18,7 @@ export interface RuleContext {
|
|
|
17
18
|
ctg: readonly string[];
|
|
18
19
|
cdz: readonly string[];
|
|
19
20
|
zhiIdx: (zhi: string) => number;
|
|
21
|
+
variants: ShenShaVariantConfig;
|
|
20
22
|
}
|
|
21
23
|
export type ShenShaRule = () => boolean;
|
|
22
24
|
export type ShenShaRuleMap = Record<string, ShenShaRule>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/bazi/baziShenSha/helpers/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/bazi/baziShenSha/helpers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;AACxC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 八字神煞计算模块
|
|
3
|
-
*
|
|
3
|
+
* 默认采用主流口径,争议算法通过 options.variants 保留可切换分支。
|
|
4
4
|
*/
|
|
5
5
|
import type { ShenShaResult } from '../baziTypes';
|
|
6
6
|
import type { BaziArray } from './helpers/types';
|
|
7
|
+
import { type ShenShaCalculatorOptions } from './variants';
|
|
8
|
+
export { DEFAULT_SHENSHA_VARIANT_CONFIG, resolveShenShaVariantConfig, } from './variants';
|
|
9
|
+
export type { ShenShaCalculatorOptions, ShenShaKongWangBasis, ShenShaTongZiScope, ShenShaVariantConfig, ShenShaYangRenMode, } from './variants';
|
|
7
10
|
/**
|
|
8
11
|
* 神煞计算器
|
|
9
12
|
*/
|
|
10
13
|
export declare class ShenShaCalculator {
|
|
11
14
|
private ctg;
|
|
12
15
|
private cdz;
|
|
13
|
-
|
|
16
|
+
private variants;
|
|
17
|
+
constructor(options?: ShenShaCalculatorOptions);
|
|
14
18
|
/**
|
|
15
19
|
* 获取地支索引
|
|
16
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bazi/baziShenSha/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAQlD,OAAO,KAAK,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bazi/baziShenSha/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAQlD,OAAO,KAAK,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,OAAO,GAAE,wBAA6B;IAMlD;;OAEG;IACH,OAAO,CAAC,MAAM;IAId;;OAEG;IACI,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAuBxE,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAI5D;;;OAGG;IACI,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAIhF;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAmD/B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 八字神煞计算模块
|
|
3
|
-
*
|
|
3
|
+
* 默认采用主流口径,争议算法通过 options.variants 保留可切换分支。
|
|
4
4
|
*/
|
|
5
5
|
import { BASIC_MAPPINGS } from '../baziDefinitions.js';
|
|
6
6
|
import { buildNobleRules } from './helpers/nobleRules.js';
|
|
@@ -10,15 +10,19 @@ import { buildMarriageRules } from './helpers/marriageRules.js';
|
|
|
10
10
|
import { buildDisasterRules } from './helpers/disasterRules.js';
|
|
11
11
|
import { analyzeGlobalShenSha, calculateGlobalShenSha } from './helpers/globalRules.js';
|
|
12
12
|
import { analyzeShenShaWithTenGod } from './helpers/tenGodAnalysis.js';
|
|
13
|
+
import { resolveShenShaVariantConfig, } from './variants.js';
|
|
14
|
+
export { DEFAULT_SHENSHA_VARIANT_CONFIG, resolveShenShaVariantConfig, } from './variants.js';
|
|
13
15
|
/**
|
|
14
16
|
* 神煞计算器
|
|
15
17
|
*/
|
|
16
18
|
export class ShenShaCalculator {
|
|
17
19
|
ctg;
|
|
18
20
|
cdz;
|
|
19
|
-
|
|
21
|
+
variants;
|
|
22
|
+
constructor(options = {}) {
|
|
20
23
|
this.ctg = BASIC_MAPPINGS.HEAVENLY_STEMS;
|
|
21
24
|
this.cdz = BASIC_MAPPINGS.EARTHLY_BRANCHES;
|
|
25
|
+
this.variants = resolveShenShaVariantConfig(options.variants);
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* 获取地支索引
|
|
@@ -86,6 +90,7 @@ export class ShenShaCalculator {
|
|
|
86
90
|
ctg: this.ctg,
|
|
87
91
|
cdz: this.cdz,
|
|
88
92
|
zhiIdx: (z) => this.zhiIdx(z),
|
|
93
|
+
variants: this.variants,
|
|
89
94
|
};
|
|
90
95
|
const rules = {
|
|
91
96
|
...buildNobleRules(ctx),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bazi/baziShenSha/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bazi/baziShenSha/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type ShenShaKongWangBasis = 'day' | 'day-and-year';
|
|
2
|
+
export type ShenShaYangRenMode = 'yang-stems-only' | 'include-yin-ren';
|
|
3
|
+
export type ShenShaTongZiScope = 'day-hour' | 'all-pillars';
|
|
4
|
+
export interface ShenShaVariantConfig {
|
|
5
|
+
/** 空亡默认按日柱旬空;兼容口径可同时参考年柱旬空。 */
|
|
6
|
+
kongWangBasis: ShenShaKongWangBasis;
|
|
7
|
+
/** 羊刃默认只取阳干帝旺;兼容口径可把阴干帝旺位作为阴刃并入。 */
|
|
8
|
+
yangRenMode: ShenShaYangRenMode;
|
|
9
|
+
/** 童子煞默认只落日柱、时柱;兼容部分系统对四柱同查。 */
|
|
10
|
+
tongZiScope: ShenShaTongZiScope;
|
|
11
|
+
}
|
|
12
|
+
export interface ShenShaCalculatorOptions {
|
|
13
|
+
variants?: Partial<ShenShaVariantConfig>;
|
|
14
|
+
}
|
|
15
|
+
export declare const DEFAULT_SHENSHA_VARIANT_CONFIG: ShenShaVariantConfig;
|
|
16
|
+
export declare function resolveShenShaVariantConfig(variants?: Partial<ShenShaVariantConfig>): ShenShaVariantConfig;
|
|
17
|
+
//# sourceMappingURL=variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/bazi/baziShenSha/variants.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,cAAc,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AACvE,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,aAAa,EAAE,oBAAoB,CAAC;IACpC,oCAAoC;IACpC,WAAW,EAAE,kBAAkB,CAAC;IAChC,gCAAgC;IAChC,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAI5C,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACvC,oBAAoB,CAKtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const DEFAULT_SHENSHA_VARIANT_CONFIG = {
|
|
2
|
+
kongWangBasis: 'day',
|
|
3
|
+
yangRenMode: 'yang-stems-only',
|
|
4
|
+
tongZiScope: 'day-hour',
|
|
5
|
+
};
|
|
6
|
+
export function resolveShenShaVariantConfig(variants) {
|
|
7
|
+
return {
|
|
8
|
+
...DEFAULT_SHENSHA_VARIANT_CONFIG,
|
|
9
|
+
...variants,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../src/bazi/baziShenSha/variants.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,8BAA8B,GAAyB;IAClE,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,UAAU;CACxB,CAAC;AAEF,MAAM,UAAU,2BAA2B,CACzC,QAAwC;IAExC,OAAO;QACL,GAAG,8BAA8B;QACjC,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC"}
|
package/dist/bazi/baziTypes.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @file Bazi Types
|
|
3
3
|
* @description Contains all shared type definitions and interfaces for the Bazi calculation engine.
|
|
4
4
|
*/
|
|
5
|
+
import type { ShenShaVariantConfig } from './baziShenSha/variants';
|
|
5
6
|
export declare const WUXING: readonly ["木", "火", "土", "金", "水"];
|
|
6
7
|
export type Wuxing = (typeof WUXING)[number];
|
|
7
8
|
export type CommanderEntry = [string, number];
|
|
@@ -19,6 +20,7 @@ export interface Person {
|
|
|
19
20
|
birthPlace?: string;
|
|
20
21
|
birthLongitude?: number;
|
|
21
22
|
age?: number;
|
|
23
|
+
shenShaVariants?: Partial<ShenShaVariantConfig>;
|
|
22
24
|
}
|
|
23
25
|
export interface TimeInfo {
|
|
24
26
|
index: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baziTypes.d.ts","sourceRoot":"","sources":["../../src/bazi/baziTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,MAAM,oCAAqC,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"baziTypes.d.ts","sourceRoot":"","sources":["../../src/bazi/baziTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baziTypes.js","sourceRoot":"","sources":["../../src/bazi/baziTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"baziTypes.js","sourceRoot":"","sources":["../../src/bazi/baziTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type BaziFortuneScope = 'natal' | 'dayun' | 'year' | 'month' | 'day';
|
|
2
|
+
export type FortuneModalRow = 'dayun' | 'year' | 'month' | 'day';
|
|
3
|
+
export type FortuneModalParentRow = Exclude<FortuneModalRow, 'dayun'>;
|
|
4
|
+
export declare function isFortuneModalParentOptionActive(row: FortuneModalParentRow, draftScope: BaziFortuneScope): boolean;
|
|
5
|
+
export declare function isFortuneModalDetailOptionActive(row: FortuneModalRow, draftScope: BaziFortuneScope): boolean;
|
|
6
|
+
//# sourceMappingURL=fortuneModalSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fortuneModalSelection.d.ts","sourceRoot":"","sources":["../../src/bazi/fortuneModalSelection.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAEtE,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,qBAAqB,EAC1B,UAAU,EAAE,gBAAgB,WAS7B;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,gBAAgB,WAY7B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function isFortuneModalParentOptionActive(row, draftScope) {
|
|
2
|
+
if (row === 'year') {
|
|
3
|
+
return draftScope === 'dayun';
|
|
4
|
+
}
|
|
5
|
+
if (row === 'month') {
|
|
6
|
+
return draftScope === 'year';
|
|
7
|
+
}
|
|
8
|
+
return draftScope === 'month';
|
|
9
|
+
}
|
|
10
|
+
export function isFortuneModalDetailOptionActive(row, draftScope) {
|
|
11
|
+
if (row === 'dayun') {
|
|
12
|
+
return draftScope !== 'natal';
|
|
13
|
+
}
|
|
14
|
+
if (row === 'year') {
|
|
15
|
+
return draftScope === 'year' || draftScope === 'month' || draftScope === 'day';
|
|
16
|
+
}
|
|
17
|
+
if (row === 'month') {
|
|
18
|
+
return draftScope === 'month' || draftScope === 'day';
|
|
19
|
+
}
|
|
20
|
+
return draftScope === 'day';
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=fortuneModalSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fortuneModalSelection.js","sourceRoot":"","sources":["../../src/bazi/fortuneModalSelection.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,gCAAgC,CAC9C,GAA0B,EAC1B,UAA4B;IAE5B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,UAAU,KAAK,OAAO,CAAC;IAChC,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,KAAK,MAAM,CAAC;IAC/B,CAAC;IACD,OAAO,UAAU,KAAK,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,GAAoB,EACpB,UAA4B;IAE5B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,KAAK,OAAO,CAAC;IAChC,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,KAAK,CAAC;IACjF,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,KAAK,CAAC;IACxD,CAAC;IACD,OAAO,UAAU,KAAK,KAAK,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breakdown.d.ts","sourceRoot":"","sources":["../../../../src/bazi/fortuneSelection/helpers/breakdown.ts"],"names":[],"mappings":"AAoBA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;;;;IAwH3E"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { SolarTime } from 'tyme4ts';
|
|
2
|
+
import { daysInSolarMonth } from '../../../calendar/date-validation.js';
|
|
3
|
+
function assertSolarDate(year, month, day) {
|
|
4
|
+
if (!Number.isInteger(year) || year < 1900 || year > 2100) {
|
|
5
|
+
throw new Error('年份需在 1900-2100 之间。');
|
|
6
|
+
}
|
|
7
|
+
if (!Number.isInteger(month) || month < 1 || month > 12) {
|
|
8
|
+
throw new Error('月份需在 1-12 之间。');
|
|
9
|
+
}
|
|
10
|
+
if (!Number.isInteger(day) || day < 1) {
|
|
11
|
+
throw new Error('日期不能小于 1。');
|
|
12
|
+
}
|
|
13
|
+
const maxDay = daysInSolarMonth(year, month);
|
|
14
|
+
if (day > maxDay) {
|
|
15
|
+
throw new Error(`日期需在 1-${maxDay} 之间。`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function getDayHourBreakdown(year, month, day) {
|
|
19
|
+
assertSolarDate(year, month, day);
|
|
20
|
+
const previousDate = new Date(year, month - 1, day - 1);
|
|
21
|
+
const entries = [
|
|
22
|
+
{
|
|
23
|
+
year: previousDate.getFullYear(),
|
|
24
|
+
month: previousDate.getMonth() + 1,
|
|
25
|
+
day: previousDate.getDate(),
|
|
26
|
+
hour: 23,
|
|
27
|
+
label: '晚子时',
|
|
28
|
+
timeRange: `${previousDate.getFullYear()}-${String(previousDate.getMonth() + 1).padStart(2, '0')}-${String(previousDate.getDate()).padStart(2, '0')} 23:00-23:59`,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
year,
|
|
32
|
+
month,
|
|
33
|
+
day,
|
|
34
|
+
hour: 0,
|
|
35
|
+
label: '早子时',
|
|
36
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 00:00-00:59`,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
year,
|
|
40
|
+
month,
|
|
41
|
+
day,
|
|
42
|
+
hour: 2,
|
|
43
|
+
label: '丑时',
|
|
44
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 01:00-02:59`,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
year,
|
|
48
|
+
month,
|
|
49
|
+
day,
|
|
50
|
+
hour: 4,
|
|
51
|
+
label: '寅时',
|
|
52
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 03:00-04:59`,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
year,
|
|
56
|
+
month,
|
|
57
|
+
day,
|
|
58
|
+
hour: 6,
|
|
59
|
+
label: '卯时',
|
|
60
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 05:00-06:59`,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
year,
|
|
64
|
+
month,
|
|
65
|
+
day,
|
|
66
|
+
hour: 8,
|
|
67
|
+
label: '辰时',
|
|
68
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 07:00-08:59`,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
year,
|
|
72
|
+
month,
|
|
73
|
+
day,
|
|
74
|
+
hour: 10,
|
|
75
|
+
label: '巳时',
|
|
76
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 09:00-10:59`,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
year,
|
|
80
|
+
month,
|
|
81
|
+
day,
|
|
82
|
+
hour: 12,
|
|
83
|
+
label: '午时',
|
|
84
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 11:00-12:59`,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
year,
|
|
88
|
+
month,
|
|
89
|
+
day,
|
|
90
|
+
hour: 14,
|
|
91
|
+
label: '未时',
|
|
92
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 13:00-14:59`,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
year,
|
|
96
|
+
month,
|
|
97
|
+
day,
|
|
98
|
+
hour: 16,
|
|
99
|
+
label: '申时',
|
|
100
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 15:00-16:59`,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
year,
|
|
104
|
+
month,
|
|
105
|
+
day,
|
|
106
|
+
hour: 18,
|
|
107
|
+
label: '酉时',
|
|
108
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 17:00-18:59`,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
year,
|
|
112
|
+
month,
|
|
113
|
+
day,
|
|
114
|
+
hour: 20,
|
|
115
|
+
label: '戌时',
|
|
116
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 19:00-20:59`,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
year,
|
|
120
|
+
month,
|
|
121
|
+
day,
|
|
122
|
+
hour: 22,
|
|
123
|
+
label: '亥时',
|
|
124
|
+
timeRange: `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} 21:00-22:59`,
|
|
125
|
+
},
|
|
126
|
+
];
|
|
127
|
+
return entries.map((entry) => {
|
|
128
|
+
const solarTime = SolarTime.fromYmdHms(entry.year, entry.month, entry.day, entry.hour, 0, 0);
|
|
129
|
+
const hourPillar = solarTime.getLunarHour().getEightChar().getHour();
|
|
130
|
+
return {
|
|
131
|
+
label: entry.label,
|
|
132
|
+
ganZhi: hourPillar.getName(),
|
|
133
|
+
timeRange: entry.timeRange,
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=breakdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breakdown.js","sourceRoot":"","sources":["../../../../src/bazi/fortuneSelection/helpers/breakdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BaziChartResult, LiunianInfo, LuckCycle } from '../../baziTypes';
|
|
2
|
+
import type { BaziFortuneSelectionValue } from './types';
|
|
3
|
+
export declare function formatCycleLabel(cycle: LuckCycle): string;
|
|
4
|
+
export declare function formatYearLabel(yearInfo: LiunianInfo): string;
|
|
5
|
+
export declare function resolveCycleIndex(result: BaziChartResult, selection: BaziFortuneSelectionValue): number;
|
|
6
|
+
export declare function resolveSelectedYear(cycle: LuckCycle | undefined, selection: BaziFortuneSelectionValue): number;
|
|
7
|
+
export declare function resolveSelectedMonth(selection: BaziFortuneSelectionValue): number;
|
|
8
|
+
export declare function resolveSelectedDay(year: number | undefined, month: number | undefined, selection: BaziFortuneSelectionValue): number;
|
|
9
|
+
//# sourceMappingURL=resolvers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../../src/bazi/fortuneSelection/helpers/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAMhD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,UAEpD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,yBAAyB,UAiC9F;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,SAAS,EAAE,yBAAyB,UAcrC;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,UAaxE;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,yBAAyB,UAcrC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { getBaziDayIndexByDate, getBaziMonthIndexByDate, getMonthDaysInfo, getYearInfo, } from '../../calendarTool.js';
|
|
2
|
+
export function formatCycleLabel(cycle) {
|
|
3
|
+
if (cycle.isXiaoyun || cycle.ganZhi === '小运') {
|
|
4
|
+
return '童运';
|
|
5
|
+
}
|
|
6
|
+
return `${cycle.ganZhi}运`;
|
|
7
|
+
}
|
|
8
|
+
export function formatYearLabel(yearInfo) {
|
|
9
|
+
return `${yearInfo.year}年 ${yearInfo.ganZhi}`;
|
|
10
|
+
}
|
|
11
|
+
export function resolveCycleIndex(result, selection) {
|
|
12
|
+
if (!result.luckInfo.cycles.length)
|
|
13
|
+
return -1;
|
|
14
|
+
if (typeof selection.cycleIndex === 'number' &&
|
|
15
|
+
selection.cycleIndex >= 0 &&
|
|
16
|
+
selection.cycleIndex < result.luckInfo.cycles.length) {
|
|
17
|
+
return selection.cycleIndex;
|
|
18
|
+
}
|
|
19
|
+
if (typeof selection.year === 'number') {
|
|
20
|
+
let matchedIndex = -1;
|
|
21
|
+
for (let i = result.luckInfo.cycles.length - 1; i >= 0; i -= 1) {
|
|
22
|
+
if (result.luckInfo.cycles[i].years.some((item) => item.year === selection.year)) {
|
|
23
|
+
matchedIndex = i;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (matchedIndex >= 0) {
|
|
28
|
+
return matchedIndex;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const currentYear = new Date().getFullYear();
|
|
32
|
+
let currentCycleIndex = -1;
|
|
33
|
+
for (let i = result.luckInfo.cycles.length - 1; i >= 0; i -= 1) {
|
|
34
|
+
if (result.luckInfo.cycles[i].years.some((item) => item.year === currentYear)) {
|
|
35
|
+
currentCycleIndex = i;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return currentCycleIndex >= 0 ? currentCycleIndex : 0;
|
|
40
|
+
}
|
|
41
|
+
export function resolveSelectedYear(cycle, selection) {
|
|
42
|
+
if (!cycle?.years.length)
|
|
43
|
+
return undefined;
|
|
44
|
+
if (typeof selection.year === 'number' &&
|
|
45
|
+
cycle.years.some((item) => item.year === selection.year)) {
|
|
46
|
+
return selection.year;
|
|
47
|
+
}
|
|
48
|
+
const currentYear = new Date().getFullYear();
|
|
49
|
+
const currentItem = cycle.years.find((item) => item.year === currentYear);
|
|
50
|
+
return currentItem?.year ?? cycle.years[0]?.year;
|
|
51
|
+
}
|
|
52
|
+
export function resolveSelectedMonth(selection) {
|
|
53
|
+
if (typeof selection.year !== 'number')
|
|
54
|
+
return undefined;
|
|
55
|
+
const monthOptions = getYearInfo(selection.year).months;
|
|
56
|
+
if (typeof selection.month === 'number' &&
|
|
57
|
+
selection.month >= 1 &&
|
|
58
|
+
selection.month <= monthOptions.length) {
|
|
59
|
+
return selection.month;
|
|
60
|
+
}
|
|
61
|
+
return getBaziMonthIndexByDate(selection.year, new Date()) ?? 1;
|
|
62
|
+
}
|
|
63
|
+
export function resolveSelectedDay(year, month, selection) {
|
|
64
|
+
if (!year || !month)
|
|
65
|
+
return undefined;
|
|
66
|
+
const dayOptions = getMonthDaysInfo(year, month);
|
|
67
|
+
if (typeof selection.day === 'number' &&
|
|
68
|
+
selection.day >= 1 &&
|
|
69
|
+
selection.day <= dayOptions.length) {
|
|
70
|
+
return selection.day;
|
|
71
|
+
}
|
|
72
|
+
return getBaziDayIndexByDate(year, month, new Date()) ?? 1;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=resolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../src/bazi/fortuneSelection/helpers/resolvers.ts"],"names":[],"mappings":"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"}
|