kor-lunar 1.3.0 → 1.3.2
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 +7 -3
- package/dist/kor-lunar.esm.js +38 -1
- package/dist/kor-lunar.esm.js.map +1 -1
- package/dist/kor-lunar.js +38 -1
- package/dist/kor-lunar.js.map +1 -1
- package/dist/kor-lunar.min.js +1 -1
- package/dist/utils.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ const korLunar = require("kor-lunar");
|
|
|
40
40
|
### 브라우저 CDN
|
|
41
41
|
|
|
42
42
|
```html
|
|
43
|
-
<script src="https://cdn.jsdelivr.net/npm/kor-lunar@1.3.
|
|
43
|
+
<script src="https://cdn.jsdelivr.net/npm/kor-lunar@1.3.2/dist/kor-lunar.min.js"></script>
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
## 예제
|
|
@@ -59,7 +59,9 @@ console.log(korLunar.toLunar(2025, 6, 25));
|
|
|
59
59
|
// isLeapMonth: false,
|
|
60
60
|
// secha: '을사',
|
|
61
61
|
// wolgeon: '계미',
|
|
62
|
-
// iljin: '을축'
|
|
62
|
+
// iljin: '을축',
|
|
63
|
+
// julianDay: 2460852,
|
|
64
|
+
// dayOfWeek: 3
|
|
63
65
|
// }
|
|
64
66
|
|
|
65
67
|
console.log(korLunar.toLunar(2025, 7, 25));
|
|
@@ -70,7 +72,9 @@ console.log(korLunar.toLunar(2025, 7, 25));
|
|
|
70
72
|
// isLeapMonth: true,
|
|
71
73
|
// secha: '을사',
|
|
72
74
|
// wolgeon: '', // 윤달인 경우 월건은 빈 문자열
|
|
73
|
-
// iljin: '을미'
|
|
75
|
+
// iljin: '을미',
|
|
76
|
+
// julianDay: 2460882,
|
|
77
|
+
// dayOfWeek: 5
|
|
74
78
|
// }
|
|
75
79
|
|
|
76
80
|
// 음력 → 양력
|
package/dist/kor-lunar.esm.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
var toInt = function (num) {
|
|
2
|
+
if (typeof num === "string" || typeof num === "number")
|
|
3
|
+
return ~~num;
|
|
4
|
+
return num;
|
|
5
|
+
};
|
|
6
|
+
|
|
1
7
|
/**
|
|
2
8
|
* 음력 테이블
|
|
3
9
|
*
|
|
@@ -42,6 +48,7 @@ var SMALL_MONTH_DAY = 29;
|
|
|
42
48
|
var BIG_MONTH_DAY = 30;
|
|
43
49
|
var totalDaysBeforeYear$1 = {};
|
|
44
50
|
var getYearData = function (year) {
|
|
51
|
+
year = toInt(year);
|
|
45
52
|
return LUN_TABLE[year - BASE_YEAR$1];
|
|
46
53
|
};
|
|
47
54
|
/**
|
|
@@ -51,6 +58,7 @@ var getYearData = function (year) {
|
|
|
51
58
|
* @returns 월의 일 수 (29 또는 30)
|
|
52
59
|
*/
|
|
53
60
|
var getMonthDays$1 = function (year, month) {
|
|
61
|
+
month = toInt(month);
|
|
54
62
|
var monthType = (getYearData(year) >> (month - 1)) & 0x1;
|
|
55
63
|
return monthType === 0 ? SMALL_MONTH_DAY : BIG_MONTH_DAY;
|
|
56
64
|
};
|
|
@@ -77,6 +85,7 @@ var hasLeapMonth = function (year) {
|
|
|
77
85
|
* @returns 윤달이면 true
|
|
78
86
|
*/
|
|
79
87
|
var isLeapMonth = function (year, month) {
|
|
88
|
+
month = toInt(month);
|
|
80
89
|
return month === getLeapMonth(year);
|
|
81
90
|
};
|
|
82
91
|
/**
|
|
@@ -113,6 +122,7 @@ for (var y$1 = BASE_YEAR$1 + 1; y$1 <= MAX_YEAR$1; y$1++) {
|
|
|
113
122
|
* @return 해당 연도 전까지의 누적 일 수
|
|
114
123
|
*/
|
|
115
124
|
var getTotalDaysBeforeYear$1 = function (year) {
|
|
125
|
+
year = toInt(year);
|
|
116
126
|
var days = totalDaysBeforeYear$1[year];
|
|
117
127
|
return days;
|
|
118
128
|
};
|
|
@@ -124,6 +134,7 @@ var getTotalDaysBeforeYear$1 = function (year) {
|
|
|
124
134
|
* @returns 해당 연도 내, 해당 월 전까지의 누적 일 수
|
|
125
135
|
*/
|
|
126
136
|
var getTotalDaysBeforeMonth$1 = function (year, month, isLeapMonth) {
|
|
137
|
+
month = toInt(month);
|
|
127
138
|
var days = 0;
|
|
128
139
|
// 해당 월 전까지 윤달을 포함하여 누적
|
|
129
140
|
for (var m = 1; m < month; m++) {
|
|
@@ -148,20 +159,25 @@ var getTotalDaysBeforeMonth$1 = function (year, month, isLeapMonth) {
|
|
|
148
159
|
* @returns 총 누적 일 수
|
|
149
160
|
*/
|
|
150
161
|
var getTotalDays$1 = function (year, month, day, isLeapMonth) {
|
|
162
|
+
day = toInt(day);
|
|
151
163
|
var days = getTotalDaysBeforeYear$1(year) + getTotalDaysBeforeMonth$1(year, month, isLeapMonth) + day;
|
|
152
164
|
return days;
|
|
153
165
|
};
|
|
154
166
|
var getSecha = function (year) {
|
|
167
|
+
year = toInt(year);
|
|
155
168
|
var g = gan[(year + 6) % gan.length];
|
|
156
169
|
var j = ji[(year + 8) % ji.length];
|
|
157
170
|
return g + j;
|
|
158
171
|
};
|
|
159
172
|
var getWolgeon = function (year, month) {
|
|
173
|
+
year = toInt(year);
|
|
174
|
+
month = toInt(month);
|
|
160
175
|
var g = gan[(year * 2 + month + 3) % gan.length];
|
|
161
176
|
var j = ji[(month + 1) % ji.length];
|
|
162
177
|
return g + j;
|
|
163
178
|
};
|
|
164
179
|
var getIljinByJulianDay = function (julianDay) {
|
|
180
|
+
julianDay = toInt(julianDay);
|
|
165
181
|
var g = gan[(julianDay - 1) % gan.length];
|
|
166
182
|
var j = ji[(julianDay + 1) % ji.length];
|
|
167
183
|
return g + j;
|
|
@@ -176,6 +192,9 @@ var getIljin = function (year, month, day, isLeapMonth) {
|
|
|
176
192
|
* @returns 날짜가 범위 내에 있으면 true
|
|
177
193
|
*/
|
|
178
194
|
var isDateInRange$1 = function (year, month, day) {
|
|
195
|
+
year = toInt(year);
|
|
196
|
+
month = toInt(month);
|
|
197
|
+
day = toInt(day);
|
|
179
198
|
var value = year * 10000 + month * 100 + day;
|
|
180
199
|
return value >= BASE_VALUE$1 && value <= MAX_VALUE$1;
|
|
181
200
|
};
|
|
@@ -184,6 +203,9 @@ var isDateInRange$1 = function (year, month, day) {
|
|
|
184
203
|
* @returns 유효한 날짜이면 true
|
|
185
204
|
*/
|
|
186
205
|
var isValidDate$1 = function (year, month, day, isLeapMonth) {
|
|
206
|
+
year = toInt(year);
|
|
207
|
+
month = toInt(month);
|
|
208
|
+
day = toInt(day);
|
|
187
209
|
if (year < BASE_YEAR$1 || year > MAX_YEAR$1)
|
|
188
210
|
return false;
|
|
189
211
|
if (year === BASE_YEAR$1) {
|
|
@@ -245,10 +267,12 @@ var MAX_DAY = 22;
|
|
|
245
267
|
var MAX_VALUE = MAX_YEAR * 10000 + MAX_MONTH * 100 + MAX_DAY;
|
|
246
268
|
var totalDaysBeforeYear = {};
|
|
247
269
|
var isLeapYear = function (year) {
|
|
270
|
+
year = toInt(year);
|
|
248
271
|
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
249
272
|
};
|
|
250
273
|
var getMonthDays = function (year, month) {
|
|
251
|
-
|
|
274
|
+
month = toInt(month);
|
|
275
|
+
var day = month === 2 && isLeapYear(year) ? LEAP_FEBRUARY_DAY : MONTH_DAYS[month - 1];
|
|
252
276
|
return day;
|
|
253
277
|
};
|
|
254
278
|
var getYearDays = function (year) {
|
|
@@ -264,6 +288,7 @@ for (var y = BASE_YEAR + 1; y <= MAX_YEAR; y++) {
|
|
|
264
288
|
totalDaysBeforeYear[y] = totalDaysBeforeYear[y - 1] + getYearDays(y - 1);
|
|
265
289
|
}
|
|
266
290
|
var getTotalDaysBeforeYear = function (year) {
|
|
291
|
+
year = toInt(year);
|
|
267
292
|
var day = totalDaysBeforeYear[year];
|
|
268
293
|
return day;
|
|
269
294
|
};
|
|
@@ -284,6 +309,9 @@ var getTotalDays = function (year, month, day) {
|
|
|
284
309
|
* @returns 날짜가 범위 내에 있으면 true
|
|
285
310
|
*/
|
|
286
311
|
var isDateInRange = function (year, month, day) {
|
|
312
|
+
year = toInt(year);
|
|
313
|
+
month = toInt(month);
|
|
314
|
+
day = toInt(day);
|
|
287
315
|
var value = year * 10000 + month * 100 + day;
|
|
288
316
|
return value >= BASE_VALUE && value <= MAX_VALUE;
|
|
289
317
|
};
|
|
@@ -292,6 +320,9 @@ var isDateInRange = function (year, month, day) {
|
|
|
292
320
|
* @returns 유효한 날짜이면 true
|
|
293
321
|
*/
|
|
294
322
|
var isValidDate = function (year, month, day) {
|
|
323
|
+
year = toInt(year);
|
|
324
|
+
month = toInt(month);
|
|
325
|
+
day = toInt(day);
|
|
295
326
|
if (year < BASE_YEAR || year > MAX_YEAR)
|
|
296
327
|
return false;
|
|
297
328
|
if (year === BASE_YEAR) {
|
|
@@ -333,6 +364,9 @@ var SolarData = {
|
|
|
333
364
|
var SOLAR_LUNAR_DAY_DIFF = 20;
|
|
334
365
|
var JULIAN_DAY_DIFF = 2411389;
|
|
335
366
|
var toLunar = function (solYear, solMonth, solDay) {
|
|
367
|
+
solYear = toInt(solYear);
|
|
368
|
+
solMonth = toInt(solMonth);
|
|
369
|
+
solDay = toInt(solDay);
|
|
336
370
|
if (!SolarData.isDateInRange(solYear, solMonth, solDay)) {
|
|
337
371
|
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));
|
|
338
372
|
}
|
|
@@ -380,6 +414,9 @@ var toLunar = function (solYear, solMonth, solDay) {
|
|
|
380
414
|
};
|
|
381
415
|
};
|
|
382
416
|
var toSolar = function (lunYear, lunMonth, lunDay, isLeapMonth) {
|
|
417
|
+
lunYear = toInt(lunYear);
|
|
418
|
+
lunMonth = toInt(lunMonth);
|
|
419
|
+
lunDay = toInt(lunDay);
|
|
383
420
|
if (!LunarData.isDateInRange(lunYear, lunMonth, lunDay)) {
|
|
384
421
|
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));
|
|
385
422
|
}
|
|
@@ -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
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var toInt = function (num) {
|
|
6
|
+
if (typeof num === "string" || typeof num === "number")
|
|
7
|
+
return ~~num;
|
|
8
|
+
return num;
|
|
9
|
+
};
|
|
10
|
+
|
|
5
11
|
/**
|
|
6
12
|
* 음력 테이블
|
|
7
13
|
*
|
|
@@ -46,6 +52,7 @@ var SMALL_MONTH_DAY = 29;
|
|
|
46
52
|
var BIG_MONTH_DAY = 30;
|
|
47
53
|
var totalDaysBeforeYear$1 = {};
|
|
48
54
|
var getYearData = function (year) {
|
|
55
|
+
year = toInt(year);
|
|
49
56
|
return LUN_TABLE[year - BASE_YEAR$1];
|
|
50
57
|
};
|
|
51
58
|
/**
|
|
@@ -55,6 +62,7 @@ var getYearData = function (year) {
|
|
|
55
62
|
* @returns 월의 일 수 (29 또는 30)
|
|
56
63
|
*/
|
|
57
64
|
var getMonthDays$1 = function (year, month) {
|
|
65
|
+
month = toInt(month);
|
|
58
66
|
var monthType = (getYearData(year) >> (month - 1)) & 0x1;
|
|
59
67
|
return monthType === 0 ? SMALL_MONTH_DAY : BIG_MONTH_DAY;
|
|
60
68
|
};
|
|
@@ -81,6 +89,7 @@ var hasLeapMonth = function (year) {
|
|
|
81
89
|
* @returns 윤달이면 true
|
|
82
90
|
*/
|
|
83
91
|
var isLeapMonth = function (year, month) {
|
|
92
|
+
month = toInt(month);
|
|
84
93
|
return month === getLeapMonth(year);
|
|
85
94
|
};
|
|
86
95
|
/**
|
|
@@ -117,6 +126,7 @@ for (var y$1 = BASE_YEAR$1 + 1; y$1 <= MAX_YEAR$1; y$1++) {
|
|
|
117
126
|
* @return 해당 연도 전까지의 누적 일 수
|
|
118
127
|
*/
|
|
119
128
|
var getTotalDaysBeforeYear$1 = function (year) {
|
|
129
|
+
year = toInt(year);
|
|
120
130
|
var days = totalDaysBeforeYear$1[year];
|
|
121
131
|
return days;
|
|
122
132
|
};
|
|
@@ -128,6 +138,7 @@ var getTotalDaysBeforeYear$1 = function (year) {
|
|
|
128
138
|
* @returns 해당 연도 내, 해당 월 전까지의 누적 일 수
|
|
129
139
|
*/
|
|
130
140
|
var getTotalDaysBeforeMonth$1 = function (year, month, isLeapMonth) {
|
|
141
|
+
month = toInt(month);
|
|
131
142
|
var days = 0;
|
|
132
143
|
// 해당 월 전까지 윤달을 포함하여 누적
|
|
133
144
|
for (var m = 1; m < month; m++) {
|
|
@@ -152,20 +163,25 @@ var getTotalDaysBeforeMonth$1 = function (year, month, isLeapMonth) {
|
|
|
152
163
|
* @returns 총 누적 일 수
|
|
153
164
|
*/
|
|
154
165
|
var getTotalDays$1 = function (year, month, day, isLeapMonth) {
|
|
166
|
+
day = toInt(day);
|
|
155
167
|
var days = getTotalDaysBeforeYear$1(year) + getTotalDaysBeforeMonth$1(year, month, isLeapMonth) + day;
|
|
156
168
|
return days;
|
|
157
169
|
};
|
|
158
170
|
var getSecha = function (year) {
|
|
171
|
+
year = toInt(year);
|
|
159
172
|
var g = gan[(year + 6) % gan.length];
|
|
160
173
|
var j = ji[(year + 8) % ji.length];
|
|
161
174
|
return g + j;
|
|
162
175
|
};
|
|
163
176
|
var getWolgeon = function (year, month) {
|
|
177
|
+
year = toInt(year);
|
|
178
|
+
month = toInt(month);
|
|
164
179
|
var g = gan[(year * 2 + month + 3) % gan.length];
|
|
165
180
|
var j = ji[(month + 1) % ji.length];
|
|
166
181
|
return g + j;
|
|
167
182
|
};
|
|
168
183
|
var getIljinByJulianDay = function (julianDay) {
|
|
184
|
+
julianDay = toInt(julianDay);
|
|
169
185
|
var g = gan[(julianDay - 1) % gan.length];
|
|
170
186
|
var j = ji[(julianDay + 1) % ji.length];
|
|
171
187
|
return g + j;
|
|
@@ -180,6 +196,9 @@ var getIljin = function (year, month, day, isLeapMonth) {
|
|
|
180
196
|
* @returns 날짜가 범위 내에 있으면 true
|
|
181
197
|
*/
|
|
182
198
|
var isDateInRange$1 = function (year, month, day) {
|
|
199
|
+
year = toInt(year);
|
|
200
|
+
month = toInt(month);
|
|
201
|
+
day = toInt(day);
|
|
183
202
|
var value = year * 10000 + month * 100 + day;
|
|
184
203
|
return value >= BASE_VALUE$1 && value <= MAX_VALUE$1;
|
|
185
204
|
};
|
|
@@ -188,6 +207,9 @@ var isDateInRange$1 = function (year, month, day) {
|
|
|
188
207
|
* @returns 유효한 날짜이면 true
|
|
189
208
|
*/
|
|
190
209
|
var isValidDate$1 = function (year, month, day, isLeapMonth) {
|
|
210
|
+
year = toInt(year);
|
|
211
|
+
month = toInt(month);
|
|
212
|
+
day = toInt(day);
|
|
191
213
|
if (year < BASE_YEAR$1 || year > MAX_YEAR$1)
|
|
192
214
|
return false;
|
|
193
215
|
if (year === BASE_YEAR$1) {
|
|
@@ -249,10 +271,12 @@ var MAX_DAY = 22;
|
|
|
249
271
|
var MAX_VALUE = MAX_YEAR * 10000 + MAX_MONTH * 100 + MAX_DAY;
|
|
250
272
|
var totalDaysBeforeYear = {};
|
|
251
273
|
var isLeapYear = function (year) {
|
|
274
|
+
year = toInt(year);
|
|
252
275
|
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
253
276
|
};
|
|
254
277
|
var getMonthDays = function (year, month) {
|
|
255
|
-
|
|
278
|
+
month = toInt(month);
|
|
279
|
+
var day = month === 2 && isLeapYear(year) ? LEAP_FEBRUARY_DAY : MONTH_DAYS[month - 1];
|
|
256
280
|
return day;
|
|
257
281
|
};
|
|
258
282
|
var getYearDays = function (year) {
|
|
@@ -268,6 +292,7 @@ for (var y = BASE_YEAR + 1; y <= MAX_YEAR; y++) {
|
|
|
268
292
|
totalDaysBeforeYear[y] = totalDaysBeforeYear[y - 1] + getYearDays(y - 1);
|
|
269
293
|
}
|
|
270
294
|
var getTotalDaysBeforeYear = function (year) {
|
|
295
|
+
year = toInt(year);
|
|
271
296
|
var day = totalDaysBeforeYear[year];
|
|
272
297
|
return day;
|
|
273
298
|
};
|
|
@@ -288,6 +313,9 @@ var getTotalDays = function (year, month, day) {
|
|
|
288
313
|
* @returns 날짜가 범위 내에 있으면 true
|
|
289
314
|
*/
|
|
290
315
|
var isDateInRange = function (year, month, day) {
|
|
316
|
+
year = toInt(year);
|
|
317
|
+
month = toInt(month);
|
|
318
|
+
day = toInt(day);
|
|
291
319
|
var value = year * 10000 + month * 100 + day;
|
|
292
320
|
return value >= BASE_VALUE && value <= MAX_VALUE;
|
|
293
321
|
};
|
|
@@ -296,6 +324,9 @@ var isDateInRange = function (year, month, day) {
|
|
|
296
324
|
* @returns 유효한 날짜이면 true
|
|
297
325
|
*/
|
|
298
326
|
var isValidDate = function (year, month, day) {
|
|
327
|
+
year = toInt(year);
|
|
328
|
+
month = toInt(month);
|
|
329
|
+
day = toInt(day);
|
|
299
330
|
if (year < BASE_YEAR || year > MAX_YEAR)
|
|
300
331
|
return false;
|
|
301
332
|
if (year === BASE_YEAR) {
|
|
@@ -337,6 +368,9 @@ var SolarData = {
|
|
|
337
368
|
var SOLAR_LUNAR_DAY_DIFF = 20;
|
|
338
369
|
var JULIAN_DAY_DIFF = 2411389;
|
|
339
370
|
var toLunar = function (solYear, solMonth, solDay) {
|
|
371
|
+
solYear = toInt(solYear);
|
|
372
|
+
solMonth = toInt(solMonth);
|
|
373
|
+
solDay = toInt(solDay);
|
|
340
374
|
if (!SolarData.isDateInRange(solYear, solMonth, solDay)) {
|
|
341
375
|
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));
|
|
342
376
|
}
|
|
@@ -384,6 +418,9 @@ var toLunar = function (solYear, solMonth, solDay) {
|
|
|
384
418
|
};
|
|
385
419
|
};
|
|
386
420
|
var toSolar = function (lunYear, lunMonth, lunDay, isLeapMonth) {
|
|
421
|
+
lunYear = toInt(lunYear);
|
|
422
|
+
lunMonth = toInt(lunMonth);
|
|
423
|
+
lunDay = toInt(lunDay);
|
|
387
424
|
if (!LunarData.isDateInRange(lunYear, lunMonth, lunDay)) {
|
|
388
425
|
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));
|
|
389
426
|
}
|
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(t){"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],
|
|
1
|
+
var korLunar=function(t){"use strict";var n=function(t){return"string"==typeof t||"number"==typeof t?~~t:t},r=[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],e=["갑","을","병","정","무","기","경","신","임","계"],a=["자","축","인","묘","진","사","오","미","신","유","술","해"],o=1890,u=18900101,i=2049,f=20491229,g={},c=function(t){return t=n(t),r[t-o]},D=function(t,r){return r=n(r),0===(c(t)>>r-1&1)?29:30},A=function(t){return c(t)>>12&15},s=function(t,r){return(r=n(r))===A(t)},y=function(t,n){return s(t,n)?0===(c(t)>>16&1)?29:30:0},l=function(t){return c(t)>>17&511};g[1890]=0;for(var M=1891;M<=i;M++)g[M]=g[M-1]+l(M-1);var h=function(t){return t=n(t),g[t]},E=function(t,r,e){r=n(r);for(var a=0,o=1;o<r;o++)a+=D(t,o),o===A(t)&&(a+=y(t,o));var u=A(t);return e&&u===r&&(a+=D(t,r)),a},_=function(t,r,e,a){return e=n(e),h(t)+E(t,r,a)+e},S=function(t){return t=n(t),e[(t-1)%e.length]+a[(t+1)%a.length]},Y={BASE_YEAR:o,BASE_MONTH:1,BASE_DAY:1,BASE_VALUE:u,MAX_YEAR:i,MAX_MONTH:12,MAX_DAY:29,MAX_VALUE:f,getMonthDays:D,getLeapMonth:A,hasLeapMonth:function(t){return 0!==A(t)},isLeapMonth:s,getLeapMonthDays:y,getYearDays:l,getTotalDaysBeforeYear:h,getTotalDaysBeforeMonth:E,getTotalDays:_,getSecha:function(t){return t=n(t),e[(t+6)%e.length]+a[(t+8)%a.length]},getWolgeon:function(t,r){return t=n(t),r=n(r),e[(2*t+r+3)%e.length]+a[(r+1)%a.length]},getIljin:function(t,n,r,e){var a=_(t,n,r,e);return S(a-1)},getIljinByJulianDay:S,isDateInRange:function(t,r,e){var a=1e4*(t=n(t))+100*(r=n(r))+(e=n(e));return a>=u&&a<=f},isValidDate:function(t,r,e,a){if(t=n(t),r=n(r),e=n(e),t<o||t>i)return!1;if(t===o){if(r<1)return!1;if(1===r&&e<1)return!1}if(t===i){if(r>12)return!1;if(12===r&&e>29)return!1}return!(r<1||r>12)&&(!(e<1)&&e<=(a?y(t,r):D(t,r)))}},v=[31,28,31,30,31,30,31,31,30,31,30,31],B=1890,L=18900121,p=2050,R=20500122,T={},d=function(t){return(t=n(t))%4==0&&t%100!=0||t%400==0},O=function(t,r){return 2===(r=n(r))&&d(t)?29:v[r-1]},X=function(t){return d(t)?366:365};T[1890]=0;for(var I=1891;I<=p;I++)T[I]=T[I-1]+X(I-1);var j={BASE_YEAR:B,BASE_MONTH:1,BASE_DAY:21,BASE_VALUE:L,MAX_YEAR:p,MAX_MONTH:1,MAX_DAY:22,MAX_VALUE:R,isLeapYear:d,getMonthDays:O,getYearDays:X,getTotalDays:function(t,r,e){var a=function(t){return t=n(t),T[t]}(t)+function(t,n){for(var r=0,e=1;e<n;e++)r+=O(t,e);return r}(t,r)+e;return a},isDateInRange:function(t,r,e){var a=1e4*(t=n(t))+100*(r=n(r))+(e=n(e));return a>=L&&a<=R},isValidDate:function(t,r,e){if(t=n(t),r=n(r),e=n(e),t<B||t>p)return!1;if(t===B){if(r<1)return!1;if(1===r&&e<21)return!1}if(t===p){if(r>1)return!1;if(1===r&&e>22)return!1}return!(r<1||r>12)&&(!(e<1)&&e<=O(t,r))}},H=function(t,r,e){if(t=n(t),r=n(r),e=n(e),!j.isDateInRange(t,r,e))throw new RangeError("지원되지 않는 날짜입니다. 입력한 날짜: ".concat(t,"-").concat(r,"-").concat(e));for(var a=Y.BASE_YEAR,o=Y.BASE_MONTH,u=Y.BASE_DAY+j.getTotalDays(t,r,e)-20-1,i=2411389+u-1,f=(u+1)%7,g=Y.getYearDays(a);u>g;)a++,u-=g,g=Y.getYearDays(a);for(var c=!1,D=Y.getLeapMonth(a),A=Y.getMonthDays(a,o);u>A;)u-=A,c=!1,o!==D?(++o>12&&(o=1,a++,D=Y.getLeapMonth(a)),A=Y.getMonthDays(a,o)):(D=0,A=Y.getLeapMonthDays(a,o),c=!0);return{year:a,month:o,day:u,isLeapMonth:c,secha:Y.getSecha(a),wolgeon:c?"":Y.getWolgeon(a,o),iljin:Y.getIljinByJulianDay(i),julianDay:i,dayOfWeek:f}},N=function(t,r,e,a){if(t=n(t),r=n(r),e=n(e),!Y.isDateInRange(t,r,e))throw new RangeError("지원되지 않는 날짜입니다. 입력한 날짜: ".concat(t,"-").concat(r,"-").concat(e));for(var o=j.BASE_YEAR,u=j.BASE_MONTH,i=j.BASE_DAY+Y.getTotalDays(t,r,e,a)-1,f=j.getYearDays(o);i>f;)i-=f,o++,f=j.getYearDays(o);for(var g=j.getMonthDays(o,u);i>g;)i-=g,++u>12&&(u=1,o++),g=j.getMonthDays(o,u);return{year:o,month:u,day:i}},V={toLunar:H,toSolar:N,LunarData:Y,SolarData:j};return t.LunarData=Y,t.SolarData=j,t.default=V,t.toLunar=H,t.toSolar=N,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
|
|
2
2
|
//# sourceMappingURL=kor-lunar.min.js.map
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const toInt: (num: string | number) => number;
|