@orrery/core 0.2.1 → 0.4.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/README.en.md +241 -0
- package/README.ja.md +241 -0
- package/README.md +34 -14
- package/README.zh.md +241 -0
- package/dist/{chunk-TRSIZZ73.js → chunk-6PLRETU5.js} +33 -7
- package/dist/{chunk-KD6TCTRW.js → chunk-APL4STY7.js} +10 -1
- package/dist/{chunk-VJDUZB5T.js → chunk-EXYPMSUR.js} +119 -0
- package/dist/{chunk-DGSIRAXF.js → chunk-JLKMDX3R.js} +138 -11
- package/dist/chunk-NSFWX6RO.js +42099 -0
- package/dist/chunk-TW4ADZCX.js +33 -0
- package/dist/{chunk-OCPJGMZC.js → chunk-WOQT7EBV.js} +71 -51
- package/dist/cities.d.ts +4 -2
- package/dist/cities.js +1 -1
- package/dist/constants.d.ts +12 -1
- package/dist/constants.js +21 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.js +20 -8
- package/dist/natal.d.ts +12 -5
- package/dist/natal.js +5 -3
- package/dist/pillars.d.ts +14 -6
- package/dist/pillars.js +10 -2
- package/dist/saju.js +4 -3
- package/dist/types.d.ts +44 -4
- package/dist/ziwei.js +3 -2
- package/package.json +2 -9
- package/dist/chunk-6PJQHSY6.js +0 -292
package/README.zh.md
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
[한국어](./README.md) | [English](./README.en.md) | **中文** | [日本語](./README.ja.md)
|
|
2
|
+
|
|
3
|
+
# @orrery/core
|
|
4
|
+
|
|
5
|
+
可在浏览器和 Node.js 环境下运行的东方与西方命理计算引擎。
|
|
6
|
+
|
|
7
|
+
- **四柱八字** — 六十甲子、十神、十二运星、十二神煞、大運、干支关系分析
|
|
8
|
+
- **紫微斗數** — 命盤生成、大限、流年/流月分析
|
|
9
|
+
- **西方占星术出生星盘(Natal Chart)** — 行星位置、宫位、四轴、相位(纯 TypeScript)
|
|
10
|
+
|
|
11
|
+
无需后端。所有计算均在客户端完成。
|
|
12
|
+
|
|
13
|
+
**[在线演示 →](https://rath.github.io/orrery/)**
|
|
14
|
+
|
|
15
|
+
## 致谢
|
|
16
|
+
|
|
17
|
+
- **四柱万年历** — 由고영창(Ko Young-chang)编写的 Perl [真万年历](http://afnmp3.homeip.net/~kohyc/calendar/cal20000.html),经김정균(Kim Jeong-gyun)[移植为 PHP](https://github.com/OOPS-ORG-PHP/Lunar),2018年11月황장호(Hwang Jang-ho)将其移植为 Java 和 Python 并一直使用,2026年2月使用 Claude Code(Opus 4.6)移植为 TypeScript
|
|
18
|
+
- **紫微斗數命盤** — 基于 [lunar-javascript](https://www.npmjs.com/package/lunar-javascript) 库,由 Claude(Opus 4.5)研究中文文献后实现
|
|
19
|
+
- **占星术出生星盘** — 将 [Swiss Ephemeris](https://www.astro.com/swisseph/) 的 Moshier 星历表移植为纯 TypeScript
|
|
20
|
+
|
|
21
|
+
## 安装
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @orrery/core
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 使用方法
|
|
28
|
+
|
|
29
|
+
### 四柱八字
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { calculateSaju } from '@orrery/core/saju'
|
|
33
|
+
import type { BirthInput } from '@orrery/core/types'
|
|
34
|
+
|
|
35
|
+
const input: BirthInput = {
|
|
36
|
+
year: 1993, month: 3, day: 12,
|
|
37
|
+
hour: 9, minute: 45,
|
|
38
|
+
gender: 'M',
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const result = calculateSaju(input)
|
|
42
|
+
|
|
43
|
+
// 四柱(时、日、月、年顺序)
|
|
44
|
+
for (const p of result.pillars) {
|
|
45
|
+
console.log(p.pillar.ganzi) // '乙巳', '壬辰', '乙卯', '癸酉'
|
|
46
|
+
console.log(p.stemSipsin) // 天干十神
|
|
47
|
+
console.log(p.branchSipsin) // 地支十神
|
|
48
|
+
console.log(p.unseong) // 十二运星
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// 大運
|
|
52
|
+
for (const dw of result.daewoon) {
|
|
53
|
+
console.log(`${dw.ganzi} (${dw.age}세~)`)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// 干支关系(合、冲、刑、破、害)
|
|
57
|
+
for (const [key, pair] of result.relations.pairs) {
|
|
58
|
+
console.log(key, pair.stem, pair.branch)
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 紫微斗數
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
import { createChart, calculateLiunian, getDaxianList } from '@orrery/core/ziwei'
|
|
66
|
+
|
|
67
|
+
// 生成命盤
|
|
68
|
+
const chart = createChart(1993, 3, 12, 9, 45, true)
|
|
69
|
+
|
|
70
|
+
console.log(chart.mingGongZhi) // 命宮地支
|
|
71
|
+
console.log(chart.shenGongZhi) // 身宮地支
|
|
72
|
+
console.log(chart.wuXingJu.name) // 五行局(例:'水二局')
|
|
73
|
+
|
|
74
|
+
// 查看各宫位的星曜
|
|
75
|
+
for (const [name, palace] of Object.entries(chart.palaces)) {
|
|
76
|
+
const stars = palace.stars.map(s => {
|
|
77
|
+
const sihua = s.siHua ? `(${s.siHua})` : ''
|
|
78
|
+
return `${s.name}${s.brightness}${sihua}`
|
|
79
|
+
})
|
|
80
|
+
console.log(`${name} [${palace.ganZhi}]: ${stars.join(', ')}`)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// 大限
|
|
84
|
+
const daxianList = getDaxianList(chart)
|
|
85
|
+
for (const dx of daxianList) {
|
|
86
|
+
console.log(`${dx.ageStart}~${dx.ageEnd}세: ${dx.palaceName} ${dx.ganZhi}`)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// 流年 — 特定年份的运势
|
|
90
|
+
const liunian = calculateLiunian(chart, 2026)
|
|
91
|
+
console.log(liunian.natalPalaceAtMing) // 流年命宮所在的本命盤宫位
|
|
92
|
+
console.log(liunian.siHua) // 流年四化
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 西方占星术(Natal Chart)
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { calculateNatal } from '@orrery/core/natal'
|
|
99
|
+
import type { BirthInput } from '@orrery/core/types'
|
|
100
|
+
|
|
101
|
+
const input: BirthInput = {
|
|
102
|
+
year: 1993, month: 3, day: 12,
|
|
103
|
+
hour: 9, minute: 45,
|
|
104
|
+
gender: 'M',
|
|
105
|
+
latitude: 37.5665, // 首尔(可选,默认:首尔)
|
|
106
|
+
longitude: 126.9780,
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const chart = await calculateNatal(input)
|
|
110
|
+
|
|
111
|
+
// 行星位置
|
|
112
|
+
for (const planet of chart.planets) {
|
|
113
|
+
console.log(`${planet.id}: ${planet.sign} ${planet.degreeInSign.toFixed(1)}°`)
|
|
114
|
+
// 'Sun: Pisces 21.6°'
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// ASC / MC
|
|
118
|
+
console.log(`ASC: ${chart.angles.asc.sign}`)
|
|
119
|
+
console.log(`MC: ${chart.angles.mc.sign}`)
|
|
120
|
+
|
|
121
|
+
// 宫位(默认:Placidus)
|
|
122
|
+
for (const house of chart.houses) {
|
|
123
|
+
console.log(`House ${house.number}: ${house.sign} ${house.degreeInSign.toFixed(1)}°`)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// 相位
|
|
127
|
+
for (const aspect of chart.aspects) {
|
|
128
|
+
console.log(`${aspect.planet1} ${aspect.type} ${aspect.planet2} (orb: ${aspect.orb.toFixed(1)}°)`)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// 更改宫位系统(Koch)
|
|
132
|
+
const kochChart = await calculateNatal(input, 'K')
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 底层 API
|
|
136
|
+
|
|
137
|
+
也可以直接使用各个函数:
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
import { getFourPillars, getDaewoon, getRelation } from '@orrery/core/pillars'
|
|
141
|
+
import { STEM_INFO, ELEMENT_HANJA } from '@orrery/core/constants'
|
|
142
|
+
|
|
143
|
+
// 仅计算四柱
|
|
144
|
+
const [년주, 월주, 일주, 시주] = getFourPillars(1993, 3, 12, 9, 45)
|
|
145
|
+
console.log(년주, 월주, 일주, 시주) // '癸酉', '乙卯', '壬辰', '乙巳'
|
|
146
|
+
|
|
147
|
+
// 十神关系
|
|
148
|
+
const relation = getRelation('壬', '乙')
|
|
149
|
+
console.log(relation?.hanja) // '傷官'
|
|
150
|
+
|
|
151
|
+
// 天干五行信息
|
|
152
|
+
console.log(STEM_INFO['壬']) // { yinyang: '+', element: 'water' }
|
|
153
|
+
console.log(ELEMENT_HANJA['water']) // '水'
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 城市数据
|
|
157
|
+
|
|
158
|
+
提供韩国及世界主要城市数据,可用于出生地点输入:
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
import { SEOUL, filterCities, formatCityName } from '@orrery/core/cities'
|
|
162
|
+
|
|
163
|
+
console.log(SEOUL) // { name: '서울', lat: 37.5665, lon: 126.9780 }
|
|
164
|
+
|
|
165
|
+
// 支持韩语初声搜索
|
|
166
|
+
const results = filterCities('ㅂㅅ') // 匹配 '부산'
|
|
167
|
+
console.log(formatCityName(results[0])) // '부산'
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## 运行示例
|
|
171
|
+
|
|
172
|
+
克隆仓库后可以直接运行示例脚本:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
git clone https://github.com/rath/orrery.git
|
|
176
|
+
cd orrery
|
|
177
|
+
bun install
|
|
178
|
+
|
|
179
|
+
# 사주팔자
|
|
180
|
+
bun packages/core/examples/saju.ts
|
|
181
|
+
|
|
182
|
+
# 자미두수
|
|
183
|
+
bun packages/core/examples/ziwei.ts
|
|
184
|
+
|
|
185
|
+
# 서양 점성술 출생차트
|
|
186
|
+
bun packages/core/examples/natal.ts
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Subpath Exports
|
|
190
|
+
|
|
191
|
+
可以按需选择性导入模块:
|
|
192
|
+
|
|
193
|
+
| 路径 | 说明 |
|
|
194
|
+
|------|------|
|
|
195
|
+
| `@orrery/core` | 完整 barrel export |
|
|
196
|
+
| `@orrery/core/saju` | `calculateSaju()` |
|
|
197
|
+
| `@orrery/core/ziwei` | `createChart()`, `calculateLiunian()`, `getDaxianList()` |
|
|
198
|
+
| `@orrery/core/natal` | `calculateNatal()`、星座/行星符号、格式化函数 |
|
|
199
|
+
| `@orrery/core/pillars` | `getFourPillars()`, `getDaewoon()` 等底层 API |
|
|
200
|
+
| `@orrery/core/types` | 所有 TypeScript 类型/接口 |
|
|
201
|
+
| `@orrery/core/constants` | 天干/地支、十神、宫位名等常量表 |
|
|
202
|
+
| `@orrery/core/cities` | 城市数据、搜索函数 |
|
|
203
|
+
|
|
204
|
+
## 依赖
|
|
205
|
+
|
|
206
|
+
| 包名 | 类型 | 用途 |
|
|
207
|
+
|------|------|------|
|
|
208
|
+
| `lunar-javascript` | dependency | 阴历转换(紫微斗數) |
|
|
209
|
+
|
|
210
|
+
所有功能均以纯 TypeScript 运行,无需外部 WASM 或数据文件依赖。
|
|
211
|
+
|
|
212
|
+
## 许可证
|
|
213
|
+
|
|
214
|
+
[AGPL-3.0](../../LICENSE)
|
|
215
|
+
|
|
216
|
+
<details>
|
|
217
|
+
<summary>什么是 AGPL-3.0?(简单说明)</summary>
|
|
218
|
+
|
|
219
|
+
### 你可以自由地
|
|
220
|
+
|
|
221
|
+
- **个人使用** — 在自己的电脑上随意运行和修改。
|
|
222
|
+
- **阅读和学习源代码** — 随时欢迎通过阅读代码来学习。
|
|
223
|
+
- **修改、改进后再分发** — 你可以修改代码后重新分发,但必须遵守以下条件。
|
|
224
|
+
|
|
225
|
+
### 你必须遵守的
|
|
226
|
+
|
|
227
|
+
- **保持相同许可证(AGPL-3.0)** — 修改或包含此代码进行分发时,衍生作品也必须以 AGPL-3.0 公开。
|
|
228
|
+
- **公开源代码** — 与普通 GPL 不同,AGPL 要求**即使作为网络服务提供时也必须公开源代码**。例如,如果你修改此代码并作为网站运营,当用户请求时必须提供修改后的源代码。
|
|
229
|
+
- **标明变更内容** — 必须明确标注你对原始代码做了哪些修改。
|
|
230
|
+
- **保留版权声明** — 不得删除原始的版权声明和许可证文本。
|
|
231
|
+
|
|
232
|
+
### 你不可以
|
|
233
|
+
|
|
234
|
+
- **在不公开源代码的情况下运营服务** — 修改此代码用于运营网络服务却不公开源代码,属于违反许可证。
|
|
235
|
+
- **更换许可证** — 不能将 AGPL 代码以 MIT、Apache 等更宽松的许可证重新分发。
|
|
236
|
+
|
|
237
|
+
### 一句话总结
|
|
238
|
+
|
|
239
|
+
> 尽管使用,但如果你修改了代码或将其作为服务提供,请以 AGPL-3.0 公开源代码。
|
|
240
|
+
|
|
241
|
+
</details>
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
adjustKdtToKst
|
|
3
|
+
} from "./chunk-TW4ADZCX.js";
|
|
1
4
|
import {
|
|
2
5
|
analyzeAllRelations,
|
|
6
|
+
calculateInjongbeop,
|
|
7
|
+
calculateJwabeop,
|
|
3
8
|
getDaewoon,
|
|
4
9
|
getFourPillars,
|
|
10
|
+
getGongmang,
|
|
5
11
|
getHiddenStems,
|
|
6
12
|
getJeonggi,
|
|
7
13
|
getRelation,
|
|
8
14
|
getSpecialSals,
|
|
9
15
|
getTwelveMeteor,
|
|
10
16
|
getTwelveSpirit
|
|
11
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-JLKMDX3R.js";
|
|
12
18
|
|
|
13
19
|
// src/saju.ts
|
|
14
20
|
function getSipsin(dayStem, targetStem) {
|
|
@@ -16,9 +22,11 @@ function getSipsin(dayStem, targetStem) {
|
|
|
16
22
|
return rel ? rel.hanja : "?";
|
|
17
23
|
}
|
|
18
24
|
function calculateSaju(input) {
|
|
19
|
-
const
|
|
25
|
+
const kst = adjustKdtToKst(input.year, input.month, input.day, input.hour, input.minute);
|
|
26
|
+
const { year, month, day, hour, minute } = kst;
|
|
27
|
+
const { gender } = input;
|
|
20
28
|
const isMale = gender === "M";
|
|
21
|
-
const [yp, mp, dp, hp] = getFourPillars(year, month, day, hour, minute);
|
|
29
|
+
const [yp, mp, dp, hp] = getFourPillars(year, month, day, hour, minute, input.jasiMethod);
|
|
22
30
|
const dayStem = dp[0];
|
|
23
31
|
const stems = [hp[0], dp[0], mp[0], yp[0]];
|
|
24
32
|
const branches = [hp[1], dp[1], mp[1], yp[1]];
|
|
@@ -43,8 +51,19 @@ function calculateSaju(input) {
|
|
|
43
51
|
jigang
|
|
44
52
|
};
|
|
45
53
|
});
|
|
46
|
-
const
|
|
54
|
+
const dwHour = input.unknownTime ? 12 : hour;
|
|
55
|
+
const dwMinute = input.unknownTime ? 0 : minute;
|
|
56
|
+
const rawDaewoon = getDaewoon(isMale, year, month, day, dwHour, dwMinute, input.jasiMethod);
|
|
47
57
|
const yearBranch = yp[1];
|
|
58
|
+
const gmBranches = getGongmang(dp);
|
|
59
|
+
const gmSet = new Set(gmBranches);
|
|
60
|
+
const gongmang = {
|
|
61
|
+
branches: gmBranches,
|
|
62
|
+
pillarIndices: branches.reduce((acc, b, i) => {
|
|
63
|
+
if (i !== 1 && gmSet.has(b)) acc.push(i);
|
|
64
|
+
return acc;
|
|
65
|
+
}, [])
|
|
66
|
+
};
|
|
48
67
|
const daewoon = rawDaewoon.map((dw, i) => {
|
|
49
68
|
const age = dw.startDate.getFullYear() - year;
|
|
50
69
|
const dwStem = dw.ganzi[0];
|
|
@@ -62,17 +81,24 @@ function calculateSaju(input) {
|
|
|
62
81
|
stemSipsin: dwStemSipsin,
|
|
63
82
|
branchSipsin: dwBranchSipsin,
|
|
64
83
|
unseong,
|
|
65
|
-
sinsal
|
|
84
|
+
sinsal,
|
|
85
|
+
isGongmang: gmSet.has(dwBranch)
|
|
66
86
|
};
|
|
67
87
|
});
|
|
68
88
|
const relations = analyzeAllRelations(ganzis);
|
|
69
|
-
const specialSals = getSpecialSals(
|
|
89
|
+
const specialSals = getSpecialSals(stems, branches, dp);
|
|
90
|
+
const dayBranch = dp[1];
|
|
91
|
+
const jwabeop = calculateJwabeop(dayStem, branches, dayBranch);
|
|
92
|
+
const injongbeop = calculateInjongbeop(dayStem, dayBranch);
|
|
70
93
|
return {
|
|
71
94
|
input,
|
|
72
95
|
pillars,
|
|
73
96
|
daewoon,
|
|
74
97
|
relations,
|
|
75
|
-
specialSals
|
|
98
|
+
specialSals,
|
|
99
|
+
gongmang,
|
|
100
|
+
jwabeop,
|
|
101
|
+
injongbeop
|
|
76
102
|
};
|
|
77
103
|
}
|
|
78
104
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
adjustKdtToKst
|
|
3
|
+
} from "./chunk-TW4ADZCX.js";
|
|
1
4
|
import {
|
|
2
5
|
BRIGHTNESS_TABLE,
|
|
3
6
|
DI_ZHI,
|
|
@@ -14,7 +17,7 @@ import {
|
|
|
14
17
|
WU_HU_DUN_GAN,
|
|
15
18
|
WU_XING_JU_MAP,
|
|
16
19
|
ZIWEI_SERIES_OFFSETS
|
|
17
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-EXYPMSUR.js";
|
|
18
21
|
import {
|
|
19
22
|
__commonJS,
|
|
20
23
|
__toESM
|
|
@@ -11894,6 +11897,12 @@ function getBrightness(star, zhi) {
|
|
|
11894
11897
|
return BRIGHTNESS_TABLE[star]?.[zhi] ?? "";
|
|
11895
11898
|
}
|
|
11896
11899
|
function createChart(year, month, day, hour, minute, isMale) {
|
|
11900
|
+
const kst = adjustKdtToKst(year, month, day, hour, minute);
|
|
11901
|
+
year = kst.year;
|
|
11902
|
+
month = kst.month;
|
|
11903
|
+
day = kst.day;
|
|
11904
|
+
hour = kst.hour;
|
|
11905
|
+
minute = kst.minute;
|
|
11897
11906
|
const { lunarYear, lunarMonth, lunarDay, isLeap } = solarToLunar(year, month, day);
|
|
11898
11907
|
const [yearGan, yearZhi] = getYearGanZhi(lunarYear);
|
|
11899
11908
|
const mingGongZhi = calculateMingGong(lunarMonth, hour);
|
|
@@ -175,6 +175,22 @@ var BRANCH_PUNISHMENTS = {
|
|
|
175
175
|
"\u536F,\u5B50": ["\u5211", "\u76F8\u5211"]
|
|
176
176
|
};
|
|
177
177
|
var BRANCH_SELF_PUNISHMENTS = /* @__PURE__ */ new Set(["\u8FB0", "\u5348", "\u9149", "\u4EA5"]);
|
|
178
|
+
var BRANCH_WONJIN = {
|
|
179
|
+
"\u5B50,\u672A": "\u6028\u55D4",
|
|
180
|
+
"\u4E11,\u5348": "\u6028\u55D4",
|
|
181
|
+
"\u5BC5,\u9149": "\u6028\u55D4",
|
|
182
|
+
"\u536F,\u7533": "\u6028\u55D4",
|
|
183
|
+
"\u8FB0,\u4EA5": "\u6028\u55D4",
|
|
184
|
+
"\u5DF3,\u620C": "\u6028\u55D4"
|
|
185
|
+
};
|
|
186
|
+
var BRANCH_GWIMUN = {
|
|
187
|
+
"\u5B50,\u9149": "\u9B3C\u9580",
|
|
188
|
+
"\u4E11,\u5348": "\u9B3C\u9580",
|
|
189
|
+
"\u5BC5,\u672A": "\u9B3C\u9580",
|
|
190
|
+
"\u536F,\u7533": "\u9B3C\u9580",
|
|
191
|
+
"\u8FB0,\u4EA5": "\u9B3C\u9580",
|
|
192
|
+
"\u5DF3,\u620C": "\u9B3C\u9580"
|
|
193
|
+
};
|
|
178
194
|
var YANGIN_MAP = {
|
|
179
195
|
"\u7532": "\u536F",
|
|
180
196
|
"\u4E19": "\u5348",
|
|
@@ -184,6 +200,85 @@ var YANGIN_MAP = {
|
|
|
184
200
|
};
|
|
185
201
|
var BAEKHO_PILLARS = /* @__PURE__ */ new Set(["\u7532\u8FB0", "\u4E59\u672A", "\u4E19\u620C", "\u4E01\u4E11", "\u620A\u8FB0", "\u58EC\u620C", "\u7678\u4E11"]);
|
|
186
202
|
var GOEGANG_PILLARS = /* @__PURE__ */ new Set(["\u5E9A\u8FB0", "\u5E9A\u620C", "\u58EC\u8FB0", "\u620A\u620C"]);
|
|
203
|
+
var DOHWA_MAP = {
|
|
204
|
+
"\u5BC5": "\u536F",
|
|
205
|
+
"\u5348": "\u536F",
|
|
206
|
+
"\u620C": "\u536F",
|
|
207
|
+
"\u7533": "\u9149",
|
|
208
|
+
"\u5B50": "\u9149",
|
|
209
|
+
"\u8FB0": "\u9149",
|
|
210
|
+
"\u5DF3": "\u5348",
|
|
211
|
+
"\u9149": "\u5348",
|
|
212
|
+
"\u4E11": "\u5348",
|
|
213
|
+
"\u4EA5": "\u5B50",
|
|
214
|
+
"\u536F": "\u5B50",
|
|
215
|
+
"\u672A": "\u5B50"
|
|
216
|
+
};
|
|
217
|
+
var CHEONUL_MAP = {
|
|
218
|
+
"\u7532": ["\u4E11", "\u672A"],
|
|
219
|
+
"\u620A": ["\u4E11", "\u672A"],
|
|
220
|
+
"\u5E9A": ["\u4E11", "\u672A"],
|
|
221
|
+
"\u4E59": ["\u5B50", "\u7533"],
|
|
222
|
+
"\u5DF1": ["\u5B50", "\u7533"],
|
|
223
|
+
"\u4E19": ["\u4EA5", "\u9149"],
|
|
224
|
+
"\u4E01": ["\u4EA5", "\u9149"],
|
|
225
|
+
"\u8F9B": ["\u5348", "\u5BC5"],
|
|
226
|
+
"\u58EC": ["\u5DF3", "\u536F"],
|
|
227
|
+
"\u7678": ["\u5DF3", "\u536F"]
|
|
228
|
+
};
|
|
229
|
+
var CHEONDUK_MAP = {
|
|
230
|
+
"\u5BC5": "\u4E01",
|
|
231
|
+
"\u536F": "\u7533",
|
|
232
|
+
"\u8FB0": "\u58EC",
|
|
233
|
+
"\u5DF3": "\u8F9B",
|
|
234
|
+
"\u5348": "\u4EA5",
|
|
235
|
+
"\u672A": "\u7532",
|
|
236
|
+
"\u7533": "\u7678",
|
|
237
|
+
"\u9149": "\u5BC5",
|
|
238
|
+
"\u620C": "\u4E19",
|
|
239
|
+
"\u4EA5": "\u4E59",
|
|
240
|
+
"\u5B50": "\u5DF3",
|
|
241
|
+
"\u4E11": "\u5E9A"
|
|
242
|
+
};
|
|
243
|
+
var WOLDUK_MAP = {
|
|
244
|
+
"\u5BC5": "\u4E19",
|
|
245
|
+
"\u5348": "\u4E19",
|
|
246
|
+
"\u620C": "\u4E19",
|
|
247
|
+
"\u7533": "\u58EC",
|
|
248
|
+
"\u5B50": "\u58EC",
|
|
249
|
+
"\u8FB0": "\u58EC",
|
|
250
|
+
"\u5DF3": "\u5E9A",
|
|
251
|
+
"\u9149": "\u5E9A",
|
|
252
|
+
"\u4E11": "\u5E9A",
|
|
253
|
+
"\u4EA5": "\u7532",
|
|
254
|
+
"\u536F": "\u7532",
|
|
255
|
+
"\u672A": "\u7532"
|
|
256
|
+
};
|
|
257
|
+
var MUNCHANG_MAP = {
|
|
258
|
+
"\u7532": "\u5DF3",
|
|
259
|
+
"\u4E59": "\u5348",
|
|
260
|
+
"\u4E19": "\u7533",
|
|
261
|
+
"\u4E01": "\u9149",
|
|
262
|
+
"\u620A": "\u7533",
|
|
263
|
+
"\u5DF1": "\u9149",
|
|
264
|
+
"\u5E9A": "\u4EA5",
|
|
265
|
+
"\u8F9B": "\u5B50",
|
|
266
|
+
"\u58EC": "\u5BC5",
|
|
267
|
+
"\u7678": "\u536F"
|
|
268
|
+
};
|
|
269
|
+
var HONGYEOM_PILLARS = /* @__PURE__ */ new Set(["\u7532\u5348", "\u4E19\u5BC5", "\u4E01\u672A", "\u620A\u8FB0", "\u5E9A\u620C", "\u8F9B\u9149", "\u58EC\u5B50"]);
|
|
270
|
+
var GEUMYEO_MAP = {
|
|
271
|
+
"\u7532": "\u8FB0",
|
|
272
|
+
"\u4E59": "\u5DF3",
|
|
273
|
+
"\u4E19": "\u672A",
|
|
274
|
+
"\u4E01": "\u7533",
|
|
275
|
+
"\u620A": "\u672A",
|
|
276
|
+
"\u5DF1": "\u7533",
|
|
277
|
+
"\u5E9A": "\u620C",
|
|
278
|
+
"\u8F9B": "\u4EA5",
|
|
279
|
+
"\u58EC": "\u4E11",
|
|
280
|
+
"\u7678": "\u5BC5"
|
|
281
|
+
};
|
|
187
282
|
var METEOR_LOOKUP = {
|
|
188
283
|
"\uAC11\uD574": 0,
|
|
189
284
|
"\uC744\uC624": 0,
|
|
@@ -320,6 +415,20 @@ var JIJANGGAN = {
|
|
|
320
415
|
"\u5B50": "\u58EC \u7678",
|
|
321
416
|
"\u4E11": "\u7678\u8F9B\u5DF1"
|
|
322
417
|
};
|
|
418
|
+
var GONGMANG_TABLE = [
|
|
419
|
+
["\u620C", "\u4EA5"],
|
|
420
|
+
// 甲子旬 (0-9)
|
|
421
|
+
["\u7533", "\u9149"],
|
|
422
|
+
// 甲戌旬 (10-19)
|
|
423
|
+
["\u5348", "\u672A"],
|
|
424
|
+
// 甲申旬 (20-29)
|
|
425
|
+
["\u8FB0", "\u5DF3"],
|
|
426
|
+
// 甲午旬 (30-39)
|
|
427
|
+
["\u5BC5", "\u536F"],
|
|
428
|
+
// 甲辰旬 (40-49)
|
|
429
|
+
["\u5B50", "\u4E11"]
|
|
430
|
+
// 甲寅旬 (50-59)
|
|
431
|
+
];
|
|
323
432
|
var HGANJI = [
|
|
324
433
|
"\u7532\u5B50",
|
|
325
434
|
"\u4E59\u4E11",
|
|
@@ -841,11 +950,21 @@ export {
|
|
|
841
950
|
BRANCH_HARMS,
|
|
842
951
|
BRANCH_PUNISHMENTS,
|
|
843
952
|
BRANCH_SELF_PUNISHMENTS,
|
|
953
|
+
BRANCH_WONJIN,
|
|
954
|
+
BRANCH_GWIMUN,
|
|
844
955
|
YANGIN_MAP,
|
|
845
956
|
BAEKHO_PILLARS,
|
|
846
957
|
GOEGANG_PILLARS,
|
|
958
|
+
DOHWA_MAP,
|
|
959
|
+
CHEONUL_MAP,
|
|
960
|
+
CHEONDUK_MAP,
|
|
961
|
+
WOLDUK_MAP,
|
|
962
|
+
MUNCHANG_MAP,
|
|
963
|
+
HONGYEOM_PILLARS,
|
|
964
|
+
GEUMYEO_MAP,
|
|
847
965
|
METEOR_LOOKUP,
|
|
848
966
|
JIJANGGAN,
|
|
967
|
+
GONGMANG_TABLE,
|
|
849
968
|
HGANJI,
|
|
850
969
|
PILLAR_NAMES,
|
|
851
970
|
TIAN_GAN,
|