@planarcat/js-toolkit 1.7.0 → 1.7.9

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
@@ -54,10 +54,10 @@ import { debounce } from '@planarcat/js-toolkit';
54
54
 
55
55
  // 创建防抖函数
56
56
  const debouncedFn = debounce(
57
- () => {
58
- console.log('函数执行了!');
59
- },
60
- { delay: 500 },
57
+ () => {
58
+ console.log('函数执行了!');
59
+ },
60
+ { delay: 500 },
61
61
  );
62
62
 
63
63
  // 多次调用,只会执行最后一次
@@ -70,7 +70,10 @@ debouncedFn();
70
70
  ### 数字格式化
71
71
 
72
72
  ```typescript
73
- import { toFormattedNumber, toFormattedNumberString } from '@planarcat/js-toolkit';
73
+ import {
74
+ toFormattedNumber,
75
+ toFormattedNumberString,
76
+ } from '@planarcat/js-toolkit';
74
77
 
75
78
  // 基本使用
76
79
  console.log(toFormattedNumber(1234.5678));
@@ -90,10 +93,10 @@ console.log(toFormattedNumber([123.456, '456.789']));
90
93
 
91
94
  // 处理深层数组
92
95
  console.log(
93
- toFormattedNumber([
94
- [1, '1.23'],
95
- ['45.67', [89.01, 'abc']],
96
- ]),
96
+ toFormattedNumber([
97
+ [1, '1.23'],
98
+ ['45.67', [89.01, 'abc']],
99
+ ]),
97
100
  );
98
101
  // 输出: [[1, 1.23], [45.67, [89.01, NaN]]]
99
102
 
@@ -106,7 +109,9 @@ console.log(toFormattedNumberString(123.4, { decimalPlaces: 2 }));
106
109
  // 输出: "123.40"
107
110
 
108
111
  // 带前缀后缀
109
- console.log(toFormattedNumberString(1234.5678, { prefix: '$', suffix: ' USD' }));
112
+ console.log(
113
+ toFormattedNumberString(1234.5678, { prefix: '$', suffix: ' USD' }),
114
+ );
110
115
  // 输出: "$1234.5678 USD"
111
116
 
112
117
  // 本地化格式
@@ -121,31 +126,33 @@ console.log(toFormattedNumberString(0, { zeroValue: '-' }));
121
126
 
122
127
  // 预处理函数
123
128
  console.log(
124
- toFormattedNumberString(0.1234, {
125
- preProcessor: (original, num) => num * 100,
126
- suffix: '%',
127
- }),
129
+ toFormattedNumberString(0.1234, {
130
+ preProcessor: (original, num) => num * 100,
131
+ suffix: '%',
132
+ }),
128
133
  );
129
134
  // 输出: "12.34%"
130
135
 
131
136
  // 函数类型前缀
132
137
  console.log(
133
- toFormattedNumberString(123.456, {
134
- prefix: (original, num, formatted) => `$${Math.floor(num)}`,
135
- }),
138
+ toFormattedNumberString(123.456, {
139
+ prefix: (original, num, formatted) => `$${Math.floor(num)}`,
140
+ }),
136
141
  );
137
142
  // 输出: "$123123.456"
138
143
 
139
144
  // 函数类型后缀
140
145
  console.log(
141
- toFormattedNumberString(123.456, {
142
- suffix: (original, num, formatted) => `/${num.toFixed(0)}`,
143
- }),
146
+ toFormattedNumberString(123.456, {
147
+ suffix: (original, num, formatted) => `/${num.toFixed(0)}`,
148
+ }),
144
149
  );
145
150
  // 输出: "123.456/123"
146
151
 
147
152
  // 处理数组
148
- console.log(toFormattedNumberString([123.456, '789.012'], { decimalPlaces: 2 }));
153
+ console.log(
154
+ toFormattedNumberString([123.456, '789.012'], { decimalPlaces: 2 }),
155
+ );
149
156
  // 输出: ["123.46", "789.01"]
150
157
  ```
151
158
 
@@ -162,10 +169,10 @@ console.log(toFormattedNumberString([123.456, '789.012'], { decimalPlaces: 2 }))
162
169
 
163
170
  ```bash
164
171
  # 生成 API 文档
165
- npm run docs
172
+ pnpm run docs
166
173
 
167
174
  # 监听模式生成文档
168
- npm run docs:watch
175
+ pnpm run docs:watch
169
176
  ```
170
177
 
171
178
  ## 开发
@@ -195,25 +202,25 @@ src/
195
202
 
196
203
  ```bash
197
204
  # 安装依赖
198
- npm install
205
+ pnpm install
199
206
 
200
207
  # 构建项目
201
- npm run build
208
+ pnpm run build
202
209
 
203
210
  # 运行测试
204
- npm test
211
+ pnpm test
205
212
 
206
213
  # 运行测试(监听模式)
207
- npm run test:watch
214
+ pnpm run test:watch
208
215
 
209
216
  # 代码检查
210
- npm run lint
217
+ pnpm run lint
211
218
 
212
219
  # 代码格式化
213
- npm run format
220
+ pnpm run format
214
221
 
215
222
  # 清理构建文件
216
- npm run clean
223
+ pnpm run clean
217
224
  ```
218
225
 
219
226
  ### 测试
@@ -222,10 +229,10 @@ npm run clean
222
229
 
223
230
  ```bash
224
231
  # 运行所有测试
225
- npm test
232
+ pnpm test
226
233
 
227
234
  # 生成测试覆盖率报告
228
- npm run test:coverage
235
+ pnpm run test:coverage
229
236
  ```
230
237
 
231
238
  ## 贡献
@@ -248,6 +255,15 @@ npm run test:coverage
248
255
 
249
256
  ## 更新日志
