Browse Source

chore: 优化目录结构

Yaavi 1 year ago
parent
commit
9b406c9ea7
16 changed files with 1619 additions and 1030 deletions
  1. 0 3
      .babelrc
  2. 5 5
      README.md
  3. 4 0
      demo/index.cjs
  4. 18 0
      demo/index.html
  5. 0 4
      demo/index.ts
  6. 0 12
      index.html
  7. 684 114
      package-lock.json
  8. 13 4
      package.json
  9. 16 16
      src/holidays/arrangement.ts
  10. 837 837
      src/holidays/constants.ts
  11. 10 18
      src/holidays/index.ts
  12. 0 3
      src/index.ts
  13. 3 3
      src/solar_terms/index.ts
  14. 9 1
      src/utils/index.ts
  15. 3 3
      test/solar_terms/index.test.ts
  16. 17 7
      vite.config.ts

+ 0 - 3
.babelrc

@@ -1,3 +0,0 @@
-{
-  "presets": ["@babel/preset-env", "@babel/preset-typescript"]
-}

+ 5 - 5
README.md

@@ -45,13 +45,13 @@ console.log(isInLieu('2024-05-01')); // false
 // 示例用法
 
 // 正常工作日 周五
-console.log(getDayDetail('2024-02-02')); // {"work":true,"name":"Friday"}
+console.log(getDayDetail('2024-02-02')); // { "date": "2024-02-02", "work":true,"name":"Friday"}
 // 节假日 周末
-console.log(getDayDetail('2024-02-03')); // {"work":false,"name":"Saturday"}
+console.log(getDayDetail('2024-02-03')); // { "date": "2024-02-03", "work":false,"name":"Saturday"}
 // 调休需要上班
-console.log(getDayDetail('2024-02-04')); // {"work":true,"name":"Spring Festival,春节,3"}
+console.log(getDayDetail('2024-02-04')); // { "date": "2024-02-04", "work":true,"name":"Spring Festival,春节,3"}
 // 节假日 春节
