@planarcat/js-toolkit 1.5.4 → 1.5.6

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
@@ -248,6 +248,19 @@ npm run test:coverage
248
248
 
249
249
  ## 更新日志
250
250
 
251
+ ### v1.5.6
252
+
253
+ - ✨ 优化了 `toFormattedNumberString` 函数的内部实现,将内部函数提取到外部
254
+ - ✨ 统一了变量命名规范,根据转化进度命名:converted、preProcessed、formatted
255
+ - ✨ 新增测试用例,验证预处理函数和后缀函数的组合使用
256
+ - ✨ 提高了代码的可读性和可维护性
257
+
258
+ ### v1.5.5
259
+
260
+ - ✨ 修复了测试文件中的未使用变量警告
261
+ - ✨ 优化了代码注释,删除了重复的不必要说明
262
+ - ✨ 提高了代码的简洁性和可维护性
263
+
251
264
  ### v1.5.3
252
265
 
253
266
  - ✨ 增强了 `toFormattedNumberString` 函数,为 `preProcessor`、`prefix` 和 `suffix` 函数更新了参数顺序
@@ -1,13 +1,10 @@
1
- import { DateInput, DateFormatOptions } from "../types/date";
1
+ import { DateFormatOptions, DateInput } from '../types/date';
2
2
  /**
3
3
  * 格式化日期对象
4
4
  *
5
5
  * @param input - 要格式化的日期输入,可以是 Date 对象、时间戳、日期字符串
6
6
  * @param formatStr - 格式化字符串,支持 YYYY-MM-DD HH:mm:ss 等标记,默认为 'YYYY-MM-DD HH:mm:ss'
7
- * @param options - 格式化选项
8
- * @param options.timeZone - 时区设置,默认为 'local'
9
- * @param options.locale - 语言环境,默认为 'zh-CN'
10
- * @param options.customFormatters - 自定义格式化处理器
7
+ * @param options - 格式化选项,具体参数说明见类型声明
11
8
  * @returns 格式化后的日期字符串
12
9
  *
13
10
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AA4D7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,iBAAS,UAAU,CACjB,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,MAA8B,EACzC,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACvC,MAAM,CAuFR;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;AAoD7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAE,MAA8B,EAAE,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,MAAM,CAkFjI;AAED,eAAe,UAAU,CAAC"}
@@ -11,7 +11,7 @@ function safeParseDate(input) {
11
11
  if (input instanceof Date && !isNaN(input.getTime())) {
12
12
  return input;
13
13
  }
14
- if (typeof input === "string" || typeof input === "number") {
14
+ if (typeof input === 'string' || typeof input === 'number') {
15
15
  const date = new Date(input);
16
16
  if (!isNaN(date.getTime())) {
17
17
  return date;
@@ -42,19 +42,15 @@ function getWeekNumber(date) {
42
42
  * @internal
43
43
  */
44
44
  function getLocalizedWeekday(weekday, options) {
45
- const lang = options.locale?.split("-")[0] || "zh";
46
- return (constants_1.WEEKDAY_MAP[lang]?.[weekday] ||
47
- constants_1.WEEKDAY_MAP.zh[weekday]);
45
+ const lang = options.locale?.split('-')[0] || 'zh';
46
+ return constants_1.WEEKDAY_MAP[lang]?.[weekday] || constants_1.WEEKDAY_MAP.zh[weekday];
48
47
  }
49
48
  /**
50
49
  * 格式化日期对象
51
50
  *
52
51
  * @param input - 要格式化的日期输入,可以是 Date 对象、时间戳、日期字符串
53
52
  * @param formatStr - 格式化字符串,支持 YYYY-MM-DD HH:mm:ss 等标记,默认为 'YYYY-MM-DD HH:mm:ss'
54
- * @param options - 格式化选项
55
- * @param options.timeZone - 时区设置,默认为 'local'
56
- * @param options.locale - 语言环境,默认为 'zh-CN'
57
- * @param options.customFormatters - 自定义格式化处理器
53
+ * @param options - 格式化选项,具体参数说明见类型声明
58
54
  * @returns 格式化后的日期字符串
59
55
  *
60
56
  * @example
@@ -86,7 +82,7 @@ function getLocalizedWeekday(weekday, options) {
86
82
  * // 返回: "第4季度"
87
83
  * ```
88
84
  */
