cn-era 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,14 +11,18 @@ A lightweight JavaScript/TypeScript library for converting Gregorian calendar ye
11
11
 
12
12
  ## Current Status
13
13
 
14
- **Early Development (v0.1.0)**
14
+ **Early Development (v0.1.1)**
15
15
 
16
16
  This library is in early development. Currently includes:
17
- - Tang Dynasty era data (618-710 CE)
18
- - Wu Zhou era data (684-705 CE)
19
- - Republic of China era (1912-present)
20
-
21
- We are actively working on adding complete historical era data. Contributions are welcome! See [TODO.md](TODO.md) for the data completion roadmap.
17
+ - **Tang Dynasty** - Complete (618-907 CE)
18
+ - **Wu Zhou** - Complete (684-705 CE)
19
+ - **Song Dynasty** - Complete (960-1279 CE)
20
+ - **Yuan Dynasty** - Complete (1260-1368 CE)
21
+ - **Ming Dynasty** - Complete (1368-1644 CE)
22
+ - **Qing Dynasty** - Complete (1644-1912 CE)
23
+ - **Republic of China** - Complete (1912-present)
24
+
25
+ We are actively working on adding complete historical era data for other dynasties. Contributions are welcome! See [TODO.md](TODO.md) for the data completion roadmap.
22
26
 
23
27
  ## Features
24
28
 
package/README.zh-CN.md CHANGED
@@ -11,14 +11,18 @@
11
11
 
12
12
  ## 当前状态
13
13
 
14
- **早期开发版本 (v0.1.0)**
14
+ **早期开发版本 (v0.1.1)**
15
15
 
16
16
  本库目前处于早期开发阶段,已包含数据:
17
- - 唐朝年号数据(618-710 年)
18
- - 武周年号数据(684-705 年)
19
- - 中华民国纪年(1912 年至今)
20
-
21
- 我们正在积极补充完整的历史年号数据。欢迎贡献!请查看 [TODO.md](TODO.md) 了解数据补充计划。
17
+ - **唐朝** - 已完成(618-907 年)
18
+ - **武周** - 已完成(684-705 年)
19
+ - **宋朝** - 已完成(960-1279 年)
20
+ - **元朝** - 已完成(1260-1368 年)
21
+ - **明朝** - 已完成(1368-1644 年)
22
+ - **清朝** - 已完成(1644-1912 年)
23
+ - **中华民国** - 已完成(1912 年至今)
24
+
25
+ 我们正在积极补充其他朝代的完整历史年号数据。欢迎贡献!请查看 [TODO.md](TODO.md) 了解数据补充计划。
22
26
 
23
27
  ## 特性
24
28
 
