kor-lunar 1.0.2 → 1.1.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.md +58 -3
- package/dist/kor-lunar.esm.js +26 -0
- package/dist/kor-lunar.esm.js.map +1 -1
- package/dist/kor-lunar.js +26 -0
- package/dist/kor-lunar.js.map +1 -1
- package/dist/kor-lunar.min.js +1 -1
- package/dist/lunar-data.d.ts +3 -0
- package/dist/solar-data.d.ts +3 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,65 @@
|
|
|
1
1
|
# kor-lunar
|
|
2
2
|
|
|
3
|
-
한국천문연구원(KASI)
|
|
3
|
+
이 라이브러리는 학습용으로 제작되었으며, 한국천문연구원(KASI)의 음력·양력 데이터를 기반으로 한 자바스크립트 라이브러리입니다. 오프라인 환경에서도 사용할 수 있도록 구현되었습니다.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **⚠️ 주의:** 데이터는 2016년 이후로 갱신되지 않아 최신 변경 사항이 반영되지 않을 수 있습니다. 중요한 작업에는 아래 [한국천문연구원 공식 API](#출처-및-참고-자료)를 사용하시기 바랍니다.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## 특징
|
|
8
|
+
|
|
9
|
+
- 음력 ↔ 양력 변환 지원
|
|
10
|
+
- 윤달 처리 가능 (`isLeapMonth` 옵션)
|
|
11
|
+
- 오프라인 환경에서도 사용 가능
|
|
12
|
+
|
|
13
|
+
## 지원 날짜 범위
|
|
14
|
+
|
|
15
|
+
- **toLunar**: `양력 → 음력` 날짜 범위 1890년 1월 21일 ~ 2050년 1월 22일
|
|
16
|
+
- **toSolar**: `음력 → 양력` 날짜 범위 1890년 1월 1일 ~ 2049년 12월 29일
|
|
17
|
+
|
|
18
|
+
_범위를 벗어난 날짜가 입력될 경우 `RangeError`가 발생하며, 오류 메시지에 입력한 날짜 정보가 포함됩니다._
|
|
19
|
+
|
|
20
|
+
## 설치
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install kor-lunar
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 사용법
|
|
27
|
+
|
|
28
|
+
### 모듈 불러오기
|
|
29
|
+
|
|
30
|
+
```js
|
|
31
|
+
import korLunar from "kor-lunar";
|
|
32
|
+
// 또는
|
|
33
|
+
const korLunar = require("kor-lunar");
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 브라우저 CDN
|
|
37
|
+
|
|
38
|
+
```html
|
|
39
|
+
<script src="https://cdn.jsdelivr.net/npm/kor-lunar/dist/kor-lunar.min.js"></script>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 예제
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
import korLunar from "kor-lunar";
|
|
46
|
+
|
|
47
|
+
// 양력 → 음력 (isLeapMonth: false = 평달, true = 윤달)
|
|
48
|
+
console.log(korLunar.toLunar(2025, 6, 25));
|
|
49
|
+
// { year: 2025, month: 6, day: 1, isLeapMonth: false }
|
|
50
|
+
console.log(korLunar.toLunar(2025, 7, 25));
|
|
51
|
+
// { year: 2025, month: 6, day: 1, isLeapMonth: true }
|
|
52
|
+
|
|
53
|
+
// 음력 → 양력
|
|
54
|
+
console.log(korLunar.toSolar(2025, 6, 1, false));
|
|
55
|
+
// { year: 2025, month: 6, day: 25 }
|
|
56
|
+
console.log(korLunar.toSolar(2025, 6, 1, true));
|
|
57
|
+
// { year: 2025, month: 7, day: 25 }
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## 라이선스
|
|
61
|
+
|
|
62
|
+
[MIT](LICENSE)
|
|
8
63
|
|
|
9
64
|
## 출처 및 참고 자료
|
|
10
65
|
|
package/dist/kor-lunar.esm.js
CHANGED
|
@@ -31,12 +31,19 @@ var LUN_TABLE = [
|
|
|
31
31
|
var BASE_YEAR$1 = 1890;
|
|
32
32
|
var BASE_MONTH$1 = 1;
|
|
33
33
|
var BASE_DAY$1 = 1;
|
|
34
|
+
var BASE_VALUE$1 = BASE_YEAR$1 * 10000 + BASE_MONTH$1 * 100 + BASE_DAY$1;
|
|
34
35
|
var MAX_YEAR$1 = 2049;
|
|
35
36
|
var MAX_MONTH$1 = 12;
|
|
36
37
|
var MAX_DAY$1 = 29;
|
|
38
|
+
var MAX_VALUE$1 = MAX_YEAR$1 * 10000 + MAX_MONTH$1 * 100 + MAX_DAY$1;
|
|
37
39
|
var SMALL_MONTH_DAY = 29;
|
|
38
40
|
var BIG_MONTH_DAY = 30;
|
|
39
41
|
var totalDaysBeforeYear$1 = {};
|
|
42
|
+
var checkRangeDate$1 = function (year, month, day) {
|
|
43
|
+
var value = year * 10000 + month * 100 + day;
|
|
44
|
+
if (value < BASE_VALUE$1 || value > MAX_VALUE$1)
|
|
45
|
+
return false;
|
|
46
|
+
};
|
|
40
47
|
var getYearData = function (year) {
|
|
41
48
|
return LUN_TABLE[year - BASE_YEAR$1];
|
|
42
49
|
};
|
|
@@ -151,9 +158,12 @@ var LunarData = {
|
|
|
151
158
|
BASE_YEAR: BASE_YEAR$1,
|
|
152
159
|
BASE_MONTH: BASE_MONTH$1,
|
|
153
160
|
BASE_DAY: BASE_DAY$1,
|
|
161
|
+
BASE_VALUE: BASE_VALUE$1,
|
|
154
162
|
MAX_YEAR: MAX_YEAR$1,
|
|
155
163
|
MAX_MONTH: MAX_MONTH$1,
|
|
156
164
|
MAX_DAY: MAX_DAY$1,
|
|
165
|
+
MAX_VALUE: MAX_VALUE$1,
|
|
166
|
+
checkRangeDate: checkRangeDate$1,
|
|
157
167
|
getMonthDays: getMonthDays$1,
|
|
158
168
|
getLeapMonth: getLeapMonth,
|
|
159
169
|
hasLeapMonth: hasLeapMonth,
|
|
@@ -172,10 +182,17 @@ var LEAP_YEAR_DAY = 366;
|
|
|
172
182
|
var BASE_YEAR = 1890;
|
|
173
183
|
var BASE_MONTH = 1;
|
|
174
184
|
var BASE_DAY = 21;
|
|
185
|
+
var BASE_VALUE = BASE_YEAR * 10000 + BASE_MONTH * 100 + BASE_DAY;
|
|
175
186
|
var MAX_YEAR = 2050;
|
|
176
187
|
var MAX_MONTH = 1;
|
|
177
188
|
var MAX_DAY = 22;
|
|
189
|
+
var MAX_VALUE = MAX_YEAR * 10000 + MAX_MONTH * 100 + MAX_DAY;
|
|
178
190
|
var totalDaysBeforeYear = {};
|
|
191
|
+
var checkRangeDate = function (year, month, day) {
|
|
192
|
+
var value = year * 10000 + month * 100 + day;
|
|
193
|
+
if (value < BASE_VALUE || value > MAX_VALUE)
|
|
194
|
+
return false;
|
|
195
|
+
};
|
|
179
196
|
var isLeapYear = function (year) {
|
|
180
197
|
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
181
198
|
};
|
|
@@ -214,9 +231,12 @@ var SolarData = {
|
|
|
214
231
|
BASE_YEAR: BASE_YEAR,
|
|
215
232
|
BASE_MONTH: BASE_MONTH,
|
|
216
233
|
BASE_DAY: BASE_DAY,
|
|
234
|
+
BASE_VALUE: BASE_VALUE,
|
|
217
235
|
MAX_YEAR: MAX_YEAR,
|
|
218
236
|
MAX_MONTH: MAX_MONTH,
|
|
219
237
|
MAX_DAY: MAX_DAY,
|
|
238
|
+
MAX_VALUE: MAX_VALUE,
|
|
239
|
+
checkRangeDate: checkRangeDate,
|
|
220
240
|
isLeapYear: isLeapYear,
|
|
221
241
|
getMonthDays: getMonthDays,
|
|
222
242
|
getYearDays: getYearDays,
|
|
@@ -225,6 +245,9 @@ var SolarData = {
|
|
|
225
245
|
|
|
226
246
|
var SOLAR_LUNAR_DAY_DIFF = 20;
|
|
227
247
|
var toLunar = function (solYear, solMonth, solDay) {
|
|
248
|
+
if (!SolarData.checkRangeDate(solYear, solMonth, solDay)) {
|
|
249
|
+
throw new RangeError("\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uB0A0\uC9DC\uC785\uB2C8\uB2E4. \uC785\uB825\uD55C \uB0A0\uC9DC: ".concat(solYear, "-").concat(solMonth, "-").concat(solDay));
|
|
250
|
+
}
|
|
228
251
|
var year = LunarData.BASE_YEAR;
|
|
229
252
|
var month = LunarData.BASE_MONTH;
|
|
230
253
|
var day = LunarData.BASE_DAY + SolarData.getTotalDays(solYear, solMonth, solDay) - SOLAR_LUNAR_DAY_DIFF - 1;
|
|
@@ -257,6 +280,9 @@ var toLunar = function (solYear, solMonth, solDay) {
|
|
|
257
280
|
return { year: year, month: month, day: day, isLeapMonth: isLeapMonth };
|
|
258
281
|
};
|
|
259
282
|
var toSolar = function (lunYear, lunMonth, lunDay, isLeapMonth) {
|
|
283
|
+
if (!LunarData.checkRangeDate(lunYear, lunMonth, lunDay)) {
|
|
284
|
+
throw new RangeError("\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uB0A0\uC9DC\uC785\uB2C8\uB2E4. \uC785\uB825\uD55C \uB0A0\uC9DC: ".concat(lunYear, "-").concat(lunMonth, "-").concat(lunDay));
|
|
285
|
+
}
|
|
260
286
|
var year = SolarData.BASE_YEAR;
|
|
261
287
|
var month = SolarData.BASE_MONTH;
|
|
262
288
|
var day = SolarData.BASE_DAY + LunarData.getTotalDays(lunYear, lunMonth, lunDay, isLeapMonth) - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kor-lunar.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kor-lunar.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/kor-lunar.js
CHANGED
|
@@ -35,12 +35,19 @@ var LUN_TABLE = [
|
|
|
35
35
|
var BASE_YEAR$1 = 1890;
|
|
36
36
|
var BASE_MONTH$1 = 1;
|
|
37
37
|
var BASE_DAY$1 = 1;
|
|
38
|
+
var BASE_VALUE$1 = BASE_YEAR$1 * 10000 + BASE_MONTH$1 * 100 + BASE_DAY$1;
|
|
38
39
|
var MAX_YEAR$1 = 2049;
|
|
39
40
|
var MAX_MONTH$1 = 12;
|
|
40
41
|
var MAX_DAY$1 = 29;
|
|
42
|
+
var MAX_VALUE$1 = MAX_YEAR$1 * 10000 + MAX_MONTH$1 * 100 + MAX_DAY$1;
|
|
41
43
|
var SMALL_MONTH_DAY = 29;
|
|
42
44
|
var BIG_MONTH_DAY = 30;
|
|
43
45
|
var totalDaysBeforeYear$1 = {};
|
|
46
|
+
var checkRangeDate$1 = function (year, month, day) {
|
|
47
|
+
var value = year * 10000 + month * 100 + day;
|
|
48
|
+
if (value < BASE_VALUE$1 || value > MAX_VALUE$1)
|
|
49
|
+
return false;
|
|
50
|
+
};
|
|
44
51
|
var getYearData = function (year) {
|
|
45
52
|
return LUN_TABLE[year - BASE_YEAR$1];
|
|
46
53
|
};
|
|
@@ -155,9 +162,12 @@ var LunarData = {
|
|
|
155
162
|
BASE_YEAR: BASE_YEAR$1,
|
|
156
163
|
BASE_MONTH: BASE_MONTH$1,
|
|
157
164
|
BASE_DAY: BASE_DAY$1,
|
|
165
|
+
BASE_VALUE: BASE_VALUE$1,
|
|
158
166
|
MAX_YEAR: MAX_YEAR$1,
|
|
159
167
|
MAX_MONTH: MAX_MONTH$1,
|
|
160
168
|
MAX_DAY: MAX_DAY$1,
|
|
169
|
+
MAX_VALUE: MAX_VALUE$1,
|
|
170
|
+
checkRangeDate: checkRangeDate$1,
|
|
161
171
|
getMonthDays: getMonthDays$1,
|
|
162
172
|
getLeapMonth: getLeapMonth,
|
|
163
173
|
hasLeapMonth: hasLeapMonth,
|
|
@@ -176,10 +186,17 @@ var LEAP_YEAR_DAY = 366;
|
|
|
176
186
|
var BASE_YEAR = 1890;
|
|
177
187
|
var BASE_MONTH = 1;
|
|
178
188
|
var BASE_DAY = 21;
|
|
189
|
+
var BASE_VALUE = BASE_YEAR * 10000 + BASE_MONTH * 100 + BASE_DAY;
|
|
179
190
|
var MAX_YEAR = 2050;
|
|
180
191
|
var MAX_MONTH = 1;
|
|
181
192
|
var MAX_DAY = 22;
|
|
193
|
+
var MAX_VALUE = MAX_YEAR * 10000 + MAX_MONTH * 100 + MAX_DAY;
|
|
182
194
|
var totalDaysBeforeYear = {};
|
|
195
|
+
var checkRangeDate = function (year, month, day) {
|
|
196
|
+
var value = year * 10000 + month * 100 + day;
|
|
197
|
+
if (value < BASE_VALUE || value > MAX_VALUE)
|
|
198
|
+
return false;
|
|
199
|
+
};
|
|
183
200
|
var isLeapYear = function (year) {
|
|
184
201
|
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
185
202
|
};
|
|
@@ -218,9 +235,12 @@ var SolarData = {
|
|
|
218
235
|
BASE_YEAR: BASE_YEAR,
|
|
219
236
|
BASE_MONTH: BASE_MONTH,
|
|
220
237
|
BASE_DAY: BASE_DAY,
|
|
238
|
+
BASE_VALUE: BASE_VALUE,
|
|
221
239
|
MAX_YEAR: MAX_YEAR,
|
|
222
240
|
MAX_MONTH: MAX_MONTH,
|
|
223
241
|
MAX_DAY: MAX_DAY,
|
|
242
|
+
MAX_VALUE: MAX_VALUE,
|
|
243
|
+
checkRangeDate: checkRangeDate,
|
|
224
244
|
isLeapYear: isLeapYear,
|
|
225
245
|
getMonthDays: getMonthDays,
|
|
226
246
|
getYearDays: getYearDays,
|
|
@@ -229,6 +249,9 @@ var SolarData = {
|
|
|
229
249
|
|
|
230
250
|
var SOLAR_LUNAR_DAY_DIFF = 20;
|
|
231
251
|
var toLunar = function (solYear, solMonth, solDay) {
|
|
252
|
+
if (!SolarData.checkRangeDate(solYear, solMonth, solDay)) {
|
|
253
|
+
throw new RangeError("\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uB0A0\uC9DC\uC785\uB2C8\uB2E4. \uC785\uB825\uD55C \uB0A0\uC9DC: ".concat(solYear, "-").concat(solMonth, "-").concat(solDay));
|
|
254
|
+
}
|
|
232
255
|
var year = LunarData.BASE_YEAR;
|
|
233
256
|
var month = LunarData.BASE_MONTH;
|
|
234
257
|
var day = LunarData.BASE_DAY + SolarData.getTotalDays(solYear, solMonth, solDay) - SOLAR_LUNAR_DAY_DIFF - 1;
|
|
@@ -261,6 +284,9 @@ var toLunar = function (solYear, solMonth, solDay) {
|
|
|
261
284
|
return { year: year, month: month, day: day, isLeapMonth: isLeapMonth };
|
|
262
285
|
};
|
|
263
286
|
var toSolar = function (lunYear, lunMonth, lunDay, isLeapMonth) {
|
|
287
|
+
if (!LunarData.checkRangeDate(lunYear, lunMonth, lunDay)) {
|
|
288
|
+
throw new RangeError("\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uB0A0\uC9DC\uC785\uB2C8\uB2E4. \uC785\uB825\uD55C \uB0A0\uC9DC: ".concat(lunYear, "-").concat(lunMonth, "-").concat(lunDay));
|
|
289
|
+
}
|
|
264
290
|
var year = SolarData.BASE_YEAR;
|
|
265
291
|
var month = SolarData.BASE_MONTH;
|
|
266
292
|
var day = SolarData.BASE_DAY + LunarData.getTotalDays(lunYear, lunMonth, lunDay, isLeapMonth) - 1;
|
package/dist/kor-lunar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kor-lunar.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kor-lunar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/kor-lunar.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var korLunar=function(r){"use strict";var n=[50342582,46534058,50360036,46403236,46402890,50222421,46533271,46400854,50345309,46533333,50367442,46401362,46534309,50223914,46401099,46533275,50416294,46400874,46533465,50342826,46401362,50359717,46402341,46402123,50354523,46533293,46400874,50341301,46533545,50363858,46402962,46402853,50355501,46401878,46400181,50481885,46401236,46534057,50343626,46403218,50226854,46400807,46533207,50420054,46533338,46401236,50411345,46401353,50428691,46402195,46400811,50423067,46532973,46533482,50417060,46402468,46402377,50343243,46402197,50363051,46400813,46533293,50420394,46534066,46402980,50413217,46402890,50367893,46402198,46400854,50357621,46533333,46401234,50349909,46534309,46403146,50214478,46533275,50363094,46400874,46533465,50355122,46401362,46401317,50350891,46402123,50366891,46400173,46531947,50423209,46534057,46402962,50351509,46402853,50376269,46402134,46400182,50490093,46401236,46534057,50355922,46403218,46402854,50214190,46533207,50366902,46533466,46401236,50354025,46401353,46401171,50350743,46400811,46533211,50342574,46400362,50494933,46402468,46402377,50355539,46402197,46400813,50410797,46533293,50371498,46400978,46534053,50355882,46402890,46402197,50350749,46400854,46533301,50342614,46401234,50358117,46534309,46403146,50222678,46533787,46400858,50345325,46533481,50380626,46401362,46402341,50424587,46402123,46400683,50352827,46531949,46533481,50343338,46402962,50364069,46402853,46402125,50420301,46400182,46532021],t=1890,u={},
|
|
1
|
+
var korLunar=function(r){"use strict";var n=[50342582,46534058,50360036,46403236,46402890,50222421,46533271,46400854,50345309,46533333,50367442,46401362,46534309,50223914,46401099,46533275,50416294,46400874,46533465,50342826,46401362,50359717,46402341,46402123,50354523,46533293,46400874,50341301,46533545,50363858,46402962,46402853,50355501,46401878,46400181,50481885,46401236,46534057,50343626,46403218,50226854,46400807,46533207,50420054,46533338,46401236,50411345,46401353,50428691,46402195,46400811,50423067,46532973,46533482,50417060,46402468,46402377,50343243,46402197,50363051,46400813,46533293,50420394,46534066,46402980,50413217,46402890,50367893,46402198,46400854,50357621,46533333,46401234,50349909,46534309,46403146,50214478,46533275,50363094,46400874,46533465,50355122,46401362,46401317,50350891,46402123,50366891,46400173,46531947,50423209,46534057,46402962,50351509,46402853,50376269,46402134,46400182,50490093,46401236,46534057,50355922,46403218,46402854,50214190,46533207,50366902,46533466,46401236,50354025,46401353,46401171,50350743,46400811,46533211,50342574,46400362,50494933,46402468,46402377,50355539,46402197,46400813,50410797,46533293,50371498,46400978,46534053,50355882,46402890,46402197,50350749,46400854,46533301,50342614,46401234,50358117,46534309,46403146,50222678,46533787,46400858,50345325,46533481,50380626,46401362,46402341,50424587,46402123,46400683,50352827,46531949,46533481,50343338,46402962,50364069,46402853,46402125,50420301,46400182,46532021],t=1890,o=18900101,u=2049,e=20491229,a={},c=function(r){return n[r-t]},f=function(r,n){return 0===(c(r)>>n-1&1)?29:30},i=function(r){return c(r)>>12&15},v=function(r,n){return n===i(r)},d=function(r,n){return v(r,n)?0===(c(r)>>16&1)?29:30:0},h=function(r){return c(r)>>17&511};a[1890]=0;for(var l=1891;l<u;l++)a[l]=a[l-1]+h(l-1);var y=function(r){return a[r]},s=function(r,n,t){for(var o=0,u=1;u<n;u++)o+=f(r,u),u===i(r)&&(o+=d(r,u));var e=i(r);return t&&e===n&&(o+=f(r,n)),o},w=t,L=1,g=1,m=function(r,n,t){var u=1e4*r+100*n+t;if(u<o||u>e)return!1},p=f,E=i,M=d,R=h,S=function(r,n,t,o){return y(r)+s(r,n,o)+t},_=[31,28,31,30,31,30,31,31,30,31,30,31],b=1890,j=18900121,k=2050,O=20500122,P={},q=function(r){return r%4==0&&r%100!=0||r%400==0},x=function(r,n){return 2==n&&q(r)?29:_[n-1]},z=function(r){return q(r)?366:365};P[1890]=0;for(var A=1891;A<k;A++)P[A]=P[A-1]+z(A-1);var B=b,C=1,D=21,F=function(r,n,t){var o=1e4*r+100*n+t;if(o<j||o>O)return!1},G=x,H=z,I=function(r,n,t){var o=function(r){return P[r]}(r)+function(r,n){for(var t=0,o=1;o<n;o++)t+=x(r,o);return t}(r,n)+t;return o},J=function(r,n,t){if(!F(r,n,t))throw new RangeError("지원되지 않는 날짜입니다. 입력한 날짜: ".concat(r,"-").concat(n,"-").concat(t));for(var o=w,u=L,e=g+I(r,n,t)-20-1,a=R(o);e>a;)o++,e-=a,a=R(o);for(var c=!1,f=E(o),i=p(o,u);e>i;)e-=i,c=!1,u!==f?(++u>12&&(u=1,o++,f=E(o)),i=p(o,u)):(f=0,i=M(o,u),c=!0);return{year:o,month:u,day:e,isLeapMonth:c}},K=function(r,n,t,o){if(!m(r,n,t))throw new RangeError("지원되지 않는 날짜입니다. 입력한 날짜: ".concat(r,"-").concat(n,"-").concat(t));for(var u=B,e=C,a=D+S(r,n,t,o)-1,c=H(u);a>c;)a-=c,u++,c=H(u);for(var f=G(u,e);a>f;)a-=f,++e>12&&(e=1,u++),f=G(u,e);return{year:u,month:e,day:a}},N={toLunar:J,toSolar:K};return r.default=N,r.toLunar=J,r.toSolar=K,Object.defineProperty(r,"__esModule",{value:!0}),r}({});
|
|
2
2
|
//# sourceMappingURL=kor-lunar.min.js.map
|
package/dist/lunar-data.d.ts
CHANGED
|
@@ -2,9 +2,12 @@ export declare const LunarData: {
|
|
|
2
2
|
BASE_YEAR: number;
|
|
3
3
|
BASE_MONTH: number;
|
|
4
4
|
BASE_DAY: number;
|
|
5
|
+
BASE_VALUE: number;
|
|
5
6
|
MAX_YEAR: number;
|
|
6
7
|
MAX_MONTH: number;
|
|
7
8
|
MAX_DAY: number;
|
|
9
|
+
MAX_VALUE: number;
|
|
10
|
+
checkRangeDate: (year: number, month: number, day: number) => false | undefined;
|
|
8
11
|
getMonthDays: (year: number, month: number) => number;
|
|
9
12
|
getLeapMonth: (year: number) => number;
|
|
10
13
|
hasLeapMonth: (year: number) => boolean;
|
package/dist/solar-data.d.ts
CHANGED
|
@@ -2,9 +2,12 @@ export declare const SolarData: {
|
|
|
2
2
|
BASE_YEAR: number;
|
|
3
3
|
BASE_MONTH: number;
|
|
4
4
|
BASE_DAY: number;
|
|
5
|
+
BASE_VALUE: number;
|
|
5
6
|
MAX_YEAR: number;
|
|
6
7
|
MAX_MONTH: number;
|
|
7
8
|
MAX_DAY: number;
|
|
9
|
+
MAX_VALUE: number;
|
|
10
|
+
checkRangeDate: (year: number, month: number, day: number) => false | undefined;
|
|
8
11
|
isLeapYear: (year: number) => boolean;
|
|
9
12
|
getMonthDays: (year: number, month: number) => number;
|
|
10
13
|
getYearDays: (year: number) => number;
|