@hyunbinseo/holidays-kr 3.2026.3 → 4.2026.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 CHANGED
@@ -6,96 +6,101 @@
6
6
  - `CSV`, `JSON`, `ICS`, 캘린더 구독도 제공됩니다. [링크](https://github.com/hyunbinseo/holidays-kr#readme)
7
7
 
8
8
  ```js
9
- // 최근 2개년도의 공휴일 정보가 들어있습니다.
10
- // 예를 들어 v3.2025 버전으로 2024-2025년의 날짜를 확인할 수 있습니다.
9
+ // 요청한 연도의 공휴일 정보를 동적으로 불러옵니다.
11
10
  import { getHolidayNames, isHoliday } from '@hyunbinseo/holidays-kr';
12
11
 
13
12
  // 공휴일 여부
14
- isHoliday(new Date('2025-01-01T00:00:00+0900')); // true
15
- isHoliday(new Date('2025-01-02T00:00:00+0900')); // false
16
- isHoliday(new Date('2023-01-01T00:00:00+0900')); // RangeError
13
+ await isHoliday(new Date('2026-01-01T00:00:00+0900')); // true
14
+ await isHoliday(new Date('2026-01-02T00:00:00+0900')); // false
15
+ await isHoliday(new Date('2999-01-01T00:00:00+0900')); // RangeError
17
16
 
18
17
  // 공휴일 명칭(들)
19
- getHolidayNames(new Date('2025-05-05T00:00:00+0900')); // [ '어린이날', '부처님 오신 날' ]
20
- getHolidayNames(new Date('2025-05-04T00:00:00+0900')); // null
18
+ await getHolidayNames(new Date('2026-05-05T00:00:00+0900')); // ['어린이날']
19
+ await getHolidayNames(new Date('2026-05-04T00:00:00+0900')); // null
21
20
  ```
22
21
 
23
- <!-- Importing from jsDelivr, etc. is not recommended. -->
24
- <!-- Use bundlers to tree-shake unused holiday presets. -->
22
+ ```js
23
+ // 연도별 공휴일 정보를 정적으로 불러옵니다.
24
+ import { y2026 } from '@hyunbinseo/holidays-kr';
25
+ ```
26
+
27
+ ```jsonc
28
+ // y2026의 형태:
29
+ {
30
+ "2026-01-01": ["1월 1일"],
31
+ // ...
32
+ "2026-12-25": ["기독탄신일"],
33
+ }
34
+ ```
25
35
 
26
36
  ---
27
37
 
28
38
  ## Usage
29
39
 
30
- Based on the latest release. [migration guide](#migration)
31
-
32
- ```js
33
- // ESM and CJS are both supported.
34
- import { y2025 } from '@hyunbinseo/holidays-kr';
35
- const { y2025 } = require('@hyunbinseo/holidays-kr');
36
- ```
37
-
38
- Check if a date string is a holiday:
40
+ Check if a `yyyy-mm-dd` date string is a holiday:
39
41
 
40
42
  ```js
41
- import { y2024, y2025 } from '@hyunbinseo/holidays-kr';
43
+ import { y2026 } from '@hyunbinseo/holidays-kr';
42
44
 
43
- '2025-01-01' in y2025; // true
44
- '2025-01-02' in y2025; // false
45
-
46
- '2024-01-01' in y2025; // false
47
- '2024-01-01' in y2024; // true
45
+ '2026-01-01' in y2026; // true
46
+ '2026-01-02' in y2026; // false
47
+ '2025-01-01' in y2026; // false - different year
48
48
  ```
49
49
 
50
50
  ```jsonc
51
- // y2025 is shaped like this:
51
+ // y2026 is shaped like this:
52
52
  {
53
- "2025-01-01": ["1월 1일"],
54
- "2025-01-28": ["설날 전날"],
53
+ "2026-01-01": ["1월 1일"],
55
54
  // ...
56
- "2025-12-25": ["기독탄신일"],
55
+ "2026-12-25": ["기독탄신일"],
57
56
  }
58
57
  ```
59
58
 
60
59
  Check if a JavaScript Date is a holiday:
61
60
 
62
61
  ```js
63
- // Uses the latest 2 years of holiday data.
64
- // e.g. v3.2025 supports dates in the year 2024-2025
65
- // Supports tree-shaking: unused data is not bundled.
62
+ // Dynamically imports the preset for the requested year.
66
63
  import { isHoliday } from '@hyunbinseo/holidays-kr';
67
64
 
68
- // Jan 01 2025 00:00:00 GMT+0900 is a holiday in ROK.
69
- isHoliday(new Date('2025-01-01T00:00:00+0900')); // true
65
+ // Jan 01 2026 00:00:00 GMT+0900 is a holiday in ROK.
66
+ await isHoliday(new Date('2026-01-01T00:00:00+0900')); // true
70
67
 
71
68
  // Be cautious with the date's time zone!
72
- // Dec 31 2024 23:00:00 GMT+0900 is not a holiday in ROK.
73
- isHoliday(new Date('2025-01-01T00:00:00+1000')); // false
69
+ // Dec 31 2025 23:00:00 GMT+0900 is not a holiday in ROK.
70
+ await isHoliday(new Date('2026-01-01T00:00:00+1000')); // false
74
71
 
75
- // Throws RangeError in versions 3.2025 and above.
76
- isHoliday(new Date('2023-01-01T00:00:00+0900'));
72
+ // Throws RangeError if no preset exists for the year.
73
+ await isHoliday(new Date('2999-01-01T00:00:00+0900'));
77
74
  ```
78
75
 
76
+ Get holiday names of a given JavaScript Date:
77
+
79
78
  ```js
80
- // Trailing E stands for extended.
81
- // Uses holiday data from the year 2022.
82
- // e.g. v3.2025 supports dates in the year 2022-2025
83
- import { isHolidayE } from '@hyunbinseo/holidays-kr';
79
+ import { getHolidayNames } from '@hyunbinseo/holidays-kr';
84
80
 
85
- isHolidayE(new Date('2023-01-01T00:00:00+0900')); // true
81
+ await getHolidayNames(new Date('2026-05-05T00:00:00+0900')); // ['어린이날']
82
+ await getHolidayNames(new Date('2026-05-04T00:00:00+0900')); // null
86
83
  ```
87
84
 
88
- Get holiday names of a given JavaScript Date:
85
+ ## Migration
89
86
 
90
- ```js
91
- // Trailing E stands for extended. Same as above.
92
- import { getHolidayNames, getHolidayNamesE } from '@hyunbinseo/holidays-kr';
87
+ ### 4.x
93
88
 
94
- getHolidayNames(new Date('2025-05-05T00:00:00+0900')); // [ '어린이날', '부처님 오신 날' ]
95
- getHolidayNames(new Date('2025-05-04T00:00:00+0900')); // null
89
+ - `isHoliday` and `getHolidayNames` are now async
90
+ - `isHolidayE` and `getHolidayNamesE` are removed
91
+ - Holiday presets are dynamically imported per year
92
+
93
+ ```diff
94
+ - isHoliday(date);
95
+ - isHolidayE(date);
96
+ + await isHoliday(date);
96
97
  ```
97
98
 
98
- ## Migration
99
+ ```diff
100
+ - getHolidayNames(date);
101
+ - getHolidayNamesE(date);
102
+ + await getHolidayNames(date);
103
+ ```
99
104
 
100
105
  ### 3.x
101
106
 
@@ -0,0 +1,28 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2018.ts
3
+ var _2018_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2018,
5
+ y2018: () => y2018
6
+ });
7
+ const y2018 = {
8
+ "2018-01-01": ["1월 1일"],
9
+ "2018-02-15": ["설날 전날"],
10
+ "2018-02-16": ["설날"],
11
+ "2018-02-17": ["설날 다음 날"],
12
+ "2018-03-01": ["3ㆍ1절"],
13
+ "2018-05-05": ["어린이날"],
14
+ "2018-05-07": ["대체공휴일(어린이날)"],
15
+ "2018-05-22": ["부처님 오신 날"],
16
+ "2018-06-06": ["현충일"],
17
+ "2018-06-13": ["전국동시지방선거"],
18
+ "2018-08-15": ["광복절"],
19
+ "2018-09-23": ["추석 전날"],
20
+ "2018-09-24": ["추석"],
21
+ "2018-09-25": ["추석 다음 날"],
22
+ "2018-09-26": ["대체공휴일(추석)"],
23
+ "2018-10-03": ["개천절"],
24
+ "2018-10-09": ["한글날"],
25
+ "2018-12-25": ["기독탄신일"]
26
+ };
27
+ //#endregion
28
+ export { y2018 as n, _2018_exports as t };
@@ -0,0 +1,26 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2019.ts
3
+ var _2019_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2019,
5
+ y2019: () => y2019
6
+ });
7
+ const y2019 = {
8
+ "2019-01-01": ["1월 1일"],
9
+ "2019-02-04": ["설날 전날"],
10
+ "2019-02-05": ["설날"],
11
+ "2019-02-06": ["설날 다음 날"],
12
+ "2019-03-01": ["3ㆍ1절"],
13
+ "2019-05-05": ["어린이날"],
14
+ "2019-05-06": ["대체공휴일(어린이날)"],
15
+ "2019-05-12": ["부처님 오신 날"],
16
+ "2019-06-06": ["현충일"],
17
+ "2019-08-15": ["광복절"],
18
+ "2019-09-12": ["추석 전날"],
19
+ "2019-09-13": ["추석"],
20
+ "2019-09-14": ["추석 다음 날"],
21
+ "2019-10-03": ["개천절"],
22
+ "2019-10-09": ["한글날"],
23
+ "2019-12-25": ["기독탄신일"]
24
+ };
25
+ //#endregion
26
+ export { y2019 as n, _2019_exports as t };
@@ -0,0 +1,28 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2020.ts
3
+ var _2020_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2020,
5
+ y2020: () => y2020
6
+ });
7
+ const y2020 = {
8
+ "2020-01-01": ["1월 1일"],
9
+ "2020-01-24": ["설날 전날"],
10
+ "2020-01-25": ["설날"],
11
+ "2020-01-26": ["설날 다음 날"],
12
+ "2020-01-27": ["대체공휴일(설날)"],
13
+ "2020-03-01": ["3ㆍ1절"],
14
+ "2020-04-15": ["제21대 국회의원선거"],
15
+ "2020-04-30": ["부처님 오신 날"],
16
+ "2020-05-05": ["어린이날"],
17
+ "2020-06-06": ["현충일"],
18
+ "2020-08-15": ["광복절"],
19
+ "2020-08-17": ["임시공휴일"],
20
+ "2020-09-30": ["추석 전날"],
21
+ "2020-10-01": ["추석"],
22
+ "2020-10-02": ["추석 다음 날"],
23
+ "2020-10-03": ["개천절"],
24
+ "2020-10-09": ["한글날"],
25
+ "2020-12-25": ["기독탄신일"]
26
+ };
27
+ //#endregion
28
+ export { y2020 as n, _2020_exports as t };
@@ -0,0 +1,28 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2021.ts
3
+ var _2021_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2021,
5
+ y2021: () => y2021
6
+ });
7
+ const y2021 = {
8
+ "2021-01-01": ["1월 1일"],
9
+ "2021-02-11": ["설날 전날"],
10
+ "2021-02-12": ["설날"],
11
+ "2021-02-13": ["설날 다음 날"],
12
+ "2021-03-01": ["3ㆍ1절"],
13
+ "2021-05-05": ["어린이날"],
14
+ "2021-05-19": ["부처님 오신 날"],
15
+ "2021-06-06": ["현충일"],
16
+ "2021-08-15": ["광복절"],
17
+ "2021-08-16": ["대체공휴일(광복절)"],
18
+ "2021-09-20": ["추석 전날"],
19
+ "2021-09-21": ["추석"],
20
+ "2021-09-22": ["추석 다음 날"],
21
+ "2021-10-03": ["개천절"],
22
+ "2021-10-04": ["대체공휴일(개천절)"],
23
+ "2021-10-09": ["한글날"],
24
+ "2021-10-11": ["대체공휴일(한글날)"],
25
+ "2021-12-25": ["기독탄신일"]
26
+ };
27
+ //#endregion
28
+ export { y2021 as n, _2021_exports as t };
@@ -0,0 +1,29 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2022.ts
3
+ var _2022_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2022,
5
+ y2022: () => y2022
6
+ });
7
+ const y2022 = {
8
+ "2022-01-01": ["1월 1일"],
9
+ "2022-01-31": ["설날 전날"],
10
+ "2022-02-01": ["설날"],
11
+ "2022-02-02": ["설날 다음 날"],
12
+ "2022-03-01": ["3ㆍ1절"],
13
+ "2022-03-09": ["대통령선거"],
14
+ "2022-05-05": ["어린이날"],
15
+ "2022-05-08": ["부처님 오신 날"],
16
+ "2022-06-01": ["전국동시지방선거"],
17
+ "2022-06-06": ["현충일"],
18
+ "2022-08-15": ["광복절"],
19
+ "2022-09-09": ["추석 전날"],
20
+ "2022-09-10": ["추석"],
21
+ "2022-09-11": ["추석 다음 날"],
22
+ "2022-09-12": ["대체공휴일(추석)"],
23
+ "2022-10-03": ["개천절"],
24
+ "2022-10-09": ["한글날"],
25
+ "2022-10-10": ["대체공휴일(한글날)"],
26
+ "2022-12-25": ["기독탄신일"]
27
+ };
28
+ //#endregion
29
+ export { y2022 as n, _2022_exports as t };
@@ -0,0 +1,28 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2023.ts
3
+ var _2023_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2023,
5
+ y2023: () => y2023
6
+ });
7
+ const y2023 = {
8
+ "2023-01-01": ["1월 1일"],
9
+ "2023-01-21": ["설날 전날"],
10
+ "2023-01-22": ["설날"],
11
+ "2023-01-23": ["설날 다음 날"],
12
+ "2023-01-24": ["대체공휴일(설날)"],
13
+ "2023-03-01": ["3ㆍ1절"],
14
+ "2023-05-05": ["어린이날"],
15
+ "2023-05-27": ["부처님 오신 날"],
16
+ "2023-05-29": ["대체공휴일(부처님 오신 날)"],
17
+ "2023-06-06": ["현충일"],
18
+ "2023-08-15": ["광복절"],
19
+ "2023-09-28": ["추석 전날"],
20
+ "2023-09-29": ["추석"],
21
+ "2023-09-30": ["추석 다음 날"],
22
+ "2023-10-02": ["임시공휴일"],
23
+ "2023-10-03": ["개천절"],
24
+ "2023-10-09": ["한글날"],
25
+ "2023-12-25": ["기독탄신일"]
26
+ };
27
+ //#endregion
28
+ export { y2023 as n, _2023_exports as t };
@@ -0,0 +1,29 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2024.ts
3
+ var _2024_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2024,
5
+ y2024: () => y2024
6
+ });
7
+ const y2024 = {
8
+ "2024-01-01": ["1월 1일"],
9
+ "2024-02-09": ["설날 전날"],
10
+ "2024-02-10": ["설날"],
11
+ "2024-02-11": ["설날 다음 날"],
12
+ "2024-02-12": ["대체공휴일(설날)"],
13
+ "2024-03-01": ["3ㆍ1절"],
14
+ "2024-04-10": ["제22대국회의원선거"],
15
+ "2024-05-05": ["어린이날"],
16
+ "2024-05-06": ["대체공휴일(어린이날)"],
17
+ "2024-05-15": ["부처님 오신 날"],
18
+ "2024-06-06": ["현충일"],
19
+ "2024-08-15": ["광복절"],
20
+ "2024-09-16": ["추석 전날"],
21
+ "2024-09-17": ["추석"],
22
+ "2024-09-18": ["추석 다음 날"],
23
+ "2024-10-01": ["임시공휴일"],
24
+ "2024-10-03": ["개천절"],
25
+ "2024-10-09": ["한글날"],
26
+ "2024-12-25": ["기독탄신일"]
27
+ };
28
+ //#endregion
29
+ export { y2024 as n, _2024_exports as t };
@@ -0,0 +1,29 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2025.ts
3
+ var _2025_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2025,
5
+ y2025: () => y2025
6
+ });
7
+ const y2025 = {
8
+ "2025-01-01": ["1월 1일"],
9
+ "2025-01-27": ["임시공휴일"],
10
+ "2025-01-28": ["설날 전날"],
11
+ "2025-01-29": ["설날"],
12
+ "2025-01-30": ["설날 다음 날"],
13
+ "2025-03-01": ["3ㆍ1절"],
14
+ "2025-03-03": ["대체공휴일(3ㆍ1절)"],
15
+ "2025-05-05": ["어린이날", "부처님 오신 날"],
16
+ "2025-05-06": ["대체공휴일(부처님 오신 날)"],
17
+ "2025-06-03": ["임시공휴일(대통령선거)"],
18
+ "2025-06-06": ["현충일"],
19
+ "2025-08-15": ["광복절"],
20
+ "2025-10-03": ["개천절"],
21
+ "2025-10-05": ["추석 전날"],
22
+ "2025-10-06": ["추석"],
23
+ "2025-10-07": ["추석 다음 날"],
24
+ "2025-10-08": ["대체공휴일(추석)"],
25
+ "2025-10-09": ["한글날"],
26
+ "2025-12-25": ["기독탄신일"]
27
+ };
28
+ //#endregion
29
+ export { y2025 as n, _2025_exports as t };
@@ -0,0 +1,32 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CiIaOW0V.js";
2
+ //#region src/holidays/2026.ts
3
+ var _2026_exports = /* @__PURE__ */ __exportAll({
4
+ default: () => y2026,
5
+ y2026: () => y2026
6
+ });
7
+ const y2026 = {
8
+ "2026-01-01": ["1월 1일"],
9
+ "2026-02-16": ["설날 전날"],
10
+ "2026-02-17": ["설날"],
11
+ "2026-02-18": ["설날 다음 날"],
12
+ "2026-03-01": ["3ㆍ1절"],
13
+ "2026-03-02": ["대체공휴일(3ㆍ1절)"],
14
+ "2026-05-01": ["노동절"],
15
+ "2026-05-05": ["어린이날"],
16
+ "2026-05-24": ["부처님 오신 날"],
17
+ "2026-05-25": ["대체공휴일(부처님 오신 날)"],
18
+ "2026-06-03": ["전국동시지방선거"],
19
+ "2026-06-06": ["현충일"],
20
+ "2026-07-17": ["제헌절"],
21
+ "2026-08-15": ["광복절"],
22
+ "2026-08-17": ["대체공휴일(광복절)"],
23
+ "2026-09-24": ["추석 전날"],
24
+ "2026-09-25": ["추석"],
25
+ "2026-09-26": ["추석 다음 날"],
26
+ "2026-10-03": ["개천절"],
27
+ "2026-10-05": ["대체공휴일(개천절)"],
28
+ "2026-10-09": ["한글날"],
29
+ "2026-12-25": ["기독탄신일"]
30
+ };
31
+ //#endregion
32
+ export { y2026 as n, _2026_exports as t };
package/dist/index.d.ts CHANGED
@@ -201,10 +201,8 @@ declare const y2026: {
201
201
  readonly '2026-12-25': readonly ["기독탄신일"];
202
202
  };
203
203
  //#endregion
204
- //#region src/index.d.ts
205
- declare const getHolidayNames: (date: Date) => readonly string[] | null;
206
- declare const getHolidayNamesE: (date: Date) => readonly string[] | null;
207
- declare const isHoliday: (date: Date) => boolean;
208
- declare const isHolidayE: (date: Date) => boolean;
204
+ //#region src/holidays/utils.d.ts
205
+ declare const getHolidayNames: (date: Date) => Promise<readonly string[] | null>;
206
+ declare const isHoliday: (date: Date) => Promise<boolean>;
209
207
  //#endregion
210
- export { getHolidayNames, getHolidayNamesE, isHoliday, isHolidayE, y2018, y2019, y2020, y2021, y2022, y2023, y2024, y2025, y2026 };
208
+ export { getHolidayNames, isHoliday, y2018, y2019, y2020, y2021, y2022, y2023, y2024, y2025, y2026 };
package/dist/index.js CHANGED
@@ -1,254 +1,33 @@
1
- //#region \0rolldown/runtime.js
2
- var __defProp = Object.defineProperty;
3
- var __exportAll = (all, no_symbols) => {
4
- let target = {};
5
- for (var name in all) __defProp(target, name, {
6
- get: all[name],
7
- enumerable: true
8
- });
9
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
- return target;
11
- };
12
- //#endregion
13
- //#region src/holidays/2018.ts
14
- const y2018 = {
15
- "2018-01-01": ["1월 1일"],
16
- "2018-02-15": ["설날 전날"],
17
- "2018-02-16": ["설날"],
18
- "2018-02-17": ["설날 다음 날"],
19
- "2018-03-01": ["3ㆍ1절"],
20
- "2018-05-05": ["어린이날"],
21
- "2018-05-07": ["대체공휴일(어린이날)"],
22
- "2018-05-22": ["부처님 오신 날"],
23
- "2018-06-06": ["현충일"],
24
- "2018-06-13": ["전국동시지방선거"],
25
- "2018-08-15": ["광복절"],
26
- "2018-09-23": ["추석 전날"],
27
- "2018-09-24": ["추석"],
28
- "2018-09-25": ["추석 다음 날"],
29
- "2018-09-26": ["대체공휴일(추석)"],
30
- "2018-10-03": ["개천절"],
31
- "2018-10-09": ["한글날"],
32
- "2018-12-25": ["기독탄신일"]
33
- };
34
- //#endregion
35
- //#region src/holidays/2019.ts
36
- const y2019 = {
37
- "2019-01-01": ["1월 1일"],
38
- "2019-02-04": ["설날 전날"],
39
- "2019-02-05": ["설날"],
40
- "2019-02-06": ["설날 다음 날"],
41
- "2019-03-01": ["3ㆍ1절"],
42
- "2019-05-05": ["어린이날"],
43
- "2019-05-06": ["대체공휴일(어린이날)"],
44
- "2019-05-12": ["부처님 오신 날"],
45
- "2019-06-06": ["현충일"],
46
- "2019-08-15": ["광복절"],
47
- "2019-09-12": ["추석 전날"],
48
- "2019-09-13": ["추석"],
49
- "2019-09-14": ["추석 다음 날"],
50
- "2019-10-03": ["개천절"],
51
- "2019-10-09": ["한글날"],
52
- "2019-12-25": ["기독탄신일"]
53
- };
54
- //#endregion
55
- //#region src/holidays/2020.ts
56
- const y2020 = {
57
- "2020-01-01": ["1월 1일"],
58
- "2020-01-24": ["설날 전날"],
59
- "2020-01-25": ["설날"],
60
- "2020-01-26": ["설날 다음 날"],
61
- "2020-01-27": ["대체공휴일(설날)"],
62
- "2020-03-01": ["3ㆍ1절"],
63
- "2020-04-15": ["제21대 국회의원선거"],
64
- "2020-04-30": ["부처님 오신 날"],
65
- "2020-05-05": ["어린이날"],
66
- "2020-06-06": ["현충일"],
67
- "2020-08-15": ["광복절"],
68
- "2020-08-17": ["임시공휴일"],
69
- "2020-09-30": ["추석 전날"],
70
- "2020-10-01": ["추석"],
71
- "2020-10-02": ["추석 다음 날"],
72
- "2020-10-03": ["개천절"],
73
- "2020-10-09": ["한글날"],
74
- "2020-12-25": ["기독탄신일"]
75
- };
76
- //#endregion
77
- //#region src/holidays/2021.ts
78
- const y2021 = {
79
- "2021-01-01": ["1월 1일"],
80
- "2021-02-11": ["설날 전날"],
81
- "2021-02-12": ["설날"],
82
- "2021-02-13": ["설날 다음 날"],
83
- "2021-03-01": ["3ㆍ1절"],
84
- "2021-05-05": ["어린이날"],
85
- "2021-05-19": ["부처님 오신 날"],
86
- "2021-06-06": ["현충일"],
87
- "2021-08-15": ["광복절"],
88
- "2021-08-16": ["대체공휴일(광복절)"],
89
- "2021-09-20": ["추석 전날"],
90
- "2021-09-21": ["추석"],
91
- "2021-09-22": ["추석 다음 날"],
92
- "2021-10-03": ["개천절"],
93
- "2021-10-04": ["대체공휴일(개천절)"],
94
- "2021-10-09": ["한글날"],
95
- "2021-10-11": ["대체공휴일(한글날)"],
96
- "2021-12-25": ["기독탄신일"]
97
- };
98
- //#endregion
99
- //#region src/holidays/2022.ts
100
- const y2022 = {
101
- "2022-01-01": ["1월 1일"],
102
- "2022-01-31": ["설날 전날"],
103
- "2022-02-01": ["설날"],
104
- "2022-02-02": ["설날 다음 날"],
105
- "2022-03-01": ["3ㆍ1절"],
106
- "2022-03-09": ["대통령선거"],
107
- "2022-05-05": ["어린이날"],
108
- "2022-05-08": ["부처님 오신 날"],
109
- "2022-06-01": ["전국동시지방선거"],
110
- "2022-06-06": ["현충일"],
111
- "2022-08-15": ["광복절"],
112
- "2022-09-09": ["추석 전날"],
113
- "2022-09-10": ["추석"],
114
- "2022-09-11": ["추석 다음 날"],
115
- "2022-09-12": ["대체공휴일(추석)"],
116
- "2022-10-03": ["개천절"],
117
- "2022-10-09": ["한글날"],
118
- "2022-10-10": ["대체공휴일(한글날)"],
119
- "2022-12-25": ["기독탄신일"]
120
- };
121
- //#endregion
122
- //#region src/holidays/2023.ts
123
- const y2023 = {
124
- "2023-01-01": ["1월 1일"],
125
- "2023-01-21": ["설날 전날"],
126
- "2023-01-22": ["설날"],
127
- "2023-01-23": ["설날 다음 날"],
128
- "2023-01-24": ["대체공휴일(설날)"],
129
- "2023-03-01": ["3ㆍ1절"],
130
- "2023-05-05": ["어린이날"],
131
- "2023-05-27": ["부처님 오신 날"],
132
- "2023-05-29": ["대체공휴일(부처님 오신 날)"],
133
- "2023-06-06": ["현충일"],
134
- "2023-08-15": ["광복절"],
135
- "2023-09-28": ["추석 전날"],
136
- "2023-09-29": ["추석"],
137
- "2023-09-30": ["추석 다음 날"],
138
- "2023-10-02": ["임시공휴일"],
139
- "2023-10-03": ["개천절"],
140
- "2023-10-09": ["한글날"],
141
- "2023-12-25": ["기독탄신일"]
142
- };
143
- //#endregion
144
- //#region src/holidays/2024.ts
145
- const y2024 = {
146
- "2024-01-01": ["1월 1일"],
147
- "2024-02-09": ["설날 전날"],
148
- "2024-02-10": ["설날"],
149
- "2024-02-11": ["설날 다음 날"],
150
- "2024-02-12": ["대체공휴일(설날)"],
151
- "2024-03-01": ["3ㆍ1절"],
152
- "2024-04-10": ["제22대국회의원선거"],
153
- "2024-05-05": ["어린이날"],
154
- "2024-05-06": ["대체공휴일(어린이날)"],
155
- "2024-05-15": ["부처님 오신 날"],
156
- "2024-06-06": ["현충일"],
157
- "2024-08-15": ["광복절"],
158
- "2024-09-16": ["추석 전날"],
159
- "2024-09-17": ["추석"],
160
- "2024-09-18": ["추석 다음 날"],
161
- "2024-10-01": ["임시공휴일"],
162
- "2024-10-03": ["개천절"],
163
- "2024-10-09": ["한글날"],
164
- "2024-12-25": ["기독탄신일"]
165
- };
166
- //#endregion
167
- //#region src/holidays/2025.ts
168
- const y2025 = {
169
- "2025-01-01": ["1월 1일"],
170
- "2025-01-27": ["임시공휴일"],
171
- "2025-01-28": ["설날 전날"],
172
- "2025-01-29": ["설날"],
173
- "2025-01-30": ["설날 다음 날"],
174
- "2025-03-01": ["3ㆍ1절"],
175
- "2025-03-03": ["대체공휴일(3ㆍ1절)"],
176
- "2025-05-05": ["어린이날", "부처님 오신 날"],
177
- "2025-05-06": ["대체공휴일(부처님 오신 날)"],
178
- "2025-06-03": ["임시공휴일(대통령선거)"],
179
- "2025-06-06": ["현충일"],
180
- "2025-08-15": ["광복절"],
181
- "2025-10-03": ["개천절"],
182
- "2025-10-05": ["추석 전날"],
183
- "2025-10-06": ["추석"],
184
- "2025-10-07": ["추석 다음 날"],
185
- "2025-10-08": ["대체공휴일(추석)"],
186
- "2025-10-09": ["한글날"],
187
- "2025-12-25": ["기독탄신일"]
188
- };
189
- //#endregion
190
- //#region src/holidays/2026.ts
191
- const y2026 = {
192
- "2026-01-01": ["1월 1일"],
193
- "2026-02-16": ["설날 전날"],
194
- "2026-02-17": ["설날"],
195
- "2026-02-18": ["설날 다음 날"],
196
- "2026-03-01": ["3ㆍ1절"],
197
- "2026-03-02": ["대체공휴일(3ㆍ1절)"],
198
- "2026-05-01": ["노동절"],
199
- "2026-05-05": ["어린이날"],
200
- "2026-05-24": ["부처님 오신 날"],
201
- "2026-05-25": ["대체공휴일(부처님 오신 날)"],
202
- "2026-06-03": ["전국동시지방선거"],
203
- "2026-06-06": ["현충일"],
204
- "2026-07-17": ["제헌절"],
205
- "2026-08-15": ["광복절"],
206
- "2026-08-17": ["대체공휴일(광복절)"],
207
- "2026-09-24": ["추석 전날"],
208
- "2026-09-25": ["추석"],
209
- "2026-09-26": ["추석 다음 날"],
210
- "2026-10-03": ["개천절"],
211
- "2026-10-05": ["대체공휴일(개천절)"],
212
- "2026-10-09": ["한글날"],
213
- "2026-12-25": ["기독탄신일"]
214
- };
215
- //#endregion
216
- //#region src/holidays.ts
217
- var holidays_exports = /* @__PURE__ */ __exportAll({
218
- y2018: () => y2018,
219
- y2019: () => y2019,
220
- y2020: () => y2020,
221
- y2021: () => y2021,
222
- y2022: () => y2022,
223
- y2023: () => y2023,
224
- y2024: () => y2024,
225
- y2025: () => y2025,
226
- y2026: () => y2026
227
- });
228
- //#endregion
229
- //#region src/holidays.latest.ts
230
- var holidays_latest_exports = /* @__PURE__ */ __exportAll({
231
- y2025: () => y2025,
232
- y2026: () => y2026
233
- });
234
- //#endregion
235
- //#region src/index.ts
1
+ import { n as y2018 } from "./2018-C5AwMa7y.js";
2
+ import { n as y2019 } from "./2019-CsvcRi6c.js";
3
+ import { n as y2020 } from "./2020-Do-jf8yU.js";
4
+ import { n as y2021 } from "./2021-kMgaJFlk.js";
5
+ import { n as y2022 } from "./2022-JrHXz0nq.js";
6
+ import { n as y2023 } from "./2023-B1YUK2Tb.js";
7
+ import { n as y2024 } from "./2024-Bc6AOiCH.js";
8
+ import { n as y2025 } from "./2025-DhUTK95M.js";
9
+ import { n as y2026 } from "./2026-94COvbcH.js";
10
+ //#region src/holidays/utils.ts
236
11
  const KST_OFFSET = 540 * 6e4;
237
- const createFn = (presets) => (date) => {
12
+ const modules = /* @__PURE__ */ Object.assign({
13
+ "./2018.ts": () => import("./2018-C5AwMa7y.js").then((n) => n.t).then((m) => m["default"]),
14
+ "./2019.ts": () => import("./2019-CsvcRi6c.js").then((n) => n.t).then((m) => m["default"]),
15
+ "./2020.ts": () => import("./2020-Do-jf8yU.js").then((n) => n.t).then((m) => m["default"]),
16
+ "./2021.ts": () => import("./2021-kMgaJFlk.js").then((n) => n.t).then((m) => m["default"]),
17
+ "./2022.ts": () => import("./2022-JrHXz0nq.js").then((n) => n.t).then((m) => m["default"]),
18
+ "./2023.ts": () => import("./2023-B1YUK2Tb.js").then((n) => n.t).then((m) => m["default"]),
19
+ "./2024.ts": () => import("./2024-Bc6AOiCH.js").then((n) => n.t).then((m) => m["default"]),
20
+ "./2025.ts": () => import("./2025-DhUTK95M.js").then((n) => n.t).then((m) => m["default"]),
21
+ "./2026.ts": () => import("./2026-94COvbcH.js").then((n) => n.t).then((m) => m["default"])
22
+ });
23
+ const getHolidayNames = async (date) => {
238
24
  if (!(date instanceof Date)) throw new TypeError(`${date} is not a Date`);
239
25
  const yyyy_mm_dd = new Date(date.valueOf() + KST_OFFSET).toISOString().slice(0, 10);
240
26
  const yyyy = yyyy_mm_dd.slice(0, 4);
241
- const preset = presets[`y${yyyy}`];
242
- if (!preset) throw new RangeError(`Missing holiday preset for year ${yyyy}.`);
243
- return preset[yyyy_mm_dd] ?? null;
27
+ const loader = modules[`./${yyyy}.ts`];
28
+ if (!loader) throw new RangeError(`No preset for year ${yyyy}.`);
29
+ return (await loader())[yyyy_mm_dd] ?? null;
244
30
  };
245
- const getHolidayNames = createFn(holidays_latest_exports);
246
- const getHolidayNamesE = createFn(holidays_exports);
247
- const isHoliday = (date) => !!getHolidayNames(date);
248
- const isHolidayE = (date) => !!getHolidayNamesE(date);
249
- {
250
- const yyyy = new Date(Date.now() + KST_OFFSET).getUTCFullYear();
251
- if (!(`y${yyyy}` in holidays_latest_exports)) console.warn(`Missing holiday preset for year ${yyyy}. Please update the package.`);
252
- }
31
+ const isHoliday = async (date) => !!await getHolidayNames(date);
253
32
  //#endregion
254
- export { getHolidayNames, getHolidayNamesE, isHoliday, isHolidayE, y2018, y2019, y2020, y2021, y2022, y2023, y2024, y2025, y2026 };
33
+ export { getHolidayNames, isHoliday, y2018, y2019, y2020, y2021, y2022, y2023, y2024, y2025, y2026 };
@@ -0,0 +1,13 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true
8
+ });
9
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
+ return target;
11
+ };
12
+ //#endregion
13
+ export { __exportAll as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyunbinseo/holidays-kr",
3
- "version": "3.2026.3",
3
+ "version": "4.2026.0",
4
4
  "description": "South Korea's national holidays, based on the official gazette",
5
5
  "keywords": [
6
6
  "Korean",
@@ -23,37 +23,32 @@
23
23
  "dist"
24
24
  ],
25
25
  "type": "module",
26
- "main": "./dist/index.cjs",
27
- "module": "./dist/index.js",
28
- "types": "./dist/index.d.cts",
29
26
  "exports": {
30
- ".": {
31
- "import": "./dist/index.js",
32
- "require": "./dist/index.cjs"
33
- },
27
+ ".": "./dist/index.js",
34
28
  "./package.json": "./package.json"
35
29
  },
36
30
  "devDependencies": {
37
31
  "@arethetypeswrong/core": "^0.18.2",
38
32
  "@types/node": "^24.12.2",
39
- "oxfmt": "^0.43.0",
40
- "oxlint": "^1.58.0",
33
+ "oxfmt": "^0.44.0",
34
+ "oxlint": "^1.59.0",
41
35
  "publint": "^0.3.18",
42
36
  "tsdown": "^0.21.7",
43
- "typescript": "^5.9.3",
44
- "valibot": "^1.3.1"
37
+ "typescript": "^6.0.2",
38
+ "vitest": "^4.1.2"
45
39
  },
46
40
  "engines": {
47
41
  "node": ">=18"
48
42
  },
49
43
  "scripts": {
50
- "preversion": "node --test",
44
+ "preversion": "vitest run",
51
45
  "version": "node cli/write.ts && git add -A public",
52
46
  "postversion": "git push && git push --tags && node cli/postversion.ts",
53
47
  "check": "tsc --noEmit",
54
48
  "fmt": "oxfmt",
55
49
  "fmt:check": "oxfmt --check",
56
50
  "lint": "oxlint",
57
- "lint:fix": "oxlint --fix"
51
+ "lint:fix": "oxlint --fix",
52
+ "test": "vitest"
58
53
  }
59
54
  }
package/dist/index.cjs DELETED
@@ -1,267 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region \0rolldown/runtime.js
3
- var __defProp = Object.defineProperty;
4
- var __exportAll = (all, no_symbols) => {
5
- let target = {};
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
11
- return target;
12
- };
13
- //#endregion
14
- //#region src/holidays/2018.ts
15
- const y2018 = {
16
- "2018-01-01": ["1월 1일"],
17
- "2018-02-15": ["설날 전날"],
18
- "2018-02-16": ["설날"],
19
- "2018-02-17": ["설날 다음 날"],
20
- "2018-03-01": ["3ㆍ1절"],
21
- "2018-05-05": ["어린이날"],
22
- "2018-05-07": ["대체공휴일(어린이날)"],
23
- "2018-05-22": ["부처님 오신 날"],
24
- "2018-06-06": ["현충일"],
25
- "2018-06-13": ["전국동시지방선거"],
26
- "2018-08-15": ["광복절"],
27
- "2018-09-23": ["추석 전날"],
28
- "2018-09-24": ["추석"],
29
- "2018-09-25": ["추석 다음 날"],
30
- "2018-09-26": ["대체공휴일(추석)"],
31
- "2018-10-03": ["개천절"],
32
- "2018-10-09": ["한글날"],
33
- "2018-12-25": ["기독탄신일"]
34
- };
35
- //#endregion
36
- //#region src/holidays/2019.ts
37
- const y2019 = {
38
- "2019-01-01": ["1월 1일"],
39
- "2019-02-04": ["설날 전날"],
40
- "2019-02-05": ["설날"],
41
- "2019-02-06": ["설날 다음 날"],
42
- "2019-03-01": ["3ㆍ1절"],
43
- "2019-05-05": ["어린이날"],
44
- "2019-05-06": ["대체공휴일(어린이날)"],
45
- "2019-05-12": ["부처님 오신 날"],
46
- "2019-06-06": ["현충일"],
47
- "2019-08-15": ["광복절"],
48
- "2019-09-12": ["추석 전날"],
49
- "2019-09-13": ["추석"],
50
- "2019-09-14": ["추석 다음 날"],
51
- "2019-10-03": ["개천절"],
52
- "2019-10-09": ["한글날"],
53
- "2019-12-25": ["기독탄신일"]
54
- };
55
- //#endregion
56
- //#region src/holidays/2020.ts
57
- const y2020 = {
58
- "2020-01-01": ["1월 1일"],
59
- "2020-01-24": ["설날 전날"],
60
- "2020-01-25": ["설날"],
61
- "2020-01-26": ["설날 다음 날"],
62
- "2020-01-27": ["대체공휴일(설날)"],
63
- "2020-03-01": ["3ㆍ1절"],
64
- "2020-04-15": ["제21대 국회의원선거"],
65
- "2020-04-30": ["부처님 오신 날"],
66
- "2020-05-05": ["어린이날"],
67
- "2020-06-06": ["현충일"],
68
- "2020-08-15": ["광복절"],
69
- "2020-08-17": ["임시공휴일"],
70
- "2020-09-30": ["추석 전날"],
71
- "2020-10-01": ["추석"],
72
- "2020-10-02": ["추석 다음 날"],
73
- "2020-10-03": ["개천절"],
74
- "2020-10-09": ["한글날"],
75
- "2020-12-25": ["기독탄신일"]
76
- };
77
- //#endregion
78
- //#region src/holidays/2021.ts
79
- const y2021 = {
80
- "2021-01-01": ["1월 1일"],
81
- "2021-02-11": ["설날 전날"],
82
- "2021-02-12": ["설날"],
83
- "2021-02-13": ["설날 다음 날"],
84
- "2021-03-01": ["3ㆍ1절"],
85
- "2021-05-05": ["어린이날"],
86
- "2021-05-19": ["부처님 오신 날"],
87
- "2021-06-06": ["현충일"],
88
- "2021-08-15": ["광복절"],
89
- "2021-08-16": ["대체공휴일(광복절)"],
90
- "2021-09-20": ["추석 전날"],
91
- "2021-09-21": ["추석"],
92
- "2021-09-22": ["추석 다음 날"],
93
- "2021-10-03": ["개천절"],
94
- "2021-10-04": ["대체공휴일(개천절)"],
95
- "2021-10-09": ["한글날"],
96
- "2021-10-11": ["대체공휴일(한글날)"],
97
- "2021-12-25": ["기독탄신일"]
98
- };
99
- //#endregion
100
- //#region src/holidays/2022.ts
101
- const y2022 = {
102
- "2022-01-01": ["1월 1일"],
103
- "2022-01-31": ["설날 전날"],
104
- "2022-02-01": ["설날"],
105
- "2022-02-02": ["설날 다음 날"],
106
- "2022-03-01": ["3ㆍ1절"],
107
- "2022-03-09": ["대통령선거"],
108
- "2022-05-05": ["어린이날"],
109
- "2022-05-08": ["부처님 오신 날"],
110
- "2022-06-01": ["전국동시지방선거"],
111
- "2022-06-06": ["현충일"],
112
- "2022-08-15": ["광복절"],
113
- "2022-09-09": ["추석 전날"],
114
- "2022-09-10": ["추석"],
115
- "2022-09-11": ["추석 다음 날"],
116
- "2022-09-12": ["대체공휴일(추석)"],
117
- "2022-10-03": ["개천절"],
118
- "2022-10-09": ["한글날"],
119
- "2022-10-10": ["대체공휴일(한글날)"],
120
- "2022-12-25": ["기독탄신일"]
121
- };
122
- //#endregion
123
- //#region src/holidays/2023.ts
124
- const y2023 = {
125
- "2023-01-01": ["1월 1일"],
126
- "2023-01-21": ["설날 전날"],
127
- "2023-01-22": ["설날"],
128
- "2023-01-23": ["설날 다음 날"],
129
- "2023-01-24": ["대체공휴일(설날)"],
130
- "2023-03-01": ["3ㆍ1절"],
131
- "2023-05-05": ["어린이날"],
132
- "2023-05-27": ["부처님 오신 날"],
133
- "2023-05-29": ["대체공휴일(부처님 오신 날)"],
134
- "2023-06-06": ["현충일"],
135
- "2023-08-15": ["광복절"],
136
- "2023-09-28": ["추석 전날"],
137
- "2023-09-29": ["추석"],
138
- "2023-09-30": ["추석 다음 날"],
139
- "2023-10-02": ["임시공휴일"],
140
- "2023-10-03": ["개천절"],
141
- "2023-10-09": ["한글날"],
142
- "2023-12-25": ["기독탄신일"]
143
- };
144
- //#endregion
145
- //#region src/holidays/2024.ts
146
- const y2024 = {
147
- "2024-01-01": ["1월 1일"],
148
- "2024-02-09": ["설날 전날"],
149
- "2024-02-10": ["설날"],
150
- "2024-02-11": ["설날 다음 날"],
151
- "2024-02-12": ["대체공휴일(설날)"],
152
- "2024-03-01": ["3ㆍ1절"],
153
- "2024-04-10": ["제22대국회의원선거"],
154
- "2024-05-05": ["어린이날"],
155
- "2024-05-06": ["대체공휴일(어린이날)"],
156
- "2024-05-15": ["부처님 오신 날"],
157
- "2024-06-06": ["현충일"],
158
- "2024-08-15": ["광복절"],
159
- "2024-09-16": ["추석 전날"],
160
- "2024-09-17": ["추석"],
161
- "2024-09-18": ["추석 다음 날"],
162
- "2024-10-01": ["임시공휴일"],
163
- "2024-10-03": ["개천절"],
164
- "2024-10-09": ["한글날"],
165
- "2024-12-25": ["기독탄신일"]
166
- };
167
- //#endregion
168
- //#region src/holidays/2025.ts
169
- const y2025 = {
170
- "2025-01-01": ["1월 1일"],
171
- "2025-01-27": ["임시공휴일"],
172
- "2025-01-28": ["설날 전날"],
173
- "2025-01-29": ["설날"],
174
- "2025-01-30": ["설날 다음 날"],
175
- "2025-03-01": ["3ㆍ1절"],
176
- "2025-03-03": ["대체공휴일(3ㆍ1절)"],
177
- "2025-05-05": ["어린이날", "부처님 오신 날"],
178
- "2025-05-06": ["대체공휴일(부처님 오신 날)"],
179
- "2025-06-03": ["임시공휴일(대통령선거)"],
180
- "2025-06-06": ["현충일"],
181
- "2025-08-15": ["광복절"],
182
- "2025-10-03": ["개천절"],
183
- "2025-10-05": ["추석 전날"],
184
- "2025-10-06": ["추석"],
185
- "2025-10-07": ["추석 다음 날"],
186
- "2025-10-08": ["대체공휴일(추석)"],
187
- "2025-10-09": ["한글날"],
188
- "2025-12-25": ["기독탄신일"]
189
- };
190
- //#endregion
191
- //#region src/holidays/2026.ts
192
- const y2026 = {
193
- "2026-01-01": ["1월 1일"],
194
- "2026-02-16": ["설날 전날"],
195
- "2026-02-17": ["설날"],
196
- "2026-02-18": ["설날 다음 날"],
197
- "2026-03-01": ["3ㆍ1절"],
198
- "2026-03-02": ["대체공휴일(3ㆍ1절)"],
199
- "2026-05-01": ["노동절"],
200
- "2026-05-05": ["어린이날"],
201
- "2026-05-24": ["부처님 오신 날"],
202
- "2026-05-25": ["대체공휴일(부처님 오신 날)"],
203
- "2026-06-03": ["전국동시지방선거"],
204
- "2026-06-06": ["현충일"],
205
- "2026-07-17": ["제헌절"],
206
- "2026-08-15": ["광복절"],
207
- "2026-08-17": ["대체공휴일(광복절)"],
208
- "2026-09-24": ["추석 전날"],
209
- "2026-09-25": ["추석"],
210
- "2026-09-26": ["추석 다음 날"],
211
- "2026-10-03": ["개천절"],
212
- "2026-10-05": ["대체공휴일(개천절)"],
213
- "2026-10-09": ["한글날"],
214
- "2026-12-25": ["기독탄신일"]
215
- };
216
- //#endregion
217
- //#region src/holidays.ts
218
- var holidays_exports = /* @__PURE__ */ __exportAll({
219
- y2018: () => y2018,
220
- y2019: () => y2019,
221
- y2020: () => y2020,
222
- y2021: () => y2021,
223
- y2022: () => y2022,
224
- y2023: () => y2023,
225
- y2024: () => y2024,
226
- y2025: () => y2025,
227
- y2026: () => y2026
228
- });
229
- //#endregion
230
- //#region src/holidays.latest.ts
231
- var holidays_latest_exports = /* @__PURE__ */ __exportAll({
232
- y2025: () => y2025,
233
- y2026: () => y2026
234
- });
235
- //#endregion
236
- //#region src/index.ts
237
- const KST_OFFSET = 540 * 6e4;
238
- const createFn = (presets) => (date) => {
239
- if (!(date instanceof Date)) throw new TypeError(`${date} is not a Date`);
240
- const yyyy_mm_dd = new Date(date.valueOf() + KST_OFFSET).toISOString().slice(0, 10);
241
- const yyyy = yyyy_mm_dd.slice(0, 4);
242
- const preset = presets[`y${yyyy}`];
243
- if (!preset) throw new RangeError(`Missing holiday preset for year ${yyyy}.`);
244
- return preset[yyyy_mm_dd] ?? null;
245
- };
246
- const getHolidayNames = createFn(holidays_latest_exports);
247
- const getHolidayNamesE = createFn(holidays_exports);
248
- const isHoliday = (date) => !!getHolidayNames(date);
249
- const isHolidayE = (date) => !!getHolidayNamesE(date);
250
- {
251
- const yyyy = new Date(Date.now() + KST_OFFSET).getUTCFullYear();
252
- if (!(`y${yyyy}` in holidays_latest_exports)) console.warn(`Missing holiday preset for year ${yyyy}. Please update the package.`);
253
- }
254
- //#endregion
255
- exports.getHolidayNames = getHolidayNames;
256
- exports.getHolidayNamesE = getHolidayNamesE;
257
- exports.isHoliday = isHoliday;
258
- exports.isHolidayE = isHolidayE;
259
- exports.y2018 = y2018;
260
- exports.y2019 = y2019;
261
- exports.y2020 = y2020;
262
- exports.y2021 = y2021;
263
- exports.y2022 = y2022;
264
- exports.y2023 = y2023;
265
- exports.y2024 = y2024;
266
- exports.y2025 = y2025;
267
- exports.y2026 = y2026;
package/dist/index.d.cts DELETED
@@ -1,210 +0,0 @@
1
- //#region src/holidays/2018.d.ts
2
- declare const y2018: {
3
- readonly '2018-01-01': readonly ["1월 1일"];
4
- readonly '2018-02-15': readonly ["설날 전날"];
5
- readonly '2018-02-16': readonly ["설날"];
6
- readonly '2018-02-17': readonly ["설날 다음 날"];
7
- readonly '2018-03-01': readonly ["3ㆍ1절"];
8
- readonly '2018-05-05': readonly ["어린이날"];
9
- readonly '2018-05-07': readonly ["대체공휴일(어린이날)"];
10
- readonly '2018-05-22': readonly ["부처님 오신 날"];
11
- readonly '2018-06-06': readonly ["현충일"];
12
- readonly '2018-06-13': readonly ["전국동시지방선거"];
13
- readonly '2018-08-15': readonly ["광복절"];
14
- readonly '2018-09-23': readonly ["추석 전날"];
15
- readonly '2018-09-24': readonly ["추석"];
16
- readonly '2018-09-25': readonly ["추석 다음 날"];
17
- readonly '2018-09-26': readonly ["대체공휴일(추석)"];
18
- readonly '2018-10-03': readonly ["개천절"];
19
- readonly '2018-10-09': readonly ["한글날"];
20
- readonly '2018-12-25': readonly ["기독탄신일"];
21
- };
22
- //#endregion
23
- //#region src/holidays/2019.d.ts
24
- declare const y2019: {
25
- readonly '2019-01-01': readonly ["1월 1일"];
26
- readonly '2019-02-04': readonly ["설날 전날"];
27
- readonly '2019-02-05': readonly ["설날"];
28
- readonly '2019-02-06': readonly ["설날 다음 날"];
29
- readonly '2019-03-01': readonly ["3ㆍ1절"];
30
- readonly '2019-05-05': readonly ["어린이날"];
31
- readonly '2019-05-06': readonly ["대체공휴일(어린이날)"];
32
- readonly '2019-05-12': readonly ["부처님 오신 날"];
33
- readonly '2019-06-06': readonly ["현충일"];
34
- readonly '2019-08-15': readonly ["광복절"];
35
- readonly '2019-09-12': readonly ["추석 전날"];
36
- readonly '2019-09-13': readonly ["추석"];
37
- readonly '2019-09-14': readonly ["추석 다음 날"];
38
- readonly '2019-10-03': readonly ["개천절"];
39
- readonly '2019-10-09': readonly ["한글날"];
40
- readonly '2019-12-25': readonly ["기독탄신일"];
41
- };
42
- //#endregion
43
- //#region src/holidays/2020.d.ts
44
- declare const y2020: {
45
- readonly '2020-01-01': readonly ["1월 1일"];
46
- readonly '2020-01-24': readonly ["설날 전날"];
47
- readonly '2020-01-25': readonly ["설날"];
48
- readonly '2020-01-26': readonly ["설날 다음 날"];
49
- readonly '2020-01-27': readonly ["대체공휴일(설날)"];
50
- readonly '2020-03-01': readonly ["3ㆍ1절"];
51
- readonly '2020-04-15': readonly ["제21대 국회의원선거"];
52
- readonly '2020-04-30': readonly ["부처님 오신 날"];
53
- readonly '2020-05-05': readonly ["어린이날"];
54
- readonly '2020-06-06': readonly ["현충일"];
55
- readonly '2020-08-15': readonly ["광복절"];
56
- readonly '2020-08-17': readonly ["임시공휴일"];
57
- readonly '2020-09-30': readonly ["추석 전날"];
58
- readonly '2020-10-01': readonly ["추석"];
59
- readonly '2020-10-02': readonly ["추석 다음 날"];
60
- readonly '2020-10-03': readonly ["개천절"];
61
- readonly '2020-10-09': readonly ["한글날"];
62
- readonly '2020-12-25': readonly ["기독탄신일"];
63
- };
64
- //#endregion
65
- //#region src/holidays/2021.d.ts
66
- declare const y2021: {
67
- readonly '2021-01-01': readonly ["1월 1일"];
68
- readonly '2021-02-11': readonly ["설날 전날"];
69
- readonly '2021-02-12': readonly ["설날"];
70
- readonly '2021-02-13': readonly ["설날 다음 날"];
71
- readonly '2021-03-01': readonly ["3ㆍ1절"];
72
- readonly '2021-05-05': readonly ["어린이날"];
73
- readonly '2021-05-19': readonly ["부처님 오신 날"];
74
- readonly '2021-06-06': readonly ["현충일"];
75
- readonly '2021-08-15': readonly ["광복절"];
76
- readonly '2021-08-16': readonly ["대체공휴일(광복절)"];
77
- readonly '2021-09-20': readonly ["추석 전날"];
78
- readonly '2021-09-21': readonly ["추석"];
79
- readonly '2021-09-22': readonly ["추석 다음 날"];
80
- readonly '2021-10-03': readonly ["개천절"];
81
- readonly '2021-10-04': readonly ["대체공휴일(개천절)"];
82
- readonly '2021-10-09': readonly ["한글날"];
83
- readonly '2021-10-11': readonly ["대체공휴일(한글날)"];
84
- readonly '2021-12-25': readonly ["기독탄신일"];
85
- };
86
- //#endregion
87
- //#region src/holidays/2022.d.ts
88
- declare const y2022: {
89
- readonly '2022-01-01': readonly ["1월 1일"];
90
- readonly '2022-01-31': readonly ["설날 전날"];
91
- readonly '2022-02-01': readonly ["설날"];
92
- readonly '2022-02-02': readonly ["설날 다음 날"];
93
- readonly '2022-03-01': readonly ["3ㆍ1절"];
94
- readonly '2022-03-09': readonly ["대통령선거"];
95
- readonly '2022-05-05': readonly ["어린이날"];
96
- readonly '2022-05-08': readonly ["부처님 오신 날"];
97
- readonly '2022-06-01': readonly ["전국동시지방선거"];
98
- readonly '2022-06-06': readonly ["현충일"];
99
- readonly '2022-08-15': readonly ["광복절"];
100
- readonly '2022-09-09': readonly ["추석 전날"];
101
- readonly '2022-09-10': readonly ["추석"];
102
- readonly '2022-09-11': readonly ["추석 다음 날"];
103
- readonly '2022-09-12': readonly ["대체공휴일(추석)"];
104
- readonly '2022-10-03': readonly ["개천절"];
105
- readonly '2022-10-09': readonly ["한글날"];
106
- readonly '2022-10-10': readonly ["대체공휴일(한글날)"];
107
- readonly '2022-12-25': readonly ["기독탄신일"];
108
- };
109
- //#endregion
110
- //#region src/holidays/2023.d.ts
111
- declare const y2023: {
112
- readonly '2023-01-01': readonly ["1월 1일"];
113
- readonly '2023-01-21': readonly ["설날 전날"];
114
- readonly '2023-01-22': readonly ["설날"];
115
- readonly '2023-01-23': readonly ["설날 다음 날"];
116
- readonly '2023-01-24': readonly ["대체공휴일(설날)"];
117
- readonly '2023-03-01': readonly ["3ㆍ1절"];
118
- readonly '2023-05-05': readonly ["어린이날"];
119
- readonly '2023-05-27': readonly ["부처님 오신 날"];
120
- readonly '2023-05-29': readonly ["대체공휴일(부처님 오신 날)"];
121
- readonly '2023-06-06': readonly ["현충일"];
122
- readonly '2023-08-15': readonly ["광복절"];
123
- readonly '2023-09-28': readonly ["추석 전날"];
124
- readonly '2023-09-29': readonly ["추석"];
125
- readonly '2023-09-30': readonly ["추석 다음 날"];
126
- readonly '2023-10-02': readonly ["임시공휴일"];
127
- readonly '2023-10-03': readonly ["개천절"];
128
- readonly '2023-10-09': readonly ["한글날"];
129
- readonly '2023-12-25': readonly ["기독탄신일"];
130
- };
131
- //#endregion
132
- //#region src/holidays/2024.d.ts
133
- declare const y2024: {
134
- readonly '2024-01-01': readonly ["1월 1일"];
135
- readonly '2024-02-09': readonly ["설날 전날"];
136
- readonly '2024-02-10': readonly ["설날"];
137
- readonly '2024-02-11': readonly ["설날 다음 날"];
138
- readonly '2024-02-12': readonly ["대체공휴일(설날)"];
139
- readonly '2024-03-01': readonly ["3ㆍ1절"];
140
- readonly '2024-04-10': readonly ["제22대국회의원선거"];
141
- readonly '2024-05-05': readonly ["어린이날"];
142
- readonly '2024-05-06': readonly ["대체공휴일(어린이날)"];
143
- readonly '2024-05-15': readonly ["부처님 오신 날"];
144
- readonly '2024-06-06': readonly ["현충일"];
145
- readonly '2024-08-15': readonly ["광복절"];
146
- readonly '2024-09-16': readonly ["추석 전날"];
147
- readonly '2024-09-17': readonly ["추석"];
148
- readonly '2024-09-18': readonly ["추석 다음 날"];
149
- readonly '2024-10-01': readonly ["임시공휴일"];
150
- readonly '2024-10-03': readonly ["개천절"];
151
- readonly '2024-10-09': readonly ["한글날"];
152
- readonly '2024-12-25': readonly ["기독탄신일"];
153
- };
154
- //#endregion
155
- //#region src/holidays/2025.d.ts
156
- declare const y2025: {
157
- readonly '2025-01-01': readonly ["1월 1일"];
158
- readonly '2025-01-27': readonly ["임시공휴일"];
159
- readonly '2025-01-28': readonly ["설날 전날"];
160
- readonly '2025-01-29': readonly ["설날"];
161
- readonly '2025-01-30': readonly ["설날 다음 날"];
162
- readonly '2025-03-01': readonly ["3ㆍ1절"];
163
- readonly '2025-03-03': readonly ["대체공휴일(3ㆍ1절)"];
164
- readonly '2025-05-05': readonly ["어린이날", "부처님 오신 날"];
165
- readonly '2025-05-06': readonly ["대체공휴일(부처님 오신 날)"];
166
- readonly '2025-06-03': readonly ["임시공휴일(대통령선거)"];
167
- readonly '2025-06-06': readonly ["현충일"];
168
- readonly '2025-08-15': readonly ["광복절"];
169
- readonly '2025-10-03': readonly ["개천절"];
170
- readonly '2025-10-05': readonly ["추석 전날"];
171
- readonly '2025-10-06': readonly ["추석"];
172
- readonly '2025-10-07': readonly ["추석 다음 날"];
173
- readonly '2025-10-08': readonly ["대체공휴일(추석)"];
174
- readonly '2025-10-09': readonly ["한글날"];
175
- readonly '2025-12-25': readonly ["기독탄신일"];
176
- };
177
- //#endregion
178
- //#region src/holidays/2026.d.ts
179
- declare const y2026: {
180
- readonly '2026-01-01': readonly ["1월 1일"];
181
- readonly '2026-02-16': readonly ["설날 전날"];
182
- readonly '2026-02-17': readonly ["설날"];
183
- readonly '2026-02-18': readonly ["설날 다음 날"];
184
- readonly '2026-03-01': readonly ["3ㆍ1절"];
185
- readonly '2026-03-02': readonly ["대체공휴일(3ㆍ1절)"];
186
- readonly '2026-05-01': readonly ["노동절"];
187
- readonly '2026-05-05': readonly ["어린이날"];
188
- readonly '2026-05-24': readonly ["부처님 오신 날"];
189
- readonly '2026-05-25': readonly ["대체공휴일(부처님 오신 날)"];
190
- readonly '2026-06-03': readonly ["전국동시지방선거"];
191
- readonly '2026-06-06': readonly ["현충일"];
192
- readonly '2026-07-17': readonly ["제헌절"];
193
- readonly '2026-08-15': readonly ["광복절"];
194
- readonly '2026-08-17': readonly ["대체공휴일(광복절)"];
195
- readonly '2026-09-24': readonly ["추석 전날"];
196
- readonly '2026-09-25': readonly ["추석"];
197
- readonly '2026-09-26': readonly ["추석 다음 날"];
198
- readonly '2026-10-03': readonly ["개천절"];
199
- readonly '2026-10-05': readonly ["대체공휴일(개천절)"];
200
- readonly '2026-10-09': readonly ["한글날"];
201
- readonly '2026-12-25': readonly ["기독탄신일"];
202
- };
203
- //#endregion
204
- //#region src/index.d.ts
205
- declare const getHolidayNames: (date: Date) => readonly string[] | null;
206
- declare const getHolidayNamesE: (date: Date) => readonly string[] | null;
207
- declare const isHoliday: (date: Date) => boolean;
208
- declare const isHolidayE: (date: Date) => boolean;
209
- //#endregion
210
- export { getHolidayNames, getHolidayNamesE, isHoliday, isHolidayE, y2018, y2019, y2020, y2021, y2022, y2023, y2024, y2025, y2026 };