package/dist/index.cjs CHANGED
@@ -103,7 +103,112 @@ var eraData = [
103
103
  { dynasty: "\u5510", reign_title: "\u4E7E\u5BE7", start_year: 894, end_year: 898 },
104
104
  { dynasty: "\u5510", reign_title: "\u5149\u5316", start_year: 898, end_year: 901 },
105
105
  { dynasty: "\u5510", reign_title: "\u5929\u5FA9", start_year: 901, end_year: 904 },
106
- { dynasty: "\u5510", reign_title: "\u5929\u7950", start_year: 904, end_year: 907 }
106
+ { dynasty: "\u5510", reign_title: "\u5929\u7950", start_year: 904, end_year: 907 },
107
+ // 北宋
108
+ { dynasty: "\u5B8B", reign_title: "\u5EFA\u9686", start_year: 960, end_year: 963 },
109
+ { dynasty: "\u5B8B", reign_title: "\u4E7E\u5FB7", start_year: 963, end_year: 968 },
110
+ { dynasty: "\u5B8B", reign_title: "\u958B\u5BF6", start_year: 968, end_year: 976 },
111
+ { dynasty: "\u5B8B", reign_title: "\u592A\u5E73\u8208\u570B", start_year: 976, end_year: 984 },
112
+ { dynasty: "\u5B8B", reign_title: "\u96CD\u7199", start_year: 984, end_year: 987 },
113
+ { dynasty: "\u5B8B", reign_title: "\u7AEF\u62F1", start_year: 988, end_year: 989 },
114
+ { dynasty: "\u5B8B", reign_title: "\u6DF3\u5316", start_year: 990, end_year: 994 },
115
+ { dynasty: "\u5B8B", reign_title: "\u81F3\u9053", start_year: 995, end_year: 997 },
116
+ { dynasty: "\u5B8B", reign_title: "\u54B8\u5E73", start_year: 998, end_year: 1003 },
117
+ { dynasty: "\u5B8B", reign_title: "\u666F\u5FB7", start_year: 1004, end_year: 1007 },
118
+ { dynasty: "\u5B8B", reign_title: "\u5927\u4E2D\u7965\u7B26", start_year: 1008, end_year: 1016 },
119
+ { dynasty: "\u5B8B", reign_title: "\u5929\u79A7", start_year: 1017, end_year: 1021 },
120
+ { dynasty: "\u5B8B", reign_title: "\u4E7E\u8208", start_year: 1022, end_year: 1022 },
121
+ { dynasty: "\u5B8B", reign_title: "\u5929\u8056", start_year: 1023, end_year: 1032 },
122
+ { dynasty: "\u5B8B", reign_title: "\u660E\u9053", start_year: 1032, end_year: 1033 },
123
+ { dynasty: "\u5B8B", reign_title: "\u666F\u7950", start_year: 1034, end_year: 1038 },
124
+ { dynasty: "\u5B8B", reign_title: "\u5BF6\u5143", start_year: 1038, end_year: 1040 },
125
+ { dynasty: "\u5B8B", reign_title: "\u5EB7\u5B9A", start_year: 1040, end_year: 1041 },
126
+ { dynasty: "\u5B8B", reign_title: "\u6176\u66C6", start_year: 1041, end_year: 1048 },
127
+ { dynasty: "\u5B8B", reign_title: "\u7687\u7950", start_year: 1049, end_year: 1054 },
128
+ { dynasty: "\u5B8B", reign_title: "\u81F3\u548C", start_year: 1054, end_year: 1056 },
129
+ { dynasty: "\u5B8B", reign_title: "\u5609\u7950", start_year: 1056, end_year: 1063 },
130
+ { dynasty: "\u5B8B", reign_title: "\u6CBB\u5E73", start_year: 1064, end_year: 1067 },
131
+ { dynasty: "\u5B8B", reign_title: "\u7199\u5BE7", start_year: 1068, end_year: 1077 },
132
+ { dynasty: "\u5B8B", reign_title: "\u5143\u8C50", start_year: 1078, end_year: 1085 },
133
+ { dynasty: "\u5B8B", reign_title: "\u5143\u7950", start_year: 1086, end_year: 1094 },
134
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u8056", start_year: 1094, end_year: 1098 },
135
+ { dynasty: "\u5B8B", reign_title: "\u5143\u7B26", start_year: 1098, end_year: 1100 },
136
+ { dynasty: "\u5B8B", reign_title: "\u5EFA\u4E2D\u9756\u570B", start_year: 1101, end_year: 1101 },
137
+ { dynasty: "\u5B8B", reign_title: "\u5D07\u5BE7", start_year: 1102, end_year: 1106 },
138
+ { dynasty: "\u5B8B", reign_title: "\u5927\u89C0", start_year: 1107, end_year: 1110 },
139
+ { dynasty: "\u5B8B", reign_title: "\u653F\u548C", start_year: 1111, end_year: 1118 },
140
+ { dynasty: "\u5B8B", reign_title: "\u91CD\u548C", start_year: 1118, end_year: 1119 },
141
+ { dynasty: "\u5B8B", reign_title: "\u5BA3\u548C", start_year: 1119, end_year: 1125 },
142
+ { dynasty: "\u5B8B", reign_title: "\u9756\u5EB7", start_year: 1126, end_year: 1127 },
143
+ // 南宋
144
+ { dynasty: "\u5B8B", reign_title: "\u5EFA\u708E", start_year: 1127, end_year: 1130 },
145
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u8208", start_year: 1131, end_year: 1162 },
146
+ { dynasty: "\u5B8B", reign_title: "\u9686\u8208", start_year: 1163, end_year: 1164 },
147
+ { dynasty: "\u5B8B", reign_title: "\u4E7E\u9053", start_year: 1165, end_year: 1173 },
148
+ { dynasty: "\u5B8B", reign_title: "\u6DF3\u7199", start_year: 1174, end_year: 1189 },
149
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u7199", start_year: 1190, end_year: 1194 },
150
+ { dynasty: "\u5B8B", reign_title: "\u6176\u5143", start_year: 1195, end_year: 1200 },
151
+ { dynasty: "\u5B8B", reign_title: "\u5609\u6CF0", start_year: 1201, end_year: 1204 },
152
+ { dynasty: "\u5B8B", reign_title: "\u958B\u79A7", start_year: 1205, end_year: 1207 },
153
+ { dynasty: "\u5B8B", reign_title: "\u5609\u5B9A", start_year: 1208, end_year: 1224 },
154
+ { dynasty: "\u5B8B", reign_title: "\u5BF6\u6176", start_year: 1225, end_year: 1227 },
155
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u5B9A", start_year: 1228, end_year: 1233 },
156
+ { dynasty: "\u5B8B", reign_title: "\u7AEF\u5E73", start_year: 1234, end_year: 1236 },
157
+ { dynasty: "\u5B8B", reign_title: "\u5609\u7199", start_year: 1237, end_year: 1240 },
158
+ { dynasty: "\u5B8B", reign_title: "\u6DF3\u7950", start_year: 1241, end_year: 1252 },
159
+ { dynasty: "\u5B8B", reign_title: "\u5BF6\u7950", start_year: 1253, end_year: 1258 },
160
+ { dynasty: "\u5B8B", reign_title: "\u958B\u6176", start_year: 1259, end_year: 1259 },
161
+ { dynasty: "\u5B8B", reign_title: "\u666F\u5B9A", start_year: 1260, end_year: 1264 },
162
+ { dynasty: "\u5B8B", reign_title: "\u54B8\u6DF3", start_year: 1265, end_year: 1274 },
163
+ { dynasty: "\u5B8B", reign_title: "\u5FB7\u7950", start_year: 1275, end_year: 1276 },
164
+ { dynasty: "\u5B8B", reign_title: "\u666F\u708E", start_year: 1276, end_year: 1278 },
165
+ { dynasty: "\u5B8B", reign_title: "\u7965\u8208", start_year: 1278, end_year: 1279 },
166
+ // 元朝
167
+ { dynasty: "\u5143", reign_title: "\u4E2D\u7D71", start_year: 1260, end_year: 1264 },
168
+ { dynasty: "\u5143", reign_title: "\u81F3\u5143", start_year: 1264, end_year: 1294 },
169
+ { dynasty: "\u5143", reign_title: "\u5143\u8C9E", start_year: 1295, end_year: 1297 },
170
+ { dynasty: "\u5143", reign_title: "\u5927\u5FB7", start_year: 1297, end_year: 1307 },
171
+ { dynasty: "\u5143", reign_title: "\u81F3\u5927", start_year: 1308, end_year: 1311 },
172
+ { dynasty: "\u5143", reign_title: "\u7687\u6176", start_year: 1312, end_year: 1313 },
173
+ { dynasty: "\u5143", reign_title: "\u5EF6\u7950", start_year: 1314, end_year: 1320 },
174
+ { dynasty: "\u5143", reign_title: "\u81F3\u6CBB", start_year: 1321, end_year: 1323 },
175
+ { dynasty: "\u5143", reign_title: "\u6CF0\u5B9A", start_year: 1324, end_year: 1328 },
176
+ { dynasty: "\u5143", reign_title: "\u81F4\u548C", start_year: 1328, end_year: 1328 },
177
+ { dynasty: "\u5143", reign_title: "\u5929\u9806", start_year: 1328, end_year: 1328 },
178
+ { dynasty: "\u5143", reign_title: "\u5929\u66C6", start_year: 1328, end_year: 1330 },
179
+ { dynasty: "\u5143", reign_title: "\u81F3\u9806", start_year: 1330, end_year: 1333 },
180
+ { dynasty: "\u5143", reign_title: "\u5143\u7D71", start_year: 1333, end_year: 1335 },
181
+ { dynasty: "\u5143", reign_title: "\u81F3\u5143", start_year: 1335, end_year: 1340 },
182
+ { dynasty: "\u5143", reign_title: "\u81F3\u6B63", start_year: 1341, end_year: 1368 },
183
+ // 明朝
184
+ { dynasty: "\u660E", reign_title: "\u6D2A\u6B66", start_year: 1368, end_year: 1398 },
185
+ { dynasty: "\u660E", reign_title: "\u5EFA\u6587", start_year: 1399, end_year: 1402 },
186
+ { dynasty: "\u660E", reign_title: "\u6C38\u6A02", start_year: 1403, end_year: 1424 },
187
+ { dynasty: "\u660E", reign_title: "\u6D2A\u7199", start_year: 1425, end_year: 1425 },
188
+ { dynasty: "\u660E", reign_title: "\u5BA3\u5FB7", start_year: 1426, end_year: 1435 },
189
+ { dynasty: "\u660E", reign_title: "\u6B63\u7D71", start_year: 1436, end_year: 1449 },
190
+ { dynasty: "\u660E", reign_title: "\u666F\u6CF0", start_year: 1450, end_year: 1457 },
191
+ { dynasty: "\u660E", reign_title: "\u5929\u9806", start_year: 1457, end_year: 1464 },
192
+ { dynasty: "\u660E", reign_title: "\u6210\u5316", start_year: 1465, end_year: 1487 },
193
+ { dynasty: "\u660E", reign_title: "\u5F18\u6CBB", start_year: 1488, end_year: 1505 },
194
+ { dynasty: "\u660E", reign_title: "\u6B63\u5FB7", start_year: 1506, end_year: 1521 },
195
+ { dynasty: "\u660E", reign_title: "\u5609\u9756", start_year: 1522, end_year: 1566 },
196
+ { dynasty: "\u660E", reign_title: "\u9686\u6176", start_year: 1567, end_year: 1572 },
197
+ { dynasty: "\u660E", reign_title: "\u842C\u66C6", start_year: 1573, end_year: 1620 },
198
+ { dynasty: "\u660E", reign_title: "\u6CF0\u660C", start_year: 1620, end_year: 1620 },
199
+ { dynasty: "\u660E", reign_title: "\u5929\u555F", start_year: 1621, end_year: 1627 },
200
+ { dynasty: "\u660E", reign_title: "\u5D07\u798E", start_year: 1628, end_year: 1644 },
201
+ // 清朝
202
+ { dynasty: "\u6E05", reign_title: "\u9806\u6CBB", start_year: 1644, end_year: 1661 },
203
+ { dynasty: "\u6E05", reign_title: "\u5EB7\u7199", start_year: 1662, end_year: 1722 },
204
+ { dynasty: "\u6E05", reign_title: "\u96CD\u6B63", start_year: 1723, end_year: 1735 },
205
+ { dynasty: "\u6E05", reign_title: "\u4E7E\u9686", start_year: 1736, end_year: 1795 },
206
+ { dynasty: "\u6E05", reign_title: "\u5609\u6176", start_year: 1796, end_year: 1820 },
207
+ { dynasty: "\u6E05", reign_title: "\u9053\u5149", start_year: 1821, end_year: 1850 },
208
+ { dynasty: "\u6E05", reign_title: "\u54B8\u8C50", start_year: 1851, end_year: 1861 },
209
+ { dynasty: "\u6E05", reign_title: "\u540C\u6CBB", start_year: 1862, end_year: 1874 },
210
+ { dynasty: "\u6E05", reign_title: "\u5149\u7DD2", start_year: 1875, end_year: 1908 },
211
+ { dynasty: "\u6E05", reign_title: "\u5BA3\u7D71", start_year: 1909, end_year: 1912 }
107
212
  // TODO: 需要补充更多朝代的年号数据
108
213
  // 参考 DATA_TODO.md 文件获取详细的数据补充清单
109
214
  //
@@ -196,15 +301,6 @@ function convertYear(year) {
196
301
  throw new Error("\u5E74\u4EFD\u8303\u56F4\u5FC5\u987B\u5728 -841 \u5230 3000 \u4E4B\u95F4");
197
302
  }
198
303
  const results = [];
199
- if (year >= 1912) {
200
- const mingguoYear = year - 1911;
201
- results.push({
202
- dynasty: "\u4E2D\u83EF\u6C11\u570B",
203
- reign_title: "\u6C11\u570B",
204
- year_num: numberToChinese(mingguoYear)
205
- });
206
- return results;
207
- }
208
304
  for (const era of eraData) {
209
305
  if (year >= era.start_year && year <= era.end_year) {
210
306
  const yearInEra = year - era.start_year + 1;
@@ -215,6 +311,14 @@ function convertYear(year) {
215
311
  });
216
312
  }
217
313
  }
