saju8z 1.2.0 → 1.2.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 CHANGED
@@ -1,14 +1,16 @@
1
1
  # saju8z
2
2
 
3
- 생년월일시로 사주팔자와 십성을 계산하고, 시간을 모르면 삼주(년·월·일)를 제공하는 만세력 CLI 라이브러리입니다.
3
+ 생년월일시로 사주팔자와 십성을 계산하는 만세력 CLI 라이브러리입니다.
4
4
 
5
5
  양력/음력/윤달을 지원하고, 결과를 텍스트/JSON/AI 전달용 프롬프트로 출력합니다.
6
6
 
7
- **Node.js 22 이상과 npm**이 필요합니다. 터미널에서 바로 사용하려면 `--date`·`--time` 또는 `--dt`를 본인의 생년월일시로 바꾸세요.
7
+ 터미널에서 바로 사용하려면 `--date`, `--time` 또는 `--dt`를 본인의 생년월일시로 입력하세요.
8
8
 
9
+ **Node.js 22 이상과 npm**이 필요합니다.
9
10
 
10
11
 
11
- ## CLI 빠른 시작
12
+
13
+ ## 빠른 시작
12
14
 
13
15
  ### 바로 실행하고 결과 보기
14
16
 
@@ -25,20 +27,13 @@ npm install -g saju8z
25
27
  saju8z --date 2000-02-25 --time 04:10
26
28
  ```
27
29
 
28
-
29
-
30
- ### 인자 없이 실행하고 날짜·시각 입력하기
31
-
32
- 옵션 없이 `saju8z`를 실행하면 생년월일과 출생 시각을 차례로 질문합니다. 아래처럼 값을 입력한 뒤 각각 Enter를 누르세요.
30
+ 옵션 없이 `saju8z`를 실행하면 생년월일과 출생 시각을 cli에서 차례로 질문합니다.
33
31
 
34
32
  ```sh
33
+ #실행 예시
35
34
  saju8z
36
- ```
37
-
38
- 입력 예시:
39
35
 
40
- ```text
41
- 생년월일과 출생 시각을 입력하세요. 양력·현재 GMT 시차로 계산합니다.
36
+ 생년월일과 출생 시각을 입력하세요. 양력, 현재 GMT 시차로 계산합니다.
42
37
  생년월일 (YYYY-MM-DD, 예: 1998-03-05): 1998-03-05
43
38
  출생 시각 (HH:mm, 예: 11:00 / 시간을 모르면 비워두고 Enter): 11:00
44
39
 
@@ -46,17 +41,19 @@ saju8z
46
41
  ...
47
42
  ```
48
43
 
49
- - 날짜는 `1998-03-05`처럼 연도 4자리·월 2자리·일 2자리를 하이픈으로 구분합니다.
50
- - 시각은 `11:00`처럼 24시간제의 시·분을 콜론으로 구분합니다. 오후 11시는 `23:00`, 자정은 `00:00`입니다.
51
- - 시간을 모르면 시각 질문에서 아무것도 적지 않고 Enter를 누르세요. 삼주만 출력합니다.
52
- - 시간을 입력하면 **양력·실행 환경의 현재 GMT 시차·기본 텍스트 형식**으로 사주를 출력합니다. 시간을 생략하면 양력 날짜 기준으로 계산하며 GMT 환산과 -30분 보정은 생략합니다.
53
- - 잘못된 날짜·시각이나 빈 날짜는 오류로 종료합니다. 빈 시각은 시간 미상으로 처리합니다. 다시 실행해 입력하세요. 음력·윤달·고정 시차·다른 출력 형식은 아래 CLI 옵션을 사용하세요.
44
+ - 날짜는 `1998-03-05`처럼 연도 4자리, 월 2자리, 일 2자리를 하이픈으로 구분합니다.
45
+ - 시각은 `11:00`처럼 24시간제의 시, 분을 콜론으로 구분합니다. 오후 11시는 `23:00`, 자정은 `00:00`입니다.
46
+ - 시간을 모르면 시각 질문에서 아무것도 적지 않고 Enter를 누르세요.
47
+ - 시간을 입력하면 **양력, 실행 환경의 현재 GMT 시차, 기본 텍스트 형식**으로 사주를 출력합니다. 시간을 생략하면 양력 날짜 기준으로 계산하며 GMT 환산과 -30분 보정은 생략합니다.
48
+ - 잘못된 날짜, 시각이나 빈 날짜는 오류로 종료합니다. 빈 시각은 시간 미상으로 처리합니다. 다시 실행해 입력하세요. 음력, 윤달, 고정 시차, 다른 출력 형식은 아래 CLI 옵션을 사용하세요.
54
49
 
55
50
  대화형 입력은 **인자가 전혀 없을 때만** 시작합니다. 옵션을 전달하면 `--date` 또는 `--dt`가 필요하며, `--time`은 선택입니다. 입력 안내는 표준 오류(stderr), 계산 결과는 표준 출력(stdout)에 기록합니다.
56
51
 
52
+
53
+
57
54
  ### 날짜와 시각을 한 번에 입력하기
58
55
 
59
- `--dt`는 날짜만 적는 **`YYYYMMDD` 8자리**와 시각까지 적는 **`YYYYMMDDHHmm` 12자리**를 지원합니다. `19980305`는 `--date 1998-03-05`와 같으며 삼주를 출력합니다. `199803051100`은 `--date 1998-03-05 --time 11:00`과 같은 사주를 출력합니다.
56
+ `--dt`는 날짜만 적는 **`YYYYMMDD` 8자리**와 시각까지 적는 **`YYYYMMDDHHmm` 12자리**를 지원합니다. `19980305`는 `--date 1998-03-05`와 같으며 시간없는 사주를 출력합니다. `199803051100`은 `--date 1998-03-05 --time 11:00`과 같은 사주를 출력합니다.
60
57
 
61
58
  ```sh
62
59
  saju8z --dt 19980305
@@ -65,22 +62,22 @@ saju8z --dt 199803051100 --gmt +09:00 --format json
65
62
  saju8z --dt=199803051100 --gmt +09:00 --format prompt
66
63
  ```
67
64
 
68
- **옵션으로 실행할 때는 `--date` 또는 `--dt`를 입력해야 합니다. `--time`은 선택입니다.** `--dt`와 `--date`·`--time`을 혼용하면 오류가 발생합니다. 월·일·시·분은 각각 두 자리로 입력하며, 날짜와 시각의 유효성 검사는 기존 입력 방식과 같습니다. 시간이 있으면 `--gmt` 생략 시 현재 시차를 사용합니다. 시간이 없으면 시차 환산을 생략합니다. `--calendar lunar`·`--leap`는 두 방식 모두 사용할 수 있습니다.
65
+ **옵션으로 실행할 때는 `--date` 또는 `--dt`를 입력해야 합니다. `--time`은 선택입니다.** `--dt`와 `--date`, `--time`을 혼용하면 오류가 발생합니다. 월, 일, 시, 분은 각각 두 자리로 입력하며, 날짜와 시각의 유효성 검사는 기존 입력 방식과 같습니다. 시간이 있으면 `--gmt` 생략 시 현재 시차를 사용합니다. 시간이 없으면 시차 환산을 생략합니다. `--calendar lunar` (음력), `--leap` (윤달)은 두 방식 모두 사용할 수 있습니다.
69
66
 
70
- ### 시간을 모를 때 삼주 출력
67
+ ### 시간을 모를 때 시간없는 사주 출력
71
68
 
72
69
  ```sh
73
70
  saju8z --date 1998-03-05
74
71
  saju8z --dt 19980305
75
72
  ```
76
73
 
77
- 위 두 명령은 동일한 삼주 결과를 반환합니다.
74
+ 위 두 명령은 동일한 시간없는 사주 결과를 반환합니다.
78
75
 
79
76
  ```text
80
77
 
81
78
  [만세력]
82
79
  양력 날짜: 1998-03-05
83
- 출생 시각: 미상 (삼주만 제공하며 시주는 추정하거나 해석하지 않습니다.)
80
+ 출생 시각: 미상 (시간없는 사주만 제공하며 시주는 추정하거나 해석하지 않습니다.)
84
81
  시간 미상으로 GMT 환산과 -30분 보정은 적용하지 않았습니다.
85
82
  일간: 신금(辛金)
86
83
 
@@ -97,7 +94,8 @@ saju8z --dt 19980305
97
94
  - 지지: 해(亥), 수(水), 상관
98
95
  ```
99
96
 
100
- 시각이 없으면 입력 날짜를 그대로 사용합니다. 음력 입력은 양력으로 변환한 날짜를 사용하며, GMT 환산과 -30분 보정은 적용하지 않습니다. 입춘·절입 당일부터 새 년주·월주를 적용합니다. 이 기준은 출생 시각을 추정한 결과가 아닙니다.
97
+ 시각이 없으면 입력 날짜를 그대로 사용합니다. 음력 입력은 양력으로 변환한 날짜를 사용합니다.
98
+ 입춘, 절입 당일부터 새 년주, 월주를 적용합니다.
101
99
 
102
100
  ```sh
103
101
  saju8z --dt 19980305 --format json
