@planarcat/js-toolkit 1.5.3 → 1.5.4

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
@@ -122,7 +122,7 @@ console.log(toFormattedNumberString(0, { zeroValue: '-' }));
122
122
  // 预处理函数
123
123
  console.log(
124
124
  toFormattedNumberString(0.1234, {
125
- preProcessor: num => num * 100,
125
+ preProcessor: (original, num) => num * 100,
126
126
  suffix: '%',
127
127
  })
128
128
  );
@@ -131,7 +131,7 @@ console.log(
131
131
  // 函数类型前缀
132
132
  console.log(
133
133
  toFormattedNumberString(123.456, {
134
- prefix: num => `$${Math.floor(num)}`,
134
+ prefix: (original, num, formatted) => `$${Math.floor(num)}`,
135
135
  })
136
136
  );
137
137
  // 输出: "$123123.456"
@@ -139,7 +139,7 @@ console.log(
139
139
  // 函数类型后缀
140
140
  console.log(
141
141
  toFormattedNumberString(123.456, {
142
- suffix: num => `/${num.toFixed(0)}`,
142
+ suffix: (original, num, formatted) => `/${num.toFixed(0)}`,
143
143
  })
144
144
  );
145
145
  // 输出: "123.456/123"
@@ -250,9 +250,10 @@ npm run test:coverage
250
250
 
251
251
  ### v1.5.3
252
252
 
253
- - ✨ 增强了 `toFormattedNumberString` 函数,为 `preProcessor` 和 `suffix` 函数添加了更多参数
254
- - ✨ `preProcessor` 现在接收两个参数:转化后的 number 以及原始对象
255
- - ✨ `suffix` 如果是函数,现在接收三个参数:格式化后的字符串、转化后格式化前的 number,以及原始对象
253
+ - ✨ 增强了 `toFormattedNumberString` 函数,为 `preProcessor`、`prefix` 和 `suffix` 函数更新了参数顺序
254
+ - ✨ `preProcessor` 现在接收两个参数:原始对象和转化后的 number
255
+ - ✨ `prefix` 如果是函数,现在接收三个参数:原始对象、转化后的 number、格式化后的字符串
256
+ - ✨ `suffix` 如果是函数,现在接收三个参数:原始对象、转化后的 number、格式化后的字符串
256
257
  - ✨ 增强了测试用例,验证新功能
257
258
  - ✨ 更新了文档,明确说明每个函数参数的用途
258
259
 
@@ -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;AAyI9H,eAAe,uBAAuB,CAAC"}
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"}
@@ -19,11 +19,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  * @param options.zeroValue - 当值为0时的显示,默认'0'
20
20
  * @param options.localized - 是否使用本地化格式,默认false
21
21
  * @param options.preProcessor - 预处理函数,在数字转换后、字符串格式化前应用
22
- * 接收两个参数:转化后的数字和原始对象
23
- * @param options.prefix - 前缀,可以是字符串或函数,默认''
24
- * 如果是函数,会接收格式化前的数字和原始对象作为参数,返回字符串作为前缀
25
- * @param options.suffix - 后缀,可以是字符串或函数,默认''
26
- * 如果是函数,会接收三个参数:格式化后的字符串、转化后格式化前的数字、原始对象,返回字符串作为后缀
22
+ * 接收两个参数:原始对象和转化后的数字
23
+ * @param options.prefix - 前缀,字符串或函数
24
+ * 如果是函数,会接收三个参数:原始对象、转化后的数字、格式化后的字符串,返回字符串作为前缀
25
+ * @param options.suffix - 后缀,字符串或函数
26
+ * 如果是函数,会接收三个参数:原始对象、转化后的数字、格式化后的字符串,返回字符串作为后缀
27
27
  *
28
28
  * @returns 格式化后的数字字符串或字符串数组
29
29
  * - 当传入的 object 为非数组时,返回 string
@@ -52,18 +52,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
52
52
  *
53
53
  * // 预处理函数
54
54
  * toFormattedNumberString(0.1234, {
55
- * preProcessor: (num) => num * 100,
55
+ * preProcessor: (original, num) => num * 100,
56
56
  * suffix: '%'
57
57
  * }); // "12.34%"
58
58
  *
59
59
  * // 函数类型前缀
60
60
  * toFormattedNumberString(123.456, {
61
- * prefix: (num) => `$${Math.floor(num)}`
61
+ * prefix: (original, num, formatted) => `$${Math.floor(num)}`
62
62
  * }); // "$123123.456"
63
63
  *
64
64
  * // 函数类型后缀
65
65
  * toFormattedNumberString(123.456, {
66
- * suffix: (num) => `/${num.toFixed(0)}`
66
+ * suffix: (original, num, formatted) => `/${num.toFixed(0)}`
67
67
  * }); // "123.456/123"
68
68
  *
69
69
  * // 处理数组
@@ -78,53 +78,46 @@ const toFormattedNumber_1 = __importDefault(require("./toFormattedNumber"));
78
78
  // 主函数实现
79
79
  function toFormattedNumberString(object, options) {
80
80
  // 解构并设置默认值
81
- const { decimalPlaces = true, nanValue = 'NaN', zeroValue = '0', localized = false, preProcessor, prefix = '', suffix = '' } = options || {};
82
- /**
83
- * 处理前缀或后缀,可以是字符串或函数
84
- * @param prefixOrSuffix - 前缀或后缀,可以是字符串或函数
85
- * @param num - 要传递给函数的数字
86
- * @param formatted - 格式化后的字符串(仅用于后缀函数)
87
- * @param original - 原始对象
88
- * @returns 处理后的前缀或后缀字符串
89
- */
90
- const processPrefixSuffix = (prefixOrSuffix, num, formatted, original = object) => {
91
- if (typeof prefixOrSuffix === 'function') {
92
- if (formatted !== undefined) {
93
- // 后缀函数,接收三个参数
94
- return prefixOrSuffix(formatted, num, original);
95
- }
96
- else {
97
- // 前缀函数,接收两个参数
98
- return prefixOrSuffix(num, original);
99
- }
100
- }
101
- return prefixOrSuffix;
102
- };
81
+ const { decimalPlaces = true, nanValue = 'NaN', zeroValue = '0', localized, preProcessor, prefix = '', suffix = '' } = options || {};
103
82
  /**
104
83
  * 添加前缀和后缀
105
- * @param str - 要添加前缀后缀的字符串
106
- * @param num - 要传递给前缀后缀函数的数字
84
+ * @param prefix - 前缀
85
+ * @param suffix - 后缀
86
+ * @param formatted - 格式化后的字符串
87
+ * @param converted - 转化后的数字
107
88
  * @param original - 原始对象
108
89
  * @returns 添加了前缀后缀的字符串
109
90
  */
110
- const addPrefixSuffix = (str, num, original = object) => {
111
- const processedPrefix = processPrefixSuffix(prefix, num, undefined, original);
112
- const processedSuffix = processPrefixSuffix(suffix, num, str, original);
113
- return `${processedPrefix}${str}${processedSuffix}`;
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);
102
+ }
103
+ else {
104
+ processedSuffix = suffix;
105
+ }
106
+ return `${processedPrefix}${formatted}${processedSuffix}`;
114
107
  };
115
108
  /**
116
109
  * 将单个数字转换为格式化字符串
117
- * @param num - 要转换的数字
110
+ * @param converted - 转化后的数字
118
111
  * @param original - 原始对象
119
112
  * @returns 格式化后的字符串
120
113
  */
121
- const convertNumberToString = (num, original) => {
114
+ const convertNumberToString = (converted, original) => {
122
115
  // 处理0情况
123
- if (num === 0) {
124
- return addPrefixSuffix(zeroValue, num, original);
116
+ if (converted === 0) {
117
+ return addPrefixSuffix(prefix, suffix, zeroValue, converted, original);
125
118
  }
126
119
  // 应用预处理函数
127
- const processedNum = preProcessor ? preProcessor(num, original) : num;
120
+ const processedNum = preProcessor ? preProcessor(original, converted) : converted;
128
121
  // 格式化数字为字符串
129
122
  let strNum;
130
123
  if (localized) {
@@ -153,7 +146,7 @@ function toFormattedNumberString(object, options) {
153
146
  }
154
147
  }
155
148
  // 添加前缀和后缀
156
- return addPrefixSuffix(strNum, processedNum, original);
149
+ return addPrefixSuffix(prefix, suffix, strNum, processedNum, original);
157
150
  };
158
151
  /**
159
152
  * 检查字符串是否包含数字
@@ -178,7 +171,7 @@ function toFormattedNumberString(object, options) {
178
171
  // 检查是否为无数字的字符串
179
172
  if (typeof value === 'string' && !hasNumbers(value)) {
180
173
  // 无数字的字符串返回0
181
- return addPrefixSuffix(zeroValue, 0, original);
174
+ return addPrefixSuffix(prefix, suffix, zeroValue, 0, original);
182
175
  }
183
176
  // 对于其他类型,首先将输入转换为数字
184
177
  // 注意:toFormattedNumber对于单个值会返回number类型
@@ -189,7 +182,7 @@ function toFormattedNumberString(object, options) {
189
182
  // 检查是否为NaN
190
183
  if (isNaN(num)) {
191
184
  // 其他NaN情况,使用nanValue
192
- return addPrefixSuffix(nanValue, num, original);
185
+ return addPrefixSuffix(prefix, suffix, nanValue, num, original);
193
186
  }
194
187
  // 正常数字转换
195
188
  return convertNumberToString(num, original);
@@ -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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"}
@@ -41,17 +41,20 @@ export interface ToFormattedNumberStringOptions extends CommonFormatOptions {
41
41
  /**
42
42
  * 预处理函数,在对象被处理为数字后调用,
43
43
  * 默认无。
44
+ * 接收参数:原始对象、转化后的数字,返回处理后的数字
44
45
  */
45
- preProcessor?: (num: number, original: unknown) => number;
46
+ preProcessor?: (original: unknown, converted: number) => number;
46
47
  /**
47
48
  * 前缀,可以是字符串或函数,
48
49
  * 默认''。
50
+ * 如果是函数,接收参数:原始对象、转化后数字、格式化后的字符串,返回字符串作为前缀
49
51
  */
50
- prefix?: string | ((value: number, original: unknown) => string);
52
+ prefix?: string | ((original: unknown, converted: number, formatted: string) => string);
51
53
  /**
52
54
  * 后缀,可以是字符串或函数,
53
55
  * 默认''。
56
+ * 如果是函数,接收参数:原始对象、转化后数字、格式化后的字符串,返回字符串作为后缀
54
57
  */
55
- suffix?: string | ((formatted: string, value: number, original: unknown) => string);
58
+ suffix?: string | ((original: unknown, converted: number, formatted: string) => string);
56
59
  }
57
60
  //# sourceMappingURL=object.d.ts.map
@@ -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;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IAC1D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;IACjE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CACvF"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planarcat/js-toolkit",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "一个自用的带学习性质的(目前)现代化的 JavaScript/TypeScript 实用工具库,提供类型安全、高性能的常用函数,包括对象转换、日期处理、函数优化等开发常用工具。",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",