-console.log(getDayDetail('2024-02-17')); // {"work":false,"name":"Spring Festival,春节,3"}
+console.log(getDayDetail('2024-02-17')); // { "date": "2024-02-17", "work":false,"name":"Spring Festival,春节,3"}
 ```
 
 ### `getHolidays` 获取指定日期范围内的所有节假日
@@ -146,6 +146,6 @@ console.log(solarTerms[0]);
 ## 贡献代码
 
 1. Fork + Clone 项目到本地
-2. 修改 [节假日定义][src/holidays/generate.ts]
+2. 修改 [节假日定义][scripts/generate.ts]
 3. 执行命令 `npm run generate` 自动生成 [常量文件][src/holidays/constants.ts]
 4. 提交PR

+ 4 - 0
demo/index.cjs

@@ -0,0 +1,4 @@
+const chinaDays = require('../dist/index.js')
+
+const onlyHolidays = chinaDays.getHolidays("2024-01-01", "2024-12-31", false)
+console.log('Holidays do not include weekends:', onlyHolidays.map(d => chinaDays.getDayDetail(d)));

+ 18 - 0
demo/index.html

@@ -0,0 +1,18 @@
+<!doctype html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
+    <title>Vite + TS</title>
+  </head>
+  <body>
+    <script src="/dist/index.js"></script>
+    <script>
+      const holidaysIncludingWeekends = chinaDays.getHolidays("2024-01-01", "2024-12-31")
+      console.log('Holidays including weekends:', holidaysIncludingWeekends.map(d => chinaDays.getDayDetail(d)));
+
+      const onlyHolidays = chinaDays.getHolidays("2024-01-01", "2024-12-31", false)
+      console.log('Holidays do not include weekends:', onlyHolidays.map(d => chinaDays.getDayDetail(d)));
+    </script>
+  </body>
+</html>

+ 0 - 4
demo/index.ts

@@ -1,4 +0,0 @@
-import chinaDays from "../src";
-
-const holidays = chinaDays.getHolidays("2024-01-01", "2024-12-31", false)
-console.log('Holidays including weekends:', holidays.map(d => chinaDays.getDayDetail(d)));

+ 0 - 12
index.html

@@ -1,12 +0,0 @@
-<!doctype html>
-<html lang="en">
-  <head>
-    <meta charset="UTF-8" />
-    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
-    <title>Vite + TS</title>
-  </head>
-  <body>
-    <!-- <script type="module" src="./solar_terms/index.ts"></script> -->
-    <script type="module" src="./demo/index.ts"></script>
-  </body>
-</html>

File diff suppressed because it is too large
+ 684 - 114
package-lock.json


+ 13 - 4
package.json

@@ -2,13 +2,18 @@
   "name": "china-days",
   "version": "1.0.0",
   "description": "中国日期的TS库,含有节假日、调休日、24节气等。",
-  "main": "./src/index.ts",
-  "type": "commonjs",
+  "main": "dist/index.js",
+  "types": "dist/index.d.ts",
+  "type": "module",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/vsme/china-days"
+  },
   "scripts": {
     "dev": "vite",
     "generate": "ts-node scripts/init.ts",
     "build": "tsc && vite build",
-    "preview": "vite preview",
+    "demo": "serve",
     "test": "jest"
   },
   "keywords": [
@@ -19,6 +24,9 @@
   ],
   "author": "Yaavi",
   "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/vsme/china-days/issues"
+  },
   "dependencies": {
     "dayjs": "^1.11.11"
   },
@@ -29,6 +37,7 @@
     "ts-jest": "^29.1.2",
     "ts-node": "^10.9.2",
     "typescript": "^5.4.5",
-    "vite": "^5.2.11"
+    "vite": "^5.2.11",
+    "vite-plugin-dts": "^3.9.1"
   }
 }

+ 16 - 16
src/holidays/arrangement.ts

@@ -1,16 +1,16 @@
 import dayjs from "dayjs";
 
 export enum Holiday {
-  NewYearsDay = "New Year's Day,元旦,1",
-  SpringFestival = "Spring Festival,春节,3",
-  TombSweepingDay = "Tomb-sweeping Day,清明,1",
-  LabourDay = "Labour Day,劳动节,1",
-  DragonBoatFestival = "Dragon Boat Festival,端午,1",
-  NationalDay = "National Day,国庆节,3",
-  MidAutumnFestival = "Mid-autumn Festival,中秋,1",
+  NY = "New Year's Day,元旦,1",
+  S = "Spring Festival,春节,3",
+  T = "Tomb-sweeping Day,清明,1",
+  L = "Labour Day,劳动节,1",
+  D = "Dragon Boat Festival,端午,1",
+  N = "National Day,国庆节,3",
+  M = "Mid-autumn Festival,中秋,1",
 
   /** special holidays */
-  AntiFascist70thDay = "Anti-Fascist 70th Day,中国人民抗日战争暨世界反法西斯战争胜利70周年纪念日,1",
+  A = "Anti-Fascist 70th Day,中国人民抗日战争暨世界反法西斯战争胜利70周年纪念日,1",
 }
 
 interface DayDetails {
@@ -108,28 +108,28 @@ class Arrangement {
 
   // Special holiday marker
   nyd() {
-    return this.mark(Holiday.NewYearsDay);
+    return this.mark(Holiday.NY);
   }
   sf() {
-    return this.mark(Holiday.SpringFestival);
+    return this.mark(Holiday.S);
   }
   tsd() {
-    return this.mark(Holiday.TombSweepingDay);
+    return this.mark(Holiday.T);
   }
   ld() {
-    return this.mark(Holiday.LabourDay);
+    return this.mark(Holiday.L);
   }
   dbf() {
-    return this.mark(Holiday.DragonBoatFestival);
+    return this.mark(Holiday.D);
   }
   nd() {
-    return this.mark(Holiday.NationalDay);
+    return this.mark(Holiday.N);
   }
   maf() {
-    return this.mark(Holiday.MidAutumnFestival);
+    return this.mark(Holiday.M);
   }
   afd() {
-    return this.mark(Holiday.AntiFascist70thDay);
+    return this.mark(Holiday.A);
   }
 }
 

+ 837 - 837
src/holidays/constants.ts

@@ -1,845 +1,845 @@
 import { Holiday } from "./arrangement";
 
 export const holidays: Record<string, Holiday> = {
-  "2024-01-01": Holiday.NewYearsDay,
-  "2024-02-10": Holiday.SpringFestival,
-  "2024-02-11": Holiday.SpringFestival,
-  "2024-02-12": Holiday.SpringFestival,
-  "2024-02-13": Holiday.SpringFestival,
-  "2024-02-14": Holiday.SpringFestival,
-  "2024-02-15": Holiday.SpringFestival,
-  "2024-02-16": Holiday.SpringFestival,
-  "2024-02-17": Holiday.SpringFestival,
-  "2024-04-04": Holiday.TombSweepingDay,
-  "2024-04-05": Holiday.TombSweepingDay,
-  "2024-04-06": Holiday.TombSweepingDay,
-  "2024-05-01": Holiday.LabourDay,
-  "2024-05-02": Holiday.LabourDay,
-  "2024-05-03": Holiday.LabourDay,
-  "2024-05-04": Holiday.LabourDay,
-  "2024-05-05": Holiday.LabourDay,
-  "2024-06-10": Holiday.DragonBoatFestival,
-  "2024-09-15": Holiday.MidAutumnFestival,
-  "2024-09-16": Holiday.MidAutumnFestival,
-  "2024-09-17": Holiday.MidAutumnFestival,
-  "2024-10-01": Holiday.NationalDay,
-  "2024-10-02": Holiday.NationalDay,
-  "2024-10-03": Holiday.NationalDay,
-  "2024-10-04": Holiday.NationalDay,
-  "2024-10-05": Holiday.NationalDay,
-  "2024-10-06": Holiday.NationalDay,
-  "2024-10-07": Holiday.NationalDay,
-  "2023-01-01": Holiday.NewYearsDay,
-  "2023-01-02": Holiday.NewYearsDay,
-  "2023-01-21": Holiday.SpringFestival,
-  "2023-01-22": Holiday.SpringFestival,
-  "2023-01-23": Holiday.SpringFestival,
-  "2023-01-24": Holiday.SpringFestival,
-  "2023-01-25": Holiday.SpringFestival,
-  "2023-01-26": Holiday.SpringFestival,
-  "2023-01-27": Holiday.SpringFestival,
-  "2023-04-05": Holiday.TombSweepingDay,
-  "2023-04-29": Holiday.LabourDay,
-  "2023-04-30": Holiday.LabourDay,
-  "2023-05-01": Holiday.LabourDay,
-  "2023-05-02": Holiday.LabourDay,
-  "2023-05-03": Holiday.LabourDay,
-  "2023-06-22": Holiday.DragonBoatFestival,
-  "2023-06-23": Holiday.DragonBoatFestival,
-  "2023-06-24": Holiday.DragonBoatFestival,
-  "2023-09-29": Holiday.MidAutumnFestival,
-  "2023-09-30": Holiday.NationalDay,
-  "2023-10-01": Holiday.NationalDay,
-  "2023-10-02": Holiday.NationalDay,
-  "2023-10-03": Holiday.NationalDay,
-  "2023-10-04": Holiday.NationalDay,
-  "2023-10-05": Holiday.NationalDay,
-  "2023-10-06": Holiday.NationalDay,
-  "2022-01-01": Holiday.NewYearsDay,
-  "2022-01-02": Holiday.NewYearsDay,
-  "2022-01-03": Holiday.NewYearsDay,
-  "2022-01-31": Holiday.SpringFestival,
-  "2022-02-01": Holiday.SpringFestival,
-  "2022-02-02": Holiday.SpringFestival,
-  "2022-02-03": Holiday.SpringFestival,
-  "2022-02-04": Holiday.SpringFestival,
-  "2022-02-05": Holiday.SpringFestival,
-  "2022-02-06": Holiday.SpringFestival,
-  "2022-04-03": Holiday.TombSweepingDay,
-  "2022-04-04": Holiday.TombSweepingDay,
-  "2022-04-05": Holiday.TombSweepingDay,
-  "2022-04-30": Holiday.LabourDay,
-  "2022-05-01": Holiday.LabourDay,
-  "2022-05-02": Holiday.LabourDay,
-  "2022-05-03": Holiday.LabourDay,
-  "2022-05-04": Holiday.LabourDay,
-  "2022-06-03": Holiday.DragonBoatFestival,
-  "2022-06-04": Holiday.DragonBoatFestival,
-  "2022-06-05": Holiday.DragonBoatFestival,
-  "2022-09-10": Holiday.MidAutumnFestival,
-  "2022-09-11": Holiday.MidAutumnFestival,
-  "2022-09-12": Holiday.MidAutumnFestival,
-  "2022-10-01": Holiday.NationalDay,
-  "2022-10-02": Holiday.NationalDay,
-  "2022-10-03": Holiday.NationalDay,
-  "2022-10-04": Holiday.NationalDay,
-  "2022-10-05": Holiday.NationalDay,
-  "2022-10-06": Holiday.NationalDay,
-  "2022-10-07": Holiday.NationalDay,
-  "2022-12-31": Holiday.NewYearsDay,
-  "2021-01-01": Holiday.NewYearsDay,
-  "2021-01-02": Holiday.NewYearsDay,
-  "2021-01-03": Holiday.NewYearsDay,
-  "2021-02-11": Holiday.SpringFestival,
-  "2021-02-12": Holiday.SpringFestival,
-  "2021-02-13": Holiday.SpringFestival,
-  "2021-02-14": Holiday.SpringFestival,
-  "2021-02-15": Holiday.SpringFestival,
-  "2021-02-16": Holiday.SpringFestival,
-  "2021-02-17": Holiday.SpringFestival,
-  "2021-04-03": Holiday.TombSweepingDay,
-  "2021-04-04": Holiday.TombSweepingDay,
-  "2021-04-05": Holiday.TombSweepingDay,
-  "2021-05-01": Holiday.LabourDay,
-  "2021-05-02": Holiday.LabourDay,
-  "2021-05-03": Holiday.LabourDay,
-  "2021-05-04": Holiday.LabourDay,
-  "2021-05-05": Holiday.LabourDay,
-  "2021-06-12": Holiday.DragonBoatFestival,
-  "2021-06-13": Holiday.DragonBoatFestival,
-  "2021-06-14": Holiday.DragonBoatFestival,
-  "2021-09-19": Holiday.MidAutumnFestival,
-  "2021-09-20": Holiday.MidAutumnFestival,
-  "2021-09-21": Holiday.MidAutumnFestival,
-  "2021-10-01": Holiday.NationalDay,
-  "2021-10-02": Holiday.NationalDay,
-  "2021-10-03": Holiday.NationalDay,
-  "2021-10-04": Holiday.NationalDay,
-  "2021-10-05": Holiday.NationalDay,
-  "2021-10-06": Holiday.NationalDay,
-  "2021-10-07": Holiday.NationalDay,
-  "2020-01-01": Holiday.NewYearsDay,
-  "2020-01-24": Holiday.SpringFestival,
-  "2020-01-25": Holiday.SpringFestival,
-  "2020-01-26": Holiday.SpringFestival,
-  "2020-01-27": Holiday.SpringFestival,
-  "2020-01-28": Holiday.SpringFestival,
-  "2020-01-29": Holiday.SpringFestival,
-  "2020-01-30": Holiday.SpringFestival,
-  "2020-01-31": Holiday.SpringFestival,
-  "2020-02-01": Holiday.SpringFestival,
-  "2020-02-02": Holiday.SpringFestival,
-  "2020-04-04": Holiday.TombSweepingDay,
-  "2020-04-05": Holiday.TombSweepingDay,
-  "2020-04-06": Holiday.TombSweepingDay,
-  "2020-05-01": Holiday.LabourDay,
-  "2020-05-02": Holiday.LabourDay,
-  "2020-05-03": Holiday.LabourDay,
-  "2020-05-04": Holiday.LabourDay,
-  "2020-05-05": Holiday.LabourDay,
-  "2020-06-25": Holiday.DragonBoatFestival,
-  "2020-06-26": Holiday.DragonBoatFestival,
-  "2020-06-27": Holiday.DragonBoatFestival,
-  "2020-10-01": Holiday.NationalDay,
-  "2020-10-02": Holiday.NationalDay,
-  "2020-10-03": Holiday.NationalDay,
-  "2020-10-04": Holiday.NationalDay,
-  "2020-10-05": Holiday.NationalDay,
-  "2020-10-06": Holiday.NationalDay,
-  "2020-10-07": Holiday.NationalDay,
-  "2020-10-08": Holiday.NationalDay,
-  "2019-01-01": Holiday.NewYearsDay,
-  "2019-02-04": Holiday.SpringFestival,
-  "2019-02-05": Holiday.SpringFestival,
-  "2019-02-06": Holiday.SpringFestival,
-  "2019-02-07": Holiday.SpringFestival,
-  "2019-02-08": Holiday.SpringFestival,
-  "2019-02-09": Holiday.SpringFestival,
-  "2019-02-10": Holiday.SpringFestival,
-  "2019-04-05": Holiday.TombSweepingDay,
-  "2019-04-06": Holiday.TombSweepingDay,
-  "2019-04-07": Holiday.TombSweepingDay,
-  "2019-05-01": Holiday.LabourDay,
-  "2019-05-02": Holiday.LabourDay,
-  "2019-05-03": Holiday.LabourDay,
-  "2019-05-04": Holiday.LabourDay,
-  "2019-06-07": Holiday.DragonBoatFestival,
-  "2019-06-08": Holiday.DragonBoatFestival,
-  "2019-06-09": Holiday.DragonBoatFestival,
-  "2019-09-13": Holiday.MidAutumnFestival,
-  "2019-09-14": Holiday.MidAutumnFestival,
-  "2019-09-15": Holiday.MidAutumnFestival,
-  "2019-10-01": Holiday.NationalDay,
-  "2019-10-02": Holiday.NationalDay,
-  "2019-10-03": Holiday.NationalDay,
-  "2019-10-04": Holiday.NationalDay,
-  "2019-10-05": Holiday.NationalDay,
-  "2019-10-06": Holiday.NationalDay,
-  "2019-10-07": Holiday.NationalDay,
-  "2018-01-01": Holiday.NewYearsDay,
-  "2018-02-15": Holiday.SpringFestival,
-  "2018-02-16": Holiday.SpringFestival,
-  "2018-02-17": Holiday.SpringFestival,
-  "2018-02-18": Holiday.SpringFestival,
-  "2018-02-19": Holiday.SpringFestival,
-  "2018-02-20": Holiday.SpringFestival,
-  "2018-02-21": Holiday.SpringFestival,
-  "2018-04-05": Holiday.TombSweepingDay,
-  "2018-04-06": Holiday.TombSweepingDay,
-  "2018-04-07": Holiday.TombSweepingDay,
-  "2018-04-29": Holiday.LabourDay,
-  "2018-04-30": Holiday.LabourDay,
-  "2018-05-01": Holiday.LabourDay,
-  "2018-06-18": Holiday.DragonBoatFestival,
-  "2018-10-01": Holiday.NationalDay,
-  "2018-10-02": Holiday.NationalDay,
-  "2018-10-03": Holiday.NationalDay,
-  "2018-10-04": Holiday.NationalDay,
-  "2018-10-05": Holiday.NationalDay,
-  "2018-10-06": Holiday.NationalDay,
-  "2018-10-07": Holiday.NationalDay,
-  "2018-09-24": Holiday.MidAutumnFestival,
-  "2018-12-30": Holiday.NewYearsDay,
-  "2018-12-31": Holiday.NewYearsDay,
-  "2017-01-01": Holiday.NewYearsDay,
-  "2017-01-02": Holiday.NewYearsDay,
-  "2017-01-27": Holiday.SpringFestival,
-  "2017-01-28": Holiday.SpringFestival,
-  "2017-01-29": Holiday.SpringFestival,
-  "2017-01-30": Holiday.SpringFestival,
-  "2017-01-31": Holiday.SpringFestival,
-  "2017-02-01": Holiday.SpringFestival,
-  "2017-02-02": Holiday.SpringFestival,
-  "2017-04-02": Holiday.TombSweepingDay,
-  "2017-04-03": Holiday.TombSweepingDay,
-  "2017-04-04": Holiday.TombSweepingDay,
-  "2017-05-01": Holiday.LabourDay,
-  "2017-05-28": Holiday.DragonBoatFestival,
-  "2017-05-29": Holiday.DragonBoatFestival,
-  "2017-05-30": Holiday.DragonBoatFestival,
-  "2017-10-01": Holiday.NationalDay,
-  "2017-10-02": Holiday.NationalDay,
-  "2017-10-03": Holiday.NationalDay,
-  "2017-10-04": Holiday.MidAutumnFestival,
-  "2017-10-05": Holiday.NationalDay,
-  "2017-10-06": Holiday.NationalDay,
-  "2017-10-07": Holiday.NationalDay,
-  "2017-10-08": Holiday.NationalDay,
-  "2016-01-01": Holiday.NewYearsDay,
-  "2016-02-07": Holiday.SpringFestival,
-  "2016-02-08": Holiday.SpringFestival,
-  "2016-02-09": Holiday.SpringFestival,
-  "2016-02-10": Holiday.SpringFestival,
-  "2016-02-11": Holiday.SpringFestival,
-  "2016-02-12": Holiday.SpringFestival,
-  "2016-02-13": Holiday.SpringFestival,
-  "2016-04-04": Holiday.TombSweepingDay,
-  "2016-05-01": Holiday.LabourDay,
-  "2016-05-02": Holiday.LabourDay,
-  "2016-06-09": Holiday.DragonBoatFestival,
-  "2016-06-10": Holiday.DragonBoatFestival,
-  "2016-06-11": Holiday.DragonBoatFestival,
-  "2016-09-15": Holiday.MidAutumnFestival,
-  "2016-09-16": Holiday.MidAutumnFestival,
-  "2016-09-17": Holiday.MidAutumnFestival,
-  "2016-10-01": Holiday.NationalDay,
-  "2016-10-02": Holiday.NationalDay,
-  "2016-10-03": Holiday.NationalDay,
-  "2016-10-04": Holiday.NationalDay,
-  "2016-10-05": Holiday.NationalDay,
-  "2016-10-06": Holiday.NationalDay,
-  "2016-10-07": Holiday.NationalDay,
-  "2015-01-01": Holiday.NewYearsDay,
-  "2015-01-02": Holiday.NewYearsDay,
-  "2015-01-03": Holiday.NewYearsDay,
-  "2015-02-18": Holiday.SpringFestival,
-  "2015-02-19": Holiday.SpringFestival,
-  "2015-02-20": Holiday.SpringFestival,
-  "2015-02-21": Holiday.SpringFestival,
-  "2015-02-22": Holiday.SpringFestival,
-  "2015-02-23": Holiday.SpringFestival,
-  "2015-02-24": Holiday.SpringFestival,
-  "2015-04-05": Holiday.TombSweepingDay,
-  "2015-04-06": Holiday.TombSweepingDay,
-  "2015-05-01": Holiday.LabourDay,
-  "2015-06-20": Holiday.DragonBoatFestival,
-  "2015-06-22": Holiday.DragonBoatFestival,
-  "2015-09-27": Holiday.MidAutumnFestival,
-  "2015-10-01": Holiday.NationalDay,
-  "2015-10-02": Holiday.NationalDay,
-  "2015-10-03": Holiday.NationalDay,
-  "2015-10-04": Holiday.NationalDay,
-  "2015-10-05": Holiday.NationalDay,
-  "2015-10-06": Holiday.NationalDay,
-  "2015-10-07": Holiday.NationalDay,
-  "2015-09-03": Holiday.AntiFascist70thDay,
-  "2015-09-04": Holiday.AntiFascist70thDay,
-  "2014-01-01": Holiday.NewYearsDay,
-  "2014-01-31": Holiday.SpringFestival,
-  "2014-02-01": Holiday.SpringFestival,
-  "2014-02-02": Holiday.SpringFestival,
-  "2014-02-03": Holiday.SpringFestival,
-  "2014-02-04": Holiday.SpringFestival,
-  "2014-02-05": Holiday.SpringFestival,
-  "2014-02-06": Holiday.SpringFestival,
-  "2014-04-05": Holiday.TombSweepingDay,
-  "2014-04-06": Holiday.TombSweepingDay,
-  "2014-04-07": Holiday.TombSweepingDay,
-  "2014-05-01": Holiday.LabourDay,
-  "2014-05-02": Holiday.LabourDay,
-  "2014-05-03": Holiday.LabourDay,
-  "2014-06-02": Holiday.DragonBoatFestival,
-  "2014-09-08": Holiday.MidAutumnFestival,
-  "2014-10-01": Holiday.NationalDay,
-  "2014-10-02": Holiday.NationalDay,
-  "2014-10-03": Holiday.NationalDay,
-  "2014-10-04": Holiday.NationalDay,
-  "2014-10-05": Holiday.NationalDay,
-  "2014-10-06": Holiday.NationalDay,
-  "2014-10-07": Holiday.NationalDay,
-  "2013-01-01": Holiday.NewYearsDay,
-  "2013-01-02": Holiday.NewYearsDay,
-  "2013-01-03": Holiday.NewYearsDay,
-  "2013-02-09": Holiday.SpringFestival,
-  "2013-02-10": Holiday.SpringFestival,
-  "2013-02-11": Holiday.SpringFestival,
-  "2013-02-12": Holiday.SpringFestival,
-  "2013-02-13": Holiday.SpringFestival,
-  "2013-02-14": Holiday.SpringFestival,
-  "2013-02-15": Holiday.SpringFestival,
-  "2013-04-04": Holiday.TombSweepingDay,
-  "2013-04-05": Holiday.TombSweepingDay,
-  "2013-04-06": Holiday.TombSweepingDay,
-  "2013-04-29": Holiday.LabourDay,
-  "2013-04-30": Holiday.LabourDay,
-  "2013-05-01": Holiday.LabourDay,
-  "2013-06-10": Holiday.DragonBoatFestival,
-  "2013-06-11": Holiday.DragonBoatFestival,
-  "2013-06-12": Holiday.DragonBoatFestival,
-  "2013-09-19": Holiday.MidAutumnFestival,
-  "2013-09-20": Holiday.MidAutumnFestival,
-  "2013-09-21": Holiday.MidAutumnFestival,
-  "2013-10-01": Holiday.NationalDay,
-  "2013-10-02": Holiday.NationalDay,
-  "2013-10-03": Holiday.NationalDay,
-  "2013-10-04": Holiday.NationalDay,
-  "2013-10-05": Holiday.NationalDay,
-  "2013-10-06": Holiday.NationalDay,
-  "2013-10-07": Holiday.NationalDay,
-  "2012-01-01": Holiday.NewYearsDay,
-  "2012-01-02": Holiday.NewYearsDay,
-  "2012-01-03": Holiday.NewYearsDay,
-  "2012-01-22": Holiday.SpringFestival,
-  "2012-01-23": Holiday.SpringFestival,
-  "2012-01-24": Holiday.SpringFestival,
-  "2012-01-25": Holiday.SpringFestival,
-  "2012-01-26": Holiday.SpringFestival,
-  "2012-01-27": Holiday.SpringFestival,
-  "2012-01-28": Holiday.SpringFestival,
-  "2012-04-02": Holiday.TombSweepingDay,
-  "2012-04-03": Holiday.TombSweepingDay,
-  "2012-04-04": Holiday.TombSweepingDay,
-  "2012-04-29": Holiday.LabourDay,
-  "2012-04-30": Holiday.LabourDay,
-  "2012-05-01": Holiday.LabourDay,
-  "2012-06-22": Holiday.DragonBoatFestival,
-  "2012-06-24": Holiday.DragonBoatFestival,
-  "2012-09-30": Holiday.MidAutumnFestival,
-  "2012-10-01": Holiday.NationalDay,
-  "2012-10-02": Holiday.NationalDay,
-  "2012-10-03": Holiday.NationalDay,
-  "2012-10-04": Holiday.NationalDay,
-  "2012-10-05": Holiday.NationalDay,
-  "2012-10-06": Holiday.NationalDay,
-  "2012-10-07": Holiday.NationalDay,
-  "2011-01-01": Holiday.NewYearsDay,
-  "2011-01-02": Holiday.NewYearsDay,
-  "2011-01-03": Holiday.NewYearsDay,
-  "2011-02-02": Holiday.SpringFestival,
-  "2011-02-03": Holiday.SpringFestival,
-  "2011-02-04": Holiday.SpringFestival,
-  "2011-02-05": Holiday.SpringFestival,
-  "2011-02-06": Holiday.SpringFestival,
-  "2011-02-07": Holiday.SpringFestival,
-  "2011-02-08": Holiday.SpringFestival,
-  "2011-04-03": Holiday.TombSweepingDay,
-  "2011-04-04": Holiday.TombSweepingDay,
-  "2011-04-05": Holiday.TombSweepingDay,
-  "2011-04-30": Holiday.LabourDay,
-  "2011-05-01": Holiday.LabourDay,
-  "2011-05-02": Holiday.LabourDay,
-  "2011-06-04": Holiday.DragonBoatFestival,
-  "2011-06-06": Holiday.DragonBoatFestival,
-  "2011-09-10": Holiday.MidAutumnFestival,
-  "2011-09-11": Holiday.MidAutumnFestival,
-  "2011-09-12": Holiday.MidAutumnFestival,
-  "2011-10-01": Holiday.NationalDay,
-  "2011-10-02": Holiday.NationalDay,
-  "2011-10-03": Holiday.NationalDay,
-  "2011-10-04": Holiday.NationalDay,
-  "2011-10-05": Holiday.NationalDay,
-  "2011-10-06": Holiday.NationalDay,
-  "2011-10-07": Holiday.NationalDay,
-  "2010-01-01": Holiday.NewYearsDay,
-  "2010-01-02": Holiday.NewYearsDay,
-  "2010-01-03": Holiday.NewYearsDay,
-  "2010-02-13": Holiday.SpringFestival,
-  "2010-02-14": Holiday.SpringFestival,
-  "2010-02-15": Holiday.SpringFestival,
-  "2010-02-16": Holiday.SpringFestival,
-  "2010-02-17": Holiday.SpringFestival,
-  "2010-02-18": Holiday.SpringFestival,
-  "2010-02-19": Holiday.SpringFestival,
-  "2010-04-03": Holiday.TombSweepingDay,
-  "2010-04-04": Holiday.TombSweepingDay,
-  "2010-04-05": Holiday.TombSweepingDay,
-  "2010-05-01": Holiday.LabourDay,
-  "2010-05-02": Holiday.LabourDay,
-  "2010-05-03": Holiday.LabourDay,
-  "2010-06-14": Holiday.DragonBoatFestival,
-  "2010-06-15": Holiday.DragonBoatFestival,
-  "2010-06-16": Holiday.DragonBoatFestival,
-  "2010-09-22": Holiday.MidAutumnFestival,
-  "2010-09-23": Holiday.MidAutumnFestival,
-  "2010-09-24": Holiday.MidAutumnFestival,
-  "2010-10-01": Holiday.NationalDay,
-  "2010-10-02": Holiday.NationalDay,
-  "2010-10-03": Holiday.NationalDay,
-  "2010-10-04": Holiday.NationalDay,
-  "2010-10-05": Holiday.NationalDay,
-  "2010-10-06": Holiday.NationalDay,
-  "2010-10-07": Holiday.NationalDay,
-  "2009-01-01": Holiday.NewYearsDay,
-  "2009-01-02": Holiday.NewYearsDay,
-  "2009-01-03": Holiday.NewYearsDay,
-  "2009-01-25": Holiday.SpringFestival,
-  "2009-01-26": Holiday.SpringFestival,
-  "2009-01-27": Holiday.SpringFestival,
-  "2009-01-28": Holiday.SpringFestival,
-  "2009-01-29": Holiday.SpringFestival,
-  "2009-01-30": Holiday.SpringFestival,
-  "2009-01-31": Holiday.SpringFestival,
-  "2009-04-04": Holiday.TombSweepingDay,
-  "2009-04-05": Holiday.TombSweepingDay,
-  "2009-04-06": Holiday.TombSweepingDay,
-  "2009-05-01": Holiday.LabourDay,
-  "2009-05-02": Holiday.LabourDay,
-  "2009-05-03": Holiday.LabourDay,
-  "2009-05-28": Holiday.DragonBoatFestival,
-  "2009-05-29": Holiday.DragonBoatFestival,
-  "2009-05-30": Holiday.DragonBoatFestival,
-  "2009-10-01": Holiday.NationalDay,
-  "2009-10-02": Holiday.NationalDay,
-  "2009-10-03": Holiday.MidAutumnFestival,
-  "2009-10-04": Holiday.NationalDay,
-  "2009-10-05": Holiday.NationalDay,
-  "2009-10-06": Holiday.NationalDay,
-  "2009-10-07": Holiday.NationalDay,
-  "2009-10-08": Holiday.NationalDay,
-  "2008-01-01": Holiday.NewYearsDay,
-  "2008-02-06": Holiday.SpringFestival,
-  "2008-02-07": Holiday.SpringFestival,
-  "2008-02-08": Holiday.SpringFestival,
-  "2008-02-09": Holiday.SpringFestival,
-  "2008-02-10": Holiday.SpringFestival,
-  "2008-02-11": Holiday.SpringFestival,
-  "2008-02-12": Holiday.SpringFestival,
-  "2008-04-04": Holiday.TombSweepingDay,
-  "2008-04-05": Holiday.TombSweepingDay,
-  "2008-04-06": Holiday.TombSweepingDay,
-  "2008-05-01": Holiday.LabourDay,
-  "2008-05-02": Holiday.LabourDay,
-  "2008-05-03": Holiday.LabourDay,
-  "2008-06-07": Holiday.DragonBoatFestival,
-  "2008-06-08": Holiday.DragonBoatFestival,
-  "2008-06-09": Holiday.DragonBoatFestival,
-  "2008-09-13": Holiday.MidAutumnFestival,
-  "2008-09-14": Holiday.MidAutumnFestival,
-  "2008-09-15": Holiday.MidAutumnFestival,
-  "2008-09-29": Holiday.NationalDay,
-  "2008-09-30": Holiday.NationalDay,
-  "2008-10-01": Holiday.NationalDay,
-  "2008-10-02": Holiday.NationalDay,
-  "2008-10-03": Holiday.NationalDay,
-  "2008-10-04": Holiday.NationalDay,
-  "2008-10-05": Holiday.NationalDay,
-  "2007-01-01": Holiday.NewYearsDay,
-  "2007-01-02": Holiday.NewYearsDay,
-  "2007-01-03": Holiday.NewYearsDay,
-  "2007-02-18": Holiday.SpringFestival,
-  "2007-02-19": Holiday.SpringFestival,
-  "2007-02-20": Holiday.SpringFestival,
-  "2007-02-21": Holiday.SpringFestival,
-  "2007-02-22": Holiday.SpringFestival,
-  "2007-02-23": Holiday.SpringFestival,
-  "2007-02-24": Holiday.SpringFestival,
-  "2007-05-01": Holiday.LabourDay,
-  "2007-05-02": Holiday.LabourDay,
-  "2007-05-03": Holiday.LabourDay,
-  "2007-05-04": Holiday.LabourDay,
-  "2007-05-05": Holiday.LabourDay,
-  "2007-05-06": Holiday.LabourDay,
-  "2007-05-07": Holiday.LabourDay,
-  "2007-10-01": Holiday.NationalDay,
-  "2007-10-02": Holiday.NationalDay,
-  "2007-10-03": Holiday.NationalDay,
-  "2007-10-04": Holiday.NationalDay,
-  "2007-10-05": Holiday.NationalDay,
-  "2007-10-06": Holiday.NationalDay,
-  "2007-10-07": Holiday.NationalDay,
-  "2007-12-30": Holiday.NewYearsDay,
-  "2007-12-31": Holiday.NewYearsDay,
-  "2006-01-01": Holiday.NewYearsDay,
-  "2006-01-02": Holiday.NewYearsDay,
-  "2006-01-03": Holiday.NewYearsDay,
-  "2006-01-29": Holiday.SpringFestival,
-  "2006-01-30": Holiday.SpringFestival,
-  "2006-01-31": Holiday.SpringFestival,
-  "2006-02-01": Holiday.SpringFestival,
-  "2006-02-02": Holiday.SpringFestival,
-  "2006-02-03": Holiday.SpringFestival,
-  "2006-02-04": Holiday.SpringFestival,
-  "2006-05-01": Holiday.LabourDay,
-  "2006-05-02": Holiday.LabourDay,
-  "2006-05-03": Holiday.LabourDay,
-  "2006-05-04": Holiday.LabourDay,
-  "2006-05-05": Holiday.LabourDay,
-  "2006-05-06": Holiday.LabourDay,
-  "2006-05-07": Holiday.LabourDay,
-  "2006-10-01": Holiday.NationalDay,
-  "2006-10-02": Holiday.NationalDay,
-  "2006-10-03": Holiday.NationalDay,
-  "2006-10-04": Holiday.NationalDay,
-  "2006-10-05": Holiday.NationalDay,
-  "2006-10-06": Holiday.NationalDay,
-  "2006-10-07": Holiday.NationalDay,
-  "2005-01-01": Holiday.NewYearsDay,
-  "2005-01-02": Holiday.NewYearsDay,
-  "2005-01-03": Holiday.NewYearsDay,
-  "2005-02-09": Holiday.SpringFestival,
-  "2005-02-10": Holiday.SpringFestival,
-  "2005-02-11": Holiday.SpringFestival,
-  "2005-02-12": Holiday.SpringFestival,
-  "2005-02-13": Holiday.SpringFestival,
-  "2005-02-14": Holiday.SpringFestival,
-  "2005-02-15": Holiday.SpringFestival,
-  "2005-05-01": Holiday.LabourDay,
-  "2005-05-02": Holiday.LabourDay,
-  "2005-05-03": Holiday.LabourDay,
-  "2005-05-04": Holiday.LabourDay,
-  "2005-05-05": Holiday.LabourDay,
-  "2005-05-06": Holiday.LabourDay,
-  "2005-05-07": Holiday.LabourDay,
-  "2005-10-01": Holiday.NationalDay,
-  "2005-10-02": Holiday.NationalDay,
-  "2005-10-03": Holiday.NationalDay,
-  "2005-10-04": Holiday.NationalDay,
-  "2005-10-05": Holiday.NationalDay,
-  "2005-10-06": Holiday.NationalDay,
-  "2005-10-07": Holiday.NationalDay,
-  "2004-01-01": Holiday.NewYearsDay,
-  "2004-01-22": Holiday.SpringFestival,
-  "2004-01-23": Holiday.SpringFestival,
-  "2004-01-24": Holiday.SpringFestival,
-  "2004-01-25": Holiday.SpringFestival,
-  "2004-01-26": Holiday.SpringFestival,
-  "2004-01-27": Holiday.SpringFestival,
-  "2004-01-28": Holiday.SpringFestival,
-  "2004-05-01": Holiday.LabourDay,
-  "2004-05-02": Holiday.LabourDay,
-  "2004-05-03": Holiday.LabourDay,
-  "2004-05-04": Holiday.LabourDay,
-  "2004-05-05": Holiday.LabourDay,
-  "2004-05-06": Holiday.LabourDay,
-  "2004-05-07": Holiday.LabourDay,
-  "2004-10-01": Holiday.NationalDay,
-  "2004-10-02": Holiday.NationalDay,
-  "2004-10-03": Holiday.NationalDay,
-  "2004-10-04": Holiday.NationalDay,
-  "2004-10-05": Holiday.NationalDay,
-  "2004-10-06": Holiday.NationalDay,
-  "2004-10-07": Holiday.NationalDay
+  "2024-01-01": Holiday.NY,
+  "2024-02-10": Holiday.S,
+  "2024-02-11": Holiday.S,
+  "2024-02-12": Holiday.S,
+  "2024-02-13": Holiday.S,
+  "2024-02-14": Holiday.S,
+  "2024-02-15": Holiday.S,
+  "2024-02-16": Holiday.S,
+  "2024-02-17": Holiday.S,
+  "2024-04-04": Holiday.T,
+  "2024-04-05": Holiday.T,
+  "2024-04-06": Holiday.T,
+  "2024-05-01": Holiday.L,
+  "2024-05-02": Holiday.L,
+  "2024-05-03": Holiday.L,
+  "2024-05-04": Holiday.L,
+  "2024-05-05": Holiday.L,
+  "2024-06-10": Holiday.D,
+  "2024-09-15": Holiday.M,
+  "2024-09-16": Holiday.M,
+  "2024-09-17": Holiday.M,
+  "2024-10-01": Holiday.N,
+  "2024-10-02": Holiday.N,
+  "2024-10-03": Holiday.N,
+  "2024-10-04": Holiday.N,
+  "2024-10-05": Holiday.N,
+  "2024-10-06": Holiday.N,
+  "2024-10-07": Holiday.N,
+  "2023-01-01": Holiday.NY,
+  "2023-01-02": Holiday.NY,
+  "2023-01-21": Holiday.S,
+  "2023-01-22": Holiday.S,
+  "2023-01-23": Holiday.S,
+  "2023-01-24": Holiday.S,
+  "2023-01-25": Holiday.S,
+  "2023-01-26": Holiday.S,
+  "2023-01-27": Holiday.S,
+  "2023-04-05": Holiday.T,
+  "2023-04-29": Holiday.L,
+  "2023-04-30": Holiday.L,
+  "2023-05-01": Holiday.L,
+  "2023-05-02": Holiday.L,
+  "2023-05-03": Holiday.L,
+  "2023-06-22": Holiday.D,
+  "2023-06-23": Holiday.D,
+  "2023-06-24": Holiday.D,
+  "2023-09-29": Holiday.M,
+  "2023-09-30": Holiday.N,
+  "2023-10-01": Holiday.N,
+  "2023-10-02": Holiday.N,
+  "2023-10-03": Holiday.N,
+  "2023-10-04": Holiday.N,
+  "2023-10-05": Holiday.N,
+  "2023-10-06": Holiday.N,
+  "2022-01-01": Holiday.NY,
+  "2022-01-02": Holiday.NY,
+  "2022-01-03": Holiday.NY,
+  "2022-01-31": Holiday.S,
+  "2022-02-01": Holiday.S,
+  "2022-02-02": Holiday.S,
+  "2022-02-03": Holiday.S,
+  "2022-02-04": Holiday.S,
+  "2022-02-05": Holiday.S,
+  "2022-02-06": Holiday.S,
+  "2022-04-03": Holiday.T,
+  "2022-04-04": Holiday.T,
+  "2022-04-05": Holiday.T,
+  "2022-04-30": Holiday.L,
+  "2022-05-01": Holiday.L,
+  "2022-05-02": Holiday.L,
+  "2022-05-03": Holiday.L,
+  "2022-05-04": Holiday.L,
+  "2022-06-03": Holiday.D,
+  "2022-06-04": Holiday.D,
+  "2022-06-05": Holiday.D,
+  "2022-09-10": Holiday.M,
+  "2022-09-11": Holiday.M,
+  "2022-09-12": Holiday.M,
+  "2022-10-01": Holiday.N,
+  "2022-10-02": Holiday.N,
+  "2022-10-03": Holiday.N,
+  "2022-10-04": Holiday.N,
+  "2022-10-05": Holiday.N,
+  "2022-10-06": Holiday.N,
+  "2022-10-07": Holiday.N,
+  "2022-12-31": Holiday.NY,
+  "2021-01-01": Holiday.NY,
+  "2021-01-02": Holiday.NY,
+  "2021-01-03": Holiday.NY,
+  "2021-02-11": Holiday.S,
+  "2021-02-12": Holiday.S,
+  "2021-02-13": Holiday.S,
+  "2021-02-14": Holiday.S,
+  "2021-02-15": Holiday.S,
+  "2021-02-16": Holiday.S,
+  "2021-02-17": Holiday.S,
+  "2021-04-03": Holiday.T,
+  "2021-04-04": Holiday.T,
+  "2021-04-05": Holiday.T,
+  "2021-05-01": Holiday.L,
+  "2021-05-02": Holiday.L,
+  "2021-05-03": Holiday.L,
+  "2021-05-04": Holiday.L,
+  "2021-05-05": Holiday.L,
+  "2021-06-12": Holiday.D,
+  "2021-06-13": Holiday.D,
+  "2021-06-14": Holiday.D,
+  "2021-09-19": Holiday.M,
+  "2021-09-20": Holiday.M,
+  "2021-09-21": Holiday.M,
+  "2021-10-01": Holiday.N,
+  "2021-10-02": Holiday.N,
+  "2021-10-03": Holiday.N,
+  "2021-10-04": Holiday.N,
+  "2021-10-05": Holiday.N,
+  "2021-10-06": Holiday.N,
+  "2021-10-07": Holiday.N,
+  "2020-01-01": Holiday.NY,
+  "2020-01-24": Holiday.S,
+  "2020-01-25": Holiday.S,
+  "2020-01-26": Holiday.S,
+  "2020-01-27": Holiday.S,
+  "2020-01-28": Holiday.S,
+  "2020-01-29": Holiday.S,
+  "2020-01-30": Holiday.S,
+  "2020-01-31": Holiday.S,
+  "2020-02-01": Holiday.S,
+  "2020-02-02": Holiday.S,
+  "2020-04-04": Holiday.T,
+  "2020-04-05": Holiday.T,
+  "2020-04-06": Holiday.T,
+  "2020-05-01": Holiday.L,
+  "2020-05-02": Holiday.L,
+  "2020-05-03": Holiday.L,
+  "2020-05-04": Holiday.L,
+  "2020-05-05": Holiday.L,
+  "2020-06-25": Holiday.D,
+  "2020-06-26": Holiday.D,
+  "2020-06-27": Holiday.D,
+  "2020-10-01": Holiday.N,
+  "2020-10-02": Holiday.N,
+  "2020-10-03": Holiday.N,
+  "2020-10-04": Holiday.N,
+  "2020-10-05": Holiday.N,
+  "2020-10-06": Holiday.N,
+  "2020-10-07": Holiday.N,
+  "2020-10-08": Holiday.N,
+  "2019-01-01": Holiday.NY,
+  "2019-02-04": Holiday.S,
+  "2019-02-05": Holiday.S,
+  "2019-02-06": Holiday.S,
+  "2019-02-07": Holiday.S,
+  "2019-02-08": Holiday.S,
+  "2019-02-09": Holiday.S,
+  "2019-02-10": Holiday.S,
+  "2019-04-05": Holiday.T,
+  "2019-04-06": Holiday.T,
+  "2019-04-07": Holiday.T,
+  "2019-05-01": Holiday.L,
+  "2019-05-02": Holiday.L,
+  "2019-05-03": Holiday.L,
+  "2019-05-04": Holiday.L,
+  "2019-06-07": Holiday.D,
+  "2019-06-08": Holiday.D,
+  "2019-06-09": Holiday.D,
+  "2019-09-13": Holiday.M,
+  "2019-09-14": Holiday.M,
+  "2019-09-15": Holiday.M,
+  "2019-10-01": Holiday.N,
+  "2019-10-02": Holiday.N,
+  "2019-10-03": Holiday.N,
+  "2019-10-04": Holiday.N,
+  "2019-10-05": Holiday.N,
+  "2019-10-06": Holiday.N,
+  "2019-10-07": Holiday.N,
+  "2018-01-01": Holiday.NY,
+  "2018-02-15": Holiday.S,
+  "2018-02-16": Holiday.S,
+  "2018-02-17": Holiday.S,
+  "2018-02-18": Holiday.S,
+  "2018-02-19": Holiday.S,
+  "2018-02-20": Holiday.S,
+  "2018-02-21": Holiday.S,
+  "2018-04-05": Holiday.T,
+  "2018-04-06": Holiday.T,
+  "2018-04-07": Holiday.T,
+  "2018-04-29": Holiday.L,
+  "2018-04-30": Holiday.L,
+  "2018-05-01": Holiday.L,
+  "2018-06-18": Holiday.D,
+  "2018-10-01": Holiday.N,
+  "2018-10-02": Holiday.N,
+  "2018-10-03": Holiday.N,
+  "2018-10-04": Holiday.N,
+  "2018-10-05": Holiday.N,
+  "2018-10-06": Holiday.N,
+  "2018-10-07": Holiday.N,
+  "2018-09-24": Holiday.M,
+  "2018-12-30": Holiday.NY,
+  "2018-12-31": Holiday.NY,
+  "2017-01-01": Holiday.NY,
+  "2017-01-02": Holiday.NY,
+  "2017-01-27": Holiday.S,
+  "2017-01-28": Holiday.S,
+  "2017-01-29": Holiday.S,
+  "2017-01-30": Holiday.S,
+  "2017-01-31": Holiday.S,
+  "2017-02-01": Holiday.S,
+  "2017-02-02": Holiday.S,
+  "2017-04-02": Holiday.T,
+  "2017-04-03": Holiday.T,
+  "2017-04-04": Holiday.T,
+  "2017-05-01": Holiday.L,
+  "2017-05-28": Holiday.D,
+  "2017-05-29": Holiday.D,
+  "2017-05-30": Holiday.D,
+  "2017-10-01": Holiday.N,
+  "2017-10-02": Holiday.N,
+  "2017-10-03": Holiday.N,
+  "2017-10-04": Holiday.M,
+  "2017-10-05": Holiday.N,
+  "2017-10-06": Holiday.N,
+  "2017-10-07": Holiday.N,
+  "2017-10-08": Holiday.N,
+  "2016-01-01": Holiday.NY,
+  "2016-02-07": Holiday.S,
+  "2016-02-08": Holiday.S,
+  "2016-02-09": Holiday.S,
+  "2016-02-10": Holiday.S,
+  "2016-02-11": Holiday.S,
+  "2016-02-12": Holiday.S,
+  "2016-02-13": Holiday.S,
+  "2016-04-04": Holiday.T,
+  "2016-05-01": Holiday.L,
+  "2016-05-02": Holiday.L,
+  "2016-06-09": Holiday.D,
+  "2016-06-10": Holiday.D,
+  "2016-06-11": Holiday.D,
+  "2016-09-15": Holiday.M,
+  "2016-09-16": Holiday.M,
+  "2016-09-17": Holiday.M,
+  "2016-10-01": Holiday.N,
+  "2016-10-02": Holiday.N,
+  "2016-10-03": Holiday.N,
+  "2016-10-04": Holiday.N,
+  "2016-10-05": Holiday.N,
+  "2016-10-06": Holiday.N,
+  "2016-10-07": Holiday.N,
+  "2015-01-01": Holiday.NY,
+  "2015-01-02": Holiday.NY,
+  "2015-01-03": Holiday.NY,
+  "2015-02-18": Holiday.S,
+  "2015-02-19": Holiday.S,
+  "2015-02-20": Holiday.S,
+  "2015-02-21": Holiday.S,
+  "2015-02-22": Holiday.S,
+  "2015-02-23": Holiday.S,
+  "2015-02-24": Holiday.S,
+  "2015-04-05": Holiday.T,
+  "2015-04-06": Holiday.T,
+  "2015-05-01": Holiday.L,
+  "2015-06-20": Holiday.D,
+  "2015-06-22": Holiday.D,
+  "2015-09-27": Holiday.M,
+  "2015-10-01": Holiday.N,
+  "2015-10-02": Holiday.N,
+  "2015-10-03": Holiday.N,
+  "2015-10-04": Holiday.N,
+  "2015-10-05": Holiday.N,
+  "2015-10-06": Holiday.N,
+  "2015-10-07": Holiday.N,
+  "2015-09-03": Holiday.A,
+  "2015-09-04": Holiday.A,
+  "2014-01-01": Holiday.NY,
+  "2014-01-31": Holiday.S,
+  "2014-02-01": Holiday.S,
+  "2014-02-02": Holiday.S,
+  "2014-02-03": Holiday.S,
+  "2014-02-04": Holiday.S,
+  "2014-02-05": Holiday.S,
+  "2014-02-06": Holiday.S,
+  "2014-04-05": Holiday.T,
+  "2014-04-06": Holiday.T,
+  "2014-04-07": Holiday.T,
+  "2014-05-01": Holiday.L,
+  "2014-05-02": Holiday.L,
+  "2014-05-03": Holiday.L,
+  "2014-06-02": Holiday.D,
+  "2014-09-08": Holiday.M,
+  "2014-10-01": Holiday.N,
+  "2014-10-02": Holiday.N,
+  "2014-10-03": Holiday.N,
+  "2014-10-04": Holiday.N,
+  "2014-10-05": Holiday.N,
+  "2014-10-06": Holiday.N,
+  "2014-10-07": Holiday.N,
+  "2013-01-01": Holiday.NY,
+  "2013-01-02": Holiday.NY,
+  "2013-01-03": Holiday.NY,
+  "2013-02-09": Holiday.S,
+  "2013-02-10": Holiday.S,
+  "2013-02-11": Holiday.S,
+  "2013-02-12": Holiday.S,
+  "2013-02-13": Holiday.S,
+  "2013-02-14": Holiday.S,
+  "2013-02-15": Holiday.S,
+  "2013-04-04": Holiday.T,
+  "2013-04-05": Holiday.T,
+  "2013-04-06": Holiday.T,
+  "2013-04-29": Holiday.L,
+  "2013-04-30": Holiday.L,
+  "2013-05-01": Holiday.L,
+  "2013-06-10": Holiday.D,
+  "2013-06-11": Holiday.D,
+  "2013-06-12": Holiday.D,
+  "2013-09-19": Holiday.M,
+  "2013-09-20": Holiday.M,
+  "2013-09-21": Holiday.M,
+  "2013-10-01": Holiday.N,
+  "2013-10-02": Holiday.N,
+  "2013-10-03": Holiday.N,
+  "2013-10-04": Holiday.N,
+  "2013-10-05": Holiday.N,
+  "2013-10-06": Holiday.N,
+  "2013-10-07": Holiday.N,
+  "2012-01-01": Holiday.NY,
+  "2012-01-02": Holiday.NY,
+  "2012-01-03": Holiday.NY,
+  "2012-01-22": Holiday.S,
+  "2012-01-23": Holiday.S,
+  "2012-01-24": Holiday.S,
+  "2012-01-25": Holiday.S,
+  "2012-01-26": Holiday.S,
+  "2012-01-27": Holiday.S,
+  "2012-01-28": Holiday.S,
+  "2012-04-02": Holiday.T,
+  "2012-04-03": Holiday.T,
+  "2012-04-04": Holiday.T,
+  "2012-04-29": Holiday.L,
+  "2012-04-30": Holiday.L,
+  "2012-05-01": Holiday.L,
+  "2012-06-22": Holiday.D,
+  "2012-06-24": Holiday.D,
+  "2012-09-30": Holiday.M,
+  "2012-10-01": Holiday.N,
+  "2012-10-02": Holiday.N,
+  "2012-10-03": Holiday.N,
+  "2012-10-04": Holiday.N,
+  "2012-10-05": Holiday.N,
+  "2012-10-06": Holiday.N,
+  "2012-10-07": Holiday.N,
+  "2011-01-01": Holiday.NY,
+  "2011-01-02": Holiday.NY,
+  "2011-01-03": Holiday.NY,
+  "2011-02-02": Holiday.S,
+  "2011-02-03": Holiday.S,
+  "2011-02-04": Holiday.S,
+  "2011-02-05": Holiday.S,
+  "2011-02-06": Holiday.S,
+  "2011-02-07": Holiday.S,
+  "2011-02-08": Holiday.S,
+  "2011-04-03": Holiday.T,
+  "2011-04-04": Holiday.T,
+  "2011-04-05": Holiday.T,
+  "2011-04-30": Holiday.L,
+  "2011-05-01": Holiday.L,
+  "2011-05-02": Holiday.L,
+  "2011-06-04": Holiday.D,
+  "2011-06-06": Holiday.D,
+  "2011-09-10": Holiday.M,
+  "2011-09-11": Holiday.M,
+  "2011-09-12": Holiday.M,
+  "2011-10-01": Holiday.N,
+  "2011-10-02": Holiday.N,
+  "2011-10-03": Holiday.N,
+  "2011-10-04": Holiday.N,
+  "2011-10-05": Holiday.N,
+  "2011-10-06": Holiday.N,
+  "2011-10-07": Holiday.N,
+  "2010-01-01": Holiday.NY,
+  "2010-01-02": Holiday.NY,
+  "2010-01-03": Holiday.NY,
+  "2010-02-13": Holiday.S,
+  "2010-02-14": Holiday.S,
+  "2010-02-15": Holiday.S,
+  "2010-02-16": Holiday.S,
+  "2010-02-17": Holiday.S,
+  "2010-02-18": Holiday.S,
+  "2010-02-19": Holiday.S,
+  "2010-04-03": Holiday.T,
+  "2010-04-04": Holiday.T,
+  "2010-04-05": Holiday.T,
+  "2010-05-01": Holiday.L,
+  "2010-05-02": Holiday.L,
+  "2010-05-03": Holiday.L,
+  "2010-06-14": Holiday.D,
+  "2010-06-15": Holiday.D,
+  "2010-06-16": Holiday.D,
+  "2010-09-22": Holiday.M,
+  "2010-09-23": Holiday.M,
+  "2010-09-24": Holiday.M,
+  "2010-10-01": Holiday.N,
+  "2010-10-02": Holiday.N,
+  "2010-10-03": Holiday.N,
+  "2010-10-04": Holiday.N,
+  "2010-10-05": Holiday.N,
+  "2010-10-06": Holiday.N,
+  "2010-10-07": Holiday.N,
+  "2009-01-01": Holiday.NY,
+  "2009-01-02": Holiday.NY,
+  "2009-01-03": Holiday.NY,
+  "2009-01-25": Holiday.S,
+  "2009-01-26": Holiday.S,
+  "2009-01-27": Holiday.S,
+  "2009-01-28": Holiday.S,
+  "2009-01-29": Holiday.S,
+  "2009-01-30": Holiday.S,
+  "2009-01-31": Holiday.S,
+  "2009-04-04": Holiday.T,
+  "2009-04-05": Holiday.T,
+  "2009-04-06": Holiday.T,
+  "2009-05-01": Holiday.L,
+  "2009-05-02": Holiday.L,
+  "2009-05-03": Holiday.L,
+  "2009-05-28": Holiday.D,
+  "2009-05-29": Holiday.D,
+  "2009-05-30": Holiday.D,
+  "2009-10-01": Holiday.N,
+  "2009-10-02": Holiday.N,
+  "2009-10-03": Holiday.M,
+  "2009-10-04": Holiday.N,
+  "2009-10-05": Holiday.N,
+  "2009-10-06": Holiday.N,
+  "2009-10-07": Holiday.N,
+  "2009-10-08": Holiday.N,
+  "2008-01-01": Holiday.NY,
+  "2008-02-06": Holiday.S,
+  "2008-02-07": Holiday.S,
+  "2008-02-08": Holiday.S,
+  "2008-02-09": Holiday.S,
+  "2008-02-10": Holiday.S,
+  "2008-02-11": Holiday.S,
+  "2008-02-12": Holiday.S,
+  "2008-04-04": Holiday.T,
+  "2008-04-05": Holiday.T,
+  "2008-04-06": Holiday.T,
+  "2008-05-01": Holiday.L,
+  "2008-05-02": Holiday.L,
+  "2008-05-03": Holiday.L,
+  "2008-06-07": Holiday.D,
+  "2008-06-08": Holiday.D,
+  "2008-06-09": Holiday.D,
+  "2008-09-13": Holiday.M,
+  "2008-09-14": Holiday.M,
+  "2008-09-15": Holiday.M,
+  "2008-09-29": Holiday.N,
+  "2008-09-30": Holiday.N,
+  "2008-10-01": Holiday.N,
+  "2008-10-02": Holiday.N,
+  "2008-10-03": Holiday.N,
+  "2008-10-04": Holiday.N,
+  "2008-10-05": Holiday.N,
+  "2007-01-01": Holiday.NY,
+  "2007-01-02": Holiday.NY,
+  "2007-01-03": Holiday.NY,
+  "2007-02-18": Holiday.S,
+  "2007-02-19": Holiday.S,
+  "2007-02-20": Holiday.S,
+  "2007-02-21": Holiday.S,
+  "2007-02-22": Holiday.S,
+  "2007-02-23": Holiday.S,
+  "2007-02-24": Holiday.S,
+  "2007-05-01": Holiday.L,
+  "2007-05-02": Holiday.L,
+  "2007-05-03": Holiday.L,
+  "2007-05-04": Holiday.L,
+  "2007-05-05": Holiday.L,
+  "2007-05-06": Holiday.L,
+  "2007-05-07": Holiday.L,
+  "2007-10-01": Holiday.N,
+  "2007-10-02": Holiday.N,
+  "2007-10-03": Holiday.N,
+  "2007-10-04": Holiday.N,
+  "2007-10-05": Holiday.N,
+  "2007-10-06": Holiday.N,
+  "2007-10-07": Holiday.N,
+  "2007-12-30": Holiday.NY,
+  "2007-12-31": Holiday.NY,
+  "2006-01-01": Holiday.NY,
+  "2006-01-02": Holiday.NY,
+  "2006-01-03": Holiday.NY,
+  "2006-01-29": Holiday.S,
+  "2006-01-30": Holiday.S,
+  "2006-01-31": Holiday.S,
+  "2006-02-01": Holiday.S,
+  "2006-02-02": Holiday.S,
+  "2006-02-03": Holiday.S,
+  "2006-02-04": Holiday.S,
+  "2006-05-01": Holiday.L,
+  "2006-05-02": Holiday.L,
+  "2006-05-03": Holiday.L,
+  "2006-05-04": Holiday.L,
+  "2006-05-05": Holiday.L,
+  "2006-05-06": Holiday.L,
+  "2006-05-07": Holiday.L,
+  "2006-10-01": Holiday.N,
+  "2006-10-02": Holiday.N,
+  "2006-10-03": Holiday.N,
+  "2006-10-04": Holiday.N,
+  "2006-10-05": Holiday.N,
+  "2006-10-06": Holiday.N,
+  "2006-10-07": Holiday.N,
+  "2005-01-01": Holiday.NY,
+  "2005-01-02": Holiday.NY,
+  "2005-01-03": Holiday.NY,
+  "2005-02-09": Holiday.S,
+  "2005-02-10": Holiday.S,
+  "2005-02-11": Holiday.S,
+  "2005-02-12": Holiday.S,
+  "2005-02-13": Holiday.S,
+  "2005-02-14": Holiday.S,
+  "2005-02-15": Holiday.S,
+  "2005-05-01": Holiday.L,
+  "2005-05-02": Holiday.L,
+  "2005-05-03": Holiday.L,
+  "2005-05-04": Holiday.L,
+  "2005-05-05": Holiday.L,
+  "2005-05-06": Holiday.L,
+  "2005-05-07": Holiday.L,
+  "2005-10-01": Holiday.N,
+  "2005-10-02": Holiday.N,
+  "2005-10-03": Holiday.N,
+  "2005-10-04": Holiday.N,
+  "2005-10-05": Holiday.N,
+  "2005-10-06": Holiday.N,
+  "2005-10-07": Holiday.N,
+  "2004-01-01": Holiday.NY,
+  "2004-01-22": Holiday.S,
+  "2004-01-23": Holiday.S,
+  "2004-01-24": Holiday.S,
+  "2004-01-25": Holiday.S,
+  "2004-01-26": Holiday.S,
+  "2004-01-27": Holiday.S,
+  "2004-01-28": Holiday.S,
+  "2004-05-01": Holiday.L,
+  "2004-05-02": Holiday.L,
+  "2004-05-03": Holiday.L,
+  "2004-05-04": Holiday.L,
+  "2004-05-05": Holiday.L,
+  "2004-05-06": Holiday.L,
+  "2004-05-07": Holiday.L,
+  "2004-10-01": Holiday.N,
+  "2004-10-02": Holiday.N,
+  "2004-10-03": Holiday.N,
+  "2004-10-04": Holiday.N,
+  "2004-10-05": Holiday.N,
+  "2004-10-06": Holiday.N,
+  "2004-10-07": Holiday.N
 };
 export const workdays: Record<string, Holiday> = {
-  "2024-02-04": Holiday.SpringFestival,
-  "2024-02-18": Holiday.SpringFestival,
-  "2024-04-07": Holiday.TombSweepingDay,
-  "2024-04-28": Holiday.LabourDay,
-  "2024-05-11": Holiday.LabourDay,
-  "2024-09-14": Holiday.MidAutumnFestival,
-  "2024-09-29": Holiday.NationalDay,
-  "2024-10-12": Holiday.NationalDay,
-  "2023-01-28": Holiday.SpringFestival,
-  "2023-01-29": Holiday.SpringFestival,
-  "2023-04-23": Holiday.LabourDay,
-  "2023-05-06": Holiday.LabourDay,
-  "2023-06-25": Holiday.DragonBoatFestival,
-  "2023-10-07": Holiday.NationalDay,
-  "2023-10-08": Holiday.NationalDay,
-  "2022-01-29": Holiday.SpringFestival,
-  "2022-01-30": Holiday.SpringFestival,
-  "2022-04-02": Holiday.TombSweepingDay,
-  "2022-04-24": Holiday.LabourDay,
-  "2022-05-07": Holiday.LabourDay,
-  "2022-10-08": Holiday.NationalDay,
-  "2022-10-09": Holiday.NationalDay,
-  "2021-02-07": Holiday.SpringFestival,
-  "2021-02-20": Holiday.SpringFestival,
-  "2021-04-25": Holiday.LabourDay,
-  "2021-05-08": Holiday.LabourDay,
-  "2021-09-18": Holiday.MidAutumnFestival,
-  "2021-09-26": Holiday.NationalDay,
-  "2021-10-09": Holiday.NationalDay,
-  "2020-01-19": Holiday.SpringFestival,
-  "2020-04-26": Holiday.LabourDay,
-  "2020-05-09": Holiday.LabourDay,
-  "2020-06-28": Holiday.DragonBoatFestival,
-  "2020-09-27": Holiday.NationalDay,
-  "2020-10-10": Holiday.NationalDay,
-  "2019-02-02": Holiday.SpringFestival,
-  "2019-02-03": Holiday.SpringFestival,
-  "2019-04-28": Holiday.LabourDay,
-  "2019-05-05": Holiday.LabourDay,
-  "2019-09-29": Holiday.NationalDay,
-  "2019-10-12": Holiday.NationalDay,
-  "2018-02-11": Holiday.SpringFestival,
-  "2018-02-24": Holiday.SpringFestival,
-  "2018-04-08": Holiday.TombSweepingDay,
-  "2018-04-28": Holiday.LabourDay,
-  "2018-09-29": Holiday.NationalDay,
-  "2018-09-30": Holiday.NationalDay,
-  "2018-12-29": Holiday.NewYearsDay,
-  "2017-01-22": Holiday.SpringFestival,
-  "2017-02-04": Holiday.SpringFestival,
-  "2017-04-01": Holiday.TombSweepingDay,
-  "2017-05-27": Holiday.DragonBoatFestival,
-  "2017-09-30": Holiday.NationalDay,
-  "2016-02-06": Holiday.SpringFestival,
-  "2016-02-14": Holiday.SpringFestival,
-  "2016-06-12": Holiday.DragonBoatFestival,
-  "2016-09-18": Holiday.MidAutumnFestival,
-  "2016-10-08": Holiday.NationalDay,
-  "2016-10-09": Holiday.NationalDay,
-  "2015-01-04": Holiday.NewYearsDay,
-  "2015-02-15": Holiday.SpringFestival,
-  "2015-02-28": Holiday.SpringFestival,
-  "2015-10-10": Holiday.NationalDay,
-  "2015-09-06": Holiday.AntiFascist70thDay,
-  "2014-01-26": Holiday.SpringFestival,
-  "2014-02-08": Holiday.SpringFestival,
-  "2014-05-04": Holiday.LabourDay,
-  "2014-09-28": Holiday.NationalDay,
-  "2014-10-11": Holiday.NationalDay,
-  "2013-01-05": Holiday.NewYearsDay,
-  "2013-01-06": Holiday.NewYearsDay,
-  "2013-02-16": Holiday.SpringFestival,
-  "2013-02-17": Holiday.SpringFestival,
-  "2013-04-07": Holiday.TombSweepingDay,
-  "2013-04-27": Holiday.LabourDay,
-  "2013-04-28": Holiday.LabourDay,
-  "2013-06-08": Holiday.DragonBoatFestival,
-  "2013-06-09": Holiday.DragonBoatFestival,
-  "2013-09-22": Holiday.MidAutumnFestival,
-  "2013-09-29": Holiday.NationalDay,
-  "2013-10-12": Holiday.NationalDay,
-  "2012-01-21": Holiday.SpringFestival,
-  "2012-01-29": Holiday.SpringFestival,
-  "2012-03-31": Holiday.TombSweepingDay,
-  "2012-04-01": Holiday.TombSweepingDay,
-  "2012-04-28": Holiday.LabourDay,
-  "2012-09-29": Holiday.NationalDay,
-  "2011-01-30": Holiday.SpringFestival,
-  "2011-02-12": Holiday.SpringFestival,
-  "2011-04-02": Holiday.TombSweepingDay,
-  "2011-10-08": Holiday.NationalDay,
-  "2011-10-09": Holiday.NationalDay,
-  "2011-12-31": Holiday.NewYearsDay,
-  "2010-02-20": Holiday.SpringFestival,
-  "2010-02-21": Holiday.SpringFestival,
-  "2010-06-12": Holiday.DragonBoatFestival,
-  "2010-06-13": Holiday.DragonBoatFestival,
-  "2010-09-19": Holiday.MidAutumnFestival,
-  "2010-09-25": Holiday.MidAutumnFestival,
-  "2010-09-26": Holiday.NationalDay,
-  "2010-10-09": Holiday.NationalDay,
-  "2009-01-04": Holiday.NewYearsDay,
-  "2009-01-24": Holiday.SpringFestival,
-  "2009-02-01": Holiday.SpringFestival,
-  "2009-05-31": Holiday.DragonBoatFestival,
-  "2009-09-27": Holiday.NationalDay,
-  "2009-10-10": Holiday.NationalDay,
-  "2008-02-02": Holiday.SpringFestival,
-  "2008-02-03": Holiday.SpringFestival,
-  "2008-05-04": Holiday.LabourDay,
-  "2008-09-27": Holiday.NationalDay,
-  "2008-09-28": Holiday.NationalDay,
-  "2007-02-17": Holiday.SpringFestival,
-  "2007-02-25": Holiday.SpringFestival,
-  "2007-04-28": Holiday.LabourDay,
-  "2007-04-29": Holiday.LabourDay,
-  "2007-09-29": Holiday.NationalDay,
-  "2007-09-30": Holiday.NationalDay,
-  "2007-12-29": Holiday.NewYearsDay,
-  "2006-01-28": Holiday.SpringFestival,
-  "2006-02-05": Holiday.SpringFestival,
-  "2006-04-29": Holiday.LabourDay,
-  "2006-04-30": Holiday.LabourDay,
-  "2006-09-30": Holiday.NationalDay,
-  "2006-10-08": Holiday.NationalDay,
-  "2006-12-30": Holiday.NewYearsDay,
-  "2006-12-31": Holiday.NewYearsDay,
-  "2005-02-05": Holiday.SpringFestival,
-  "2005-02-06": Holiday.SpringFestival,
-  "2005-04-30": Holiday.LabourDay,
-  "2005-05-08": Holiday.LabourDay,
-  "2005-10-08": Holiday.NationalDay,
-  "2005-10-09": Holiday.NationalDay,
-  "2004-01-17": Holiday.SpringFestival,
-  "2004-01-18": Holiday.SpringFestival,
-  "2004-05-08": Holiday.LabourDay,
-  "2004-05-09": Holiday.LabourDay,
-  "2004-10-09": Holiday.NationalDay,
-  "2004-10-10": Holiday.NationalDay
+  "2024-02-04": Holiday.S,
+  "2024-02-18": Holiday.S,
+  "2024-04-07": Holiday.T,
+  "2024-04-28": Holiday.L,
+  "2024-05-11": Holiday.L,
+  "2024-09-14": Holiday.M,
+  "2024-09-29": Holiday.N,
+  "2024-10-12": Holiday.N,
+  "2023-01-28": Holiday.S,
+  "2023-01-29": Holiday.S,
+  "2023-04-23": Holiday.L,
+  "2023-05-06": Holiday.L,
+  "2023-06-25": Holiday.D,
+  "2023-10-07": Holiday.N,
+  "2023-10-08": Holiday.N,
+  "2022-01-29": Holiday.S,
+  "2022-01-30": Holiday.S,
+  "2022-04-02": Holiday.T,
+  "2022-04-24": Holiday.L,
+  "2022-05-07": Holiday.L,
+  "2022-10-08": Holiday.N,
+  "2022-10-09": Holiday.N,
+  "2021-02-07": Holiday.S,
+  "2021-02-20": Holiday.S,
+  "2021-04-25": Holiday.L,
+  "2021-05-08": Holiday.L,
+  "2021-09-18": Holiday.M,
+  "2021-09-26": Holiday.N,
+  "2021-10-09": Holiday.N,
+  "2020-01-19": Holiday.S,
+  "2020-04-26": Holiday.L,
+  "2020-05-09": Holiday.L,
+  "2020-06-28": Holiday.D,
+  "2020-09-27": Holiday.N,
+  "2020-10-10": Holiday.N,
+  "2019-02-02": Holiday.S,
+  "2019-02-03": Holiday.S,
+  "2019-04-28": Holiday.L,
+  "2019-05-05": Holiday.L,
+  "2019-09-29": Holiday.N,
+  "2019-10-12": Holiday.N,
+  "2018-02-11": Holiday.S,
+  "2018-02-24": Holiday.S,
+  "2018-04-08": Holiday.T,
+  "2018-04-28": Holiday.L,
+  "2018-09-29": Holiday.N,
+  "2018-09-30": Holiday.N,
+  "2018-12-29": Holiday.NY,
+  "2017-01-22": Holiday.S,
+  "2017-02-04": Holiday.S,
+  "2017-04-01": Holiday.T,
+  "2017-05-27": Holiday.D,
+  "2017-09-30": Holiday.N,
+  "2016-02-06": Holiday.S,
+  "2016-02-14": Holiday.S,
+  "2016-06-12": Holiday.D,
+  "2016-09-18": Holiday.M,
+  "2016-10-08": Holiday.N,
+  "2016-10-09": Holiday.N,
+  "2015-01-04": Holiday.NY,
+  "2015-02-15": Holiday.S,
+  "2015-02-28": Holiday.S,
+  "2015-10-10": Holiday.N,
+  "2015-09-06": Holiday.A,
+  "2014-01-26": Holiday.S,
+  "2014-02-08": Holiday.S,
+  "2014-05-04": Holiday.L,
+  "2014-09-28": Holiday.N,
+  "2014-10-11": Holiday.N,
+  "2013-01-05": Holiday.NY,
+  "2013-01-06": Holiday.NY,
+  "2013-02-16": Holiday.S,
+  "2013-02-17": Holiday.S,
+  "2013-04-07": Holiday.T,
+  "2013-04-27": Holiday.L,
+  "2013-04-28": Holiday.L,
+  "2013-06-08": Holiday.D,
+  "2013-06-09": Holiday.D,
+  "2013-09-22": Holiday.M,
+  "2013-09-29": Holiday.N,
+  "2013-10-12": Holiday.N,
+  "2012-01-21": Holiday.S,
+  "2012-01-29": Holiday.S,
+  "2012-03-31": Holiday.T,
+  "2012-04-01": Holiday.T,
+  "2012-04-28": Holiday.L,
+  "2012-09-29": Holiday.N,
+  "2011-01-30": Holiday.S,
+  "2011-02-12": Holiday.S,
+  "2011-04-02": Holiday.T,
+  "2011-10-08": Holiday.N,
+  "2011-10-09": Holiday.N,
+  "2011-12-31": Holiday.NY,
+  "2010-02-20": Holiday.S,
+  "2010-02-21": Holiday.S,
+  "2010-06-12": Holiday.D,
+  "2010-06-13": Holiday.D,
+  "2010-09-19": Holiday.M,
+  "2010-09-25": Holiday.M,
+  "2010-09-26": Holiday.N,
+  "2010-10-09": Holiday.N,
+  "2009-01-04": Holiday.NY,
+  "2009-01-24": Holiday.S,
+  "2009-02-01": Holiday.S,
+  "2009-05-31": Holiday.D,
+  "2009-09-27": Holiday.N,
+  "2009-10-10": Holiday.N,
+  "2008-02-02": Holiday.S,
+  "2008-02-03": Holiday.S,
+  "2008-05-04": Holiday.L,
+  "2008-09-27": Holiday.N,
+  "2008-09-28": Holiday.N,
+  "2007-02-17": Holiday.S,
+  "2007-02-25": Holiday.S,
+  "2007-04-28": Holiday.L,
+  "2007-04-29": Holiday.L,
+  "2007-09-29": Holiday.N,
+  "2007-09-30": Holiday.N,
+  "2007-12-29": Holiday.NY,
+  "2006-01-28": Holiday.S,
+  "2006-02-05": Holiday.S,
+  "2006-04-29": Holiday.L,
+  "2006-04-30": Holiday.L,
+  "2006-09-30": Holiday.N,
+  "2006-10-08": Holiday.N,
+  "2006-12-30": Holiday.NY,
+  "2006-12-31": Holiday.NY,
+  "2005-02-05": Holiday.S,
+  "2005-02-06": Holiday.S,
+  "2005-04-30": Holiday.L,
+  "2005-05-08": Holiday.L,
+  "2005-10-08": Holiday.N,
+  "2005-10-09": Holiday.N,
+  "2004-01-17": Holiday.S,
+  "2004-01-18": Holiday.S,
+  "2004-05-08": Holiday.L,
+  "2004-05-09": Holiday.L,
+  "2004-10-09": Holiday.N,
+  "2004-10-10": Holiday.N
 };
 export const inLieuDays: Record<string, Holiday> = {
-  "2024-02-15": Holiday.SpringFestival,
-  "2024-02-16": Holiday.SpringFestival,
-  "2024-04-05": Holiday.TombSweepingDay,
-  "2024-05-02": Holiday.LabourDay,
-  "2024-05-03": Holiday.LabourDay,
-  "2024-09-16": Holiday.MidAutumnFestival,
-  "2024-10-04": Holiday.NationalDay,
-  "2024-10-07": Holiday.NationalDay,
-  "2023-01-26": Holiday.SpringFestival,
-  "2023-01-27": Holiday.SpringFestival,
-  "2023-05-02": Holiday.LabourDay,
-  "2023-05-03": Holiday.LabourDay,
-  "2023-06-23": Holiday.DragonBoatFestival,
-  "2023-10-05": Holiday.NationalDay,
-  "2023-10-06": Holiday.NationalDay,
-  "2022-02-03": Holiday.SpringFestival,
-  "2022-02-04": Holiday.SpringFestival,
-  "2022-04-04": Holiday.TombSweepingDay,
-  "2022-05-03": Holiday.LabourDay,
-  "2022-05-04": Holiday.LabourDay,
-  "2022-10-06": Holiday.NationalDay,
-  "2022-10-07": Holiday.NationalDay,
-  "2021-02-16": Holiday.SpringFestival,
-  "2021-02-17": Holiday.SpringFestival,
-  "2021-05-04": Holiday.LabourDay,
-  "2021-05-05": Holiday.LabourDay,
-  "2021-09-20": Holiday.MidAutumnFestival,
-  "2021-10-06": Holiday.NationalDay,
-  "2021-10-07": Holiday.NationalDay,
-  "2020-01-29": Holiday.SpringFestival,
-  "2020-05-04": Holiday.LabourDay,
-  "2020-05-05": Holiday.LabourDay,
-  "2020-06-26": Holiday.DragonBoatFestival,
-  "2020-10-07": Holiday.NationalDay,
-  "2020-10-08": Holiday.NationalDay,
-  "2019-02-04": Holiday.SpringFestival,
-  "2019-02-08": Holiday.SpringFestival,
-  "2019-05-02": Holiday.LabourDay,
-  "2019-05-03": Holiday.LabourDay,
-  "2019-10-04": Holiday.NationalDay,
-  "2019-10-07": Holiday.NationalDay,
-  "2018-02-19": Holiday.SpringFestival,
-  "2018-02-20": Holiday.SpringFestival,
-  "2018-02-21": Holiday.SpringFestival,
-  "2018-04-06": Holiday.TombSweepingDay,
-  "2018-04-30": Holiday.LabourDay,
-  "2018-10-04": Holiday.NationalDay,
-  "2018-10-05": Holiday.NationalDay,
-  "2018-12-31": Holiday.NewYearsDay,
-  "2017-02-01": Holiday.SpringFestival,
-  "2017-02-02": Holiday.SpringFestival,
-  "2017-04-03": Holiday.TombSweepingDay,
-  "2017-05-29": Holiday.DragonBoatFestival,
-  "2017-10-06": Holiday.NationalDay,
-  "2016-02-11": Holiday.SpringFestival,
-  "2016-02-12": Holiday.SpringFestival,
-  "2016-06-10": Holiday.DragonBoatFestival,
-  "2016-09-16": Holiday.MidAutumnFestival,
-  "2016-10-06": Holiday.NationalDay,
-  "2016-10-07": Holiday.NationalDay,
-  "2015-01-02": Holiday.NewYearsDay,
-  "2015-02-23": Holiday.SpringFestival,
-  "2015-02-24": Holiday.SpringFestival,
-  "2015-10-07": Holiday.NationalDay,
-  "2015-09-04": Holiday.AntiFascist70thDay,
-  "2014-02-05": Holiday.SpringFestival,
-  "2014-02-06": Holiday.SpringFestival,
-  "2014-05-02": Holiday.LabourDay,
-  "2014-10-06": Holiday.NationalDay,
-  "2014-10-07": Holiday.NationalDay,
-  "2013-01-02": Holiday.NewYearsDay,
-  "2013-01-03": Holiday.NewYearsDay,
-  "2013-02-14": Holiday.SpringFestival,
-  "2013-02-15": Holiday.SpringFestival,
-  "2013-04-05": Holiday.TombSweepingDay,
-  "2013-04-29": Holiday.LabourDay,
-  "2013-04-30": Holiday.LabourDay,
-  "2013-06-10": Holiday.DragonBoatFestival,
-  "2013-06-11": Holiday.DragonBoatFestival,
-  "2013-09-20": Holiday.MidAutumnFestival,
-  "2013-10-04": Holiday.NationalDay,
-  "2013-10-07": Holiday.NationalDay,
-  "2012-01-03": Holiday.NewYearsDay,
-  "2012-01-26": Holiday.SpringFestival,
-  "2012-01-27": Holiday.SpringFestival,
-  "2012-04-02": Holiday.TombSweepingDay,
-  "2012-04-03": Holiday.TombSweepingDay,
-  "2012-04-30": Holiday.LabourDay,
-  "2012-10-05": Holiday.NationalDay,
-  "2011-02-07": Holiday.SpringFestival,
-  "2011-02-08": Holiday.SpringFestival,
-  "2011-04-04": Holiday.TombSweepingDay,
-  "2011-10-06": Holiday.NationalDay,
-  "2011-10-07": Holiday.NationalDay,
-  "2010-02-18": Holiday.SpringFestival,
-  "2010-02-19": Holiday.SpringFestival,
-  "2010-06-14": Holiday.DragonBoatFestival,
-  "2010-06-15": Holiday.DragonBoatFestival,
-  "2010-09-23": Holiday.MidAutumnFestival,
-  "2010-09-24": Holiday.MidAutumnFestival,
-  "2010-10-06": Holiday.NationalDay,
-  "2010-10-07": Holiday.NationalDay,
-  "2009-01-02": Holiday.NewYearsDay,
-  "2009-01-29": Holiday.SpringFestival,
-  "2009-01-30": Holiday.SpringFestival,
-  "2009-05-29": Holiday.DragonBoatFestival,
-  "2009-10-07": Holiday.NationalDay,
-  "2009-10-08": Holiday.NationalDay,
-  "2008-02-11": Holiday.SpringFestival,
-  "2008-02-12": Holiday.SpringFestival,
-  "2008-05-02": Holiday.LabourDay,
-  "2008-09-29": Holiday.NationalDay,
-  "2008-09-30": Holiday.NationalDay,
-  "2007-01-02": Holiday.NewYearsDay,
-  "2007-01-03": Holiday.NewYearsDay,
-  "2007-02-22": Holiday.SpringFestival,
-  "2007-02-23": Holiday.SpringFestival,
-  "2007-05-04": Holiday.LabourDay,
-  "2007-05-07": Holiday.LabourDay,
-  "2007-10-04": Holiday.NationalDay,
-  "2007-10-05": Holiday.NationalDay,
-  "2007-12-31": Holiday.NewYearsDay,
-  "2006-02-02": Holiday.SpringFestival,
-  "2006-02-03": Holiday.SpringFestival,
-  "2006-05-04": Holiday.LabourDay,
-  "2006-05-05": Holiday.LabourDay,
-  "2006-10-05": Holiday.NationalDay,
-  "2006-10-06": Holiday.NationalDay,
-  "2005-02-14": Holiday.SpringFestival,
-  "2005-02-15": Holiday.SpringFestival,
-  "2005-05-05": Holiday.LabourDay,
-  "2005-05-06": Holiday.LabourDay,
-  "2005-10-06": Holiday.NationalDay,
-  "2005-10-07": Holiday.NationalDay,
-  "2004-01-27": Holiday.SpringFestival,
-  "2004-01-28": Holiday.SpringFestival,
-  "2004-05-06": Holiday.LabourDay,
-  "2004-05-07": Holiday.LabourDay,
-  "2004-10-06": Holiday.NationalDay,
-  "2004-10-07": Holiday.NationalDay
+  "2024-02-15": Holiday.S,
+  "2024-02-16": Holiday.S,
+  "2024-04-05": Holiday.T,
+  "2024-05-02": Holiday.L,
+  "2024-05-03": Holiday.L,
+  "2024-09-16": Holiday.M,
+  "2024-10-04": Holiday.N,
+  "2024-10-07": Holiday.N,
+  "2023-01-26": Holiday.S,
+  "2023-01-27": Holiday.S,
+  "2023-05-02": Holiday.L,
+  "2023-05-03": Holiday.L,
+  "2023-06-23": Holiday.D,
+  "2023-10-05": Holiday.N,
+  "2023-10-06": Holiday.N,
+  "2022-02-03": Holiday.S,
+  "2022-02-04": Holiday.S,
+  "2022-04-04": Holiday.T,
+  "2022-05-03": Holiday.L,
+  "2022-05-04": Holiday.L,
+  "2022-10-06": Holiday.N,
+  "2022-10-07": Holiday.N,
+  "2021-02-16": Holiday.S,
+  "2021-02-17": Holiday.S,
+  "2021-05-04": Holiday.L,
+  "2021-05-05": Holiday.L,
+  "2021-09-20": Holiday.M,
+  "2021-10-06": Holiday.N,
+  "2021-10-07": Holiday.N,
+  "2020-01-29": Holiday.S,
+  "2020-05-04": Holiday.L,
+  "2020-05-05": Holiday.L,
+  "2020-06-26": Holiday.D,
+  "2020-10-07": Holiday.N,
+  "2020-10-08": Holiday.N,
+  "2019-02-04": Holiday.S,
+  "2019-02-08": Holiday.S,
+  "2019-05-02": Holiday.L,
+  "2019-05-03": Holiday.L,
+  "2019-10-04": Holiday.N,
+  "2019-10-07": Holiday.N,
+  "2018-02-19": Holiday.S,
+  "2018-02-20": Holiday.S,
+  "2018-02-21": Holiday.S,
+  "2018-04-06": Holiday.T,
+  "2018-04-30": Holiday.L,
+  "2018-10-04": Holiday.N,
+  "2018-10-05": Holiday.N,
+  "2018-12-31": Holiday.NY,
+  "2017-02-01": Holiday.S,
+  "2017-02-02": Holiday.S,
+  "2017-04-03": Holiday.T,
+  "2017-05-29": Holiday.D,
+  "2017-10-06": Holiday.N,
+  "2016-02-11": Holiday.S,
+  "2016-02-12": Holiday.S,
+  "2016-06-10": Holiday.D,
+  "2016-09-16": Holiday.M,
+  "2016-10-06": Holiday.N,
+  "2016-10-07": Holiday.N,
+  "2015-01-02": Holiday.NY,
+  "2015-02-23": Holiday.S,
+  "2015-02-24": Holiday.S,
+  "2015-10-07": Holiday.N,
+  "2015-09-04": Holiday.A,
+  "2014-02-05": Holiday.S,
+  "2014-02-06": Holiday.S,
+  "2014-05-02": Holiday.L,
+  "2014-10-06": Holiday.N,
+  "2014-10-07": Holiday.N,
+  "2013-01-02": Holiday.NY,
+  "2013-01-03": Holiday.NY,
+  "2013-02-14": Holiday.S,
+  "2013-02-15": Holiday.S,
+  "2013-04-05": Holiday.T,
+  "2013-04-29": Holiday.L,
+  "2013-04-30": Holiday.L,
+  "2013-06-10": Holiday.D,
+  "2013-06-11": Holiday.D,
+  "2013-09-20": Holiday.M,
+  "2013-10-04": Holiday.N,
+  "2013-10-07": Holiday.N,
+  "2012-01-03": Holiday.NY,
+  "2012-01-26": Holiday.S,
+  "2012-01-27": Holiday.S,
+  "2012-04-02": Holiday.T,
+  "2012-04-03": Holiday.T,
+  "2012-04-30": Holiday.L,
+  "2012-10-05": Holiday.N,
+  "2011-02-07": Holiday.S,
+  "2011-02-08": Holiday.S,
+  "2011-04-04": Holiday.T,
+  "2011-10-06": Holiday.N,
+  "2011-10-07": Holiday.N,
+  "2010-02-18": Holiday.S,
+  "2010-02-19": Holiday.S,
+  "2010-06-14": Holiday.D,
+  "2010-06-15": Holiday.D,
+  "2010-09-23": Holiday.M,
+  "2010-09-24": Holiday.M,
+  "2010-10-06": Holiday.N,
+  "2010-10-07": Holiday.N,
+  "2009-01-02": Holiday.NY,
+  "2009-01-29": Holiday.S,
+  "2009-01-30": Holiday.S,
+  "2009-05-29": Holiday.D,
+  "2009-10-07": Holiday.N,
+  "2009-10-08": Holiday.N,
+  "2008-02-11": Holiday.S,
+  "2008-02-12": Holiday.S,
+  "2008-05-02": Holiday.L,
+  "2008-09-29": Holiday.N,
+  "2008-09-30": Holiday.N,
+  "2007-01-02": Holiday.NY,
+  "2007-01-03": Holiday.NY,
+  "2007-02-22": Holiday.S,
+  "2007-02-23": Holiday.S,
+  "2007-05-04": Holiday.L,
+  "2007-05-07": Holiday.L,
+  "2007-10-04": Holiday.N,
+  "2007-10-05": Holiday.N,
+  "2007-12-31": Holiday.NY,
+  "2006-02-02": Holiday.S,
+  "2006-02-03": Holiday.S,
+  "2006-05-04": Holiday.L,
+  "2006-05-05": Holiday.L,
+  "2006-10-05": Holiday.N,
+  "2006-10-06": Holiday.N,
+  "2005-02-14": Holiday.S,
+  "2005-02-15": Holiday.S,
+  "2005-05-05": Holiday.L,
+  "2005-05-06": Holiday.L,
+  "2005-10-06": Holiday.N,
+  "2005-10-07": Holiday.N,
+  "2004-01-27": Holiday.S,
+  "2004-01-28": Holiday.S,
+  "2004-05-06": Holiday.L,
+  "2004-05-07": Holiday.L,
+  "2004-10-06": Holiday.N,
+  "2004-10-07": Holiday.N
 };

+ 10 - 18
src/holidays/index.ts

@@ -1,5 +1,5 @@
 import dayjs, { Dayjs } from 'dayjs';
-import { wrapDate } from '../utils'
+import { wrapDate, getDates } from '../utils'
 import { holidays, workdays, inLieuDays } from './constants';
 import Arrangement, { Holiday } from './arrangement';
 
@@ -66,40 +66,33 @@ const getDayDetail = (date: dayjs.ConfigType): { work: boolean, name: string, da
   }
 }
 
-const getDates = (start: dayjs.ConfigType, end: dayjs.ConfigType): Dayjs[] => {
-  start = wrapDate(start);
-  end = wrapDate(end);
-  const deltaDays = end.diff(start, 'day');
-  return Array.from({ length: deltaDays + 1 }, (_, i) => start.add(i, 'day'));
-}
-
 /** 获取节假日 */
-const getHolidays = (start: dayjs.ConfigType, end: dayjs.ConfigType, includeWeekends: boolean = true): Dayjs[] => {
+const getHolidays = (start: dayjs.ConfigType, end: dayjs.ConfigType, includeWeekends: boolean = true): string[] => {
   start = _validateDate(start) as Dayjs;
   end = _validateDate(end) as Dayjs;
   if (includeWeekends) {
-    return getDates(start, end).filter(isHoliday);
+    return getDates(start, end).filter(isHoliday).map(date => date.format('YYYY-MM-DD'));
   }
-  return getDates(start, end).filter(date => holidays[date.format('YYYY-MM-DD')]);
+  return getDates(start, end).filter(date => holidays[date.format('YYYY-MM-DD')]).map(date => date.format('YYYY-MM-DD'));
 }
 
 /** 获取工作日 */
-const getWorkdays = (start: dayjs.ConfigType, end: dayjs.ConfigType, includeWeekends: boolean = true): Dayjs[] => {
+const getWorkdays = (start: dayjs.ConfigType, end: dayjs.ConfigType, includeWeekends: boolean = true): string[] => {
   start = _validateDate(start) as Dayjs;
   end = _validateDate(end) as Dayjs;
   if (includeWeekends) {
-    return getDates(start, end).filter(isWorkday);
+    return getDates(start, end).filter(isWorkday).map(date => date.format('YYYY-MM-DD'));
   }
-  return getDates(start, end).filter(date => isWorkday(date) && date.day() >= 1 && date.day() <= 5);
+  return getDates(start, end).filter(date => isWorkday(date) && date.day() >= 1 && date.day() <= 5).map(date => date.format('YYYY-MM-DD'));
 }
 
 /* 查找从 date 开始 第 n 个工作日, 0 为当天 */
-const findWorkday = (deltaDays: number = 0, date: dayjs.ConfigType = dayjs()): Dayjs => {
+const findWorkday = (deltaDays: number = 0, date: dayjs.ConfigType = dayjs()): string => {
   date = wrapDate(date);
 
   if (deltaDays === 0) {
     if (isWorkday(date)) {
-      return date;
+      return date.format('YYYY-MM-DD');
     }
     deltaDays = 1;
   }
@@ -114,7 +107,7 @@ const findWorkday = (deltaDays: number = 0, date: dayjs.ConfigType = dayjs()): D
     }
   }
 
-  return date;
+  return date.format('YYYY-MM-DD');
 }
 
 export {
@@ -124,7 +117,6 @@ export {
   isWorkday,
   isInLieu,
   getDayDetail,
-  getDates,
   getHolidays,
   getWorkdays,
   findWorkday,

+ 0 - 3
src/index.ts

@@ -1,15 +1,12 @@
-import * as Utils from "./utils";
 import * as HolidayUtils from "./holidays";
 import * as SolarTermUtils from "./solar_terms";
 
 // 单独导出这些方法和类型
-export * from "./utils";
 export * from "./holidays";
 export * from "./solar_terms";
 
 // 默认导出所有
 const chinaDays = {
-  ...Utils,
   ...HolidayUtils,
   ...SolarTermUtils,
 };

+ 3 - 3
src/solar_terms/index.ts

@@ -13,7 +13,7 @@ const getSolarTermDate = (
   year: number,
   month: number,
   term: SolarTermKey
-): dayjs.Dayjs => {
+): string => {
   const century = year >= 2000 ? 21 : 20;
   const Y = year % 100;
   const D = 0.2422;
@@ -37,7 +37,7 @@ const getSolarTermDate = (
     day += delta;
   }
 
-  return dayjs(`${year}-${month}-${day}`);
+  return dayjs(`${year}-${month}-${day}`).format('YYYY-MM-DD');
 };
 
 export interface SolarTerm {
@@ -65,7 +65,7 @@ const getSolarTerms = (
     const month = current.month() + 1;
 
     SOLAR_TERMS_MONTH[month].forEach((term: SolarTermKey) => {
-      const solarTermDate = getSolarTermDate(year, month, term);
+      const solarTermDate = dayjs(getSolarTermDate(year, month, term));
       if (
         (solarTermDate?.isBefore(endDate) || solarTermDate?.isSame(endDate)) &&
         (solarTermDate?.isAfter(current) || solarTermDate?.isSame(current))

+ 9 - 1
src/utils/index.ts

@@ -1,6 +1,14 @@
-import dayjs from "dayjs";
+import dayjs, { type Dayjs } from "dayjs";
 
 // wrapDate to the start of the day
 export const wrapDate = (date: dayjs.ConfigType): dayjs.Dayjs => {
   return dayjs(date).startOf("day");
 };
+
+
+export const getDates = (start: dayjs.ConfigType, end: dayjs.ConfigType): Dayjs[] => {
+  start = wrapDate(start);
+  end = wrapDate(end);
+  const deltaDays = end.diff(start, 'day');
+  return Array.from({ length: deltaDays + 1 }, (_, i) => start.add(i, 'day'));
+}

+ 3 - 3
test/solar_terms/index.test.ts

@@ -12,19 +12,19 @@ describe("Solar Terms", () => {
     it("should correctly calculate the solar term date for 'lesser_cold' in 2024", () => {
       const term: SolarTermKey = "lesser_cold";
       const date = getSolarTermDate(2024, 1, term);
-      expect(date.format("YYYY-MM-DD")).toBe("2024-01-06");
+      expect(date).toBe("2024-01-06");
     });
 
     it("should correctly calculate the solar term date for 'rain_water' in 2026 with delta adjustment", () => {
       const term: SolarTermKey = "rain_water";
       const date = getSolarTermDate(2026, 2, term);
-      expect(date.format("YYYY-MM-DD")).toBe("2026-02-18");
+      expect(date).toBe("2026-02-18");
     });
 
     it("should handle the case where there is no delta adjustment", () => {
       const term: SolarTermKey = "the_beginning_of_spring";
       const date = getSolarTermDate(2024, 2, term);
-      expect(date.format("YYYY-MM-DD")).toBe("2024-02-04");
+      expect(date).toBe("2024-02-04");
     });
   });
 

+ 17 - 7
vite.config.ts

@@ -1,11 +1,21 @@
 import { defineConfig } from "vite";
+import dts from "vite-plugin-dts";
 
 // https://vitejs.dev/config/
-export default defineConfig(() => {
-  return {
-    build: {
-      outDir: "dist",
-      sourcemap: true,
+export default defineConfig(() => ({
+  build: {
+    outDir: "dist",
+    sourcemap: false,
+    lib: {
+      entry: "./src/index.ts",
+      name: "chinaDays",
+      formats: ["umd", "es"],
+      fileName: (format) => format === 'umd' ? "index.js" : `index.mjs`,
     },
-  };
-});
+  },
+  plugins: [
+    dts({
+      rollupTypes: true,
+    }),
+  ],
+}));

Some files were not shown because too many files changed in this diff