314
+ if (year >= 1912) {
315
+ const mingguoYear = year - 1911;
316
+ results.push({
317
+ dynasty: "\u4E2D\u83EF\u6C11\u570B",
318
+ reign_title: "\u6C11\u570B",
319
+ year_num: numberToChinese(mingguoYear)
320
+ });
321
+ }
218
322
  return results;
219
323
  }
220
324
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.js CHANGED
@@ -77,7 +77,112 @@ var eraData = [
77
77
  { dynasty: "\u5510", reign_title: "\u4E7E\u5BE7", start_year: 894, end_year: 898 },
78
78
  { dynasty: "\u5510", reign_title: "\u5149\u5316", start_year: 898, end_year: 901 },
79
79
  { dynasty: "\u5510", reign_title: "\u5929\u5FA9", start_year: 901, end_year: 904 },
80
- { dynasty: "\u5510", reign_title: "\u5929\u7950", start_year: 904, end_year: 907 }
80
+ { dynasty: "\u5510", reign_title: "\u5929\u7950", start_year: 904, end_year: 907 },
81
+ // 北宋
82
+ { dynasty: "\u5B8B", reign_title: "\u5EFA\u9686", start_year: 960, end_year: 963 },
83
+ { dynasty: "\u5B8B", reign_title: "\u4E7E\u5FB7", start_year: 963, end_year: 968 },
84
+ { dynasty: "\u5B8B", reign_title: "\u958B\u5BF6", start_year: 968, end_year: 976 },
85
+ { dynasty: "\u5B8B", reign_title: "\u592A\u5E73\u8208\u570B", start_year: 976, end_year: 984 },
86
+ { dynasty: "\u5B8B", reign_title: "\u96CD\u7199", start_year: 984, end_year: 987 },
87
+ { dynasty: "\u5B8B", reign_title: "\u7AEF\u62F1", start_year: 988, end_year: 989 },
88
+ { dynasty: "\u5B8B", reign_title: "\u6DF3\u5316", start_year: 990, end_year: 994 },
89
+ { dynasty: "\u5B8B", reign_title: "\u81F3\u9053", start_year: 995, end_year: 997 },
90
+ { dynasty: "\u5B8B", reign_title: "\u54B8\u5E73", start_year: 998, end_year: 1003 },
91
+ { dynasty: "\u5B8B", reign_title: "\u666F\u5FB7", start_year: 1004, end_year: 1007 },
92
+ { dynasty: "\u5B8B", reign_title: "\u5927\u4E2D\u7965\u7B26", start_year: 1008, end_year: 1016 },
93
+ { dynasty: "\u5B8B", reign_title: "\u5929\u79A7", start_year: 1017, end_year: 1021 },
94
+ { dynasty: "\u5B8B", reign_title: "\u4E7E\u8208", start_year: 1022, end_year: 1022 },
95
+ { dynasty: "\u5B8B", reign_title: "\u5929\u8056", start_year: 1023, end_year: 1032 },
96
+ { dynasty: "\u5B8B", reign_title: "\u660E\u9053", start_year: 1032, end_year: 1033 },
97
+ { dynasty: "\u5B8B", reign_title: "\u666F\u7950", start_year: 1034, end_year: 1038 },
98
+ { dynasty: "\u5B8B", reign_title: "\u5BF6\u5143", start_year: 1038, end_year: 1040 },
99
+ { dynasty: "\u5B8B", reign_title: "\u5EB7\u5B9A", start_year: 1040, end_year: 1041 },
100
+ { dynasty: "\u5B8B", reign_title: "\u6176\u66C6", start_year: 1041, end_year: 1048 },
101
+ { dynasty: "\u5B8B", reign_title: "\u7687\u7950", start_year: 1049, end_year: 1054 },
102
+ { dynasty: "\u5B8B", reign_title: "\u81F3\u548C", start_year: 1054, end_year: 1056 },
103
+ { dynasty: "\u5B8B", reign_title: "\u5609\u7950", start_year: 1056, end_year: 1063 },
104
+ { dynasty: "\u5B8B", reign_title: "\u6CBB\u5E73", start_year: 1064, end_year: 1067 },
105
+ { dynasty: "\u5B8B", reign_title: "\u7199\u5BE7", start_year: 1068, end_year: 1077 },
106
+ { dynasty: "\u5B8B", reign_title: "\u5143\u8C50", start_year: 1078, end_year: 1085 },
107
+ { dynasty: "\u5B8B", reign_title: "\u5143\u7950", start_year: 1086, end_year: 1094 },
108
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u8056", start_year: 1094, end_year: 1098 },
109
+ { dynasty: "\u5B8B", reign_title: "\u5143\u7B26", start_year: 1098, end_year: 1100 },
110
+ { dynasty: "\u5B8B", reign_title: "\u5EFA\u4E2D\u9756\u570B", start_year: 1101, end_year: 1101 },
111
+ { dynasty: "\u5B8B", reign_title: "\u5D07\u5BE7", start_year: 1102, end_year: 1106 },
112
+ { dynasty: "\u5B8B", reign_title: "\u5927\u89C0", start_year: 1107, end_year: 1110 },
113
+ { dynasty: "\u5B8B", reign_title: "\u653F\u548C", start_year: 1111, end_year: 1118 },
114
+ { dynasty: "\u5B8B", reign_title: "\u91CD\u548C", start_year: 1118, end_year: 1119 },
115
+ { dynasty: "\u5B8B", reign_title: "\u5BA3\u548C", start_year: 1119, end_year: 1125 },
116
+ { dynasty: "\u5B8B", reign_title: "\u9756\u5EB7", start_year: 1126, end_year: 1127 },
117
+ // 南宋
118
+ { dynasty: "\u5B8B", reign_title: "\u5EFA\u708E", start_year: 1127, end_year: 1130 },
119
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u8208", start_year: 1131, end_year: 1162 },
120
+ { dynasty: "\u5B8B", reign_title: "\u9686\u8208", start_year: 1163, end_year: 1164 },
121
+ { dynasty: "\u5B8B", reign_title: "\u4E7E\u9053", start_year: 1165, end_year: 1173 },
122
+ { dynasty: "\u5B8B", reign_title: "\u6DF3\u7199", start_year: 1174, end_year: 1189 },
123
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u7199", start_year: 1190, end_year: 1194 },
124
+ { dynasty: "\u5B8B", reign_title: "\u6176\u5143", start_year: 1195, end_year: 1200 },
125
+ { dynasty: "\u5B8B", reign_title: "\u5609\u6CF0", start_year: 1201, end_year: 1204 },
126
+ { dynasty: "\u5B8B", reign_title: "\u958B\u79A7", start_year: 1205, end_year: 1207 },
127
+ { dynasty: "\u5B8B", reign_title: "\u5609\u5B9A", start_year: 1208, end_year: 1224 },
128
+ { dynasty: "\u5B8B", reign_title: "\u5BF6\u6176", start_year: 1225, end_year: 1227 },
129
+ { dynasty: "\u5B8B", reign_title: "\u7D39\u5B9A", start_year: 1228, end_year: 1233 },
130
+ { dynasty: "\u5B8B", reign_title: "\u7AEF\u5E73", start_year: 1234, end_year: 1236 },
131
+ { dynasty: "\u5B8B", reign_title: "\u5609\u7199", start_year: 1237, end_year: 1240 },
132
+ { dynasty: "\u5B8B", reign_title: "\u6DF3\u7950", start_year: 1241, end_year: 1252 },
133
+ { dynasty: "\u5B8B", reign_title: "\u5BF6\u7950", start_year: 1253, end_year: 1258 },
134
+ { dynasty: "\u5B8B", reign_title: "\u958B\u6176", start_year: 1259, end_year: 1259 },
135
+ { dynasty: "\u5B8B", reign_title: "\u666F\u5B9A", start_year: 1260, end_year: 1264 },
136
+ { dynasty: "\u5B8B", reign_title: "\u54B8\u6DF3", start_year: 1265, end_year: 1274 },
137
+ { dynasty: "\u5B8B", reign_title: "\u5FB7\u7950", start_year: 1275, end_year: 1276 },
138
+ { dynasty: "\u5B8B", reign_title: "\u666F\u708E", start_year: 1276, end_year: 1278 },
139
+ { dynasty: "\u5B8B", reign_title: "\u7965\u8208", start_year: 1278, end_year: 1279 },
140
+ // 元朝
141
+ { dynasty: "\u5143", reign_title: "\u4E2D\u7D71", start_year: 1260, end_year: 1264 },
142
+ { dynasty: "\u5143", reign_title: "\u81F3\u5143", start_year: 1264, end_year: 1294 },
143
+ { dynasty: "\u5143", reign_title: "\u5143\u8C9E", start_year: 1295, end_year: 1297 },
144
+ { dynasty: "\u5143", reign_title: "\u5927\u5FB7", start_year: 1297, end_year: 1307 },
145
+ { dynasty: "\u5143", reign_title: "\u81F3\u5927", start_year: 1308, end_year: 1311 },
146
+ { dynasty: "\u5143", reign_title: "\u7687\u6176", start_year: 1312, end_year: 1313 },
147
+ { dynasty: "\u5143", reign_title: "\u5EF6\u7950", start_year: 1314, end_year: 1320 },
148
+ { dynasty: "\u5143", reign_title: "\u81F3\u6CBB", start_year: 1321, end_year: 1323 },
149
+ { dynasty: "\u5143", reign_title: "\u6CF0\u5B9A", start_year: 1324, end_year: 1328 },
150
+ { dynasty: "\u5143", reign_title: "\u81F4\u548C", start_year: 1328, end_year: 1328 },
151
+ { dynasty: "\u5143", reign_title: "\u5929\u9806", start_year: 1328, end_year: 1328 },
152
+ { dynasty: "\u5143", reign_title: "\u5929\u66C6", start_year: 1328, end_year: 1330 },
153
+ { dynasty: "\u5143", reign_title: "\u81F3\u9806", start_year: 1330, end_year: 1333 },
154
+ { dynasty: "\u5143", reign_title: "\u5143\u7D71", start_year: 1333, end_year: 1335 },
155
+ { dynasty: "\u5143", reign_title: "\u81F3\u5143", start_year: 1335, end_year: 1340 },
156
+ { dynasty: "\u5143", reign_title: "\u81F3\u6B63", start_year: 1341, end_year: 1368 },
157
+ // 明朝
158
+ { dynasty: "\u660E", reign_title: "\u6D2A\u6B66", start_year: 1368, end_year: 1398 },
159
+ { dynasty: "\u660E", reign_title: "\u5EFA\u6587", start_year: 1399, end_year: 1402 },
160
+ { dynasty: "\u660E", reign_title: "\u6C38\u6A02", start_year: 1403, end_year: 1424 },
161
+ { dynasty: "\u660E", reign_title: "\u6D2A\u7199", start_year: 1425, end_year: 1425 },
162
+ { dynasty: "\u660E", reign_title: "\u5BA3\u5FB7", start_year: 1426, end_year: 1435 },
163
+ { dynasty: "\u660E", reign_title: "\u6B63\u7D71", start_year: 1436, end_year: 1449 },
164
+ { dynasty: "\u660E", reign_title: "\u666F\u6CF0", start_year: 1450, end_year: 1457 },
165
+ { dynasty: "\u660E", reign_title: "\u5929\u9806", start_year: 1457, end_year: 1464 },
166
+ { dynasty: "\u660E", reign_title: "\u6210\u5316", start_year: 1465, end_year: 1487 },
167
+ { dynasty: "\u660E", reign_title: "\u5F18\u6CBB", start_year: 1488, end_year: 1505 },
168
+ { dynasty: "\u660E", reign_title: "\u6B63\u5FB7", start_year: 1506, end_year: 1521 },
169
+ { dynasty: "\u660E", reign_title: "\u5609\u9756", start_year: 1522, end_year: 1566 },
170
+ { dynasty: "\u660E", reign_title: "\u9686\u6176", start_year: 1567, end_year: 1572 },
171
+ { dynasty: "\u660E", reign_title: "\u842C\u66C6", start_year: 1573, end_year: 1620 },
172
+ { dynasty: "\u660E", reign_title: "\u6CF0\u660C", start_year: 1620, end_year: 1620 },
173
+ { dynasty: "\u660E", reign_title: "\u5929\u555F", start_year: 1621, end_year: 1627 },
174
+ { dynasty: "\u660E", reign_title: "\u5D07\u798E", start_year: 1628, end_year: 1644 },
175
+ // 清朝
176
+ { dynasty: "\u6E05", reign_title: "\u9806\u6CBB", start_year: 1644, end_year: 1661 },
177
+ { dynasty: "\u6E05", reign_title: "\u5EB7\u7199", start_year: 1662, end_year: 1722 },
178
+ { dynasty: "\u6E05", reign_title: "\u96CD\u6B63", start_year: 1723, end_year: 1735 },
179
+ { dynasty: "\u6E05", reign_title: "\u4E7E\u9686", start_year: 1736, end_year: 1795 },
180
+ { dynasty: "\u6E05", reign_title: "\u5609\u6176", start_year: 1796, end_year: 1820 },
181
+ { dynasty: "\u6E05", reign_title: "\u9053\u5149", start_year: 1821, end_year: 1850 },
182
+ { dynasty: "\u6E05", reign_title: "\u54B8\u8C50", start_year: 1851, end_year: 1861 },
183
+ { dynasty: "\u6E05", reign_title: "\u540C\u6CBB", start_year: 1862, end_year: 1874 },
184
+ { dynasty: "\u6E05", reign_title: "\u5149\u7DD2", start_year: 1875, end_year: 1908 },
185
+ { dynasty: "\u6E05", reign_title: "\u5BA3\u7D71", start_year: 1909, end_year: 1912 }
81
186
  // TODO: 需要补充更多朝代的年号数据
82
187
  // 参考 DATA_TODO.md 文件获取详细的数据补充清单
83
188
  //
@@ -170,15 +275,6 @@ function convertYear(year) {
170
275
  throw new Error("\u5E74\u4EFD\u8303\u56F4\u5FC5\u987B\u5728 -841 \u5230 3000 \u4E4B\u95F4");
171
276
  }
172
277
  const results = [];
173
- if (year >= 1912) {
174
- const mingguoYear = year - 1911;
175
- results.push({
176
- dynasty: "\u4E2D\u83EF\u6C11\u570B",
177
- reign_title: "\u6C11\u570B",
178
- year_num: numberToChinese(mingguoYear)
179
- });
180
- return results;
181
- }
182
278
  for (const era of eraData) {
183
279
  if (year >= era.start_year && year <= era.end_year) {
184
280
  const yearInEra = year - era.start_year + 1;
@@ -189,6 +285,14 @@ function convertYear(year) {
189
285
  });
190
286
  }
191
287
  }