@@ -151,7 +149,7 @@ saju8z --dt 19980305 --format json
151
149
 
152
150
  </details>
153
151
 
154
- 시간 미상 결과는 `fourPillars.hour`, `tenGods.hourStem`, `tenGods.hourBranch`가 `null`이며, `normalizedDateTime`·`calculationDateTime`의 `hour`·`minute`도 `null`입니다. 두 날짜 객체는 같은 양력 날짜를 담습니다. 텍스트·프롬프트에는 년주·월주·일주만 표시하고, 프롬프트에는 시주를 추정하거나 해석하지 않도록 안내합니다.
152
+ 시간 미상 결과는 `fourPillars.hour`, `tenGods.hourStem`, `tenGods.hourBranch`가 `null`이며, `normalizedDateTime`, `calculationDateTime`의 `hour`, `minute`도 `null`입니다. 두 날짜 객체는 같은 양력 날짜를 담습니다. 텍스트, 프롬프트에는 년주, 월주, 일주만 표시하고, 프롬프트에는 시주를 추정하거나 해석하지 않도록 안내합니다.
155
153
 
156
154
  ### 출력 형식 선택
157
155
 
@@ -159,7 +157,7 @@ saju8z --dt 19980305 --format json
159
157
  | 옵션 | 결과 |
160
158
  | ----------------- | ------------------------ |
161
159
  | `--format text` | 만세력 텍스트 (기본값) |
162
- | `--format json` | 환산·계산 시각, 사주팔자, 십성의 JSON |
160
+ | `--format json` | 환산, 계산 시각, 사주팔자, 십성의 JSON |
163
161
  | `--format prompt` | AI 전달용 프롬프트 텍스트 |
164
162
 
165
163
 
@@ -168,15 +166,9 @@ saju8z --dt 19980305 --format json
168
166
  ### 만세력 텍스트 출력:
169
167
 
170
168
  ```text
171
- 2000-02-25 04:10
172
- ```
173
-
169
+ saju8z --dt 200002250410
174
170
 
175
171
 
176
- &nbsp;
177
-
178
- ```text
179
-
180
172
  [만세력]
181
173
  양력 환산 시각: 2000-02-25 04:10 (GMT+09:00)
182
174
  -30분 보정 후 계산 시각: 2000-02-25 03:40
@@ -204,7 +196,7 @@ saju8z --dt 19980305 --format json
204
196
  **JSON 출력:**
205
197
 
206
198
  ```sh
207
- npx --yes saju8z --date 2000-02-29 --time 00:10 --gmt +09:00 --format json
199
+ saju8z --date 2000-02-29 --time 00:10 --gmt +09:00 --format json
208
200
  ```
209
201
 
210
202
  <details class="orca-details">
@@ -263,7 +255,7 @@ npx --yes saju8z --date 2000-02-29 --time 00:10 --gmt +09:00 --format json
263
255
  **AI 전달용 프롬프트 출력:**
264
256
 
265
257
  ```sh
266
- npx --yes saju8z --date 2000-02-29 --time 00:10 --gmt +09:00 --format prompt
258
+ saju8z --date 2000-02-29 --time 00:10 --gmt +09:00 --format prompt
267
259
  ```
268
260
 
269
261
  해석 지침 사이에 만세력 계산 결과가 들어갑니다. 생성한 출력 전체를 AI 대화창에 붙여 넣어 사용합니다.
@@ -312,7 +304,7 @@ CLI 자체는 AI를 호출하거나 해석을 생성하지 않습니다.
312
304
  - 사주 용어를 사용하지 마라.
313
305
  - 성격이나 미래를 단정하지 말고 가능한 경향으로 표현해라.
314
306
  - 10살짜리도 이해할 수 있도록 쉽게 풀어서 설명해라.
315
- - 제공되지 않은 대운·세운·지장간 등의 계산 결과를 만들어내지 마라.
307
+ - 제공되지 않은 대운, 세운, 지장간 등의 계산 결과를 만들어내지 마라.
316
308
  - 정보가 부족한 질문에는 무엇이 더 필요한지 설명해라
317
309
  ```
318
310
 
@@ -337,11 +329,11 @@ npx --yes saju8z --date 2017-05-01 --time 12:00 --gmt +09:00 --calendar lunar --
337
329
  ### CLI 옵션과 시차
338
330
 
339
331
 
340
- | 옵션 | 필수 | 기본값·설명 |
332
+ | 옵션 | 필수 | 기본값, 설명 |
341
333
  | -------------- | --- | ----------------------------------------------------- |
342
- | `--dt` | 선택 | 날짜 `YYYYMMDD` 8자리 또는 날짜·시각 `YYYYMMDDHHmm` 12자리 |
334
+ | `--dt` | 선택 | 날짜 `YYYYMMDD` 8자리 또는 날짜, 시각 `YYYYMMDDHHmm` 12자리 |
343
335
  | `--date` | 조건부 | 생년월일 `YYYY-MM-DD`. 옵션 실행 시 `--dt`가 없으면 필수 |
344
- | `--time` | 아니요 | 출생 시각 `HH:mm`, `00:00`\~`23:59`. 생략하면 삼주 출력 |
336
+ | `--time` | 아니요 | 출생 시각 `HH:mm`, `00:00`\~`23:59`. 생략하면 시간없는 사주 출력 |
345
337
  | `--gmt` | 아니요 | 고정 시차 `±HH:mm`, `-12:00`\~`+14:00` 기본값은 실행 환경의 현재 GMT |
346
338
  | `--calendar` | 아니요 | `solar`(기본, 양력) 또는 `lunar`(한국 음력) |
347
339
  | `--leap` | 아니요 | 음력 윤달일 때 지정. `--calendar lunar`와 함께 사용 |
@@ -351,7 +343,10 @@ npx --yes saju8z --date 2017-05-01 --time 12:00 --gmt +09:00 --calendar lunar --
351
343
 
352
344
  시차는 `--gmt -05:00` 또는 `--gmt=-05:00`처럼 전달합니다.
353
345
 
354
- `--gmt`를 생략하면 출생일 당시가 아닌 **실행 시점의 GMT 시차**를 사용합니다. 한국 표준시 환경에서는 `+09:00`이며, 서머타임을 사용하는 환경에서는 현재 서머타임도 반영됩니다. 출생 당시 위치의 시차로 계산하려면 해당 시차를 직접 지정하세요. 시간 미상일 때는 `--gmt` 값에 관계없이 날짜 기준 삼주를 계산합니다. 전달한 GMT 값의 형식과 범위는 계속 검증합니다.
346
+ `--gmt`를 생략하면 출생일 당시가 아닌 **실행 시점의 GMT 시차**를 사용합니다.
347
+ 한국 표준시 환경에서는 `+09:00`이며, 서머타임을 사용하는 환경에서는 현재 서머타임도 반영됩니다.
348
+ 출생 당시 위치의 시차로 계산하려면 해당 시차를 직접 지정하세요.
349
+ 시간 미상일 때는 `--gmt` 값에 관계없이 날짜 기준 사주를 계산합니다. 전달한 GMT 값의 형식과 범위는 계속 검증합니다.
355
350
 
356
351
 
357
352
 
@@ -381,7 +376,7 @@ console.log(formatSajuChart(result, "prompt")); // AI 전달용 프롬프트 문
381
376
  const unknown = calculateSajuChart({ date: "1998-03-05", gmt: "+09:00" });
382
377
  console.log(unknown.fourPillars.hour); // null
383
378
  console.log(unknown.normalizedDateTime.hour); // null