250
257
 
258
+ ### v1.7.1
259
+
260
+ - ✨ 修复了 `formatDate` 函数中 Unix 时间戳计算问题,确保基于 UTC 时间
261
+ - ✨ 统一了 regular 和 compile 两种模式下的时间戳计算逻辑
262
+ - ✨ 修复了测试用例中的时间戳期望值,确保跨时区测试通过
263
+ - ✨ 优化了项目依赖管理,迁移到 pnpm 包管理器
264
+ - ✨ 新增了自动化发布流程,支持 GitHub Actions 自动发布到 npm
265
+ - ✨ 添加了 API 文档自动部署到 GitHub Pages 的功能
266
+
251
267
  ### v1.7.0
252
268
 
253
269
  - ✨ 优化日期格式化功能,移除了 `dddd` 和 `ddd` 标记
@@ -1 +1 @@
1
- {"version":3,"file":"compileDateFormatter.d.ts","sourceRoot":"","sources":["../../src/date/compileDateFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,MAAM,CAAC;AAQ7F;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CA0SzE"}
1
+ {"version":3,"file":"compileDateFormatter.d.ts","sourceRoot":"","sources":["../../src/date/compileDateFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KACjC,MAAM,CAAC;AAQZ;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CA0SzE"}
@@ -4,7 +4,7 @@
4
4
  * 将格式化字符串编译为高效的处理函数
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.compileDateFormatter = void 0;
7
+ exports.compileDateFormatter = compileDateFormatter;
8
8
  const cache_1 = require("../utils/cache");
9
9
  /**
10
10
  * 编译后的日期格式化函数缓存
@@ -47,9 +47,9 @@ function compileDateFormatter(formatStr) {
47
47
  const firstDayOfYear = new Date(year, 0, 1);
48
48
  const dayOfYear = Math.ceil((date.getTime() - firstDayOfYear.getTime()) / (1000 * 60 * 60 * 24));
49
49
 
50
- // Unix 时间戳
51
- const timestampSeconds = Math.floor(date.getTime() / 1000);
52
- const timestampMilliseconds = date.getTime();
50
+ // Unix 时间戳(基于 UTC 时间)
51
+ const timestampSeconds = Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()) / 1000);
52
+ const timestampMilliseconds = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
53
53
 
54
54
  // 12小时制
55
55
  const hours12 = hours % 12 || 12;
@@ -312,5 +312,4 @@ function compileDateFormatter(formatStr) {
312
312
  compiledFormatCache.set(formatStr, formatter);
313
313
  return formatter;
314
314
  }
315
- exports.compileDateFormatter = compileDateFormatter;
316
315
  //# sourceMappingURL=compileDateFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compileDateFormatter.js","sourceRoot":"","sources":["../../src/date/compileDateFormatter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,0CAA0C;AAO1C;;;GAGG;AACH,MAAM,mBAAmB,GAAG,IAAI,gBAAQ,CAA4B,GAAG,CAAC,CAAC;AAEzE;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,SAAiB;IAClD,kBAAkB;IAClB,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,SAAS;IACT,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAwEQ,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkN/B,CAAC;IAEA,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAsB,CAAC;IAE7E,WAAW;IACX,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,SAAS,CAAC;AACrB,CAAC;AA1SD,oDA0SC"}
1
+ {"version":3,"file":"compileDateFormatter.js","sourceRoot":"","sources":["../../src/date/compileDateFormatter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAwBH,oDA0SC;AA/TD,0CAA0C;AAU1C;;;GAGG;AACH,MAAM,mBAAmB,GAAG,IAAI,gBAAQ,CAA4B,GAAG,CAAC,CAAC;AAEzE;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,kBAAkB;IAClB,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,SAAS;IACT,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAwEU,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkN/B,CAAC;IAEF,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAsB,CAAC;IAE7E,WAAW;IACX,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAU7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAE,MAA8B,EAAE,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,MAAM,CA6BjI;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAU7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,iBAAS,UAAU,CACjB,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,MAA8B,EACzC,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACvC,MAAM,CA6BR;AAED,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":";;AACA,0CAA0C;AAC1C,iEAA8D;AAC9D,iEAA6E;AAE7E,yBAAyB;AACzB,MAAM,iBAAiB,GAAG,IAAI,gBAAQ,CAAiB,GAAG,CAAC,CAAC;AAC5D,aAAa;AACb,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,SAAS,UAAU,CAAC,KAAgB,EAAE,YAAoB,qBAAqB,EAAE,UAAsC,EAAE;IACrH,MAAM,IAAI,GAAG,IAAA,oCAAa,EAAC,KAAK,CAAC,CAAC;IAElC,qBAAqB;IACrB,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IAE5D,iBAAiB;IACjB,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnC,2BAA2B;QAC3B,OAAO,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,mBAAmB;QACnB,OAAO,IAAA,2CAAoB,EAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,kBAAkB;QAClB,cAAc;QACd,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,SAAS;QACT,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QAEnD,aAAa;QACb,IAAI,YAAY,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;YAC7C,cAAc;YACd,OAAO,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,eAAe;YACf,OAAO,IAAA,2CAAoB,EAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;AACL,CAAC;AAED,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":";;AACA,0CAA0C;AAC1C,iEAA8D;AAC9D,iEAA6E;AAE7E,yBAAyB;AACzB,MAAM,iBAAiB,GAAG,IAAI,gBAAQ,CAAiB,GAAG,CAAC,CAAC;AAC5D,aAAa;AACb,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,SAAS,UAAU,CACjB,KAAgB,EAChB,YAAoB,qBAAqB,EACzC,UAAsC,EAAE;IAExC,MAAM,IAAI,GAAG,IAAA,oCAAa,EAAC,KAAK,CAAC,CAAC;IAElC,qBAAqB;IACrB,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IAE5D,iBAAiB;IACjB,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,2BAA2B;QAC3B,OAAO,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5C,mBAAmB;QACnB,OAAO,IAAA,2CAAoB,EAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,cAAc;QACd,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,SAAS;QACT,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QAEnD,aAAa;QACb,IAAI,YAAY,IAAI,sBAAsB,GAAG,CAAC,EAAE,CAAC;YAC/C,cAAc;YACd,OAAO,IAAA,2CAAoB,EAAC,SAAS,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,eAAe;YACf,OAAO,IAAA,2CAAoB,EAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"regularDateFormatter.d.ts","sourceRoot":"","sources":["../../src/date/regularDateFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG7D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAepD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAkBvF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAMhD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,GAAE,MAA8B,EAAE,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,MAAM,CA8O5I"}
1
+ {"version":3,"file":"regularDateFormatter.d.ts","sourceRoot":"","sources":["../../src/date/regularDateFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG7D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAepD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,GACzB,MAAM,CAqBR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQhD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,SAAS,GAAE,MAA8B,EACzC,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACvC,MAAM,CAgRR"}
@@ -4,7 +4,10 @@
4
4
  * 直接解析格式化字符串,不使用编译缓存
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.regularDateFormatter = exports.getWeekNumber = exports.getLocalizedWeekday = exports.safeParseDate = void 0;
7
+ exports.safeParseDate = safeParseDate;
8
+ exports.getLocalizedWeekday = getLocalizedWeekday;
9
+ exports.getWeekNumber = getWeekNumber;
10
+ exports.regularDateFormatter = regularDateFormatter;
8
11
  const constants_1 = require("../utils/constants");
9
12
  /**
10
13
  * 将各种输入类型安全地转换为 Date 对象
@@ -25,7 +28,6 @@ function safeParseDate(input) {
25
28
  console.warn(`Invalid date input: ${input}, using current date instead.`);
26
29
  return new Date();
27
30
  }
28
- exports.safeParseDate = safeParseDate;
29
31
  /**
30
32
  * 获取本地化的星期几
31
33
  * @param weekday - 星期几 (0-6)
@@ -48,9 +50,9 @@ function getLocalizedWeekday(weekday, options) {
48
50
  }
49
51
  }
50
52
  // 使用默认周名称映射
51
- return constants_1.WEEKDAY_MAP[lang]?.[weekday] || constants_1.WEEKDAY_MAP.zh[weekday];
53
+ return (constants_1.WEEKDAY_MAP[lang]?.[weekday] ||
54
+ constants_1.WEEKDAY_MAP.zh[weekday]);
52
55
  }
53
- exports.getLocalizedWeekday = getLocalizedWeekday;
54
56
  /**
55
57
  * 计算一年中的第几周 (ISO 8601)
56
58
  * @param date - 日期对象
@@ -63,7 +65,6 @@ function getWeekNumber(date) {
63
65
  const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
64
66
  return Math.ceil(((d.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);
65
67
  }
66
- exports.getWeekNumber = getWeekNumber;
67
68
  /**
68
69
  * 普通模式日期格式化函数
69
70
  * @param date - 日期对象
@@ -87,9 +88,9 @@ function regularDateFormatter(date, formatStr = 'YYYY-MM-DD HH:mm:ss', options =
87
88
  // 一年中的第几天
88
89
  const firstDayOfYear = new Date(year, 0, 1);
89
90
  const dayOfYear = Math.ceil((date.getTime() - firstDayOfYear.getTime()) / (1000 * 60 * 60 * 24));
90
- // Unix 时间戳
91
- const timestampSeconds = Math.floor(date.getTime() / 1000);
92
- const timestampMilliseconds = date.getTime();
91
+ // Unix 时间戳(基于 UTC 时间,使用 getUTC* 方法确保一致性)
92
+ const timestampSeconds = Math.floor(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()) / 1000);
93
+ const timestampMilliseconds = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
93
94
  // 12小时制
94
95
  const hours12 = hours % 12 || 12;
95
96
  const ampm = hours < 12 ? 'AM' : 'PM';
@@ -101,14 +102,17 @@ function regularDateFormatter(date, formatStr = 'YYYY-MM-DD HH:mm:ss', options =
101
102
  let i = 0;
102
103
  const length = formatStr.length;
103
104
  // 获取所有自定义格式化器,按长度降序排序,确保长标记优先匹配
104
- const customFormatters = mergedOptions.customFormatters ? Object.entries(mergedOptions.customFormatters).sort(([a], [b]) => b.length - a.length) : [];
105
+ const customFormatters = mergedOptions.customFormatters
106
+ ? Object.entries(mergedOptions.customFormatters).sort(([a], [b]) => b.length - a.length)
107
+ : [];
105
108
  // 解析格式化字符串
106
109
  while (i < length) {
107
110
  let found = false;
108
111
  // 1. 检查自定义格式化器
109
112
  if (customFormatters.length > 0) {
110
113
  for (const [token, formatter] of customFormatters) {
111
- if (i + token.length <= length && formatStr.slice(i, i + token.length) === token) {
114
+ if (i + token.length <= length &&
115
+ formatStr.slice(i, i + token.length) === token) {
112
116
  // 检查前后是否为字母数字字符
113
117
  const prevChar = i > 0 ? formatStr[i - 1] : '';
114
118
  const nextChar = i + token.length < length ? formatStr[i + token.length] : '';
@@ -298,5 +302,4 @@ function regularDateFormatter(date, formatStr = 'YYYY-MM-DD HH:mm:ss', options =
298
302
  }
299
303
  return result;
300
304
  }
301
- exports.regularDateFormatter = regularDateFormatter;
302
305
  //# sourceMappingURL=regularDateFormatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regularDateFormatter.js","sourceRoot":"","sources":["../../src/date/regularDateFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regularDateFormatter.js","sourceRoot":"","sources":["../../src/date/regularDateFormatter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,13 +3,13 @@
3
3
  *
4
4
  * @module @planarcat/js-toolkit
5
5
  */
6
- export { default as formatDate } from "./date/formatDate";
7
- export type { DateFormatOptions, DateInput, DateFormatMode, WeekdayNames } from "./types/date";
8
- export { default as debounce } from "./function/debounce";
9
- export type { DebounceOptions, DebouncedFunction } from "./types/function";
6
+ export { default as formatDate } from './date/formatDate';
7
+ export type { DateFormatOptions, DateInput, DateFormatMode, WeekdayNames, } from './types/date';
8
+ export { default as debounce } from './function/debounce';
9
+ export type { DebounceOptions, DebouncedFunction } from './types/function';
10
10
  export declare const VERSION = "__VERSION__";
11
11
  export declare const LIBRARY_NAME = "@planarcat/js-toolkit";
12
- export { default as toFormattedNumber } from "./object/toFormattedNumber";
13
- export { default as toFormattedNumberString } from "./object/toFormattedNumberString";
14
- export type { ToFormattedNumberOptions, ToFormattedNumberStringOptions, } from "./types/object";
12
+ export { default as toFormattedNumber } from './object/toFormattedNumber';
13
+ export { default as toFormattedNumberString } from './object/toFormattedNumberString';
14
+ export type { ToFormattedNumberOptions, ToFormattedNumberStringOptions, } from './types/object';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,eAAO,MAAM,OAAO,gBAAgB,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAGpD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACtF,YAAY,EACV,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EACV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,eAAO,MAAM,OAAO,gBAAgB,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AAGpD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACtF,YAAY,EACV,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -16,8 +16,8 @@ Object.defineProperty(exports, "formatDate", { enumerable: true, get: function (
16
16
  var debounce_1 = require("./function/debounce");
17
17
  Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return __importDefault(debounce_1).default; } });
18
18
  // 工具库元数据
19
- exports.VERSION = "__VERSION__"; // 构建时替换
20
- exports.LIBRARY_NAME = "@planarcat/js-toolkit";
19
+ exports.VERSION = '__VERSION__'; // 构建时替换
20
+ exports.LIBRARY_NAME = '@planarcat/js-toolkit';
21
21
  // 对象相关工具
22
22
  var toFormattedNumber_1 = require("./object/toFormattedNumber");
23
23
  Object.defineProperty(exports, "toFormattedNumber", { enumerable: true, get: function () { return __importDefault(toFormattedNumber_1).default; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,SAAS;AACT,gDAA0D;AAAjD,yHAAA,OAAO,OAAc;AAG9B,SAAS;AACT,gDAA0D;AAAjD,qHAAA,OAAO,OAAY;AAG5B,SAAS;AACI,QAAA,OAAO,GAAG,aAAa,CAAC,CAAC,QAAQ;AACjC,QAAA,YAAY,GAAG,uBAAuB,CAAC;AAEpD,SAAS;AACT,gEAA0E;AAAjE,uIAAA,OAAO,OAAqB;AACrC,4EAAsF;AAA7E,mJAAA,OAAO,OAA2B;AAM3C,aAAa;AACb,2DAA2D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,SAAS;AACT,gDAA0D;AAAjD,yHAAA,OAAO,OAAc;AAQ9B,SAAS;AACT,gDAA0D;AAAjD,qHAAA,OAAO,OAAY;AAG5B,SAAS;AACI,QAAA,OAAO,GAAG,aAAa,CAAC,CAAC,QAAQ;AACjC,QAAA,YAAY,GAAG,uBAAuB,CAAC;AAEpD,SAAS;AACT,gEAA0E;AAAjE,uIAAA,OAAO,OAAqB;AACrC,4EAAsF;AAA7E,mJAAA,OAAO,OAA2B;AAM3C,aAAa;AACb,2DAA2D"}
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/types/date.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/J;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;IAE1D;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,eAAe,GACrB,MAAM,GACN,IAAI,GACJ,MAAM,GACN,KAAK,GACL,IAAI,GACJ,GAAG,GACH,KAAK,GACL,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,KAAK,GACL,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/types/date.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GACxE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;IAE1D;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,IAAI,GACJ,MAAM,GACN,KAAK,GACL,IAAI,GACJ,GAAG,GACH,KAAK,GACL,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,KAAK,GACL,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAS;IAExB;;;OAGG;gBACS,OAAO,GAAE,MAAY;IAKjC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAU1B;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAe3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,IAAI,IAAI,MAAM;CAGjB"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAS;IAExB;;;OAGG;gBACS,OAAO,GAAE,MAAY;IAKjC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAU1B;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAe3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,IAAI,IAAI,MAAM;CAGf"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,MAAa,QAAQ;IAIjB;;;OAGG;IACH,YAAY,UAAkB,GAAG;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAM;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,cAAc;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAM,EAAE,KAAQ;QAChB,YAAY;QACZ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,6BAA6B;YAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QACD,QAAQ;QACR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;CACJ;AA9DD,4BA8DC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,MAAa,QAAQ;IAInB;;;OAGG;IACH,YAAY,UAAkB,GAAG;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAM;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,cAAc;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,YAAY;QACZ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,6BAA6B;YAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,QAAQ;QACR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AA9DD,4BA8DC"}
@@ -7,6 +7,14 @@ export declare const DEFAULT_DATE_FORMAT_OPTIONS: {
7
7
  };
8
8
  /**
9
9
  * 周几中英文映射
10
- */
11
- export declare const WEEKDAY_MAP: Record<string, [string, string, string, string, string, string, string]>;
10
+ */
11
+ export declare const WEEKDAY_MAP: Record<string, [
12
+ string,
13
+ string,
14
+ string,
15
+ string,
16
+ string,
17
+ string,
18
+ string
19
+ ]>;
12
20
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF;;IAEI;AACJ,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAGhG,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAC9B,MAAM,EACN;IAAC,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;CAAC,CAYzD,CAAC"}
@@ -10,9 +10,17 @@ exports.DEFAULT_DATE_FORMAT_OPTIONS = {
10
10
  };
11
11
  /**
12
12
  * 周几中英文映射
13
- */
13
+ */
14
14
  exports.WEEKDAY_MAP = {
15
15
  zh: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
16
- en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
16
+ en: [
17
+ 'Sunday',
18
+ 'Monday',
19
+ 'Tuesday',
20
+ 'Wednesday',
21
+ 'Thursday',
22
+ 'Friday',
23
+ 'Saturday',
24
+ ],
17
25
  };
18
26
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,2BAA2B,GAAG;IACvC,QAAQ,EAAE,OAAgB;IAC1B,MAAM,EAAE,OAAO;CAClB,CAAC;AAEF;;IAEI;AACS,QAAA,WAAW,GAA6E;IACjG,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9C,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;CACrF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,2BAA2B,GAAG;IACzC,QAAQ,EAAE,OAAgB;IAC1B,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAGpB;IACF,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9C,EAAE,EAAE;QACF,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,WAAW;QACX,UAAU;QACV,QAAQ;QACR,UAAU;KACX;CACF,CAAC"}
package/package.json CHANGED
@@ -1,76 +1,80 @@
1
1
  {
2
- "name": "@planarcat/js-toolkit",
3
- "version": "1.7.0",
4
- "description": "一个自用的带学习性质的(目前)现代化的 JavaScript/TypeScript 实用工具库,提供类型安全、高性能的常用函数,包括对象转换、日期处理、函数优化等开发常用工具。",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "dist",
9
- "README.md",
10
- "LICENSE"
2
+ "name": "@planarcat/js-toolkit",
3
+ "version": "1.7.9",
4
+ "description": "一个自用的带学习性质的(目前)现代化的 JavaScript/TypeScript 实用工具库,提供类型安全、高性能的常用函数,包括对象转换、日期处理、函数优化等开发常用工具。",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "keywords": [
13
+ "javascript",
14
+ "typescript",
15
+ "utility",
16
+ "toolkit",
17
+ "format-date",
18
+ "type-safe"
19
+ ],
20
+ "author": "planarcat",
21
+ "license": "MIT",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://github.com/planarcat/js-toolkit.git"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/planarcat/js-toolkit/issues"
28
+ },
29
+ "homepage": "https://github.com/planarcat/js-toolkit#readme",
30
+ "devDependencies": {
31
+ "@types/jest": "^29.5.14",
32
+ "@types/node": "^25.0.7",
33
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
34
+ "@typescript-eslint/parser": "^6.21.0",
35
+ "eslint": "^8.57.1",
36
+ "eslint-config-prettier": "^9.1.2",
37
+ "eslint-plugin-prettier": "^5.5.4",
38
+ "husky": "^9.1.7",
39
+ "jest": "^29.7.0",
40
+ "lint-staged": "^13.3.0",
41
+ "prettier": "^3.7.4",
42
+ "rimraf": "^5.0.10",
43
+ "ts-jest": "^29.4.6",
44
+ "ts-node": "^10.9.2",
45
+ "ts-node-dev": "^2.0.0",
46
+ "typedoc": "^0.28.16",
47
+ "typedoc-plugin-markdown": "^4.9.0",
48
+ "typescript": "^5.3.3"
49
+ },
50
+ "lint-staged": {
51
+ "*.{js,ts,tsx}": [
52
+ "eslint --fix",
53
+ "prettier --write"
11
54
  ],
12
- "scripts": {
13
- "build": "tsc -p tsconfig.build.json",
14
- "build:watch": "tsc --watch",
15
- "test": "jest",
16
- "test:watch": "jest --watch",
17
- "test:coverage": "jest --coverage",
18
- "lint": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\"",
19
- "lint:fix": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --fix",
20
- "format": "prettier --write \"src/**/*.ts\" \"__tests__/**/*.ts\"",
21
- "format:check": "prettier --check \"src/**/*.ts\" \"__tests__/**/*.ts\"",
22
- "prepare": "husky",
23
- "prepublishOnly": "npm run lint && npm test && npm run build",
24
- "clean": "rimraf dist coverage",
25
- "docs": "typedoc",
26
- "docs:watch": "typedoc --watch"
27
- },
28
- "keywords": [
29
- "javascript",
30
- "typescript",
31
- "utility",
32
- "toolkit",
33
- "format-date",
34
- "type-safe"
35
- ],
36
- "author": "planarcat",
37
- "license": "MIT",
38
- "repository": {
39
- "type": "git",
40
- "url": "https://github.com/planarcat/js-toolkit.git"
41
- },
42
- "bugs": {
43
- "url": "https://github.com/planarcat/js-toolkit/issues"
44
- },
45
- "homepage": "https://github.com/planarcat/js-toolkit#readme",
46
- "devDependencies": {
47
- "@types/jest": "^29.5.14",
48
- "@types/node": "^25.0.7",
49
- "@typescript-eslint/eslint-plugin": "^6.21.0",
50
- "@typescript-eslint/parser": "^6.21.0",
51
- "eslint": "^8.57.1",
52
- "eslint-config-prettier": "^9.1.2",
53
- "eslint-plugin-prettier": "^5.5.4",
54
- "husky": "^9.1.7",
55
- "jest": "^29.7.0",
56
- "lint-staged": "^13.3.0",
57
- "prettier": "^3.7.4",
58
- "rimraf": "^5.0.10",
59
- "ts-jest": "^29.4.6",
60
- "ts-node": "^10.9.2",
61
- "ts-node-dev": "^2.0.0",
62
- "typedoc": "^0.28.16",
63
- "typedoc-plugin-markdown": "^4.9.0",
64
- "typescript": "^5.3.3"
65
- },
66
- "lint-staged": {
67
- "*.{js,ts,tsx}": [
68
- "eslint --fix",
69
- "prettier --write"
70
- ],
71
- "\"*.{js,ts,tsx}\"": "[\"eslint --fix\", \"prettier --write\"]"
72
- },
73
- "publishConfig": {
74
- "access": "public"
75
- }
76
- }
55
+ "\"*.{js,ts,tsx}\"": "[\"eslint --fix\", \"prettier --write\"]"
56
+ },
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
60
+ "scripts": {
61
+ "build": "tsc -p tsconfig.build.json",
62
+ "build:watch": "tsc --watch",
63
+ "test": "jest",
64
+ "test:watch": "jest --watch",
65
+ "test:coverage": "jest --coverage",
66
+ "lint": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\"",
67
+ "lint:fix": "eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --fix",
68
+ "format": "prettier --write \"src/**/*.ts\" \"__tests__/**/*.ts\"",
69
+ "format:check": "prettier --check \"src/**/*.ts\" \"__tests__/**/*.ts\"",
70
+ "clean": "rimraf dist coverage",
71
+ "docs": "typedoc",
72
+ "docs:watch": "typedoc --watch",
73
+ "bump": "node scripts/bump-version.js",
74
+ "bump:patch": "node scripts/bump-version.js patch",
75
+ "bump:minor": "node scripts/bump-version.js minor",
76
+ "bump:major": "node scripts/bump-version.js major",
77
+ "bump:beta": "node scripts/bump-version.js prerelease beta",
78
+ "bump:alpha": "node scripts/bump-version.js prerelease alpha"
79
+ }
80
+ }
@@ -1,30 +0,0 @@
1
- /**
2
- * 编译模式日期格式化实现
3
- * 首次调用编译格式化字符串,后续调用使用缓存的编译函数
4
- */
5
- import { DateFormatOptions, DateInput } from '../types/date';
6
- /**
7
- * 编译后的格式化函数类型
8
- */
9
- type CompiledFormatter = (date: Date, options: DateFormatOptions) => string;
10
- /**
11
- * 编译格式化字符串,生成优化的格式化函数
12
- * @param formatStr - 格式化字符串
13
- * @returns 编译后的格式化函数
14
- */
15
- export declare function compileFormat(formatStr: string): CompiledFormatter;
16
- /**
17
- * 清除格式化缓存
18
- * @param formatStr - 可选,指定要清除的格式化字符串缓存
19
- */
20
- export declare function clearFormatCache(formatStr?: string): void;
21
- /**
22
- * 编译模式日期格式化
23
- * @param input - 要格式化的日期输入
24
- * @param formatStr - 格式化字符串
25
- * @param options - 格式化选项
26
- * @returns 格式化后的日期字符串
27
- */
28
- export declare function formatDateCompiled(input: DateInput, formatStr?: string, options?: Partial<DateFormatOptions>): string;
29
- export default formatDateCompiled;
30
- //# sourceMappingURL=formatDateCompiled.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDateCompiled.d.ts","sourceRoot":"","sources":["../../src/date/formatDateCompiled.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI7D;;GAEG;AACH,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC;AAO5E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CA0FlE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,MAA8B,EACzC,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACzC,MAAM,CASR;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatDateCompiled = exports.clearFormatCache = exports.compileFormat = void 0;
4
- const constants_1 = require("../utils/constants");
5
- const formatDatePlain_1 = require("./formatDatePlain");
6
- /**
7
- * 格式化缓存,用于存储编译后的格式化函数
8
- */
9
- const FORMAT_CACHE = new Map();
10
- /**
11
- * 编译格式化字符串,生成优化的格式化函数
12
- * @param formatStr - 格式化字符串
13
- * @returns 编译后的格式化函数
14
- */
15
- function compileFormat(formatStr) {
16
- // 检查缓存
17
- if (FORMAT_CACHE.has(formatStr)) {
18
- return FORMAT_CACHE.get(formatStr);
19
- }
20
- // 生成编译后的函数
21
- const compiledFn = (date, options) => {
22
- // 获取日期各部分
23
- const year = date.getFullYear();
24
- const month = date.getMonth() + 1;
25
- const day = date.getDate();
26
- const hours = date.getHours();
27
- const minutes = date.getMinutes();
28
- const seconds = date.getSeconds();
29
- const milliseconds = date.getMilliseconds();
30
- const weekday = date.getDay();
31
- const quarter = Math.floor((date.getMonth() + 3) / 3);
32
- const weekNumber = (0, formatDatePlain_1.getWeekNumber)(date);
33
- // 12小时制
34
- const hours12 = hours % 12 || 12;
35
- const ampm = hours < 12 ? 'AM' : 'PM';
36
- const ampmLower = ampm.toLowerCase();
37
- let result = formatStr;
38
- // 优先替换 timestamp,避免被拆解
39
- if (result.includes('timestamp')) {
40
- result = result.replace(/timestamp/g, date.getTime().toString());
41
- }
42
- // 2. 应用自定义格式化器(优先级最高)
43
- if (options.customFormatters) {
44
- Object.entries(options.customFormatters).forEach(([token, formatter]) => {
45
- const escapedToken = token.replace(/[.*+?^${}()|[\\]/g, '\\$&');
46
- const regex = new RegExp(`(?<![a-zA-Z0-9])${escapedToken}(?![a-zA-Z0-9])`, 'g');
47
- result = result.replace(regex, formatter(date));
48
- });
49
- }
50
- // 3. 替换多字符标记(2-4个字符)
51
- const multiCharReplacements = {
52
- YYYY: year.toString().padStart(4, '0'),
53
- YY: year.toString().slice(-2),
54
- MM: month.toString().padStart(2, '0'),
55
- DD: day.toString().padStart(2, '0'),
56
- HH: hours.toString().padStart(2, '0'),
57
- hh: hours12.toString().padStart(2, '0'),
58
- mm: minutes.toString().padStart(2, '0'),
59
- ss: seconds.toString().padStart(2, '0'),
60
- SSS: milliseconds.toString().padStart(3, '0'),
61
- WW: weekNumber.toString().padStart(2, '0'),
62
- dd: (0, formatDatePlain_1.getLocalizedWeekday)(weekday, options),
63
- };
64
- Object.entries(multiCharReplacements).forEach(([token, value]) => {
65
- // 使用单词边界或字符串边界来确保精确匹配
66
- const regex = new RegExp(`\\b${token}\\b|${token}(?![a-zA-Z0-9])`, 'g');
67
- result = result.replace(regex, value);
68
- });
69
- // 4. 替换单字符标记(使用更精确的匹配)
70
- const singleCharReplacements = {
71
- Y: year.toString(),
72
- M: month.toString(),
73
- D: day.toString(),
74
- H: hours.toString(),
75
- h: hours12.toString(),
76
- m: minutes.toString(),
77
- s: seconds.toString(),
78
- W: weekNumber.toString(),
79
- d: weekday.toString(),
80
- Q: quarter.toString(),
81
- A: ampm,
82
- a: ampmLower,
83
- };
84
- Object.entries(singleCharReplacements).forEach(([token, value]) => {
85
- // 单字符需要更精确的匹配:前面是边界或特定字符,后面不是相同字符
86
- const regex = new RegExp(`(?<![a-zA-Z0-9])${token}(?![a-zA-Z0-9])`, 'g');
87
- result = result.replace(regex, value);
88
- });
89
- return result;
90
- };
91
- // 缓存编译结果
92
- FORMAT_CACHE.set(formatStr, compiledFn);
93
- return compiledFn;
94
- }
95
- exports.compileFormat = compileFormat;
96
- /**
97
- * 清除格式化缓存
98
- * @param formatStr - 可选,指定要清除的格式化字符串缓存
99
- */
100
- function clearFormatCache(formatStr) {
101
- if (formatStr) {
102
- FORMAT_CACHE.delete(formatStr);
103
- }
104
- else {
105
- FORMAT_CACHE.clear();
106
- }
107
- }
108
- exports.clearFormatCache = clearFormatCache;
109
- /**
110
- * 编译模式日期格式化
111
- * @param input - 要格式化的日期输入
112
- * @param formatStr - 格式化字符串
113
- * @param options - 格式化选项
114
- * @returns 格式化后的日期字符串
115
- */
116
- function formatDateCompiled(input, formatStr = 'YYYY-MM-DD HH:mm:ss', options = {}) {
117
- const date = (0, formatDatePlain_1.safeParseDate)(input);
118
- const mergedOptions = { ...constants_1.DEFAULT_DATE_FORMAT_OPTIONS, ...options };
119
- // 编译并缓存格式化函数
120
- const formatter = compileFormat(formatStr);
121
- // 使用编译后的函数格式化日期
122
- return formatter(date, mergedOptions);
123
- }
124
- exports.formatDateCompiled = formatDateCompiled;
125
- exports.default = formatDateCompiled;
126
- //# sourceMappingURL=formatDateCompiled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDateCompiled.js","sourceRoot":"","sources":["../../src/date/formatDateCompiled.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * 普通模式日期格式化实现
3
- * 每次调用都会重新解析格式化字符串
4
- */
5
- import { DateFormatOptions, DateInput } from '../types/date';
6
- /**
7
- * 将各种输入类型安全地转换为 Date 对象
8
- * @param input - 日期输入
9
- * @returns 转换后的 Date 对象,无效输入返回当前时间
10
- */
11
- export declare function safeParseDate(input: DateInput): Date;
12
- /**
13
- * 计算一年中的第几周 (ISO 8601)
14
- * @param date - 日期对象
15
- * @returns 周数
16
- */
17
- export declare function getWeekNumber(date: Date): number;
18
- /**
19
- * 获取本地化的星期几
20
- * @param weekday - 星期几 (0-6)
21
- * @param options - 格式化选项
22
- * @returns 本地化的星期几字符串
23
- */
24
- export declare function getLocalizedWeekday(weekday: number, options: DateFormatOptions): string;
25
- /**
26
- * 普通模式日期格式化
27
- * @param input - 要格式化的日期输入
28
- * @param formatStr - 格式化字符串
29
- * @param options - 格式化选项
30
- * @returns 格式化后的日期字符串
31
- */
32
- export declare function formatDatePlain(input: DateInput, formatStr?: string, options?: Partial<DateFormatOptions>): string;
33
- export default formatDatePlain;
34
- //# sourceMappingURL=formatDatePlain.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDatePlain.d.ts","sourceRoot":"","sources":["../../src/date/formatDatePlain.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG7D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAepD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAMhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAGvF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,MAA8B,EACzC,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACzC,MAAM,CA+ER;AAED,eAAe,eAAe,CAAC"}
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatDatePlain = exports.getLocalizedWeekday = exports.getWeekNumber = exports.safeParseDate = void 0;
4
- const constants_1 = require("../utils/constants");
5
- /**
6
- * 将各种输入类型安全地转换为 Date 对象
7
- * @param input - 日期输入
8
- * @returns 转换后的 Date 对象,无效输入返回当前时间
9
- */
10
- function safeParseDate(input) {
11
- if (input instanceof Date && !isNaN(input.getTime())) {
12
- return input;
13
- }
14
- if (typeof input === 'string' || typeof input === 'number') {
15
- const date = new Date(input);
16
- if (!isNaN(date.getTime())) {
17
- return date;
18
- }
19
- }
20
- // 无效输入返回当前时间
21
- console.warn(`Invalid date input: ${input}, using current date instead.`);
22
- return new Date();
23
- }
24
- exports.safeParseDate = safeParseDate;
25
- /**
26
- * 计算一年中的第几周 (ISO 8601)
27
- * @param date - 日期对象
28
- * @returns 周数
29
- */
30
- function getWeekNumber(date) {
31
- const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
32
- const dayNum = d.getUTCDay() || 7;
33
- d.setUTCDate(d.getUTCDate() + 4 - dayNum);
34
- const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
35
- return Math.ceil(((d.getTime() - yearStart.getTime()) / 86400000 + 1) / 7);
36
- }
37
- exports.getWeekNumber = getWeekNumber;
38
- /**
39
- * 获取本地化的星期几
40
- * @param weekday - 星期几 (0-6)
41
- * @param options - 格式化选项
42
- * @returns 本地化的星期几字符串
43
- */
44
- function getLocalizedWeekday(weekday, options) {
45
- const lang = options.locale?.split('-')[0] || 'zh';
46
- return constants_1.WEEKDAY_MAP[lang]?.[weekday] || constants_1.WEEKDAY_MAP.zh[weekday];
47
- }
48
- exports.getLocalizedWeekday = getLocalizedWeekday;
49
- /**
50
- * 普通模式日期格式化
51
- * @param input - 要格式化的日期输入
52
- * @param formatStr - 格式化字符串
53
- * @param options - 格式化选项
54
- * @returns 格式化后的日期字符串
55
- */
56
- function formatDatePlain(input, formatStr = 'YYYY-MM-DD HH:mm:ss', options = {}) {
57
- const date = safeParseDate(input);
58
- const mergedOptions = { ...constants_1.DEFAULT_DATE_FORMAT_OPTIONS, ...options };
59
- // 获取日期各部分
60
- const year = date.getFullYear();
61
- const month = date.getMonth() + 1;
62
- const day = date.getDate();
63
- const hours = date.getHours();
64
- const minutes = date.getMinutes();
65
- const seconds = date.getSeconds();
66
- const milliseconds = date.getMilliseconds();
67
- const weekday = date.getDay();
68
- const quarter = Math.floor((date.getMonth() + 3) / 3);
69
- const weekNumber = getWeekNumber(date);
70
- // 12小时制
71
- const hours12 = hours % 12 || 12;
72
- const ampm = hours < 12 ? 'AM' : 'PM';
73
- const ampmLower = ampm.toLowerCase();
74
- let result = formatStr;
75
- // 优先替换 timestamp,避免被拆解
76
- if (result.includes('timestamp')) {
77
- result = result.replace(/timestamp/g, date.getTime().toString());
78
- }
79
- // 2. 应用自定义格式化器(优先级最高)
80
- if (mergedOptions.customFormatters) {
81
- Object.entries(mergedOptions.customFormatters).forEach(([token, formatter]) => {
82
- const escapedToken = token.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
83
- const regex = new RegExp(`(?<![a-zA-Z0-9])${escapedToken}(?![a-zA-Z0-9])`, 'g');
84
- result = result.replace(regex, formatter(date));
85
- });
86
- }
87
- // 3. 替换多字符标记(2-4个字符)
88
- const multiCharReplacements = {
89
- YYYY: year.toString().padStart(4, '0'),
90
- YY: year.toString().slice(-2),
91
- MM: month.toString().padStart(2, '0'),
92
- DD: day.toString().padStart(2, '0'),
93
- HH: hours.toString().padStart(2, '0'),
94
- hh: hours12.toString().padStart(2, '0'),
95
- mm: minutes.toString().padStart(2, '0'),
96
- ss: seconds.toString().padStart(2, '0'),
97
- SSS: milliseconds.toString().padStart(3, '0'),
98
- WW: weekNumber.toString().padStart(2, '0'),
99
- dd: getLocalizedWeekday(weekday, mergedOptions),
100
- };
101
- Object.entries(multiCharReplacements).forEach(([token, value]) => {
102
- const regex = new RegExp(`\\b${token}\\b|${token}(?![a-zA-Z0-9])`, 'g');
103
- result = result.replace(regex, value);
104
- });
105
- // 4. 替换单字符标记(使用更精确的匹配)
106
- const singleCharReplacements = {
107
- Y: year.toString(),
108
- M: month.toString(),
109
- D: day.toString(),
110
- H: hours.toString(),
111
- h: hours12.toString(),
112
- m: minutes.toString(),
113
- s: seconds.toString(),
114
- W: weekNumber.toString(),
115
- d: weekday.toString(),
116
- Q: quarter.toString(),
117
- A: ampm,
118
- a: ampmLower,
119
- };
120
- Object.entries(singleCharReplacements).forEach(([token, value]) => {
121
- const regex = new RegExp(`(?<![a-zA-Z0-9])${token}(?![a-zA-Z0-9])`, 'g');
122
- result = result.replace(regex, value);
123
- });
124
- return result;
125
- }
126
- exports.formatDatePlain = formatDatePlain;
127
- exports.default = formatDatePlain;
128
- //# sourceMappingURL=formatDatePlain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatDatePlain.js","sourceRoot":"","sources":["../../src/date/formatDatePlain.ts"],"names":[],"mappings":"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"}