89
- function formatDate(input, formatStr = "YYYY-MM-DD HH:mm:ss", options = {}) {
85
+ function formatDate(input, formatStr = 'YYYY-MM-DD HH:mm:ss', options = {}) {
90
86
  const date = safeParseDate(input);
91
87
  const mergedOptions = { ...constants_1.DEFAULT_DATE_FORMAT_OPTIONS, ...options };
92
88
  // 获取日期各部分
@@ -102,39 +98,39 @@ function formatDate(input, formatStr = "YYYY-MM-DD HH:mm:ss", options = {}) {
102
98
  const weekNumber = getWeekNumber(date);
103
99
  // 12小时制
104
100
  const hours12 = hours % 12 || 12;
105
- const ampm = hours < 12 ? "AM" : "PM";
101
+ const ampm = hours < 12 ? 'AM' : 'PM';
106
102
  const ampmLower = ampm.toLowerCase();
107
103
  // 1. 首先处理完整的单词标记(如 timestamp)
108
104
  let result = formatStr;
109
105
  // 优先替换 timestamp,避免被拆解
110
- if (result.includes("timestamp")) {
106
+ if (result.includes('timestamp')) {
111
107
  result = result.replace(/timestamp/g, date.getTime().toString());
112
108
  }
113
109
  // 2. 应用自定义格式化器(优先级最高)
114
110
  if (mergedOptions.customFormatters) {
115
111
  Object.entries(mergedOptions.customFormatters).forEach(([token, formatter]) => {
116
- const escapedToken = token.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
117
- const regex = new RegExp(`(?<![a-zA-Z0-9])${escapedToken}(?![a-zA-Z0-9])`, "g");
112
+ const escapedToken = token.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
113
+ const regex = new RegExp(`(?<![a-zA-Z0-9])${escapedToken}(?![a-zA-Z0-9])`, 'g');
118
114
  result = result.replace(regex, formatter(date));
119
115
  });
120
116
  }
121
117
  // 3. 替换多字符标记(2-4个字符)
122
118
  const multiCharReplacements = {
123
- YYYY: year.toString().padStart(4, "0"),
119
+ YYYY: year.toString().padStart(4, '0'),
124
120
  YY: year.toString().slice(-2),
125
- MM: month.toString().padStart(2, "0"),
126
- DD: day.toString().padStart(2, "0"),
127
- HH: hours.toString().padStart(2, "0"),
128
- hh: hours12.toString().padStart(2, "0"),
129
- mm: minutes.toString().padStart(2, "0"),
130
- ss: seconds.toString().padStart(2, "0"),
131
- SSS: milliseconds.toString().padStart(3, "0"),
132
- WW: weekNumber.toString().padStart(2, "0"),
121
+ MM: month.toString().padStart(2, '0'),
122
+ DD: day.toString().padStart(2, '0'),
123
+ HH: hours.toString().padStart(2, '0'),
124
+ hh: hours12.toString().padStart(2, '0'),
125
+ mm: minutes.toString().padStart(2, '0'),
126
+ ss: seconds.toString().padStart(2, '0'),
127
+ SSS: milliseconds.toString().padStart(3, '0'),
128
+ WW: weekNumber.toString().padStart(2, '0'),
133
129
  dd: getLocalizedWeekday(weekday, mergedOptions),
134
130
  };
135
131
  Object.entries(multiCharReplacements).forEach(([token, value]) => {
136
132
  // 使用单词边界或字符串边界来确保精确匹配
137
- const regex = new RegExp(`\\b${token}\\b|${token}(?![a-zA-Z0-9])`, "g");
133
+ const regex = new RegExp(`\\b${token}\\b|${token}(?![a-zA-Z0-9])`, 'g');
138
134
  result = result.replace(regex, value);
139
135
  });
140
136
  // 4. 替换单字符标记(使用更精确的匹配)
@@ -154,7 +150,7 @@ function formatDate(input, formatStr = "YYYY-MM-DD HH:mm:ss", options = {}) {
154
150
  };
155
151
  Object.entries(singleCharReplacements).forEach(([token, value]) => {
156
152
  // 单字符需要更精确的匹配:前面是边界或特定字符,后面不是相同字符
157
- const regex = new RegExp(`(?<![a-zA-Z0-9])${token}(?![a-zA-Z0-9])`, "g");
153
+ const regex = new RegExp(`(?<![a-zA-Z0-9])${token}(?![a-zA-Z0-9])`, 'g');
158
154
  result = result.replace(regex, value);
159
155
  });
160
156
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../src/date/formatDate.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,7 @@
6
6
  * 支持深层数组递归处理
7
7
  *
8
8
  * @param object - 要格式化的目标
9
- * @param options - 格式化选项
10
- * @param options.decimalPlaces - 保留多少位小数,默认true(保留所有小数位)
11
- * true: 保留所有小数位,不额外处理
12
- * number: 保留指定小数位,四舍五入
13
- * @param options.nanValue - 当值为NaN时的显示,默认NaN
9
+ * @param options - 格式化选项,具体参数说明见类型声明
14
10
  *
15
11
  * @returns 格式化后的数字或数字数组
16
12
  * - 当传入的 object 为非数组时,返回 number
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumber.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAAC;AAEtH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,wBAAwB,GAAG,MAAM,CAAC;AAgDlH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"toFormattedNumber.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAAC;AAEtH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,wBAAwB,GAAG,MAAM,CAAC;AAgDlH,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumber.js","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAW;IACxC,2BAA2B;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAc;IACnC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,SAAS;YACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,GAAG,CAAC;QACf,KAAK,QAAQ;YACT,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,cAAc;YACd,OAAO,GAAG,CAAC;QACf,KAAK,WAAW;YACZ,OAAO,GAAG,CAAC;QACf;YACI,OAAO,GAAG,CAAC;IACnB,CAAC;AACL,CAAC;AA+DD,QAAQ;AACR,SAAS,iBAAiB,CAAC,MAAe,EAAE,OAA4D;IACpG,WAAW;IACX,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE/D;;;;OAIG;IACH,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;QAC/C,UAAU;QACV,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,yBAAyB;QACzB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACf,CAAC;aAAM,CAAC;YACJ,eAAe;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAqB,EAAE;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,WAAW;YACX,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,QAAQ;YACR,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ;YACR,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,QAAQ;IACR,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"toFormattedNumber.js","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAW;IACxC,2BAA2B;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAc;IACnC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,SAAS;YACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,GAAG,CAAC;QACf,KAAK,QAAQ;YACT,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,cAAc;YACd,OAAO,GAAG,CAAC;QACf,KAAK,WAAW;YACZ,OAAO,GAAG,CAAC;QACf;YACI,OAAO,GAAG,CAAC;IACnB,CAAC;AACL,CAAC;AA2DD,QAAQ;AACR,SAAS,iBAAiB,CAAC,MAAe,EAAE,OAA4D;IACpG,WAAW;IACX,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE/D;;;;OAIG;IACH,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;QAC/C,UAAU;QACV,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,yBAAyB;QACzB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACf,CAAC;aAAM,CAAC;YACJ,eAAe;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAqB,EAAE;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,WAAW;YACX,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,QAAQ;YACR,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ;YACR,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,QAAQ;IACR,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumberString.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"AA0EA,iBAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,8BAA8B,GAAG,MAAM,EAAE,CAAC;AAElI,iBAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,8BAA8B,GAAG,MAAM,CAAC;AAiI9H,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"toFormattedNumberString.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"AAmNA,iBAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,8BAA8B,GAAG,MAAM,EAAE,CAAC;AAElI,iBAAS,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,8BAA8B,GAAG,MAAM,CAAC;AAkB9H,eAAe,uBAAuB,CAAC"}
@@ -11,19 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  * 支持深层数组递归处理
12
12
  *
13
13
  * @param object - 要格式化的对象,可以是任何类型
14
- * @param options - 格式化选项
15
- * @param options.decimalPlaces - 保留多少位小数,默认true(保留所有小数位)
16
- * true: 保留所有小数位,不额外处理
17
- * number: 保留指定小数位,不够时补0
18
- * @param options.nanValue - 当值为NaN时的显示,默认'NaN'
19
- * @param options.zeroValue - 当值为0时的显示,默认'0'
20
- * @param options.localized - 是否使用本地化格式,默认false
21
- * @param options.preProcessor - 预处理函数,在数字转换后、字符串格式化前应用
22
- * 接收两个参数:原始对象和转化后的数字
23
- * @param options.prefix - 前缀,字符串或函数
24
- * 如果是函数,会接收三个参数:原始对象、转化后的数字、格式化后的字符串,返回字符串作为前缀
25
- * @param options.suffix - 后缀,字符串或函数
26
- * 如果是函数,会接收三个参数:原始对象、转化后的数字、格式化后的字符串,返回字符串作为后缀
14
+ * @param options - 格式化选项,具体参数说明见类型声明
27
15
  *
28
16
  * @returns 格式化后的数字字符串或字符串数组
29
17
  * - 当传入的 object 为非数组时,返回 string
@@ -75,121 +63,133 @@ Object.defineProperty(exports, "__esModule", { value: true });
75
63
  * ```
76
64
  */
77
65
  const toFormattedNumber_1 = __importDefault(require("./toFormattedNumber"));
78
- // 主函数实现
79
- function toFormattedNumberString(object, options) {
80
- // 解构并设置默认值
81
- const { decimalPlaces = true, nanValue = 'NaN', zeroValue = '0', localized, preProcessor, prefix = '', suffix = '' } = options || {};
82
- /**
83
- * 添加前缀和后缀
84
- * @param prefix - 前缀
85
- * @param suffix - 后缀
86
- * @param formatted - 格式化后的字符串
87
- * @param converted - 转化后的数字
88
- * @param original - 原始对象
89
- * @returns 添加了前缀后缀的字符串
90
- */
91
- const addPrefixSuffix = (prefix, suffix, formatted, converted, original) => {
92
- let processedPrefix;
93
- if (typeof prefix === 'function') {
94
- processedPrefix = prefix(original, converted, formatted);
95
- }
96
- else {
97
- processedPrefix = prefix;
98
- }
99
- let processedSuffix;
100
- if (typeof suffix === 'function') {
101
- processedSuffix = suffix(original, converted, formatted);
66
+ /**
67
+ * 检查字符串是否包含数字
68
+ * @param str - 要检查的字符串
69
+ * @returns 是否包含数字
70
+ */
71
+ function hasNumbers(str) {
72
+ return /\d/.test(str);
73
+ }
74
+ /**
75
+ * 添加前缀和后缀
76
+ * @param prefix - 前缀
77
+ * @param suffix - 后缀
78
+ * @param formatted - 格式化后的字符串
79
+ * @param converted - 转化后的数字
80
+ * @param original - 原始对象
81
+ * @returns 添加了前缀后缀的字符串
82
+ */
83
+ function addPrefixSuffix(prefix, suffix, formatted, converted, original) {
84
+ let processedPrefix;
85
+ if (typeof prefix === 'function') {
86
+ processedPrefix = prefix(original, converted, formatted);
87
+ }
88
+ else {
89
+ processedPrefix = prefix;
90
+ }
91
+ let processedSuffix;
92
+ if (typeof suffix === 'function') {
93
+ processedSuffix = suffix(original, converted, formatted);
94
+ }
95
+ else {
96
+ processedSuffix = suffix;
97
+ }
98
+ return `${processedPrefix}${formatted}${processedSuffix}`;
99
+ }
100
+ /**
101
+ * 将单个数字转换为格式化字符串
102
+ * @param converted - 原始对象转化为数字后的结果
103
+ * @param original - 原始对象
104
+ * @param options - 格式化选项
105
+ * @returns 格式化后的字符串
106
+ */
107
+ function format(converted, original, options) {
108
+ const { decimalPlaces, zeroValue, localized, preProcessor, prefix, suffix } = options;
109
+ // 处理0情况
110
+ if (converted === 0) {
111
+ return addPrefixSuffix(prefix, suffix, zeroValue, converted, original);
112
+ }
113
+ // 应用预处理函数
114
+ const preProcessed = preProcessor ? preProcessor(original, converted) : converted;
115
+ // 格式化数字为字符串
116
+ let formatted;
117
+ if (localized) {
118
+ // 使用本地化格式
119
+ if (decimalPlaces === true) {
120
+ // 保留所有小数位
121
+ formatted = preProcessed.toLocaleString();
102
122
  }
103
123
  else {
104
- processedSuffix = suffix;
105
- }
106
- return `${processedPrefix}${formatted}${processedSuffix}`;
107
- };
108
- /**
109
- * 将单个数字转换为格式化字符串
110
- * @param converted - 转化后的数字
111
- * @param original - 原始对象
112
- * @returns 格式化后的字符串
113
- */
114
- const convertNumberToString = (converted, original) => {
115
- // 处理0情况
116
- if (converted === 0) {
117
- return addPrefixSuffix(prefix, suffix, zeroValue, converted, original);
124
+ // 保留指定小数位,不够时补0
125
+ formatted = preProcessed.toLocaleString(undefined, {
126
+ minimumFractionDigits: decimalPlaces,
127
+ maximumFractionDigits: decimalPlaces,
128
+ });
118
129
  }
119
- // 应用预处理函数
120
- const processedNum = preProcessor ? preProcessor(original, converted) : converted;
121
- // 格式化数字为字符串
122
- let strNum;
123
- if (localized) {
124
- // 使用本地化格式
125
- if (decimalPlaces === true) {
126
- // 保留所有小数位
127
- strNum = processedNum.toLocaleString();
128
- }
129
- else {
130
- // 保留指定小数位,不够时补0
131
- strNum = processedNum.toLocaleString(undefined, {
132
- minimumFractionDigits: decimalPlaces,
133
- maximumFractionDigits: decimalPlaces,
134
- });
135
- }
130
+ }
131
+ else {
132
+ // 使用非本地化格式
133
+ if (decimalPlaces === true) {
134
+ // 保留所有小数位
135
+ formatted = preProcessed.toString();
136
136
  }
137
137
  else {
138
- // 使用非本地化格式
139
- if (decimalPlaces === true) {
140
- // 保留所有小数位
141
- strNum = processedNum.toString();
142
- }
143
- else {
144
- // 保留指定小数位,不够时补0
145
- strNum = processedNum.toFixed(decimalPlaces);
146
- }
138
+ // 保留指定小数位,不够时补0
139
+ formatted = preProcessed.toFixed(decimalPlaces);
147
140
  }
148
- // 添加前缀和后缀
149
- return addPrefixSuffix(prefix, suffix, strNum, processedNum, original);
150
- };
151
- /**
152
- * 检查字符串是否包含数字
153
- * @param str - 要检查的字符串
154
- * @returns 是否包含数字
155
- */
156
- const hasNumbers = (str) => {
157
- return /\d/.test(str);
158
- };
159
- /**
160
- * 递归处理值,转换为格式化字符串
161
- * @param value - 要处理的值
162
- * @param original - 原始对象或数组元素
163
- * @returns 格式化后的字符串或字符串数组
164
- */
165
- const processValue = (value, original = object) => {
166
- if (Array.isArray(value)) {
167
- // 递归处理数组
168
- return value.map((item, _index) => processValue(item, item));
141
+ }
142
+ // 添加前缀和后缀
143
+ return addPrefixSuffix(prefix, suffix, formatted, converted, original);
144
+ }
145
+ /**
146
+ * 递归处理值,转换为格式化字符串
147
+ * @param value - 要处理的值
148
+ * @param original - 原始对象或数组元素
149
+ * @param options - 格式化选项
150
+ * @returns 格式化后的字符串或字符串数组
151
+ */
152
+ function processValue(value, original, options) {
153
+ const { decimalPlaces, zeroValue, nanValue, prefix, suffix } = options;
154
+ if (Array.isArray(value)) {
155
+ // 递归处理数组
156
+ return value.map((item, _index) => processValue(item, item, options));
157
+ }
158
+ else {
159
+ // 检查是否为无数字的字符串
160
+ if (typeof value === 'string' && !hasNumbers(value)) {
161
+ // 无数字的字符串返回0
162
+ return addPrefixSuffix(prefix, suffix, zeroValue, 0, original);
169
163
  }
170
- else {
171
- // 检查是否为无数字的字符串
172
- if (typeof value === 'string' && !hasNumbers(value)) {
173
- // 无数字的字符串返回0
174
- return addPrefixSuffix(prefix, suffix, zeroValue, 0, original);
175
- }
176
- // 对于其他类型,首先将输入转换为数字
177
- // 注意:toFormattedNumber对于单个值会返回number类型
178
- const num = (0, toFormattedNumber_1.default)(value, {
179
- decimalPlaces,
180
- nanValue: NaN,
181
- });
182
- // 检查是否为NaN
183
- if (isNaN(num)) {
184
- // 其他NaN情况,使用nanValue
185
- return addPrefixSuffix(prefix, suffix, nanValue, num, original);
186
- }
187
- // 正常数字转换
188
- return convertNumberToString(num, original);
164
+ // 对于其他类型,首先将输入转换为数字
165
+ // 注意:toFormattedNumber对于单个值会返回number类型
166
+ const converted = (0, toFormattedNumber_1.default)(value, {
167
+ decimalPlaces,
168
+ nanValue: NaN,
169
+ });
170
+ // 检查是否为NaN
171
+ if (isNaN(converted)) {
172
+ // 其他NaN情况,使用nanValue
173
+ return addPrefixSuffix(prefix, suffix, nanValue, converted, original);
189
174
  }
190
- };
175
+ // 正常数字转换
176
+ return format(converted, original, options);
177
+ }
178
+ }
179
+ // 主函数实现
180
+ function toFormattedNumberString(object, options) {
181
+ // 解构并设置默认值
182
+ const { decimalPlaces = true, nanValue = 'NaN', zeroValue = '0', localized, preProcessor, prefix = '', suffix = '' } = options || {};
191
183
  // 处理输入值
192
- return processValue(object);
184
+ return processValue(object, object, {
185
+ decimalPlaces,
186
+ zeroValue,
187
+ nanValue,
188
+ localized,
189
+ preProcessor,
190
+ prefix,
191
+ suffix,
192
+ });
193
193
  }
194
194
  exports.default = toFormattedNumberString;
195
195
  //# sourceMappingURL=toFormattedNumberString.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumberString.js","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toFormattedNumberString.js","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"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"}
@@ -45,15 +45,13 @@ export interface ToFormattedNumberStringOptions extends CommonFormatOptions {
45
45
  */
46
46
  preProcessor?: (original: unknown, converted: number) => number;
47
47
  /**
48
- * 前缀,可以是字符串或函数,
49
- * 默认''。
50
- * 如果是函数,接收参数:原始对象、转化后数字、格式化后的字符串,返回字符串作为前缀
48
+ * 前缀,字符串或函数,
49
+ * 函数接收参数:原始对象、转化后数字、格式化后的字符串,返回字符串。
51
50
  */
52
51
  prefix?: string | ((original: unknown, converted: number, formatted: string) => string);
53
52
  /**
54
- * 后缀,可以是字符串或函数,
55
- * 默认''。
56
- * 如果是函数,接收参数:原始对象、转化后数字、格式化后的字符串,返回字符串作为后缀
53
+ * 后缀,字符串或函数,
54
+ * 函数接收参数:原始对象、转化后数字、格式化后的字符串,返回字符串。
57
55
  */
58
56
  suffix?: string | ((original: unknown, converted: number, formatted: string) => string);
59
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/types/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACjE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACvE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACxF;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAC3F"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/types/object.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACjE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACvE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACxF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAC3F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planarcat/js-toolkit",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
4
4
  "description": "一个自用的带学习性质的(目前)现代化的 JavaScript/TypeScript 实用工具库,提供类型安全、高性能的常用函数,包括对象转换、日期处理、函数优化等开发常用工具。",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",