cantian-liuyao 0.0.1

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 ADDED
@@ -0,0 +1,3 @@
1
+ # liuyao
2
+
3
+ ## Usage
package/dist/data.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ export declare const YINYANG_NAME: {
2
+ '0': string;
3
+ '1': string;
4
+ };
5
+ export declare const TRIGRAM: Record<string, {
6
+ key: string;
7
+ name: string;
8
+ nick: string;
9
+ wuxing: string;
10
+ symbol: string;
11
+ }>;
12
+ export declare const HEXAGRAM: Record<string, {
13
+ key: string;
14
+ name: string;
15
+ symbol: string;
16
+ }>;
package/dist/data.js ADDED
@@ -0,0 +1,81 @@
1
+ export const YINYANG_NAME = {
2
+ '0': '阴',
3
+ '1': '阳',
4
+ };
5
+ export const TRIGRAM = {
6
+ '000': { key: '000', name: '坤', nick: '地', wuxing: '土', symbol: '☷' },
7
+ '001': { key: '001', name: '震', nick: '雷', wuxing: '木', symbol: '☳' },
8
+ '010': { key: '010', name: '坎', nick: '水', wuxing: '水', symbol: '☵' },
9
+ '011': { key: '011', name: '兑', nick: '泽', wuxing: '金', symbol: '☱' },
10
+ '100': { key: '100', name: '艮', nick: '山', wuxing: '土', symbol: '☶' },
11
+ '101': { key: '101', name: '离', nick: '火', wuxing: '火', symbol: '☲' },
12
+ '110': { key: '110', name: '巽', nick: '风', wuxing: '木', symbol: '☴' },
13
+ '111': { key: '111', name: '乾', nick: '天', wuxing: '金', symbol: '☰' },
14
+ };
15
+ export const HEXAGRAM = {
16
+ '100000': { key: '100000', name: '地雷复', symbol: '䷗' },
17
+ '100001': { key: '100001', name: '山雷颐', symbol: '䷚' },
18
+ '100010': { key: '100010', name: '水雷屯', symbol: '䷂' },
19
+ '100011': { key: '100011', name: '风雷益', symbol: '䷩' },
20
+ '100100': { key: '100100', name: '震为雷', symbol: '䷲' },
21
+ '100101': { key: '100101', name: '火雷噬嗑', symbol: '䷔' },
22
+ '100110': { key: '100110', name: '泽雷随', symbol: '䷐' },
23
+ '100111': { key: '100111', name: '天雷无妄', symbol: '䷘' },
24
+ '101000': { key: '101000', name: '地火明夷', symbol: '䷣' },
25
+ '101001': { key: '101001', name: '山火贲', symbol: '䷕' },
26
+ '101010': { key: '101010', name: '水火既济', symbol: '䷾' },
27
+ '101011': { key: '101011', name: '风火家人', symbol: '䷤' },
28
+ '101100': { key: '101100', name: '雷火丰', symbol: '䷶' },
29
+ '101101': { key: '101101', name: '离为火', symbol: '䷝' },
30
+ '101110': { key: '101110', name: '泽火革', symbol: '䷰' },
31
+ '101111': { key: '101111', name: '天火同人', symbol: '䷌' },
32
+ '110000': { key: '110000', name: '地泽临', symbol: '䷒' },
33
+ '110001': { key: '110001', name: '山泽损', symbol: '䷨' },
34
+ '110010': { key: '110010', name: '水泽节', symbol: '䷻' },
35
+ '110011': { key: '110011', name: '风泽中孚', symbol: '䷼' },
36
+ '110100': { key: '110100', name: '雷泽归妹', symbol: '䷵' },
37
+ '110101': { key: '110101', name: '火泽睽', symbol: '䷥' },
38
+ '110110': { key: '110110', name: '兑为泽', symbol: '䷹' },
39
+ '110111': { key: '110111', name: '天泽履', symbol: '䷉' },
40
+ '111000': { key: '111000', name: '天地泰', symbol: '䷊' },
41
+ '111001': { key: '111001', name: '山天大畜', symbol: '䷙' },
42
+ '111010': { key: '111010', name: '水天需', symbol: '䷄' },
43
+ '111011': { key: '111011', name: '风天小畜', symbol: '䷈' },
44
+ '111100': { key: '111100', name: '雷天大壮', symbol: '䷡' },
45
+ '111101': { key: '111101', name: '火天大有', symbol: '䷍' },
46
+ '111110': { key: '111110', name: '泽天夬', symbol: '䷪' },
47
+ '111111': { key: '111111', name: '乾为天', symbol: '䷀' },
48
+ '000000': { key: '000000', name: '坤为地', symbol: '䷁' },
49
+ '010001': { key: '010001', name: '山水蒙', symbol: '䷃' },
50
+ '010111': { key: '010111', name: '天水讼', symbol: '䷅' },
51
+ '010000': { key: '010000', name: '地水师', symbol: '䷆' },
52
+ '000010': { key: '000010', name: '水地比', symbol: '䷇' },
53
+ '000111': { key: '000111', name: '地天否', symbol: '䷋' },
54
+ '001000': { key: '001000', name: '地山谦', symbol: '䷎' },
55
+ '000100': { key: '000100', name: '雷地豫', symbol: '䷏' },
56
+ '011001': { key: '011001', name: '山风蛊', symbol: '䷑' },
57
+ '000011': { key: '000011', name: '风地观', symbol: '䷓' },
58
+ '000001': { key: '000001', name: '山地剥', symbol: '䷖' },
59
+ '011110': { key: '011110', name: '泽风大过', symbol: '䷛' },
60
+ '010010': { key: '010010', name: '坎为水', symbol: '䷜' },
61
+ '001110': { key: '001110', name: '泽山咸', symbol: '䷞' },
62
+ '011100': { key: '011100', name: '雷风恒', symbol: '䷟' },
63
+ '001111': { key: '001111', name: '天山遯', symbol: '䷠' },
64
+ '000101': { key: '000101', name: '火地晋', symbol: '䷢' },
65
+ '001010': { key: '001010', name: '水山蹇', symbol: '䷦' },
66
+ '010100': { key: '010100', name: '雷水解', symbol: '䷧' },
67
+ '011111': { key: '011111', name: '天风姤', symbol: '䷫' },
68
+ '000110': { key: '000110', name: '泽地萃', symbol: '䷬' },
69
+ '011000': { key: '011000', name: '地风升', symbol: '䷭' },
70
+ '010110': { key: '010110', name: '泽水困', symbol: '䷮' },
71
+ '011010': { key: '011010', name: '水风井', symbol: '䷯' },
72
+ '011101': { key: '011101', name: '火风鼎', symbol: '䷱' },
73
+ '001001': { key: '001001', name: '艮为山', symbol: '䷳' },
74
+ '001011': { key: '001011', name: '风山渐', symbol: '䷴' },
75
+ '001101': { key: '001101', name: '火山旅', symbol: '䷷' },
76
+ '011011': { key: '011011', name: '巽为风', symbol: '䷸' },
77
+ '010011': { key: '010011', name: '风水涣', symbol: '䷺' },
78
+ '001100': { key: '001100', name: '雷山小过', symbol: '䷽' },
79
+ '010101': { key: '010101', name: '火水未济', symbol: '䷿' },
80
+ };
81
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAgG;IAClH,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACrE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAkE;IACrF,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IACrD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACtD,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;CACvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './data.js';
2
+ export * from './liuyao.js';
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './data.js';
2
+ export * from './liuyao.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,43 @@
1
+ export declare const generateSixNumbers: () => number[];
2
+ export declare const buildLiuyao: (numbers: number[]) => {
3
+ origin: {
4
+ lower: {
5
+ key: string;
6
+ name: string;
7
+ nick: string;
8
+ wuxing: string;
9
+ symbol: string;
10
+ };
11
+ upper: {
12
+ key: string;
13
+ name: string;
14
+ nick: string;
15
+ wuxing: string;
16
+ symbol: string;
17
+ };
18
+ key: string;
19
+ name: string;
20
+ symbol: string;
21
+ };
22
+ changed: {
23
+ lower: {
24
+ key: string;
25
+ name: string;
26
+ nick: string;
27
+ wuxing: string;
28
+ symbol: string;
29
+ };
30
+ upper: {
31
+ key: string;
32
+ name: string;
33
+ nick: string;
34
+ wuxing: string;
35
+ symbol: string;
36
+ };
37
+ key: string;
38
+ name: string;
39
+ symbol: string;
40
+ } | undefined;
41
+ movingIndexes: number[] | undefined;
42
+ };
43
+ export declare const liuyaoToMarkdown: (liuyao: ReturnType<typeof buildLiuyao>) => string;
package/dist/liuyao.js ADDED
@@ -0,0 +1,72 @@
1
+ import { HEXAGRAM, TRIGRAM, YINYANG_NAME } from './data.js';
2
+ export const generateSixNumbers = () => {
3
+ const numbers = [];
4
+ for (let i = 0; i < 6; i++) {
5
+ numbers.push(getRandomIntInclusive(6, 9));
6
+ }
7
+ return numbers;
8
+ };
9
+ export const buildLiuyao = (numbers) => {
10
+ let originKey = '';
11
+ let changedKey = '';
12
+ const movingIndexes = []; // 元素值0表示初爻,5表示上爻
13
+ for (let i = 0; i < numbers.length; i++) {
14
+ const number = numbers[i];
15
+ const originYinyang = number % 2;
16
+ originKey += originYinyang;
17
+ const isMoving = number === 6 || number === 9;
18
+ if (isMoving) {
19
+ changedKey += originYinyang === 1 ? 0 : 1;
20
+ movingIndexes.push(i);
21
+ }
22
+ else {
23
+ changedKey += originYinyang;
24
+ }
25
+ }
26
+ return {
27
+ origin: buildHexagram(originKey),
28
+ changed: movingIndexes.length ? buildHexagram(changedKey) : undefined,
29
+ movingIndexes: movingIndexes.length ? movingIndexes : undefined,
30
+ };
31
+ };
32
+ const buildHexagram = (key) => {
33
+ const hexagram = HEXAGRAM[key];
34
+ return {
35
+ ...hexagram,
36
+ lower: TRIGRAM[key.slice(0, 3)],
37
+ upper: TRIGRAM[key.slice(3)],
38
+ };
39
+ };
40
+ export const liuyaoToMarkdown = (liuyao) => {
41
+ const { origin, changed, movingIndexes } = liuyao;
42
+ let markdown = `
43
+ ## 本卦 ${origin.name}
44
+
45
+ ${renderHexagram(origin, movingIndexes)}
46
+ `;
47
+ if (changed) {
48
+ markdown += `
49
+ ## 变卦 ${changed.name}
50
+
51
+ ${renderHexagram(changed)}
52
+ `;
53
+ }
54
+ return markdown;
55
+ };
56
+ const lineNames = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻'];
57
+ const renderHexagram = (hexagram, movingIndexes) => {
58
+ const lines = [];
59
+ for (let i = 0; i < 6; i++) {
60
+ const movingMark = movingIndexes?.includes(i) ? ' 动' : '';
61
+ lines.push(`${lineNames[i]} ${YINYANG_NAME[hexagram.key[i]]}${movingMark}`);
62
+ }
63
+ const upper = `上卦 ${hexagram.upper.name} 五行${hexagram.upper.wuxing}`;
64
+ const lower = `下卦 ${hexagram.lower.name} 五行${hexagram.lower.wuxing}`;
65
+ return lines.reverse().join('\n') + '\n\n' + lower + '\n' + upper;
66
+ };
67
+ function getRandomIntInclusive(min, max) {
68
+ const minCeiled = Math.ceil(min);
69
+ const maxFloored = Math.floor(max);
70
+ return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled);
71
+ }
72
+ //# sourceMappingURL=liuyao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liuyao.js","sourceRoot":"","sources":["../src/liuyao.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "cantian-liuyao",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": "./dist/index.js"
7
+ },
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "prepublishOnly": "rm -rf dist && tsc"
13
+ }
14
+ }