288
+ if (year >= 1912) {
289
+ const mingguoYear = year - 1911;
290
+ results.push({
291
+ dynasty: "\u4E2D\u83EF\u6C11\u570B",
292
+ reign_title: "\u6C11\u570B",
293
+ year_num: numberToChinese(mingguoYear)
294
+ });
295
+ }
192
296
  return results;
193
297
  }
194
298
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cn-era",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Convert Gregorian years into Chinese historical era names. 将公元年份转换为中国历史年号纪年",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -21,7 +21,8 @@
21
21
  "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
22
22
  "test": "vitest",
23
23
  "test:coverage": "vitest --coverage",
24
- "lint": "eslint src --ext .ts",
24
+ "lint": "eslint .",
25
+ "lint:fix": "eslint . --fix",
25
26
  "prepublishOnly": "npm run build"
26
27
  },
27
28
  "keywords": [
@@ -38,8 +39,12 @@
38
39
  "author": "Frank Lin",
39
40
  "license": "MIT",
40
41
  "devDependencies": {
42
+ "@eslint/js": "^9.36.0",
41
43
  "@types/node": "^20.0.0",
44
+ "@typescript-eslint/eslint-plugin": "^8.45.0",
45
+ "@typescript-eslint/parser": "^8.45.0",
42
46
  "@vitest/coverage-v8": "^1.0.0",
47
+ "eslint": "^9.36.0",
43
48
  "tsup": "^8.0.0",
44
49
  "typescript": "^5.0.0",
45
50
  "vitest": "^1.0.0"