mingyu-core 0.1.11 → 0.1.13
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 +6 -6
- package/dist/calendar/timeManager.d.ts +2 -1
- package/dist/calendar/timeManager.d.ts.map +1 -1
- package/dist/calendar/timeManager.js +4 -2
- package/dist/calendar/timeManager.js.map +1 -1
- package/dist/divination/algorithms/lenormand.d.ts +2 -1
- package/dist/divination/algorithms/lenormand.d.ts.map +1 -1
- package/dist/divination/algorithms/lenormand.js +6 -4
- package/dist/divination/algorithms/lenormand.js.map +1 -1
- package/dist/divination/algorithms/meihua/helpers/methods.d.ts +3 -10
- package/dist/divination/algorithms/meihua/helpers/methods.d.ts.map +1 -1
- package/dist/divination/algorithms/meihua/helpers/methods.js +6 -115
- package/dist/divination/algorithms/meihua/helpers/methods.js.map +1 -1
- package/dist/divination/algorithms/meihua/index.d.ts +3 -3
- package/dist/divination/algorithms/meihua/index.d.ts.map +1 -1
- package/dist/divination/algorithms/meihua/index.js +5 -7
- package/dist/divination/algorithms/meihua/index.js.map +1 -1
- package/dist/divination/algorithms/ssgw.d.ts +3 -1
- package/dist/divination/algorithms/ssgw.d.ts.map +1 -1
- package/dist/divination/algorithms/ssgw.js +6 -21
- package/dist/divination/algorithms/ssgw.js.map +1 -1
- package/dist/divination/divination-helpers.d.ts +0 -1
- package/dist/divination/divination-helpers.d.ts.map +1 -1
- package/dist/divination/divination-helpers.js +0 -11
- package/dist/divination/divination-helpers.js.map +1 -1
- package/dist/divination/tarot-data.d.ts +0 -10
- package/dist/divination/tarot-data.d.ts.map +1 -1
- package/dist/divination/tarot-data.js +8 -93
- package/dist/divination/tarot-data.js.map +1 -1
- package/dist/divination/tarot.d.ts +3 -42
- package/dist/divination/tarot.d.ts.map +1 -1
- package/dist/divination/tarot.js +11 -48
- package/dist/divination/tarot.js.map +1 -1
- package/dist/shared/random.d.ts +10 -0
- package/dist/shared/random.d.ts.map +1 -0
- package/dist/shared/random.js +45 -0
- package/dist/shared/random.js.map +1 -0
- package/dist/types/divination.d.ts +4 -26
- package/dist/types/divination.d.ts.map +1 -1
- package/package.json +7 -12
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ yarn add mingyu-core
|
|
|
56
56
|
|------|--------|------|
|
|
57
57
|
| **八字 Bazi** | `mingyu-core/bazi` | 四柱排盘、神煞、调候用神、格局、大运、五行强度,含透干根气、十神结构、合化评估、命卦、小运等增强分析 |
|
|
58
58
|
| **六爻 Liuyao** | `mingyu-core/divination/liuyao` | 京房八宫法、纳甲、世应、六亲六神、月破日破、化进退神 |
|
|
59
|
-
| **梅花易数 Meihua** | `mingyu-core/divination/meihua` |
|
|
59
|
+
| **梅花易数 Meihua** | `mingyu-core/divination/meihua` | 时间/数字/随机起卦,timeTrigram 旧参数按时间起卦兼容、体用生克 |
|
|
60
60
|
| **奇门遁甲 Qimen** | `mingyu-core/divination/qimen` | 转盘法、拆补定局、经典格局、节令背景、复合格局、方位应期 |
|
|
61
61
|
| **大六壬 Liuren** | `mingyu-core/divination/liuren` | 月将、贵人、九宗门取传、三传、天将、神煞 |
|
|
62
62
|
| **小六壬 Xiaoliuren** | `mingyu-core/divination/xiaoliuren` | 六宫掌诀、五行生克、月令旺衰 |
|
|
@@ -69,7 +69,6 @@ yarn add mingyu-core
|
|
|
69
69
|
| **占法配置 Config** | `mingyu-core/divination/config` | 占法列表、起盘方式和前端共享配置 |
|
|
70
70
|
| **占法提示文本** | `mingyu-core/divination/engine/method-text`、`mingyu-core/divination/engine/liuyao-template` | 占法方法说明与六爻通用/专项模板 |
|
|
71
71
|
| **原始数据 Data** | `mingyu-core/divination/divination-data` | 五行、六亲、纳甲、星曜等配置数据 |
|
|
72
|
-
| **梅花外应配置** | `mingyu-core/divination/meihua-omens` | 梅花易数外应物象映射 |
|
|
73
72
|
| **六十四卦数据** | `mingyu-core/divination/hexagram-data` | 六爻卦象数据、梅花八卦索引 |
|
|
74
73
|
| **塔罗 Tarot** | `mingyu-core/divination/tarot` | 塔罗抽牌、牌阵、关键字 |
|
|
75
74
|
| **塔罗牌数据** | `mingyu-core/divination/tarot-data` | 塔罗牌定义与牌阵配置 |
|
|
@@ -172,7 +171,7 @@ const liuyao = generateLiuyao();
|
|
|
172
171
|
|
|
173
172
|
// 梅花易数(数字起卦)
|
|
174
173
|
import { generateMeihua } from 'mingyu-core/divination/meihua';
|
|
175
|
-
const meihua = generateMeihua({ method: 'number', number: 123 });
|
|
174
|
+
const meihua = generateMeihua(undefined, { method: 'number', number: 123 });
|
|
176
175
|
|
|
177
176
|
// 奇门遁甲
|
|
178
177
|
import { generateQimen } from 'mingyu-core/divination/qimen';
|
|
@@ -253,13 +252,14 @@ const voidBranches = getVoidBranches('甲子'); // ['戌','亥'] 旬空
|
|
|
253
252
|
| 导出 | 说明 |
|
|
254
253
|
|------|------|
|
|
255
254
|
| `generateLiuyao(date?)` | 六爻起卦 |
|
|
256
|
-
| `generateMeihua(settings?)` | 梅花易数起卦 |
|
|
255
|
+
| `generateMeihua(date?, settings?)` | 梅花易数起卦 |
|
|
257
256
|
| `generateQimen(date?, method?, scope?)` | 奇门遁甲排盘,返回节令背景、经典格局、复合格局、方位和应期 |
|
|
258
257
|
| `generateLiuren(date?)` | 大六壬排盘 |
|
|
259
258
|
| `generateXiaoliuren(params?)` | 小六壬起课 |
|
|
260
259
|
| `generateAlmanacSelection(params)` | 黄历择日 |
|
|
261
|
-
| `
|
|
262
|
-
| `
|
|
260
|
+
| `drawSingleCard(options?)` / `drawSpreadCards(spreadType, options?)` | 塔罗抽牌;`options.seed` 可复现 |
|
|
261
|
+
| `drawRandomSign(date?, options?)` | 三山国王灵签;`options.seed` 可复现 |
|
|
262
|
+
| `drawLenormandSpread(spreadType?, options?)` | 雷诺曼牌阵;`options.seed` 可复现 |
|
|
263
263
|
| `generateAstrolabe(input)` | 西洋星盘 |
|
|
264
264
|
|
|
265
265
|
### 类型(`mingyu-core/types`)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* 简化时间相关操作,确保所有占卜基于统一的时间基础
|
|
4
4
|
*/
|
|
5
5
|
import type { TimeInfo, GanZhiInfo } from './lunar';
|
|
6
|
+
import type { RandomOptions } from '../shared/random';
|
|
6
7
|
/**
|
|
7
8
|
* 统一的占卜时间数据
|
|
8
9
|
*/
|
|
@@ -62,7 +63,7 @@ export declare class TimeManager {
|
|
|
62
63
|
* @param count 爻象数量
|
|
63
64
|
* @returns 爻象数组
|
|
64
65
|
*/
|
|
65
|
-
static generateYaosByRandom(count?: number): number[];
|
|
66
|
+
static generateYaosByRandom(count?: number, options?: RandomOptions): number[];
|
|
66
67
|
/**
|
|
67
68
|
* 使用三钱法起一爻:正面记 3,反面记 2,三枚铜钱合计得 6/7/8/9。
|
|
68
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeManager.d.ts","sourceRoot":"","sources":["../../src/calendar/timeManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"timeManager.d.ts","sourceRoot":"","sources":["../../src/calendar/timeManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAsB;IAElE;;OAEG;IACH,MAAM,CAAC,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IASvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAoBnC;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,cAAc;IAY3D;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM;IAUpE;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAazE;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE;IASjF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAQtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAsBxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAqD3B;AAGD,eAAO,MAAM,iBAAiB,KAAkD,CAAC;AACjF,eAAO,MAAM,kBAAkB,KAAmD,CAAC;AAInF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAIxD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SolarTime } from 'tyme4ts';
|
|
2
|
+
import { createRandomSource, randomInt } from '../shared/random.js';
|
|
2
3
|
/**
|
|
3
4
|
* 时间管理工具类
|
|
4
5
|
*/
|
|
@@ -89,10 +90,11 @@ export class TimeManager {
|
|
|
89
90
|
* @param count 爻象数量
|
|
90
91
|
* @returns 爻象数组
|
|
91
92
|
*/
|
|
92
|
-
static generateYaosByRandom(count = 6) {
|
|
93
|
+
static generateYaosByRandom(count = 6, options) {
|
|
94
|
+
const rng = createRandomSource(options);
|
|
93
95
|
const yaos = [];
|
|
94
96
|
for (let i = 0; i < count; i++) {
|
|
95
|
-
yaos.push(this.generateYaoByCoinMethod(() => (
|
|
97
|
+
yaos.push(this.generateYaoByCoinMethod(() => randomInt(2, rng)));
|
|
96
98
|
}
|
|
97
99
|
return yaos;
|
|
98
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeManager.js","sourceRoot":"","sources":["../../src/calendar/timeManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"timeManager.js","sourceRoot":"","sources":["../../src/calendar/timeManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LenormandData, LenormandSpreadType } from '../../types/divination';
|
|
2
|
+
import type { RandomOptions } from '../../shared/random';
|
|
2
3
|
/**
|
|
3
4
|
* 抽取雷诺曼牌阵
|
|
4
5
|
*
|
|
@@ -15,5 +16,5 @@ import type { LenormandData, LenormandSpreadType } from '../../types/divination'
|
|
|
15
16
|
* // result 包含 cards(牌面列表)和 combinations(组合含义)
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
|
-
export declare function drawLenormandSpread(spreadType?: LenormandSpreadType): LenormandData;
|
|
19
|
+
export declare function drawLenormandSpread(spreadType?: LenormandSpreadType, options?: RandomOptions): LenormandData;
|
|
19
20
|
//# sourceMappingURL=lenormand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lenormand.d.ts","sourceRoot":"","sources":["../../../src/divination/algorithms/lenormand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"lenormand.d.ts","sourceRoot":"","sources":["../../../src/divination/algorithms/lenormand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAgQvE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,GAAE,mBAA8B,EAC1C,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa,CAgCf"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createRandomSource, randomInt } from '../../shared/random.js';
|
|
1
2
|
const LENORMAND_CARDS = [
|
|
2
3
|
{ id: 1, name: '骑士', keywords: ['消息', '到来', '进展'], meaning: '消息抵达,事情开始移动。' },
|
|
3
4
|
{
|
|
@@ -204,10 +205,10 @@ const SPREADS = {
|
|
|
204
205
|
positions: Array.from({ length: 36 }, (_, i) => `位置${i + 1}(全桌解读)`),
|
|
205
206
|
},
|
|
206
207
|
};
|
|
207
|
-
function shuffleCards() {
|
|
208
|
+
function shuffleCards(rng) {
|
|
208
209
|
const shuffled = [...LENORMAND_CARDS];
|
|
209
210
|
for (let i = shuffled.length - 1; i > 0; i--) {
|
|
210
|
-
const j =
|
|
211
|
+
const j = randomInt(i + 1, rng);
|
|
211
212
|
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
|
|
212
213
|
}
|
|
213
214
|
return shuffled;
|
|
@@ -263,9 +264,10 @@ const CARD_COMBINATIONS = {
|
|
|
263
264
|
* // result 包含 cards(牌面列表)和 combinations(组合含义)
|
|
264
265
|
* ```
|
|
265
266
|
*/
|
|
266
|
-
export function drawLenormandSpread(spreadType = 'single') {
|
|
267
|
+
export function drawLenormandSpread(spreadType = 'single', options) {
|
|
267
268
|
const spread = SPREADS[spreadType] ?? SPREADS.single;
|
|
268
|
-
const
|
|
269
|
+
const rng = createRandomSource(options);
|
|
270
|
+
const cards = shuffleCards(rng)
|
|
269
271
|
.slice(0, spread.positions.length)
|
|
270
272
|
.map((card, index) => ({
|
|
271
273
|
...card,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lenormand.js","sourceRoot":"","sources":["../../../src/divination/algorithms/lenormand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lenormand.js","sourceRoot":"","sources":["../../../src/divination/algorithms/lenormand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import type { MeihuaCalculation
|
|
2
|
-
import { meihuaOmenPriority } from '../../../../divination/meihua-omens';
|
|
1
|
+
import type { MeihuaCalculation } from '../../../../types/divination';
|
|
3
2
|
import { getDivinationTime } from '../../../../calendar/timeManager';
|
|
4
|
-
|
|
5
|
-
source: (typeof meihuaOmenPriority)[number];
|
|
6
|
-
label: string;
|
|
7
|
-
trigramIndex: number;
|
|
8
|
-
trigramName: string;
|
|
9
|
-
};
|
|
3
|
+
import type { RandomOptions } from '../../../../shared/random';
|
|
10
4
|
export interface MeihuaMethodResult {
|
|
11
5
|
upperTrigramIndex: number;
|
|
12
6
|
lowerTrigramIndex: number;
|
|
@@ -19,7 +13,6 @@ type DivinationLunar = DivinationTime['timeInfo']['lunar'];
|
|
|
19
13
|
export declare function resolveTimeMethod(ganzhi: DivinationGanzhi, lunar: DivinationLunar): MeihuaMethodResult;
|
|
20
14
|
export declare function resolveTimeTrigramMethod(ganzhi: DivinationGanzhi, lunar: DivinationLunar): MeihuaMethodResult;
|
|
21
15
|
export declare function resolveNumberMethod(number: number, timeBranch: string): MeihuaMethodResult;
|
|
22
|
-
export declare function resolveRandomMethod(): MeihuaMethodResult;
|
|
23
|
-
export declare function resolveExternalMethod(externalOmens?: MeihuaExternalOmens, timeBranch?: string): MeihuaMethodResult;
|
|
16
|
+
export declare function resolveRandomMethod(options?: RandomOptions): MeihuaMethodResult;
|
|
24
17
|
export {};
|
|
25
18
|
//# sourceMappingURL=methods.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../../src/divination/algorithms/meihua/helpers/methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../../src/divination/algorithms/meihua/helpers/methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC3D,KAAK,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AACjD,KAAK,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,eAAe,GACrB,kBAAkB,CA6BpB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,eAAe,GACrB,kBAAkB,CAcpB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,CA8B1F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,CAkB/E"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { dizhi } from '../../../divination-data.js';
|
|
2
|
-
import {
|
|
3
|
-
import { MeihuaHelpers } from '../../../divination-helpers.js';
|
|
2
|
+
import { createRandomSource, randomInt } from '../../../../shared/random.js';
|
|
4
3
|
export function resolveTimeMethod(ganzhi, lunar) {
|
|
5
4
|
const yearZhi = ganzhi.year.substring(1, 2);
|
|
6
5
|
const month = lunar.monthNumber;
|
|
@@ -72,10 +71,11 @@ export function resolveNumberMethod(number, timeBranch) {
|
|
|
72
71
|
},
|
|
73
72
|
};
|
|
74
73
|
}
|
|
75
|
-
export function resolveRandomMethod() {
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const
|
|
74
|
+
export function resolveRandomMethod(options) {
|
|
75
|
+
const rng = createRandomSource(options);
|
|
76
|
+
const upperTrigramIndex = randomInt(8, rng) + 1;
|
|
77
|
+
const lowerTrigramIndex = randomInt(8, rng) + 1;
|
|
78
|
+
const movingYaoIndex = randomInt(6, rng) + 1;
|
|
79
79
|
return {
|
|
80
80
|
upperTrigramIndex,
|
|
81
81
|
lowerTrigramIndex,
|
|
@@ -89,113 +89,4 @@ export function resolveRandomMethod() {
|
|
|
89
89
|
},
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
function mapExternalOmens(externalOmens) {
|
|
93
|
-
const mapped = [];
|
|
94
|
-
for (const source of meihuaOmenPriority) {
|
|
95
|
-
const value = externalOmens[source];
|
|
96
|
-
if (!value) {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
let mappedOmen;
|
|
100
|
-
switch (source) {
|
|
101
|
-
case 'direction':
|
|
102
|
-
mappedOmen = meihuaDirectionMap[value];
|
|
103
|
-
break;
|
|
104
|
-
case 'person':
|
|
105
|
-
mappedOmen = meihuaPersonMap[value];
|
|
106
|
-
break;
|
|
107
|
-
case 'animal':
|
|
108
|
-
mappedOmen = meihuaAnimalMap[value];
|
|
109
|
-
break;
|
|
110
|
-
case 'object':
|
|
111
|
-
mappedOmen = meihuaObjectMap[value];
|
|
112
|
-
break;
|
|
113
|
-
case 'sound':
|
|
114
|
-
mappedOmen = meihuaSoundMap[value];
|
|
115
|
-
break;
|
|
116
|
-
case 'color':
|
|
117
|
-
mappedOmen = meihuaColorMap[value];
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
if (!mappedOmen) {
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
mapped.push({
|
|
124
|
-
source,
|
|
125
|
-
label: value,
|
|
126
|
-
trigramIndex: mappedOmen.trigramIndex,
|
|
127
|
-
trigramName: mappedOmen.trigramName,
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
return mapped;
|
|
131
|
-
}
|
|
132
|
-
export function resolveExternalMethod(externalOmens, timeBranch) {
|
|
133
|
-
if (!externalOmens) {
|
|
134
|
-
throw new Error('外应起卦必须提供外应信息');
|
|
135
|
-
}
|
|
136
|
-
const mappedOmens = mapExternalOmens(externalOmens);
|
|
137
|
-
if (mappedOmens.length < 2) {
|
|
138
|
-
throw new Error('外应起卦至少需要两项可映射的外应');
|
|
139
|
-
}
|
|
140
|
-
if (!Number.isInteger(externalOmens.count) || (externalOmens.count || 0) <= 0) {
|
|
141
|
-
throw new Error('外应起卦必须提供数量');
|
|
142
|
-
}
|
|
143
|
-
const directionOmen = mappedOmens.find((omen) => omen.source === 'direction');
|
|
144
|
-
const primaryOmen = mappedOmens.find((omen) => omen.source !== 'direction');
|
|
145
|
-
const timeZhiIndex = timeBranch ? dizhi.indexOf(timeBranch) + 1 : 0;
|
|
146
|
-
const useHouTianDuanFa = Boolean(directionOmen && primaryOmen && timeZhiIndex > 0);
|
|
147
|
-
const upperOmen = useHouTianDuanFa ? primaryOmen : mappedOmens[0];
|
|
148
|
-
const lowerOmen = useHouTianDuanFa ? directionOmen : mappedOmens[1];
|
|
149
|
-
const upperTrigramIndex = upperOmen.trigramIndex;
|
|
150
|
-
const lowerTrigramIndex = lowerOmen.trigramIndex;
|
|
151
|
-
const totalWithTime = upperTrigramIndex + lowerTrigramIndex + timeZhiIndex;
|
|
152
|
-
const movingYaoIndex = useHouTianDuanFa ? totalWithTime % 6 || 6 : externalOmens.count % 6 || 6;
|
|
153
|
-
const externalSummary = mappedOmens
|
|
154
|
-
.map((omen) => `${MeihuaHelpers.getExternalOmenSourceLabel(omen.source)}:${omen.label}(${omen.trigramName})`)
|
|
155
|
-
.concat(`数量:${externalOmens.count}`)
|
|
156
|
-
.concat(useHouTianDuanFa ? `时辰:${timeBranch}(${timeZhiIndex})` : [])
|
|
157
|
-
.join(';');
|
|
158
|
-
return {
|
|
159
|
-
upperTrigramIndex,
|
|
160
|
-
lowerTrigramIndex,
|
|
161
|
-
movingYaoIndex,
|
|
162
|
-
calculation: {
|
|
163
|
-
method: '外应起卦法',
|
|
164
|
-
methodKey: 'external',
|
|
165
|
-
externalOmens,
|
|
166
|
-
externalSummary,
|
|
167
|
-
externalRule: useHouTianDuanFa
|
|
168
|
-
? '后天端法:物象为上卦、方位为下卦,合物卦数、方位卦数与时数取动爻。'
|
|
169
|
-
: '多外应顺序取卦:前两项外应分取上下卦,以数量取动爻。',
|
|
170
|
-
externalUpperOmen: {
|
|
171
|
-
source: upperOmen.source,
|
|
172
|
-
label: upperOmen.label,
|
|
173
|
-
trigram: upperOmen.trigramName,
|
|
174
|
-
trigramIndex: upperOmen.trigramIndex,
|
|
175
|
-
},
|
|
176
|
-
externalLowerOmen: {
|
|
177
|
-
source: lowerOmen.source,
|
|
178
|
-
label: lowerOmen.label,
|
|
179
|
-
trigram: lowerOmen.trigramName,
|
|
180
|
-
trigramIndex: lowerOmen.trigramIndex,
|
|
181
|
-
},
|
|
182
|
-
externalMappedOmens: mappedOmens.map((omen) => ({
|
|
183
|
-
source: omen.source,
|
|
184
|
-
label: omen.label,
|
|
185
|
-
trigram: omen.trigramName,
|
|
186
|
-
trigramIndex: omen.trigramIndex,
|
|
187
|
-
})),
|
|
188
|
-
...(useHouTianDuanFa
|
|
189
|
-
? {
|
|
190
|
-
timeZhi: timeBranch,
|
|
191
|
-
timeZhiIndex,
|
|
192
|
-
totalWithTime,
|
|
193
|
-
}
|
|
194
|
-
: {}),
|
|
195
|
-
upperTrigramIndex,
|
|
196
|
-
lowerTrigramIndex,
|
|
197
|
-
movingYaoIndex,
|
|
198
|
-
},
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
92
|
//# sourceMappingURL=methods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/meihua/helpers/methods.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/meihua/helpers/methods.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAG/D,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAa1E,MAAM,UAAU,iBAAiB,CAC/B,MAAwB,EACxB,KAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,iBAAiB,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE5E,OAAO;QACL,iBAAiB;QACjB,iBAAiB;QACjB,cAAc;QACd,WAAW,EAAE;YACX,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,MAAM;YACjB,OAAO;YACP,YAAY;YACZ,KAAK;YACL,GAAG;YACH,OAAO;YACP,YAAY;YACZ,iBAAiB;YACjB,iBAAiB;YACjB,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAwB,EACxB,KAAsB;IAEtB,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE;YACX,GAAG,MAAM,CAAC,WAAW;YACrB,MAAM,EAAE,yBAAyB;YACjC,SAAS,EAAE,aAAa;YACxB,OAAO,EACL,uDAAuD;YACzD,iBAAiB,EACf,wDAAwD;SAC3D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,UAAkB;IACpE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC;IAC5C,MAAM,iBAAiB,GAAG,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO;QACL,iBAAiB;QACjB,iBAAiB;QACjB,cAAc;QACd,WAAW,EAAE;YACX,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,QAAQ;YACnB,MAAM;YACN,OAAO,EAAE,UAAU;YACnB,YAAY;YACZ,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACzD,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAE7C,OAAO;QACL,iBAAiB;QACjB,iBAAiB;QACjB,cAAc;QACd,WAAW,EAAE;YACX,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,QAAQ;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,cAAc;SACf;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file 梅花易数排盘算法
|
|
3
|
-
* @description
|
|
3
|
+
* @description 基于邵雍(康节)先生所传之《梅花易数》,实现年月日时、数字、随机起卦法。
|
|
4
4
|
* @流派 邵氏心易
|
|
5
5
|
* @核心思想
|
|
6
6
|
* 1. 以数起卦:将农历的年、月、日、时辰之数,通过特定运算转换为八卦。
|
|
@@ -16,11 +16,11 @@ import type { MeihuaData, MeihuaSettings } from '../../../types/divination';
|
|
|
16
16
|
/**
|
|
17
17
|
* 生成梅花易数卦盘
|
|
18
18
|
*
|
|
19
|
-
*
|
|
19
|
+
* 支持时间起卦、数字起卦和随机起卦;timeTrigram 作为历史兼容入口按时间起卦计算。
|
|
20
20
|
* 不传 `customDate` 则使用当前时间。
|
|
21
21
|
*
|
|
22
22
|
* @param customDate 自定义起卦时间(可选),影响时间卦的时间干支。
|
|
23
|
-
* @param settings 起卦设置,含 method(起卦方式)、number
|
|
23
|
+
* @param settings 起卦设置,含 method(起卦方式)、number(数字起卦用)等。
|
|
24
24
|
* @returns 完整的梅花易数卦盘数据对象 MeihuaData。
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/divination/algorithms/meihua/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/divination/algorithms/meihua/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA6F5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,UAAU,CAkOvF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file 梅花易数排盘算法
|
|
3
|
-
* @description
|
|
3
|
+
* @description 基于邵雍(康节)先生所传之《梅花易数》,实现年月日时、数字、随机起卦法。
|
|
4
4
|
* @流派 邵氏心易
|
|
5
5
|
* @核心思想
|
|
6
6
|
* 1. 以数起卦:将农历的年、月、日、时辰之数,通过特定运算转换为八卦。
|
|
@@ -17,7 +17,7 @@ import { MeihuaHelpers } from '../../divination-helpers.js';
|
|
|
17
17
|
import { getDivinationTime } from '../../../calendar/timeManager.js';
|
|
18
18
|
import { getSeasonState, isSheng, isKe } from '../_shared/index.js';
|
|
19
19
|
import { findHexagramByTrigrams, resolveTiYongByMovingYao } from './helpers/hexagram.js';
|
|
20
|
-
import {
|
|
20
|
+
import { resolveTimeTrigramMethod, resolveNumberMethod, resolveRandomMethod, resolveTimeMethod, } from './helpers/methods.js';
|
|
21
21
|
const trigrams = trigramsByIndex;
|
|
22
22
|
/**
|
|
23
23
|
* 体用生克关系判定字串
|
|
@@ -90,11 +90,11 @@ function estimateYingQi(params) {
|
|
|
90
90
|
/**
|
|
91
91
|
* 生成梅花易数卦盘
|
|
92
92
|
*
|
|
93
|
-
*
|
|
93
|
+
* 支持时间起卦、数字起卦和随机起卦;timeTrigram 作为历史兼容入口按时间起卦计算。
|
|
94
94
|
* 不传 `customDate` 则使用当前时间。
|
|
95
95
|
*
|
|
96
96
|
* @param customDate 自定义起卦时间(可选),影响时间卦的时间干支。
|
|
97
|
-
* @param settings 起卦设置,含 method(起卦方式)、number
|
|
97
|
+
* @param settings 起卦设置,含 method(起卦方式)、number(数字起卦用)等。
|
|
98
98
|
* @returns 完整的梅花易数卦盘数据对象 MeihuaData。
|
|
99
99
|
*
|
|
100
100
|
* @example
|
|
@@ -116,9 +116,7 @@ export function generateMeihua(customDate, settings) {
|
|
|
116
116
|
case 'number':
|
|
117
117
|
return resolveNumberMethod(settings?.number || 0, ganzhi.hour.slice(-1));
|
|
118
118
|
case 'random':
|
|
119
|
-
return resolveRandomMethod();
|
|
120
|
-
case 'external':
|
|
121
|
-
return resolveExternalMethod(settings?.externalOmens, ganzhi.hour.slice(-1));
|
|
119
|
+
return resolveRandomMethod(settings);
|
|
122
120
|
case 'timeTrigram':
|
|
123
121
|
return resolveTimeTrigramMethod(ganzhi, lunar);
|
|
124
122
|
case 'time':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/divination/algorithms/meihua/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/divination/algorithms/meihua/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SsgwData } from '../../types/divination';
|
|
2
|
+
import type { RandomOptions } from '../../shared/random';
|
|
2
3
|
/**
|
|
3
4
|
* 随机求签 - 模拟真实的求签过程
|
|
4
5
|
*
|
|
@@ -18,5 +19,6 @@ import type { SsgwData } from '../../types/divination';
|
|
|
18
19
|
* const sign = drawRandomSign(new Date('2025-06-15T10:00:00'));
|
|
19
20
|
* ```
|
|
20
21
|
*/
|
|
21
|
-
export declare function drawRandomSign(
|
|
22
|
+
export declare function drawRandomSign(options?: RandomOptions): SsgwData;
|
|
23
|
+
export declare function drawRandomSign(customDate?: Date, options?: RandomOptions): SsgwData;
|
|
22
24
|
//# sourceMappingURL=ssgw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssgw.d.ts","sourceRoot":"","sources":["../../../src/divination/algorithms/ssgw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ssgw.d.ts","sourceRoot":"","sources":["../../../src/divination/algorithms/ssgw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAmBzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;AAClE,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SSGW_SIGNS } from '../ssgw-data/index.js';
|
|
2
2
|
import { getDivinationTime } from '../../calendar/timeManager.js';
|
|
3
|
+
import { createRandomSource, randomInt } from '../../shared/random.js';
|
|
3
4
|
/**
|
|
4
5
|
* @file 灵签抽签算法(神算鬼谋)
|
|
5
6
|
* @description 从签文中随机抽取一条作为占卜结果,配合签诗、典故进行解读。
|
|
@@ -14,28 +15,12 @@ const ssgwSigns = SSGW_SIGNS.map((sign) => ({
|
|
|
14
15
|
story: sign.story,
|
|
15
16
|
details: sign.details,
|
|
16
17
|
}));
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* 从三山国王 92 支签文中随机抽取一条作为占卜结果,
|
|
21
|
-
* 自动附带求签时间的干支和 Unix 时间戳。
|
|
22
|
-
*
|
|
23
|
-
* @param customDate 自定义求签时间(可选),不传则使用当前时间。
|
|
24
|
-
* 传入后签文结果的 `ganzhi` 和 `timestamp` 会基于该时间生成。
|
|
25
|
-
* @returns 完整的签文结果 SsgwData,包含签号、标题、签诗、典故、详解和求签时间干支。
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```ts
|
|
29
|
-
* // 当前时间求签
|
|
30
|
-
* const sign = drawRandomSign();
|
|
31
|
-
*
|
|
32
|
-
* // 指定时间求签
|
|
33
|
-
* const sign = drawRandomSign(new Date('2025-06-15T10:00:00'));
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export function drawRandomSign(customDate) {
|
|
18
|
+
export function drawRandomSign(customDateOrOptions, options) {
|
|
19
|
+
const customDate = customDateOrOptions instanceof Date ? customDateOrOptions : undefined;
|
|
20
|
+
const randomOptions = customDateOrOptions instanceof Date ? options : (customDateOrOptions ?? options);
|
|
37
21
|
const { ganzhi, timestamp } = getDivinationTime(customDate);
|
|
38
|
-
const
|
|
22
|
+
const rng = createRandomSource(randomOptions);
|
|
23
|
+
const randomIndex = randomInt(ssgwSigns.length, rng);
|
|
39
24
|
const sign = ssgwSigns[randomIndex];
|
|
40
25
|
return {
|
|
41
26
|
...sign,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssgw.js","sourceRoot":"","sources":["../../../src/divination/algorithms/ssgw.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;;;;GAMG;AAEH,MAAM,SAAS,GAA6C,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,EAAE,IAAI,CAAC,EAAE;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,IAAI,EAAE,IAAI,CAAC,OAAO;IAClB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,OAAO,EAAE,IAAI,CAAC,OAAO;CACtB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ssgw.js","sourceRoot":"","sources":["../../../src/divination/algorithms/ssgw.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;;;;GAMG;AAEH,MAAM,SAAS,GAA6C,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,EAAE,IAAI,CAAC,EAAE;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,IAAI,EAAE,IAAI,CAAC,OAAO;IAClB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,OAAO,EAAE,IAAI,CAAC,OAAO;CACtB,CAAC,CAAC,CAAC;AAuBJ,MAAM,UAAU,cAAc,CAC5B,mBAA0C,EAC1C,OAAuB;IAEvB,MAAM,UAAU,GAAG,mBAAmB,YAAY,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,aAAa,GACjB,mBAAmB,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAC;IACnF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO;QACL,GAAG,IAAI;QACP,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -7,7 +7,6 @@ import type { MeihuaData } from '../types/divination';
|
|
|
7
7
|
* 梅花易数专用工具函数
|
|
8
8
|
*/
|
|
9
9
|
export declare const MeihuaHelpers: {
|
|
10
|
-
getExternalOmenSourceLabel(source: string): string;
|
|
11
10
|
getSeasonByJieQi(jieQi: string): "\u6625" | "\u590F" | "\u79CB" | "\u51AC" | "\u672A\u77E5";
|
|
12
11
|
getSeasonByMonth(monthNumber: number): "\u6625" | "\u590F" | "\u79CB" | "\u51AC";
|
|
13
12
|
getElementSeasonState(element: string, season: "\u6625" | "\u590F" | "\u79CB" | "\u51AC"): "\u65FA" | "\u76F8" | "\u4F11" | "\u56DA" | "\u6B7B" | "\u672A\u77E5";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divination-helpers.d.ts","sourceRoot":"","sources":["../../src/divination/divination-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"divination-helpers.d.ts","sourceRoot":"","sources":["../../src/divination/divination-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,aAAa;4BACA,MAAM,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,cAAI;kCA+B/B,MAAM,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG;mCAQjD,MAAM,UACP,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG,GAC5B,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,QAAG,GAAG,cAAI;IAcrC;;OAEG;gCACyB,UAAU;;;;;;;IAetC;;OAEG;6CACsC,UAAU,GAAG,MAAM,EAAE;IAiC9D;;OAEG;6BACsB,MAAM,MAAM,MAAM,GAAG,MAAM;CAoCrD,CAAC"}
|