384
- console.log(formatSajuChart(unknown)); // 년·월·일 삼주
379
+ console.log(formatSajuChart(unknown)); // 년, 월, 일 시간없는 사주
385
380
  ```
386
381
 
387
382
  시간을 명시한 호출은 `SajuChartResultWithTime`, 생략한 호출은 `SajuChartResultWithoutTime`으로 추론됩니다. `SajuChartResult`는 두 결과의 유니온입니다. `time`이 선택적인 `SajuChartInput` 변수를 전달하면 결과도 유니온이므로 시주를 사용하기 전에 `null`을 확인하세요. 두 결과 타입은 `saju8z`와 `saju8z/format`에서 가져올 수 있습니다. 저수준 `saju8z/core`의 기존 사주 타입과 함수는 그대로 사용합니다.
@@ -400,7 +395,7 @@ console.log(formatSajuChart(unknown)); // 년·월·일 삼주
400
395
  | `leapMonth` | `boolean` | 아니요 | 음력 윤달 여부. 기본값 `false`, 음력에서만 `true` 허용 |
401
396
 
402
397
 
403
- 라이브러리 API의 `gmt`는 출생 당시 날짜·시간의 시차를 직접 지정합니다. 예를 들어 한국 표준시는 `+09:00`, UTC는 `+00:00`입니다. 실행 환경의 시간대나 지역 이름으로 자동 추정하지 않습니다. `gmt`는 시간 미상 입력에서도 필수이며 형식을 검증하지만, 날짜 기준 계산에는 사용하지 않습니다. `time: ""`·`time: null`은 허용하지 않습니다. CLI에서도 `--time` 값을 비우는 대신 옵션을 생략하고, 대화형 질문에서만 빈 시각을 허용합니다.
398
+ 라이브러리 API의 `gmt`는 출생 당시 날짜, 시간의 시차를 직접 지정합니다. 예를 들어 한국 표준시는 `+09:00`, UTC는 `+00:00`입니다. 실행 환경의 시간대나 지역 이름으로 자동 추정하지 않습니다. `gmt`는 시간 미상 입력에서도 필수이며 형식을 검증하지만, 날짜 기준 계산에는 사용하지 않습니다. `time: ""`, `time: null`은 허용하지 않습니다. CLI에서도 `--time` 값을 비우는 대신 옵션을 생략하고, 대화형 질문에서만 빈 시각을 허용합니다.
404
399
 
405
400
  음력 윤달은 다음과 같이 입력합니다.
406
401
 
@@ -425,12 +420,12 @@ const result = calculateSajuChart({
425
420
  | 필드 | 내용 |
426
421
  | --------------------- | ----------------------------------------------------------------------------------------------------- |
427
422
  | `normalizedDateTime` | 시간이 있으면 GMT+09:00으로 환산한 양력 시각. 시간이 없으면 양력 날짜와 `hour: null`, `minute: null` |
428
- | `calculationDateTime` | 시간이 있으면 -30분 보정한 시각. 시간이 없으면 `normalizedDateTime`과 동일한 날짜·null 시각 |
423
+ | `calculationDateTime` | 시간이 있으면 -30분 보정한 시각. 시간이 없으면 `normalizedDateTime`과 동일한 날짜, null 시각 |
429
424
  | `fourPillars` | `year`, `month`, `day`, `hour`의 사주팔자. 시간이 없으면 `hour: null` |
430
425
  | `tenGods` | 일간 기준 십성. `yearStem`, `yearBranch`, `monthStem`, `monthBranch`, `dayBranch`, `hourStem`, `hourBranch`. 시간 미상이면 마지막 두 필드는 `null` |
431
426
 
432
427
 
433
- 천간·지지·십성은 `"병"`, `"진"`, `"식신"`과 같은 한국어 문자열입니다. 일간 자체의 십성 필드는 없으며, 만세력 텍스트에서는 `본원`으로 표시합니다.
428
+ 천간, 지지, 십성은 `"병"`, `"진"`, `"식신"`과 같은 한국어 문자열입니다. 일간 자체의 십성 필드는 없으며, 만세력 텍스트에서는 `본원`으로 표시합니다.
434
429
 
435
430
 
436
431
 
@@ -440,7 +435,7 @@ const result = calculateSajuChart({
440
435
  | 가져오기 경로 | 용도 |
441
436
  | --------------- | ------------------------------------------------------------------ |
442
437
  | `saju8z` | `calculateSajuChart`, `formatSajuChart`, `UserInputError` 및 입출력 타입 |
443
- | `saju8z/core` | 저수준 계산 함수, 상수, 간지·오행 데이터와 도메인 타입 |
438
+ | `saju8z/core` | 저수준 계산 함수, 상수, 간지, 오행 데이터와 도메인 타입 |
444
439
  | `saju8z/lunar` | `lunarToSolar`, `lunarMonthDays`, `hasLunarLeapMonth` |
445
440
  | `saju8z/format` | `formatSajuChart`, `SajuChartFormat`, `SajuChartResult` 타입 |
446
441
 
@@ -457,13 +452,13 @@ const result = calculateSajuChart({
457
452
  2. 입력 GMT에서 GMT+09:00으로 환산합니다.
458
453
  3. -30분을 보정한 시각으로 사주팔자를 계산합니다.
459
454
 
460
- 시간을 생략한 경우 음력 변환만 수행하고, 시차 환산과 -30분 보정 없이 해당 양력 날짜로 삼주를 계산합니다. 입춘·절입 당일부터 새 년주·월주를 적용하고 일주는 입력 날짜 기준입니다. 임의의 자정·정오를 출생 시각으로 대입하지 않습니다.
455
+ 시간을 생략한 경우 음력 변환만 수행하고, 시차 환산과 -30분 보정 없이 해당 양력 날짜로 시간없는 사주를 계산합니다. 입춘, 절입 당일부터 새 년주, 월주를 적용하고 일주는 입력 날짜 기준입니다. 임의의 자정, 정오를 출생 시각으로 대입하지 않습니다.
461
456
 
462
- 시간을 입력한 경우 년주는 입춘, 월주는 프로젝트의 고정 절입 시각 표, 일주는 자정을 기준으로 합니다. 고정 절입 표는 실제 연도별 천문 절기 시각과 차이가 있을 수 있습니다. 서머타임·역사적 시차·출생지 경도 보정은 자동 적용하지 않습니다.
457
+ 시간을 입력한 경우 년주는 입춘, 월주는 프로젝트의 고정 절입 시각 표, 일주는 자정을 기준으로 합니다. 고정 절입 표는 실제 연도별 천문 절기 시각과 차이가 있을 수 있습니다. 서머타임, 역사적 시차, 출생지 경도 보정은 자동 적용하지 않습니다.
463
458
 
464
459
  양력 입력과 GMT+09:00 환산 날짜는 1900~2100년을 지원합니다. 음력은 1900년부터 음력 2050년 11월 18일까지의 유효 날짜를 지원합니다. 시간을 입력하면 -30분 보정으로 1900년 첫날이 전년 말로 이동할 수 있습니다. 시간이 없으면 해당 날짜를 보존합니다.
465
460
 
466
- 성별 입력은 필요하지 않습니다. 대운·세운·운세·성격 해석 기능은 제공하지 않습니다.
461
+ 성별 입력은 필요하지 않습니다. 대운, 세운, 운세, 성격 해석 기능은 제공하지 않습니다.
467
462
 
468
463
 
469
464
 
@@ -473,9 +468,9 @@ const result = calculateSajuChart({
473
468
  | 위치 | 역할 |
474
469
  | -------------------------- | ----------------------------- |
475
470
  | `src/input/` | 입력 문자열 해석, 형식 검증, 사용자 입력 오류 |
476
- | `src/application/` | 음력·시차 환산과 사주 계산 순서 조합 |
477
- | `src/calendar/` | 날짜 산술, 음력 변환, 절기·태양시 보정 |
478
- | `src/saju/`, `src/domain/` | 사주·십성 계산 규칙, 타입과 기준 데이터 |
471
+ | `src/application/` | 음력, 시차 환산과 사주 계산 순서 조합 |
472
+ | `src/calendar/` | 날짜 산술, 음력 변환, 절기, 태양시 보정 |
473
+ | `src/saju/`, `src/domain/` | 사주, 십성 계산 규칙, 타입과 기준 데이터 |
479
474
  | `src/output/` | 만세력 텍스트 생성, 프롬프트 조립과 출력 형식 선택 |
480
475
  | `bin/` | CLI 옵션 해석과 표준 입출력 |
481
476
  | `test/`, `scripts/` | 회귀 테스트, 빌드와 설치 패키지 검증 |
@@ -487,6 +482,6 @@ const result = calculateSajuChart({
487
482
 
488
483
  이 프로젝트는 [MIT 라이선스](LICENSE)로 배포합니다. Copyright (c) 2026 frogred8.
489
484
 
490
- 상업적 사용·수정·재배포를 허용하며, 소프트웨어의 복사본이나 주요 부분에 저작권 및 라이선스 고지를 유지해야 합니다. 소프트웨어는 보증 없이 제공됩니다. 정확한 조건은 LICENSE 전문을 참고하세요.
485
+ 상업적 사용, 수정, 재배포를 허용하며, 소프트웨어의 복사본이나 주요 부분에 저작권 및 라이선스 고지를 유지해야 합니다. 소프트웨어는 보증 없이 제공됩니다. 정확한 조건은 LICENSE 전문을 참고하세요.
491
486
 
492
487
  번들에 포함된 `korean-lunar-calendar`의 원 저작권 및 MIT 라이선스 고지는 [THIRD-PARTY-LICENSES.txt](THIRD-PARTY-LICENSES.txt)에 별도로 보존합니다.
package/bin/saju8z.js CHANGED
@@ -14,9 +14,9 @@ const HELP_TEXT = `사용법: saju8z
14
14
  옵션으로 실행할 때 필수 입력 (둘 중 하나):
15
15
  --dt 생년월일 8자리 (YYYYMMDD) 또는 생년월일시 12자리 (YYYYMMDDHHmm)
16
16
  --date 생년월일 (YYYY-MM-DD)
17
- --time 출생 시각 (선택, HH:mm, 00:00~23:59). 생략하면 삼주만 계산
17
+ --time 출생 시각 (선택, HH:mm, 00:00~23:59). 생략하면 시간없는 사주만 계산
18
18
  --date 또는 --dt는 필수이며, --dt와 --date·--time은 혼용할 수 없습니다.
19
- 시간이 없으면 입력 날짜 기준으로 삼주를 계산하고 GMT 환산·-30분 보정은 생략합니다.
19
+ 시간이 없으면 입력 날짜 기준으로 시간없는 사주를 계산하고 GMT 환산·-30분 보정은 생략합니다.
20
20
 
21
21
  옵션:
22
22
  --gmt 고정 GMT 시차 (기본: 실행 환경의 현재 시차, -12:00~+14:00)
package/dist/core.cjs CHANGED
@@ -79,7 +79,7 @@ var SUPPORTED_START_YEAR = 1900;
79
79
  var SUPPORTED_END_YEAR = 2100;
80
80
 
81
81
  // src/config/saju8z.ts
82
- var SAJU8Z_VERSION = "1.2.0";
82
+ var SAJU8Z_VERSION = "1.2.1";
83
83
  var SAJU8Z_CALCULATION_PROFILE = "saju8z-fixed-gmt-kst-minus30-v1";
84
84
  var SAJU8Z_CORRECTION_MINUTES = -30;
85
85
 
@@ -234,43 +234,43 @@ function branchIndex(branch) {
234
234
 
235
235
  // src/domain/hanja.ts
236
236
  var STEM_HANJA = {
237
- \uAC11: { hanja: "\u7532", reading: "\uAC11\uC637 \uAC11" },
238
- \uC744: { hanja: "\u4E59", reading: "\uC0C8 \uC744" },
239
- \uBCD1: { hanja: "\u4E19", reading: "\uB0A8\uB158 \uBCD1" },
240
- \uC815: { hanja: "\u4E01", reading: "\uACE0\uBB34\uB798 \uC815" },
241
- \uBB34: { hanja: "\u620A", reading: "\uBB34\uC131\uD560 \uBB34" },
242
- \uAE30: { hanja: "\u5DF1", reading: "\uBAB8 \uAE30" },
243
- \uACBD: { hanja: "\u5E9A", reading: "\uBCC4 \uACBD" },
244
- \uC2E0: { hanja: "\u8F9B", reading: "\uB9E4\uC6B8 \uC2E0" },
245
- \uC784: { hanja: "\u58EC", reading: "\uBD81\uBC29 \uC784" },
246
- \uACC4: { hanja: "\u7678", reading: "\uD5E4\uC544\uB9B4 \uACC4" }
237
+ \uAC11: { hanja: "\u7532", reading: "\uC591/\uBAA9", reading_en: "Yang Wood" },
238
+ \uC744: { hanja: "\u4E59", reading: "\uC74C/\uBAA9", reading_en: "Yin Wood" },
239
+ \uBCD1: { hanja: "\u4E19", reading: "\uC591/\uD654", reading_en: "Yang Fire" },
240
+ \uC815: { hanja: "\u4E01", reading: "\uC74C/\uD654", reading_en: "Yin Fire" },
241
+ \uBB34: { hanja: "\u620A", reading: "\uC591/\uD1A0", reading_en: "Yang Earth" },
242
+ \uAE30: { hanja: "\u5DF1", reading: "\uC74C/\uD1A0", reading_en: "Yin Earth" },
243
+ \uACBD: { hanja: "\u5E9A", reading: "\uC591/\uAE08", reading_en: "Yang Metal" },
244
+ \uC2E0: { hanja: "\u8F9B", reading: "\uC74C/\uAE08", reading_en: "Yin Metal" },
245
+ \uC784: { hanja: "\u58EC", reading: "\uC591/\uC218", reading_en: "Yang Water" },
246
+ \uACC4: { hanja: "\u7678", reading: "\uC74C/\uC218", reading_en: "Yin Water" }
247
247
  };
248
248
  var BRANCH_HANJA = {
249
- \uC790: { hanja: "\u5B50", reading: "\uC544\uB4E4 \uC790" },
250
- \uCD95: { hanja: "\u4E11", reading: "\uC18C \uCD95" },
251
- \uC778: { hanja: "\u5BC5", reading: "\uBC94 \uC778" },
252
- \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C \uBB18" },
253
- \uC9C4: { hanja: "\u8FB0", reading: "\uBCC4 \uC9C4" },
254
- \uC0AC: { hanja: "\u5DF3", reading: "\uBC40 \uC0AC" },
255
- \uC624: { hanja: "\u5348", reading: "\uB0AE \uC624" },
256
- \uBBF8: { hanja: "\u672A", reading: "\uC544\uB2D0 \uBBF8" },
257
- \uC2E0: { hanja: "\u7533", reading: "\uD3BC \uC2E0" },
258
- \uC720: { hanja: "\u9149", reading: "\uB2ED \uC720" },
259
- \uC220: { hanja: "\u620C", reading: "\uAC1C \uC220" },
260
- \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0 \uD574" }
249
+ \uC790: { hanja: "\u5B50", reading: "\uC950", reading_en: "Mouse" },
250
+ \uCD95: { hanja: "\u4E11", reading: "\uC18C", reading_en: "Cow" },
251
+ \uC778: { hanja: "\u5BC5", reading: "\uBC94", reading_en: "Tiger" },
252
+ \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C", reading_en: "Rabbit" },
253
+ \uC9C4: { hanja: "\u8FB0", reading: "\uC6A9", reading_en: "Dragon" },
254
+ \uC0AC: { hanja: "\u5DF3", reading: "\uBC40", reading_en: "Snake" },
255
+ \uC624: { hanja: "\u5348", reading: "\uB9D0", reading_en: "Horse" },
256
+ \uBBF8: { hanja: "\u672A", reading: "\uC591", reading_en: "Sheep" },
257
+ \uC2E0: { hanja: "\u7533", reading: "\uC6D0\uC22D\uC774", reading_en: "Monkey" },
258
+ \uC720: { hanja: "\u9149", reading: "\uB2ED", reading_en: "Chicken" },
259
+ \uC220: { hanja: "\u620C", reading: "\uAC1C", reading_en: "Dog" },
260
+ \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0", reading_en: "Pig" }
261
261
  };
262
262
  var TEN_GOD_HANJA = {
263
- \uBE44\uACAC: { hanja: "\u6BD4\u80A9", reading: "\uACAC\uC904 \uBE44\xB7\uC5B4\uAE68 \uACAC" },
264
- \uAC81\uC7AC: { hanja: "\u52AB\u8CA1", reading: "\uC704\uD611\uD560 \uAC81\xB7\uC7AC\uBB3C \uC7AC" },
265
- \uC2DD\uC2E0: { hanja: "\u98DF\u795E", reading: "\uBA39\uC744 \uC2DD\xB7\uADC0\uC2E0 \uC2E0" },
266
- \uC0C1\uAD00: { hanja: "\u50B7\u5B98", reading: "\uB2E4\uCE60 \uC0C1\xB7\uBCBC\uC2AC \uAD00" },
267
- \uD3B8\uC7AC: { hanja: "\u504F\u8CA1", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uC7AC\uBB3C \uC7AC" },
268
- \uC815\uC7AC: { hanja: "\u6B63\u8CA1", reading: "\uBC14\uB97C \uC815\xB7\uC7AC\uBB3C \uC7AC" },
269
- \uD3B8\uAD00: { hanja: "\u504F\u5B98", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uBCBC\uC2AC \uAD00" },
270
- \uC815\uAD00: { hanja: "\u6B63\u5B98", reading: "\uBC14\uB97C \uC815\xB7\uBCBC\uC2AC \uAD00" },
271
- \uD3B8\uC778: { hanja: "\u504F\u5370", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uB3C4\uC7A5 \uC778" },
272
- \uC815\uC778: { hanja: "\u6B63\u5370", reading: "\uBC14\uB97C \uC815\xB7\uB3C4\uC7A5 \uC778" },
273
- \uBCF8\uC6D0: { hanja: "\u672C\u5143", reading: "\uADFC\uBCF8 \uBCF8\xB7\uC73C\uB738 \uC6D0" }
263
+ \uBE44\uACAC: { hanja: "\u6BD4\u80A9", reading: "\uACAC\uC904 \uBE44\xB7\uC5B4\uAE68 \uACAC", reading_en: "" },
264
+ \uAC81\uC7AC: { hanja: "\u52AB\u8CA1", reading: "\uC704\uD611\uD560 \uAC81\xB7\uC7AC\uBB3C \uC7AC", reading_en: "" },
265
+ \uC2DD\uC2E0: { hanja: "\u98DF\u795E", reading: "\uBA39\uC744 \uC2DD\xB7\uADC0\uC2E0 \uC2E0", reading_en: "" },
266
+ \uC0C1\uAD00: { hanja: "\u50B7\u5B98", reading: "\uB2E4\uCE60 \uC0C1\xB7\uBCBC\uC2AC \uAD00", reading_en: "" },
267
+ \uD3B8\uC7AC: { hanja: "\u504F\u8CA1", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uC7AC\uBB3C \uC7AC", reading_en: "" },
268
+ \uC815\uC7AC: { hanja: "\u6B63\u8CA1", reading: "\uBC14\uB97C \uC815\xB7\uC7AC\uBB3C \uC7AC", reading_en: "" },
269
+ \uD3B8\uAD00: { hanja: "\u504F\u5B98", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uBCBC\uC2AC \uAD00", reading_en: "" },
270
+ \uC815\uAD00: { hanja: "\u6B63\u5B98", reading: "\uBC14\uB97C \uC815\xB7\uBCBC\uC2AC \uAD00", reading_en: "" },
271
+ \uD3B8\uC778: { hanja: "\u504F\u5370", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uB3C4\uC7A5 \uC778", reading_en: "" },
272
+ \uC815\uC778: { hanja: "\u6B63\u5370", reading: "\uBC14\uB97C \uC815\xB7\uB3C4\uC7A5 \uC778", reading_en: "" },
273
+ \uBCF8\uC6D0: { hanja: "\u672C\u5143", reading: "\uADFC\uBCF8 \uBCF8\xB7\uC73C\uB738 \uC6D0", reading_en: "" }
274
274
  };
275
275
 
276
276
  // src/domain/sexagenaryCycle.ts
package/dist/core.js CHANGED
@@ -5,7 +5,7 @@ var SUPPORTED_START_YEAR = 1900;
5
5
  var SUPPORTED_END_YEAR = 2100;
6
6
 
7
7
  // src/config/saju8z.ts
8
- var SAJU8Z_VERSION = "1.2.0";
8
+ var SAJU8Z_VERSION = "1.2.1";
9
9
  var SAJU8Z_CALCULATION_PROFILE = "saju8z-fixed-gmt-kst-minus30-v1";
10
10
  var SAJU8Z_CORRECTION_MINUTES = -30;
11
11
 
@@ -160,43 +160,43 @@ function branchIndex(branch) {
160
160
 
161
161
  // src/domain/hanja.ts
162
162
  var STEM_HANJA = {
163
- \uAC11: { hanja: "\u7532", reading: "\uAC11\uC637 \uAC11" },
164
- \uC744: { hanja: "\u4E59", reading: "\uC0C8 \uC744" },
165
- \uBCD1: { hanja: "\u4E19", reading: "\uB0A8\uB158 \uBCD1" },
166
- \uC815: { hanja: "\u4E01", reading: "\uACE0\uBB34\uB798 \uC815" },
167
- \uBB34: { hanja: "\u620A", reading: "\uBB34\uC131\uD560 \uBB34" },
168
- \uAE30: { hanja: "\u5DF1", reading: "\uBAB8 \uAE30" },
169
- \uACBD: { hanja: "\u5E9A", reading: "\uBCC4 \uACBD" },
170
- \uC2E0: { hanja: "\u8F9B", reading: "\uB9E4\uC6B8 \uC2E0" },
171
- \uC784: { hanja: "\u58EC", reading: "\uBD81\uBC29 \uC784" },
172
- \uACC4: { hanja: "\u7678", reading: "\uD5E4\uC544\uB9B4 \uACC4" }
163
+ \uAC11: { hanja: "\u7532", reading: "\uC591/\uBAA9", reading_en: "Yang Wood" },
164
+ \uC744: { hanja: "\u4E59", reading: "\uC74C/\uBAA9", reading_en: "Yin Wood" },
165
+ \uBCD1: { hanja: "\u4E19", reading: "\uC591/\uD654", reading_en: "Yang Fire" },
166
+ \uC815: { hanja: "\u4E01", reading: "\uC74C/\uD654", reading_en: "Yin Fire" },
167
+ \uBB34: { hanja: "\u620A", reading: "\uC591/\uD1A0", reading_en: "Yang Earth" },
168
+ \uAE30: { hanja: "\u5DF1", reading: "\uC74C/\uD1A0", reading_en: "Yin Earth" },
169
+ \uACBD: { hanja: "\u5E9A", reading: "\uC591/\uAE08", reading_en: "Yang Metal" },
170
+ \uC2E0: { hanja: "\u8F9B", reading: "\uC74C/\uAE08", reading_en: "Yin Metal" },
171
+ \uC784: { hanja: "\u58EC", reading: "\uC591/\uC218", reading_en: "Yang Water" },
172
+ \uACC4: { hanja: "\u7678", reading: "\uC74C/\uC218", reading_en: "Yin Water" }
173
173
  };
174
174
  var BRANCH_HANJA = {
175
- \uC790: { hanja: "\u5B50", reading: "\uC544\uB4E4 \uC790" },
176
- \uCD95: { hanja: "\u4E11", reading: "\uC18C \uCD95" },
177
- \uC778: { hanja: "\u5BC5", reading: "\uBC94 \uC778" },
178
- \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C \uBB18" },
179
- \uC9C4: { hanja: "\u8FB0", reading: "\uBCC4 \uC9C4" },
180
- \uC0AC: { hanja: "\u5DF3", reading: "\uBC40 \uC0AC" },
181
- \uC624: { hanja: "\u5348", reading: "\uB0AE \uC624" },
182
- \uBBF8: { hanja: "\u672A", reading: "\uC544\uB2D0 \uBBF8" },
183
- \uC2E0: { hanja: "\u7533", reading: "\uD3BC \uC2E0" },
184
- \uC720: { hanja: "\u9149", reading: "\uB2ED \uC720" },
185
- \uC220: { hanja: "\u620C", reading: "\uAC1C \uC220" },
186
- \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0 \uD574" }
175
+ \uC790: { hanja: "\u5B50", reading: "\uC950", reading_en: "Mouse" },
176
+ \uCD95: { hanja: "\u4E11", reading: "\uC18C", reading_en: "Cow" },
177
+ \uC778: { hanja: "\u5BC5", reading: "\uBC94", reading_en: "Tiger" },
178
+ \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C", reading_en: "Rabbit" },
179
+ \uC9C4: { hanja: "\u8FB0", reading: "\uC6A9", reading_en: "Dragon" },
180
+ \uC0AC: { hanja: "\u5DF3", reading: "\uBC40", reading_en: "Snake" },
181
+ \uC624: { hanja: "\u5348", reading: "\uB9D0", reading_en: "Horse" },
182
+ \uBBF8: { hanja: "\u672A", reading: "\uC591", reading_en: "Sheep" },
183
+ \uC2E0: { hanja: "\u7533", reading: "\uC6D0\uC22D\uC774", reading_en: "Monkey" },
184
+ \uC720: { hanja: "\u9149", reading: "\uB2ED", reading_en: "Chicken" },
185
+ \uC220: { hanja: "\u620C", reading: "\uAC1C", reading_en: "Dog" },
186
+ \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0", reading_en: "Pig" }
187
187
  };
188
188
  var TEN_GOD_HANJA = {
189
- \uBE44\uACAC: { hanja: "\u6BD4\u80A9", reading: "\uACAC\uC904 \uBE44\xB7\uC5B4\uAE68 \uACAC" },
190
- \uAC81\uC7AC: { hanja: "\u52AB\u8CA1", reading: "\uC704\uD611\uD560 \uAC81\xB7\uC7AC\uBB3C \uC7AC" },
191
- \uC2DD\uC2E0: { hanja: "\u98DF\u795E", reading: "\uBA39\uC744 \uC2DD\xB7\uADC0\uC2E0 \uC2E0" },
192
- \uC0C1\uAD00: { hanja: "\u50B7\u5B98", reading: "\uB2E4\uCE60 \uC0C1\xB7\uBCBC\uC2AC \uAD00" },
193
- \uD3B8\uC7AC: { hanja: "\u504F\u8CA1", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uC7AC\uBB3C \uC7AC" },
194
- \uC815\uC7AC: { hanja: "\u6B63\u8CA1", reading: "\uBC14\uB97C \uC815\xB7\uC7AC\uBB3C \uC7AC" },
195
- \uD3B8\uAD00: { hanja: "\u504F\u5B98", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uBCBC\uC2AC \uAD00" },
196
- \uC815\uAD00: { hanja: "\u6B63\u5B98", reading: "\uBC14\uB97C \uC815\xB7\uBCBC\uC2AC \uAD00" },
197
- \uD3B8\uC778: { hanja: "\u504F\u5370", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uB3C4\uC7A5 \uC778" },
198
- \uC815\uC778: { hanja: "\u6B63\u5370", reading: "\uBC14\uB97C \uC815\xB7\uB3C4\uC7A5 \uC778" },
199
- \uBCF8\uC6D0: { hanja: "\u672C\u5143", reading: "\uADFC\uBCF8 \uBCF8\xB7\uC73C\uB738 \uC6D0" }
189
+ \uBE44\uACAC: { hanja: "\u6BD4\u80A9", reading: "\uACAC\uC904 \uBE44\xB7\uC5B4\uAE68 \uACAC", reading_en: "" },
190
+ \uAC81\uC7AC: { hanja: "\u52AB\u8CA1", reading: "\uC704\uD611\uD560 \uAC81\xB7\uC7AC\uBB3C \uC7AC", reading_en: "" },
191
+ \uC2DD\uC2E0: { hanja: "\u98DF\u795E", reading: "\uBA39\uC744 \uC2DD\xB7\uADC0\uC2E0 \uC2E0", reading_en: "" },
192
+ \uC0C1\uAD00: { hanja: "\u50B7\u5B98", reading: "\uB2E4\uCE60 \uC0C1\xB7\uBCBC\uC2AC \uAD00", reading_en: "" },
193
+ \uD3B8\uC7AC: { hanja: "\u504F\u8CA1", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uC7AC\uBB3C \uC7AC", reading_en: "" },
194
+ \uC815\uC7AC: { hanja: "\u6B63\u8CA1", reading: "\uBC14\uB97C \uC815\xB7\uC7AC\uBB3C \uC7AC", reading_en: "" },
195
+ \uD3B8\uAD00: { hanja: "\u504F\u5B98", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uBCBC\uC2AC \uAD00", reading_en: "" },
196
+ \uC815\uAD00: { hanja: "\u6B63\u5B98", reading: "\uBC14\uB97C \uC815\xB7\uBCBC\uC2AC \uAD00", reading_en: "" },
197
+ \uD3B8\uC778: { hanja: "\u504F\u5370", reading: "\uCE58\uC6B0\uCE60 \uD3B8\xB7\uB3C4\uC7A5 \uC778", reading_en: "" },
198
+ \uC815\uC778: { hanja: "\u6B63\u5370", reading: "\uBC14\uB97C \uC815\xB7\uB3C4\uC7A5 \uC778", reading_en: "" },
199
+ \uBCF8\uC6D0: { hanja: "\u672C\u5143", reading: "\uADFC\uBCF8 \uBCF8\xB7\uC73C\uB738 \uC6D0", reading_en: "" }
200
200
  };
201
201
 
202
202
  // src/domain/sexagenaryCycle.ts
package/dist/format.cjs CHANGED
@@ -180,30 +180,30 @@ var BRANCH_INFO = {
180
180
 
181
181
  // src/domain/hanja.ts
182
182
  var STEM_HANJA = {
183
- \uAC11: { hanja: "\u7532", reading: "\uAC11\uC637 \uAC11" },
184
- \uC744: { hanja: "\u4E59", reading: "\uC0C8 \uC744" },
185
- \uBCD1: { hanja: "\u4E19", reading: "\uB0A8\uB158 \uBCD1" },
186
- \uC815: { hanja: "\u4E01", reading: "\uACE0\uBB34\uB798 \uC815" },
187
- \uBB34: { hanja: "\u620A", reading: "\uBB34\uC131\uD560 \uBB34" },
188
- \uAE30: { hanja: "\u5DF1", reading: "\uBAB8 \uAE30" },
189
- \uACBD: { hanja: "\u5E9A", reading: "\uBCC4 \uACBD" },
190
- \uC2E0: { hanja: "\u8F9B", reading: "\uB9E4\uC6B8 \uC2E0" },
191
- \uC784: { hanja: "\u58EC", reading: "\uBD81\uBC29 \uC784" },
192
- \uACC4: { hanja: "\u7678", reading: "\uD5E4\uC544\uB9B4 \uACC4" }
183
+ \uAC11: { hanja: "\u7532", reading: "\uC591/\uBAA9", reading_en: "Yang Wood" },
184
+ \uC744: { hanja: "\u4E59", reading: "\uC74C/\uBAA9", reading_en: "Yin Wood" },
185
+ \uBCD1: { hanja: "\u4E19", reading: "\uC591/\uD654", reading_en: "Yang Fire" },
186
+ \uC815: { hanja: "\u4E01", reading: "\uC74C/\uD654", reading_en: "Yin Fire" },
187
+ \uBB34: { hanja: "\u620A", reading: "\uC591/\uD1A0", reading_en: "Yang Earth" },
188
+ \uAE30: { hanja: "\u5DF1", reading: "\uC74C/\uD1A0", reading_en: "Yin Earth" },
189
+ \uACBD: { hanja: "\u5E9A", reading: "\uC591/\uAE08", reading_en: "Yang Metal" },
190
+ \uC2E0: { hanja: "\u8F9B", reading: "\uC74C/\uAE08", reading_en: "Yin Metal" },
191
+ \uC784: { hanja: "\u58EC", reading: "\uC591/\uC218", reading_en: "Yang Water" },
192
+ \uACC4: { hanja: "\u7678", reading: "\uC74C/\uC218", reading_en: "Yin Water" }
193
193
  };
194
194
  var BRANCH_HANJA = {
195
- \uC790: { hanja: "\u5B50", reading: "\uC544\uB4E4 \uC790" },
196
- \uCD95: { hanja: "\u4E11", reading: "\uC18C \uCD95" },
197
- \uC778: { hanja: "\u5BC5", reading: "\uBC94 \uC778" },
198
- \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C \uBB18" },
199
- \uC9C4: { hanja: "\u8FB0", reading: "\uBCC4 \uC9C4" },
200
- \uC0AC: { hanja: "\u5DF3", reading: "\uBC40 \uC0AC" },
201
- \uC624: { hanja: "\u5348", reading: "\uB0AE \uC624" },
202
- \uBBF8: { hanja: "\u672A", reading: "\uC544\uB2D0 \uBBF8" },
203
- \uC2E0: { hanja: "\u7533", reading: "\uD3BC \uC2E0" },
204
- \uC720: { hanja: "\u9149", reading: "\uB2ED \uC720" },
205
- \uC220: { hanja: "\u620C", reading: "\uAC1C \uC220" },
206
- \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0 \uD574" }
195
+ \uC790: { hanja: "\u5B50", reading: "\uC950", reading_en: "Mouse" },
196
+ \uCD95: { hanja: "\u4E11", reading: "\uC18C", reading_en: "Cow" },
197
+ \uC778: { hanja: "\u5BC5", reading: "\uBC94", reading_en: "Tiger" },
198
+ \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C", reading_en: "Rabbit" },
199
+ \uC9C4: { hanja: "\u8FB0", reading: "\uC6A9", reading_en: "Dragon" },
200
+ \uC0AC: { hanja: "\u5DF3", reading: "\uBC40", reading_en: "Snake" },
201
+ \uC624: { hanja: "\u5348", reading: "\uB9D0", reading_en: "Horse" },
202
+ \uBBF8: { hanja: "\u672A", reading: "\uC591", reading_en: "Sheep" },
203
+ \uC2E0: { hanja: "\u7533", reading: "\uC6D0\uC22D\uC774", reading_en: "Monkey" },
204
+ \uC720: { hanja: "\u9149", reading: "\uB2ED", reading_en: "Chicken" },
205
+ \uC220: { hanja: "\u620C", reading: "\uAC1C", reading_en: "Dog" },
206
+ \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0", reading_en: "Pig" }
207
207
  };
208
208
 
209
209
  // src/domain/stems.ts
@@ -271,7 +271,7 @@ function formatSajuText(result) {
271
271
  "[\uB9CC\uC138\uB825]",
272
272
  ...result.normalizedDateTime.hour === null ? [
273
273
  `\uC591\uB825 \uB0A0\uC9DC: ${formatDateTime(result.normalizedDateTime)}`,
274
- "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC0BC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
274
+ "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC2DC\uAC04\uC5C6\uB294 \uC0AC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
275
275
  "\uC2DC\uAC04 \uBBF8\uC0C1\uC73C\uB85C GMT \uD658\uC0B0\uACFC -30\uBD84 \uBCF4\uC815\uC740 \uC801\uC6A9\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."
276
276
  ] : [
277
277
  `\uC591\uB825 \uD658\uC0B0 \uC2DC\uAC01: ${formatDateTime(result.normalizedDateTime)} (GMT+09:00)`,
package/dist/format.js CHANGED
@@ -155,30 +155,30 @@ var BRANCH_INFO = {
155
155
 
156
156
  // src/domain/hanja.ts
157
157
  var STEM_HANJA = {
158
- \uAC11: { hanja: "\u7532", reading: "\uAC11\uC637 \uAC11" },
159
- \uC744: { hanja: "\u4E59", reading: "\uC0C8 \uC744" },
160
- \uBCD1: { hanja: "\u4E19", reading: "\uB0A8\uB158 \uBCD1" },
161
- \uC815: { hanja: "\u4E01", reading: "\uACE0\uBB34\uB798 \uC815" },
162
- \uBB34: { hanja: "\u620A", reading: "\uBB34\uC131\uD560 \uBB34" },
163
- \uAE30: { hanja: "\u5DF1", reading: "\uBAB8 \uAE30" },
164
- \uACBD: { hanja: "\u5E9A", reading: "\uBCC4 \uACBD" },
165
- \uC2E0: { hanja: "\u8F9B", reading: "\uB9E4\uC6B8 \uC2E0" },
166
- \uC784: { hanja: "\u58EC", reading: "\uBD81\uBC29 \uC784" },
167
- \uACC4: { hanja: "\u7678", reading: "\uD5E4\uC544\uB9B4 \uACC4" }
158
+ \uAC11: { hanja: "\u7532", reading: "\uC591/\uBAA9", reading_en: "Yang Wood" },
159
+ \uC744: { hanja: "\u4E59", reading: "\uC74C/\uBAA9", reading_en: "Yin Wood" },
160
+ \uBCD1: { hanja: "\u4E19", reading: "\uC591/\uD654", reading_en: "Yang Fire" },
161
+ \uC815: { hanja: "\u4E01", reading: "\uC74C/\uD654", reading_en: "Yin Fire" },
162
+ \uBB34: { hanja: "\u620A", reading: "\uC591/\uD1A0", reading_en: "Yang Earth" },
163
+ \uAE30: { hanja: "\u5DF1", reading: "\uC74C/\uD1A0", reading_en: "Yin Earth" },
164
+ \uACBD: { hanja: "\u5E9A", reading: "\uC591/\uAE08", reading_en: "Yang Metal" },
165
+ \uC2E0: { hanja: "\u8F9B", reading: "\uC74C/\uAE08", reading_en: "Yin Metal" },
166
+ \uC784: { hanja: "\u58EC", reading: "\uC591/\uC218", reading_en: "Yang Water" },
167
+ \uACC4: { hanja: "\u7678", reading: "\uC74C/\uC218", reading_en: "Yin Water" }
168
168
  };
169
169
  var BRANCH_HANJA = {
170
- \uC790: { hanja: "\u5B50", reading: "\uC544\uB4E4 \uC790" },
171
- \uCD95: { hanja: "\u4E11", reading: "\uC18C \uCD95" },
172
- \uC778: { hanja: "\u5BC5", reading: "\uBC94 \uC778" },
173
- \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C \uBB18" },
174
- \uC9C4: { hanja: "\u8FB0", reading: "\uBCC4 \uC9C4" },
175
- \uC0AC: { hanja: "\u5DF3", reading: "\uBC40 \uC0AC" },
176
- \uC624: { hanja: "\u5348", reading: "\uB0AE \uC624" },
177
- \uBBF8: { hanja: "\u672A", reading: "\uC544\uB2D0 \uBBF8" },
178
- \uC2E0: { hanja: "\u7533", reading: "\uD3BC \uC2E0" },
179
- \uC720: { hanja: "\u9149", reading: "\uB2ED \uC720" },
180
- \uC220: { hanja: "\u620C", reading: "\uAC1C \uC220" },
181
- \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0 \uD574" }
170
+ \uC790: { hanja: "\u5B50", reading: "\uC950", reading_en: "Mouse" },
171
+ \uCD95: { hanja: "\u4E11", reading: "\uC18C", reading_en: "Cow" },
172
+ \uC778: { hanja: "\u5BC5", reading: "\uBC94", reading_en: "Tiger" },
173
+ \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C", reading_en: "Rabbit" },
174
+ \uC9C4: { hanja: "\u8FB0", reading: "\uC6A9", reading_en: "Dragon" },
175
+ \uC0AC: { hanja: "\u5DF3", reading: "\uBC40", reading_en: "Snake" },
176
+ \uC624: { hanja: "\u5348", reading: "\uB9D0", reading_en: "Horse" },
177
+ \uBBF8: { hanja: "\u672A", reading: "\uC591", reading_en: "Sheep" },
178
+ \uC2E0: { hanja: "\u7533", reading: "\uC6D0\uC22D\uC774", reading_en: "Monkey" },
179
+ \uC720: { hanja: "\u9149", reading: "\uB2ED", reading_en: "Chicken" },
180
+ \uC220: { hanja: "\u620C", reading: "\uAC1C", reading_en: "Dog" },
181
+ \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0", reading_en: "Pig" }
182
182
  };
183
183
 
184
184
  // src/domain/stems.ts
@@ -246,7 +246,7 @@ function formatSajuText(result) {
246
246
  "[\uB9CC\uC138\uB825]",
247
247
  ...result.normalizedDateTime.hour === null ? [
248
248
  `\uC591\uB825 \uB0A0\uC9DC: ${formatDateTime(result.normalizedDateTime)}`,
249
- "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC0BC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
249
+ "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC2DC\uAC04\uC5C6\uB294 \uC0AC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
250
250
  "\uC2DC\uAC04 \uBBF8\uC0C1\uC73C\uB85C GMT \uD658\uC0B0\uACFC -30\uBD84 \uBCF4\uC815\uC740 \uC801\uC6A9\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."
251
251
  ] : [
252
252
  `\uC591\uB825 \uD658\uC0B0 \uC2DC\uAC01: ${formatDateTime(result.normalizedDateTime)} (GMT+09:00)`,
package/dist/index.cjs CHANGED
@@ -1992,30 +1992,30 @@ ${RESPONSE_INSTRUCTIONS}`;
1992
1992
 
1993
1993
  // src/domain/hanja.ts
1994
1994
  var STEM_HANJA = {
1995
- \uAC11: { hanja: "\u7532", reading: "\uAC11\uC637 \uAC11" },
1996
- \uC744: { hanja: "\u4E59", reading: "\uC0C8 \uC744" },
1997
- \uBCD1: { hanja: "\u4E19", reading: "\uB0A8\uB158 \uBCD1" },
1998
- \uC815: { hanja: "\u4E01", reading: "\uACE0\uBB34\uB798 \uC815" },
1999
- \uBB34: { hanja: "\u620A", reading: "\uBB34\uC131\uD560 \uBB34" },
2000
- \uAE30: { hanja: "\u5DF1", reading: "\uBAB8 \uAE30" },
2001
- \uACBD: { hanja: "\u5E9A", reading: "\uBCC4 \uACBD" },
2002
- \uC2E0: { hanja: "\u8F9B", reading: "\uB9E4\uC6B8 \uC2E0" },
2003
- \uC784: { hanja: "\u58EC", reading: "\uBD81\uBC29 \uC784" },
2004
- \uACC4: { hanja: "\u7678", reading: "\uD5E4\uC544\uB9B4 \uACC4" }
1995
+ \uAC11: { hanja: "\u7532", reading: "\uC591/\uBAA9", reading_en: "Yang Wood" },
1996
+ \uC744: { hanja: "\u4E59", reading: "\uC74C/\uBAA9", reading_en: "Yin Wood" },
1997
+ \uBCD1: { hanja: "\u4E19", reading: "\uC591/\uD654", reading_en: "Yang Fire" },
1998
+ \uC815: { hanja: "\u4E01", reading: "\uC74C/\uD654", reading_en: "Yin Fire" },
1999
+ \uBB34: { hanja: "\u620A", reading: "\uC591/\uD1A0", reading_en: "Yang Earth" },
2000
+ \uAE30: { hanja: "\u5DF1", reading: "\uC74C/\uD1A0", reading_en: "Yin Earth" },
2001
+ \uACBD: { hanja: "\u5E9A", reading: "\uC591/\uAE08", reading_en: "Yang Metal" },
2002
+ \uC2E0: { hanja: "\u8F9B", reading: "\uC74C/\uAE08", reading_en: "Yin Metal" },
2003
+ \uC784: { hanja: "\u58EC", reading: "\uC591/\uC218", reading_en: "Yang Water" },
2004
+ \uACC4: { hanja: "\u7678", reading: "\uC74C/\uC218", reading_en: "Yin Water" }
2005
2005
  };
2006
2006
  var BRANCH_HANJA = {
2007
- \uC790: { hanja: "\u5B50", reading: "\uC544\uB4E4 \uC790" },
2008
- \uCD95: { hanja: "\u4E11", reading: "\uC18C \uCD95" },
2009
- \uC778: { hanja: "\u5BC5", reading: "\uBC94 \uC778" },
2010
- \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C \uBB18" },
2011
- \uC9C4: { hanja: "\u8FB0", reading: "\uBCC4 \uC9C4" },
2012
- \uC0AC: { hanja: "\u5DF3", reading: "\uBC40 \uC0AC" },
2013
- \uC624: { hanja: "\u5348", reading: "\uB0AE \uC624" },
2014
- \uBBF8: { hanja: "\u672A", reading: "\uC544\uB2D0 \uBBF8" },
2015
- \uC2E0: { hanja: "\u7533", reading: "\uD3BC \uC2E0" },
2016
- \uC720: { hanja: "\u9149", reading: "\uB2ED \uC720" },
2017
- \uC220: { hanja: "\u620C", reading: "\uAC1C \uC220" },
2018
- \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0 \uD574" }
2007
+ \uC790: { hanja: "\u5B50", reading: "\uC950", reading_en: "Mouse" },
2008
+ \uCD95: { hanja: "\u4E11", reading: "\uC18C", reading_en: "Cow" },
2009
+ \uC778: { hanja: "\u5BC5", reading: "\uBC94", reading_en: "Tiger" },
2010
+ \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C", reading_en: "Rabbit" },
2011
+ \uC9C4: { hanja: "\u8FB0", reading: "\uC6A9", reading_en: "Dragon" },
2012
+ \uC0AC: { hanja: "\u5DF3", reading: "\uBC40", reading_en: "Snake" },
2013
+ \uC624: { hanja: "\u5348", reading: "\uB9D0", reading_en: "Horse" },
2014
+ \uBBF8: { hanja: "\u672A", reading: "\uC591", reading_en: "Sheep" },
2015
+ \uC2E0: { hanja: "\u7533", reading: "\uC6D0\uC22D\uC774", reading_en: "Monkey" },
2016
+ \uC720: { hanja: "\u9149", reading: "\uB2ED", reading_en: "Chicken" },
2017
+ \uC220: { hanja: "\u620C", reading: "\uAC1C", reading_en: "Dog" },
2018
+ \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0", reading_en: "Pig" }
2019
2019
  };
2020
2020
 
2021
2021
  // src/output/chartPresentation.ts
@@ -2069,7 +2069,7 @@ function formatSajuText(result) {
2069
2069
  "[\uB9CC\uC138\uB825]",
2070
2070
  ...result.normalizedDateTime.hour === null ? [
2071
2071
  `\uC591\uB825 \uB0A0\uC9DC: ${formatDateTime(result.normalizedDateTime)}`,
2072
- "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC0BC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
2072
+ "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC2DC\uAC04\uC5C6\uB294 \uC0AC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
2073
2073
  "\uC2DC\uAC04 \uBBF8\uC0C1\uC73C\uB85C GMT \uD658\uC0B0\uACFC -30\uBD84 \uBCF4\uC815\uC740 \uC801\uC6A9\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."
2074
2074
  ] : [
2075
2075
  `\uC591\uB825 \uD658\uC0B0 \uC2DC\uAC01: ${formatDateTime(result.normalizedDateTime)} (GMT+09:00)`,
package/dist/index.js CHANGED
@@ -1965,30 +1965,30 @@ ${RESPONSE_INSTRUCTIONS}`;
1965
1965
 
1966
1966
  // src/domain/hanja.ts
1967
1967
  var STEM_HANJA = {
1968
- \uAC11: { hanja: "\u7532", reading: "\uAC11\uC637 \uAC11" },
1969
- \uC744: { hanja: "\u4E59", reading: "\uC0C8 \uC744" },
1970
- \uBCD1: { hanja: "\u4E19", reading: "\uB0A8\uB158 \uBCD1" },
1971
- \uC815: { hanja: "\u4E01", reading: "\uACE0\uBB34\uB798 \uC815" },
1972
- \uBB34: { hanja: "\u620A", reading: "\uBB34\uC131\uD560 \uBB34" },
1973
- \uAE30: { hanja: "\u5DF1", reading: "\uBAB8 \uAE30" },
1974
- \uACBD: { hanja: "\u5E9A", reading: "\uBCC4 \uACBD" },
1975
- \uC2E0: { hanja: "\u8F9B", reading: "\uB9E4\uC6B8 \uC2E0" },
1976
- \uC784: { hanja: "\u58EC", reading: "\uBD81\uBC29 \uC784" },
1977
- \uACC4: { hanja: "\u7678", reading: "\uD5E4\uC544\uB9B4 \uACC4" }
1968
+ \uAC11: { hanja: "\u7532", reading: "\uC591/\uBAA9", reading_en: "Yang Wood" },
1969
+ \uC744: { hanja: "\u4E59", reading: "\uC74C/\uBAA9", reading_en: "Yin Wood" },
1970
+ \uBCD1: { hanja: "\u4E19", reading: "\uC591/\uD654", reading_en: "Yang Fire" },
1971
+ \uC815: { hanja: "\u4E01", reading: "\uC74C/\uD654", reading_en: "Yin Fire" },
1972
+ \uBB34: { hanja: "\u620A", reading: "\uC591/\uD1A0", reading_en: "Yang Earth" },
1973
+ \uAE30: { hanja: "\u5DF1", reading: "\uC74C/\uD1A0", reading_en: "Yin Earth" },
1974
+ \uACBD: { hanja: "\u5E9A", reading: "\uC591/\uAE08", reading_en: "Yang Metal" },
1975
+ \uC2E0: { hanja: "\u8F9B", reading: "\uC74C/\uAE08", reading_en: "Yin Metal" },
1976
+ \uC784: { hanja: "\u58EC", reading: "\uC591/\uC218", reading_en: "Yang Water" },
1977
+ \uACC4: { hanja: "\u7678", reading: "\uC74C/\uC218", reading_en: "Yin Water" }
1978
1978
  };
1979
1979
  var BRANCH_HANJA = {
1980
- \uC790: { hanja: "\u5B50", reading: "\uC544\uB4E4 \uC790" },
1981
- \uCD95: { hanja: "\u4E11", reading: "\uC18C \uCD95" },
1982
- \uC778: { hanja: "\u5BC5", reading: "\uBC94 \uC778" },
1983
- \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C \uBB18" },
1984
- \uC9C4: { hanja: "\u8FB0", reading: "\uBCC4 \uC9C4" },
1985
- \uC0AC: { hanja: "\u5DF3", reading: "\uBC40 \uC0AC" },
1986
- \uC624: { hanja: "\u5348", reading: "\uB0AE \uC624" },
1987
- \uBBF8: { hanja: "\u672A", reading: "\uC544\uB2D0 \uBBF8" },
1988
- \uC2E0: { hanja: "\u7533", reading: "\uD3BC \uC2E0" },
1989
- \uC720: { hanja: "\u9149", reading: "\uB2ED \uC720" },
1990
- \uC220: { hanja: "\u620C", reading: "\uAC1C \uC220" },
1991
- \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0 \uD574" }
1980
+ \uC790: { hanja: "\u5B50", reading: "\uC950", reading_en: "Mouse" },
1981
+ \uCD95: { hanja: "\u4E11", reading: "\uC18C", reading_en: "Cow" },
1982
+ \uC778: { hanja: "\u5BC5", reading: "\uBC94", reading_en: "Tiger" },
1983
+ \uBB18: { hanja: "\u536F", reading: "\uD1A0\uB07C", reading_en: "Rabbit" },
1984
+ \uC9C4: { hanja: "\u8FB0", reading: "\uC6A9", reading_en: "Dragon" },
1985
+ \uC0AC: { hanja: "\u5DF3", reading: "\uBC40", reading_en: "Snake" },
1986
+ \uC624: { hanja: "\u5348", reading: "\uB9D0", reading_en: "Horse" },
1987
+ \uBBF8: { hanja: "\u672A", reading: "\uC591", reading_en: "Sheep" },
1988
+ \uC2E0: { hanja: "\u7533", reading: "\uC6D0\uC22D\uC774", reading_en: "Monkey" },
1989
+ \uC720: { hanja: "\u9149", reading: "\uB2ED", reading_en: "Chicken" },
1990
+ \uC220: { hanja: "\u620C", reading: "\uAC1C", reading_en: "Dog" },
1991
+ \uD574: { hanja: "\u4EA5", reading: "\uB3FC\uC9C0", reading_en: "Pig" }
1992
1992
  };
1993
1993
 
1994
1994
  // src/output/chartPresentation.ts
@@ -2042,7 +2042,7 @@ function formatSajuText(result) {
2042
2042
  "[\uB9CC\uC138\uB825]",
2043
2043
  ...result.normalizedDateTime.hour === null ? [
2044
2044
  `\uC591\uB825 \uB0A0\uC9DC: ${formatDateTime(result.normalizedDateTime)}`,
2045
- "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC0BC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
2045
+ "\uCD9C\uC0DD \uC2DC\uAC01: \uBBF8\uC0C1 (\uC2DC\uAC04\uC5C6\uB294 \uC0AC\uC8FC\uB9CC \uC81C\uACF5\uD558\uBA70 \uC2DC\uC8FC\uB294 \uCD94\uC815\uD558\uAC70\uB098 \uD574\uC11D\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.)",
2046
2046
  "\uC2DC\uAC04 \uBBF8\uC0C1\uC73C\uB85C GMT \uD658\uC0B0\uACFC -30\uBD84 \uBCF4\uC815\uC740 \uC801\uC6A9\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4."
2047
2047
  ] : [
2048
2048
  `\uC591\uB825 \uD658\uC0B0 \uC2DC\uAC01: ${formatDateTime(result.normalizedDateTime)} (GMT+09:00)`,
@@ -1,3 +1,3 @@
1
- export declare const SAJU8Z_VERSION = "1.2.0";
1
+ export declare const SAJU8Z_VERSION = "1.2.1";
2
2
  export declare const SAJU8Z_CALCULATION_PROFILE = "saju8z-fixed-gmt-kst-minus30-v1";
3
3
  export declare const SAJU8Z_CORRECTION_MINUTES = -30;
@@ -2,6 +2,7 @@ import type { EarthlyBranch, HeavenlyStem, TenGod } from "./types.js";
2
2
  interface HanjaReading {
3
3
  hanja: string;
4
4
  reading: string;
5
+ reading_en: string;
5
6
  }
6
7
  export declare const STEM_HANJA: Readonly<Record<HeavenlyStem, HanjaReading>>;
7
8
  export declare const BRANCH_HANJA: Readonly<Record<EarthlyBranch, HanjaReading>>;
@@ -1,3 +1,3 @@
1
- export declare const SAJU8Z_VERSION = "1.2.0";
1
+ export declare const SAJU8Z_VERSION = "1.2.1";
2
2
  export declare const SAJU8Z_CALCULATION_PROFILE = "saju8z-fixed-gmt-kst-minus30-v1";
3
3
  export declare const SAJU8Z_CORRECTION_MINUTES = -30;
@@ -2,6 +2,7 @@ import type { EarthlyBranch, HeavenlyStem, TenGod } from "./types.js";
2
2
  interface HanjaReading {
3
3
  hanja: string;
4
4
  reading: string;
5
+ reading_en: string;
5
6
  }
6
7
  export declare const STEM_HANJA: Readonly<Record<HeavenlyStem, HanjaReading>>;
7
8
  export declare const BRANCH_HANJA: Readonly<Record<EarthlyBranch, HanjaReading>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "saju8z",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Offline, deterministic Four Pillars calculation for browser and Node.js applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",