node-automator 1.0.0
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/LICENSE +15 -0
- package/assets/alert.png +0 -0
- package/assets/error.png +0 -0
- package/assets/success.png +0 -0
- package/commands/abort.js +11 -0
- package/commands/alert.js +19 -0
- package/commands/assemble.js +56 -0
- package/commands/assert.js +18 -0
- package/commands/base.js +363 -0
- package/commands/break.js +11 -0
- package/commands/change_filter.js +34 -0
- package/commands/cheerio.js +15 -0
- package/commands/clear_screen.js +14 -0
- package/commands/commit.js +31 -0
- package/commands/compare.js +23 -0
- package/commands/confirm.js +16 -0
- package/commands/continue.js +11 -0
- package/commands/copy.js +14 -0
- package/commands/cursor_up.js +12 -0
- package/commands/date.js +25 -0
- package/commands/debugger.js +11 -0
- package/commands/dingtalk.js +110 -0
- package/commands/disassemble.js +36 -0
- package/commands/divination.js +15 -0
- package/commands/download.js +12 -0
- package/commands/edit.js +83 -0
- package/commands/edit_excel.js +57 -0
- package/commands/env_optional.js +57 -0
- package/commands/eval.js +27 -0
- package/commands/exec_from_file.js +31 -0
- package/commands/export_diff_head.js +31 -0
- package/commands/file_info.js +41 -0
- package/commands/file_size.js +12 -0
- package/commands/files.js +14 -0
- package/commands/first_exist.js +18 -0
- package/commands/flatten.js +18 -0
- package/commands/ftp.js +161 -0
- package/commands/git_commit.js +31 -0
- package/commands/git_export_diff_head.js +13 -0
- package/commands/git_is_dirty.js +13 -0
- package/commands/hash.js +21 -0
- package/commands/http_request.js +12 -0
- package/commands/image_crop.js +19 -0
- package/commands/input.js +37 -0
- package/commands/interval.js +60 -0
- package/commands/is_dirty.js +31 -0
- package/commands/jwt_decode.js +22 -0
- package/commands/list2dict.js +32 -0
- package/commands/log.js +72 -0
- package/commands/loop.js +115 -0
- package/commands/loop_forever.js +66 -0
- package/commands/merge_files.js +39 -0
- package/commands/mgr.js +476 -0
- package/commands/modify.js +44 -0
- package/commands/move.js +14 -0
- package/commands/move_local.js +14 -0
- package/commands/multi_select.js +16 -0
- package/commands/mysql_connect.js +29 -0
- package/commands/mysql_end.js +13 -0
- package/commands/mysql_query.js +19 -0
- package/commands/notify.js +13 -0
- package/commands/open.js +30 -0
- package/commands/parse.js +18 -0
- package/commands/pause.js +15 -0
- package/commands/print.js +47 -0
- package/commands/read_cache.js +12 -0
- package/commands/read_cfg.js +13 -0
- package/commands/read_clipboard.js +19 -0
- package/commands/read_excel.js +17 -0
- package/commands/read_only_excel.js +40 -0
- package/commands/read_plain.js +14 -0
- package/commands/remove.js +14 -0
- package/commands/retrieve.js +17 -0
- package/commands/reveal.js +33 -0
- package/commands/revision_info.js +31 -0
- package/commands/schedule.js +80 -0
- package/commands/select.js +17 -0
- package/commands/send_email.js +25 -0
- package/commands/share_data.js +745 -0
- package/commands/shell.js +13 -0
- package/commands/sleep.js +17 -0
- package/commands/store.js +13 -0
- package/commands/store_optional.js +33 -0
- package/commands/stream.js +16 -0
- package/commands/stringify.js +24 -0
- package/commands/svn_add.js +26 -0
- package/commands/svn_commit.js +49 -0
- package/commands/svn_export_diff_head.js +13 -0
- package/commands/svn_is_dirty.js +13 -0
- package/commands/svn_update.js +27 -0
- package/commands/switch.js +18 -0
- package/commands/temp.js +12 -0
- package/commands/tencent_cos.js +323 -0
- package/commands/test.js +14 -0
- package/commands/title.js +18 -0
- package/commands/tmpdir.js +21 -0
- package/commands/translate.js +58 -0
- package/commands/traversal.js +38 -0
- package/commands/truncate.js +31 -0
- package/commands/truncate_all.js +62 -0
- package/commands/ts_sort.js +18 -0
- package/commands/unzip.js +50 -0
- package/commands/updating_revision.js +28 -0
- package/commands/valid_required.js +31 -0
- package/commands/void.js +10 -0
- package/commands/watch_mail.js +94 -0
- package/commands/web_socket.js +233 -0
- package/commands/which.js +60 -0
- package/commands/write_cache.js +16 -0
- package/commands/write_cfg.js +18 -0
- package/commands/write_clipboard.js +23 -0
- package/commands/write_excel.js +17 -0
- package/commands/write_plain.js +18 -0
- package/commands/zip.js +78 -0
- package/commands/zip_data.js +64 -0
- package/examples/print_env.yml +3 -0
- package/index.js +109 -0
- package/package.json +63 -0
- package/scratch/.gitkeep +0 -0
- package/utils/alert_tool.js +133 -0
- package/utils/base64_tool.js +13 -0
- package/utils/cache/local_cache.js +79 -0
- package/utils/cache/raw_cache.js +47 -0
- package/utils/cache/simple_local_cache.js +33 -0
- package/utils/cache/simple_sqlite_cache.js +43 -0
- package/utils/cache/simple_svn_cache.js +49 -0
- package/utils/cache/svn_cache.js +40 -0
- package/utils/cache_tool.js +53 -0
- package/utils/display_tool.js +85 -0
- package/utils/divination_util.js +555 -0
- package/utils/file_tool.js +529 -0
- package/utils/hash_tool.js +8 -0
- package/utils/interaction_tool.js +228 -0
- package/utils/log_tool.js +190 -0
- package/utils/parse_directive.js +194 -0
- package/utils/parse_tool.js +236 -0
- package/utils/request_tool.js +156 -0
- package/utils/scm_tool.js +108 -0
- package/utils/selection_tool.js +593 -0
- package/utils/shell_tool.js +162 -0
- package/utils/svn_diff/diff_file.js +44 -0
- package/utils/svn_diff/diff_parser.js +55 -0
- package/utils/transform_tool.js +520 -0
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 大衍之数五十
|
|
3
|
+
* 其用四十有九
|
|
4
|
+
* 分而为二以象两
|
|
5
|
+
* 挂一以象三
|
|
6
|
+
* 揲之以四以象四时
|
|
7
|
+
* 归奇于扐
|
|
8
|
+
* -- 《易经·系辞传》
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const { warn, info, log, LogLevel } = require("./log_tool");
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
const DiagramMap = {
|
|
15
|
+
[0b111111]: {
|
|
16
|
+
name: "乾",
|
|
17
|
+
statement: {
|
|
18
|
+
gua: "乾,元、亨、利、贞。",
|
|
19
|
+
tuan: "大哉乾元,万物资始,乃统天。云行雨施,品物流行。大明终始,六位时成,时乘六龙以御天。乾道变化,各正性命,保合太和,乃利贞。首出庶物,万国咸宁。",
|
|
20
|
+
xiang: "天行健,君子以自强不息",
|
|
21
|
+
yao: [
|
|
22
|
+
"初九,潜龙勿用。",
|
|
23
|
+
"九二,见龙在田,利见大人。",
|
|
24
|
+
"九三,君子终日乾乾,夕惕若,厉无咎。",
|
|
25
|
+
"九四,或跃在渊,无咎。",
|
|
26
|
+
"九五,飞龙在天,利见大人",
|
|
27
|
+
"上九,亢龙有悔。",
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
order: 1,
|
|
31
|
+
},
|
|
32
|
+
[0b000000]: {
|
|
33
|
+
name: "坤",
|
|
34
|
+
statement: {
|
|
35
|
+
gua: "坤,元、亨,利牝马之贞。君子有攸往,先迷后得,主利。西南得朋,东北丧朋。安贞,吉。",
|
|
36
|
+
tuan: "至哉坤元!万物资生,乃顺承天。坤厚载物,德合无疆。含弘光大,品物咸亨。牝马地类,行地无疆,柔顺利贞,君子攸行。先迷失道,后顺得常。西南得朋,乃与类行,东北散朋,乃终有庆。安贞之吉,应地无疆。",
|
|
37
|
+
xiang: "地势坤,君子以厚德载物。",
|
|
38
|
+
yao: [
|
|
39
|
+
"初六,履霜,坚冰至。",
|
|
40
|
+
"六二,直、方、大,不习无不利。",
|
|
41
|
+
"六三,含章可贞,或从王事,无成有终。",
|
|
42
|
+
"六四,括囊,无咎无誉。",
|
|
43
|
+
"六五,黄裳,元吉。",
|
|
44
|
+
"上六,龙战于野,其血玄黄。",
|
|
45
|
+
],
|
|
46
|
+
xiang2: [
|
|
47
|
+
"履霜坚冰,阴始凝也。驯致其道,至坚冰也。",
|
|
48
|
+
"六二之动,直以方也,不习无不利,地道光也。",
|
|
49
|
+
"含章可贞,以时发也,或从王事,知光大也。",
|
|
50
|
+
"括囊无咎,慎不害也。",
|
|
51
|
+
"黄裳元吉,文在中也。",
|
|
52
|
+
"龙战于野,其道穷也。",
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
order: 2,
|
|
56
|
+
},
|
|
57
|
+
[0b100010]: {
|
|
58
|
+
name: "屯",
|
|
59
|
+
statement: {
|
|
60
|
+
gua: "屯,元、亨、利、贞。勿用有攸往,利建侯。",
|
|
61
|
+
tuan: "屯,刚柔始交而难生。动乎险中,大亨贞。雷雨之动满盈。天造草昧,宜建侯而不宁。",
|
|
62
|
+
xiang: "云雷,屯。君子以经纶",
|
|
63
|
+
yao: [
|
|
64
|
+
"初九,磐桓,利居贞,利建侯。",
|
|
65
|
+
"六二,屯如邅如,乘马班如,匪寇婚媾,女子贞不字,十年乃字。",
|
|
66
|
+
"六三,即鹿无虞,惟入于林中,君子几,不如舍,往吝。",
|
|
67
|
+
"六四,乘马班如,求婚媾;往吉,无不利。",
|
|
68
|
+
"九五,屯其膏。小,贞吉;大,贞凶。",
|
|
69
|
+
"上六,乘马班如,泣血涟如。",
|
|
70
|
+
],
|
|
71
|
+
xiang2: [
|
|
72
|
+
"虽盘桓,志行正也,以贵下贱,大得民也。",
|
|
73
|
+
"六二之难,乘刚也;十年乃字,反常也。",
|
|
74
|
+
"即鹿无虞,以从禽也;君子舍子,往吝穷也。",
|
|
75
|
+
"求而往,明也。",
|
|
76
|
+
"屯其膏,施未光也。",
|
|
77
|
+
"泣血涟如,何可长也。",
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
order: 3,
|
|
81
|
+
},
|
|
82
|
+
[0b010001]: {
|
|
83
|
+
name: "蒙",
|
|
84
|
+
order: 4,
|
|
85
|
+
},
|
|
86
|
+
[0b111010]: {
|
|
87
|
+
name: "需",
|
|
88
|
+
order: 5,
|
|
89
|
+
},
|
|
90
|
+
[0b010111]: {
|
|
91
|
+
name: "讼",
|
|
92
|
+
order: 6,
|
|
93
|
+
},
|
|
94
|
+
[0b010000]: {
|
|
95
|
+
name: "师",
|
|
96
|
+
order: 7,
|
|
97
|
+
},
|
|
98
|
+
[0b000010]: {
|
|
99
|
+
name: "比",
|
|
100
|
+
order: 8,
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
[0b111011]: {
|
|
104
|
+
name: "小畜",
|
|
105
|
+
order: 9,
|
|
106
|
+
},
|
|
107
|
+
[0b110111]: {
|
|
108
|
+
name: "履",
|
|
109
|
+
order: 10,
|
|
110
|
+
},
|
|
111
|
+
[0b111000]: {
|
|
112
|
+
name: "泰",
|
|
113
|
+
order: 11,
|
|
114
|
+
},
|
|
115
|
+
[0b000111]: {
|
|
116
|
+
name: "否",
|
|
117
|
+
order: 12,
|
|
118
|
+
},
|
|
119
|
+
[0b101111]: {
|
|
120
|
+
name: "同人",
|
|
121
|
+
order: 13,
|
|
122
|
+
},
|
|
123
|
+
[0b111101]: {
|
|
124
|
+
name: "大有",
|
|
125
|
+
order: 14,
|
|
126
|
+
},
|
|
127
|
+
[0b001000]: {
|
|
128
|
+
name: "谦",
|
|
129
|
+
order: 15,
|
|
130
|
+
},
|
|
131
|
+
[0b000100]: {
|
|
132
|
+
name: "豫",
|
|
133
|
+
order: 16,
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
[0b100110]: {
|
|
137
|
+
name: "随",
|
|
138
|
+
order: 17,
|
|
139
|
+
},
|
|
140
|
+
[0b011001]: {
|
|
141
|
+
name: "蛊",
|
|
142
|
+
order: 18,
|
|
143
|
+
},
|
|
144
|
+
[0b110000]: {
|
|
145
|
+
name: "临",
|
|
146
|
+
order: 19,
|
|
147
|
+
},
|
|
148
|
+
[0b000011]: {
|
|
149
|
+
name: "观",
|
|
150
|
+
order: 20,
|
|
151
|
+
},
|
|
152
|
+
[0b100101]: {
|
|
153
|
+
name: "噬嗑",
|
|
154
|
+
order: 21,
|
|
155
|
+
},
|
|
156
|
+
[0b101001]: {
|
|
157
|
+
name: "贲",
|
|
158
|
+
gua: "贲,亨,小利,有攸往。",
|
|
159
|
+
tuan: "贲,亨,柔来而文刚,故亨;分刚上而文柔,故小利有攸往,天文也;文明以止,人文也。观乎天文,以察时变;观乎人文,以化成天下。",
|
|
160
|
+
xiang: "山下有火,贲。君子以明庶政,无敢折狱。",
|
|
161
|
+
yao: [
|
|
162
|
+
"初九,贲其趾,舍车而徒。",
|
|
163
|
+
"六二,贲其须。",
|
|
164
|
+
"九三,贲如,濡如,永贞吉。",
|
|
165
|
+
"六四,贲如,皤如,白马翰如;匪寇,婚媾。",
|
|
166
|
+
"六五,贲于丘园,束帛戋戋;吝,终吉。",
|
|
167
|
+
"上九,白贲,无咎。",
|
|
168
|
+
],
|
|
169
|
+
xiang2: [
|
|
170
|
+
"舍车而徒,义弗乘也。",
|
|
171
|
+
"贲其须,与上兴也。",
|
|
172
|
+
"永贞之吉,终莫之陵也。",
|
|
173
|
+
"六四当位,疑也;非寇婚媾,终无尤也。",
|
|
174
|
+
"六五之吉,有喜也。",
|
|
175
|
+
"白贲,无咎,上得志也。",
|
|
176
|
+
],
|
|
177
|
+
order: 22,
|
|
178
|
+
},
|
|
179
|
+
[0b000001]: {
|
|
180
|
+
name: "剥",
|
|
181
|
+
order: 23,
|
|
182
|
+
},
|
|
183
|
+
[0b100000]: {
|
|
184
|
+
name: "复",
|
|
185
|
+
order: 24,
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
[0b100111]: {
|
|
189
|
+
name: "无妄",
|
|
190
|
+
order: 25,
|
|
191
|
+
},
|
|
192
|
+
[0b111001]: {
|
|
193
|
+
name: "大畜",
|
|
194
|
+
order: 26,
|
|
195
|
+
},
|
|
196
|
+
[0b100001]: {
|
|
197
|
+
name: "颐",
|
|
198
|
+
order: 27,
|
|
199
|
+
},
|
|
200
|
+
[0b011110]: {
|
|
201
|
+
name: "大过",
|
|
202
|
+
order: 28,
|
|
203
|
+
},
|
|
204
|
+
[0b010010]: {
|
|
205
|
+
name: "坎",
|
|
206
|
+
order: 29,
|
|
207
|
+
},
|
|
208
|
+
[0b101101]: {
|
|
209
|
+
name: "离",
|
|
210
|
+
order: 30,
|
|
211
|
+
},
|
|
212
|
+
[0b001110]: {
|
|
213
|
+
name: "咸",
|
|
214
|
+
order: 31,
|
|
215
|
+
},
|
|
216
|
+
[0b011100]: {
|
|
217
|
+
name: "恒",
|
|
218
|
+
order: 32,
|
|
219
|
+
},
|
|
220
|
+
|
|
221
|
+
[0b001111]: {
|
|
222
|
+
name: "遁",
|
|
223
|
+
order: 33,
|
|
224
|
+
},
|
|
225
|
+
[0b111100]: {
|
|
226
|
+
name: "大壮",
|
|
227
|
+
order: 34,
|
|
228
|
+
},
|
|
229
|
+
[0b000101]: {
|
|
230
|
+
name: "晋",
|
|
231
|
+
order: 35,
|
|
232
|
+
},
|
|
233
|
+
[0b101000]: {
|
|
234
|
+
name: "明夷",
|
|
235
|
+
order: 36,
|
|
236
|
+
},
|
|
237
|
+
[0b101011]: {
|
|
238
|
+
name: "家人",
|
|
239
|
+
order: 37,
|
|
240
|
+
},
|
|
241
|
+
[0b110101]: {
|
|
242
|
+
name: "睽",
|
|
243
|
+
statement: {
|
|
244
|
+
gua: "睽,小事吉。",
|
|
245
|
+
xu: "家道穷必乖,故受之以睽。",
|
|
246
|
+
tuan: "睽,火动而上,泽动而下,二女同居,其志不同行。说而丽乎明,柔进而上行,得中而应乎刚,是以小事吉。天地睽而其事同也,男女睽而其志通也,万物睽而其事类也,睽之时用大矣哉!",
|
|
247
|
+
xiang: "上火下泽,睽,君子以同而异。",
|
|
248
|
+
yao: [
|
|
249
|
+
"初九,悔亡,丧马勿逐自复,见恶人无咎。",
|
|
250
|
+
"九二,遇主于巷,无咎。",
|
|
251
|
+
"六三,见舆曳,其牛掣,其人天且劓,无初有终。",
|
|
252
|
+
"九四,睽孤,遇元夫;交孚,厉无咎。",
|
|
253
|
+
"六五,悔亡,厥(jue2)宗噬肤,往何咎。",
|
|
254
|
+
"上九,睽孤,见豕(shi3)负涂,载鬼一车,先张之弧,后说之弧,匪寇婚媾,往遇雨则吉。",
|
|
255
|
+
],
|
|
256
|
+
xiang2: [
|
|
257
|
+
"见恶人,以避咎也。",
|
|
258
|
+
"遇主于巷,未失道也。",
|
|
259
|
+
"见舆曳,位不当也。无初有终,遇刚也。",
|
|
260
|
+
"交孚无咎,志行也。",
|
|
261
|
+
"厥宗噬肤,往有庆也。",
|
|
262
|
+
"遇雨之吉,群疑亡也。",
|
|
263
|
+
]
|
|
264
|
+
},
|
|
265
|
+
order: 38,
|
|
266
|
+
},
|
|
267
|
+
[0b001010]: {
|
|
268
|
+
name: "蹇",
|
|
269
|
+
order: 39,
|
|
270
|
+
},
|
|
271
|
+
[0b010100]: {
|
|
272
|
+
name: "解",
|
|
273
|
+
order: 40,
|
|
274
|
+
},
|
|
275
|
+
|
|
276
|
+
[0b110001]: {
|
|
277
|
+
name: "损",
|
|
278
|
+
order: 41,
|
|
279
|
+
},
|
|
280
|
+
[0b100011]: {
|
|
281
|
+
name: "益",
|
|
282
|
+
order: 42,
|
|
283
|
+
},
|
|
284
|
+
[0b111110]: {
|
|
285
|
+
name: "夬",
|
|
286
|
+
statement: {
|
|
287
|
+
gua: "夬,扬于王庭,孚号有厉,告自邑,不利即戎,利有攸往。",
|
|
288
|
+
xu: "益而不已必决。",
|
|
289
|
+
tuan: "夬,决也,刚决柔也,健而说,决而和。扬于王庭,柔乘五刚也。孚号有厉,其危乃光也。告自邑,不利即戎,所尚乃穷也。利有攸往,刚长乃终也。",
|
|
290
|
+
xiang: "泽上于天,夬,君子以施禄及下,居德则忌。",
|
|
291
|
+
yao: [
|
|
292
|
+
"初九,壮于前趾,往不胜为咎。",
|
|
293
|
+
"九二,惕号,莫夜有戎,勿恤。",
|
|
294
|
+
"九三,壮于頄(qiu2),有凶,君子夬夬,独行遇雨,若濡有愠,无咎。",
|
|
295
|
+
"九四,臀无肤,其行次且,牵羊悔亡,闻言不信。",
|
|
296
|
+
"九五,苋陆夬夬,中行无咎。",
|
|
297
|
+
"上六,无号,终有凶。",
|
|
298
|
+
],
|
|
299
|
+
xiang2: [
|
|
300
|
+
"不胜而往,咎也。",
|
|
301
|
+
"有戎勿恤,得中道也。",
|
|
302
|
+
"君子夬夬,终无咎也。",
|
|
303
|
+
"其行次且,位不当也。闻言不信,聪不明也。",
|
|
304
|
+
"中行无咎,中未光也。",
|
|
305
|
+
"无号之凶,终不可长也。",
|
|
306
|
+
],
|
|
307
|
+
month: "三月",
|
|
308
|
+
},
|
|
309
|
+
order: 43,
|
|
310
|
+
},
|
|
311
|
+
[0b011111]: {
|
|
312
|
+
name: "姤",
|
|
313
|
+
order: 44,
|
|
314
|
+
},
|
|
315
|
+
[0b000110]: {
|
|
316
|
+
name: "萃",
|
|
317
|
+
order: 45,
|
|
318
|
+
},
|
|
319
|
+
[0b011000]: {
|
|
320
|
+
name: "升",
|
|
321
|
+
statement: {
|
|
322
|
+
gua: "升,元亨,用见大人,勿恤,南征吉。",
|
|
323
|
+
xu: "萃者,聚也;聚而上者谓之升,故受之以升。",
|
|
324
|
+
tuan: "柔以时升,巽而顺,刚中而应,是以大亨。用见大人,勿恤,有庆也。南征吉,志行也。",
|
|
325
|
+
xiang: "地中生木,升,君子以慎德,积小以高大。",
|
|
326
|
+
yao: [
|
|
327
|
+
"初六,允升,大吉。",
|
|
328
|
+
"九二,孚乃利用禴(yue4),无咎。",
|
|
329
|
+
"九三,升虚邑。",
|
|
330
|
+
"六四,王用享于岐山,吉,无咎。",
|
|
331
|
+
"六五,贞吉,升阶。",
|
|
332
|
+
"上六,冥升利于不息之贞。",
|
|
333
|
+
],
|
|
334
|
+
xiang2: [
|
|
335
|
+
"允升大吉,上合志也。",
|
|
336
|
+
"九二之孚,有喜也。",
|
|
337
|
+
"升虚邑,无所疑也。",
|
|
338
|
+
"王用享于岐山,顺事也。",
|
|
339
|
+
"贞吉升阶,大得志也。",
|
|
340
|
+
"冥升在上,消不富也。",
|
|
341
|
+
]
|
|
342
|
+
},
|
|
343
|
+
order: 46,
|
|
344
|
+
},
|
|
345
|
+
[0b010110]: {
|
|
346
|
+
name: "困",
|
|
347
|
+
order: 47,
|
|
348
|
+
},
|
|
349
|
+
[0b011010]: {
|
|
350
|
+
name: "井",
|
|
351
|
+
order: 48,
|
|
352
|
+
},
|
|
353
|
+
|
|
354
|
+
[0b101110]: {
|
|
355
|
+
name: "革",
|
|
356
|
+
order: 49,
|
|
357
|
+
},
|
|
358
|
+
[0b011101]: {
|
|
359
|
+
name: "鼎",
|
|
360
|
+
order: 50,
|
|
361
|
+
},
|
|
362
|
+
[0b100100]: {
|
|
363
|
+
name: "震",
|
|
364
|
+
order: 51,
|
|
365
|
+
},
|
|
366
|
+
[0b001001]: {
|
|
367
|
+
name: "艮",
|
|
368
|
+
order: 52,
|
|
369
|
+
},
|
|
370
|
+
[0b001011]: {
|
|
371
|
+
name: "渐",
|
|
372
|
+
order: 53,
|
|
373
|
+
},
|
|
374
|
+
[0b110100]: {
|
|
375
|
+
name: "归妹",
|
|
376
|
+
order: 54,
|
|
377
|
+
},
|
|
378
|
+
[0b101100]: {
|
|
379
|
+
name: "丰",
|
|
380
|
+
order: 55,
|
|
381
|
+
},
|
|
382
|
+
[0b001101]: {
|
|
383
|
+
name: "旅",
|
|
384
|
+
order: 56,
|
|
385
|
+
},
|
|
386
|
+
|
|
387
|
+
[0b011011]: {
|
|
388
|
+
name: "巽",
|
|
389
|
+
order: 57,
|
|
390
|
+
},
|
|
391
|
+
[0b110110]: {
|
|
392
|
+
name: "兑",
|
|
393
|
+
statement: {
|
|
394
|
+
gua: "兑,亨,利贞。",
|
|
395
|
+
xu: "入而后说之,故受之以兑。",
|
|
396
|
+
tuan: "兑,说也;刚中而柔外,说以利贞,是以顺乎天而应乎人,说以先民,民忘其劳。说以犯难,民忘其死,说之大,民劝矣哉。",
|
|
397
|
+
xiang: "丽泽,兑,君子以朋友讲习。",
|
|
398
|
+
yao: [
|
|
399
|
+
"初九,和兑,吉。",
|
|
400
|
+
"九二,孚兑,吉,悔亡。",
|
|
401
|
+
"六三,来兑,凶。",
|
|
402
|
+
"九四,商兑未宁,介疾有喜。",
|
|
403
|
+
"九五,孚于剥,有厉。",
|
|
404
|
+
"上六,引兑。",
|
|
405
|
+
],
|
|
406
|
+
xiang2: [
|
|
407
|
+
"和兑之吉,行未疑也。",
|
|
408
|
+
"孚兑之吉,信志也。",
|
|
409
|
+
"来兑之凶,位不当也。",
|
|
410
|
+
"九四之喜,有庆也。",
|
|
411
|
+
"孚于剥,位正当也。",
|
|
412
|
+
"上六引兑,未光也。",
|
|
413
|
+
]
|
|
414
|
+
},
|
|
415
|
+
order: 58,
|
|
416
|
+
},
|
|
417
|
+
[0b010011]: {
|
|
418
|
+
name: "涣",
|
|
419
|
+
order: 59,
|
|
420
|
+
},
|
|
421
|
+
[0b110010]: {
|
|
422
|
+
name: "节",
|
|
423
|
+
order: 60,
|
|
424
|
+
},
|
|
425
|
+
[0b110011]: {
|
|
426
|
+
name: "中孚",
|
|
427
|
+
order: 61,
|
|
428
|
+
},
|
|
429
|
+
[0b001100]: {
|
|
430
|
+
name: "小过",
|
|
431
|
+
order: 62,
|
|
432
|
+
},
|
|
433
|
+
[0b101010]: {
|
|
434
|
+
name: "既济",
|
|
435
|
+
order: 63,
|
|
436
|
+
},
|
|
437
|
+
[0b010101]: {
|
|
438
|
+
name: "未济",
|
|
439
|
+
order: 64,
|
|
440
|
+
},
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
/*
|
|
444
|
+
* 五十为鼎卦,四十九为革卦
|
|
445
|
+
* 五十为鼎卦,四十九为革卦
|
|
446
|
+
*/
|
|
447
|
+
const SIX_DIAGRAMS = 6;
|
|
448
|
+
const FOUR_SEASONS = 4;
|
|
449
|
+
const REPEAT_TIMES = 3;
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* 分而为二以象两
|
|
453
|
+
* @param {*} numTrigram
|
|
454
|
+
* @returns
|
|
455
|
+
*/
|
|
456
|
+
function divideTrigrams(numTrigram) {
|
|
457
|
+
let idx = 1 + Math.floor(Math.random() * (numTrigram - 1));
|
|
458
|
+
return [idx, numTrigram - idx];
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* 揲之以四以象四时, 归奇于扐
|
|
463
|
+
* @param {*} num
|
|
464
|
+
* @returns
|
|
465
|
+
*/
|
|
466
|
+
function getReminder(num) {
|
|
467
|
+
let reminder = num % FOUR_SEASONS;
|
|
468
|
+
if (reminder == 0) {
|
|
469
|
+
reminder = FOUR_SEASONS;
|
|
470
|
+
}
|
|
471
|
+
return [reminder, num - reminder];
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
function getDiagramValue(num) {
|
|
475
|
+
return num / FOUR_SEASONS;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
*
|
|
480
|
+
* @param {number[]} vals
|
|
481
|
+
* @returns
|
|
482
|
+
*/
|
|
483
|
+
function getDiagramDataByArray(vals) {
|
|
484
|
+
let index = 0;
|
|
485
|
+
let graphic = "";
|
|
486
|
+
log("\n");
|
|
487
|
+
for (let i = 0, len = vals.length; i < len; i++) {
|
|
488
|
+
const mod = vals[i] % 2;
|
|
489
|
+
const rev_mod = vals[len - 1 - i] % 2;
|
|
490
|
+
log(rev_mod ? "======" : "== ==", undefined, rev_mod ? LogLevel.ERROR : LogLevel.WHISPER, true, false);
|
|
491
|
+
index = (index << 1) + mod;
|
|
492
|
+
}
|
|
493
|
+
return DiagramMap[index];
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
function generateDiagramArray() {
|
|
497
|
+
let taichi = 1;
|
|
498
|
+
let tian, di;
|
|
499
|
+
let tian_reminder, di_reminder;
|
|
500
|
+
|
|
501
|
+
let diagrams = [];
|
|
502
|
+
|
|
503
|
+
for (let diagramIndex = 0; diagramIndex < SIX_DIAGRAMS; diagramIndex++) {
|
|
504
|
+
// 大衍之数五十
|
|
505
|
+
let numTokens = 50;
|
|
506
|
+
// 其用四十有九
|
|
507
|
+
numTokens -= taichi;
|
|
508
|
+
for (let repeatIndex = 0; repeatIndex < REPEAT_TIMES; repeatIndex++) {
|
|
509
|
+
// 分而为二以象两
|
|
510
|
+
[tian, di] = divideTrigrams(numTokens);
|
|
511
|
+
// 挂一以象三
|
|
512
|
+
tian -= 1;
|
|
513
|
+
// 揲之以四以象四时, 归奇于扐
|
|
514
|
+
[tian_reminder, tian] = getReminder(tian);
|
|
515
|
+
[di_reminder, di] = getReminder(di);
|
|
516
|
+
// console.log(taichi + earth_reminder + sky_reminder);
|
|
517
|
+
numTokens = tian + di;
|
|
518
|
+
}
|
|
519
|
+
let diagram = getDiagramValue(numTokens);
|
|
520
|
+
diagrams.push(diagram);
|
|
521
|
+
}
|
|
522
|
+
return diagrams;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
function generateAndParseDiagram(raw) {
|
|
526
|
+
let arr = raw || generateDiagramArray();
|
|
527
|
+
return {
|
|
528
|
+
raw: arr,
|
|
529
|
+
diagram: getDiagramDataByArray(arr),
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
function searchDiagram(name) {
|
|
534
|
+
for(let k in DiagramMap) {
|
|
535
|
+
let detail = DiagramMap[k];
|
|
536
|
+
if (detail.name == name) {
|
|
537
|
+
log("\n");
|
|
538
|
+
let num = +k;
|
|
539
|
+
for (let i = 0; i < SIX_DIAGRAMS; ++i) {
|
|
540
|
+
let rev_mod = num & ( 1 << i);
|
|
541
|
+
log(rev_mod ? "======" : "== ==", undefined, rev_mod ? LogLevel.ERROR : LogLevel.WHISPER, true, false);
|
|
542
|
+
|
|
543
|
+
}
|
|
544
|
+
return detail;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
module.exports = {
|
|
551
|
+
getDiagramDataByArray,
|
|
552
|
+
generateDiagramArray,
|
|
553
|
+
generateAndParseDiagram,
|
|
554
|
+
searchDiagram,
|
|
555
|
+
};
|