@planarcat/js-toolkit 1.5.1 → 1.5.3

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
@@ -110,7 +110,7 @@ console.log(toFormattedNumberString(1234.5678, { prefix: '$', suffix: ' USD' }))
110
110
  // 输出: "$1234.5678 USD"
111
111
 
112
112
  // 本地化格式
113
- console.log(toFormattedNumberString(1234567.89, { useLocalizedFormat: true }));
113
+ console.log(toFormattedNumberString(1234567.89, { localized: true }));
114
114
  // 输出: "1,234,567.89"
115
115
 
116
116
  // 自定义NaN和0显示
@@ -248,6 +248,24 @@ npm run test:coverage
248
248
 
249
249
  ## 更新日志
250
250
 
251
+ ### v1.5.3
252
+
253
+ - ✨ 增强了 `toFormattedNumberString` 函数,为 `preProcessor` 和 `suffix` 函数添加了更多参数
254
+ - ✨ `preProcessor` 现在接收两个参数:转化后的 number 以及原始对象
255
+ - ✨ `suffix` 如果是函数,现在接收三个参数:格式化后的字符串、转化后格式化前的 number,以及原始对象
256
+ - ✨ 增强了测试用例,验证新功能
257
+ - ✨ 更新了文档,明确说明每个函数参数的用途
258
+
259
+ ### v1.5.2
260
+
261
+ - ✨ 更新了函数返回值类型说明,明确区分数组和非数组输入的返回值
262
+ - ✨ 生成了最新的 API 文档
263
+
264
+ ### v1.5.1
265
+
266
+ - ✨ 更新了 README 文档,修复了参数名称
267
+ - ✨ 生成了最新的 API 文档
268
+
251
269
  ### v1.5.0
252
270
 
253
271
  - ✨ 为 `toFormattedNumberString` 函数的前缀后缀添加函数类型支持
@@ -13,8 +13,8 @@
13
13
  * @param options.nanValue - 当值为NaN时的显示,默认NaN
14
14
  *
15
15
  * @returns 格式化后的数字或数字数组
16
- * - 如果输入是单个值,返回格式化后的数字
17
- * - 如果输入是数组,返回格式化后的数字数组
16
+ * - 当传入的 object 为非数组时,返回 number
17
+ * - 当传入的 object 为数组时,返回 number[]
18
18
  * - 支持深层数组递归处理
19
19
  *
20
20
  * @example
@@ -55,7 +55,7 @@
55
55
  * toFormattedNumber('abc', { nanValue: -1 }); // -1
56
56
  * ```
57
57
  */
58
- declare function toFormattedNumber(object: unknown[], options?: import("../types/object").ToFormattedNumberOptions): number[];
59
- declare function toFormattedNumber(object: unknown, options?: import("../types/object").ToFormattedNumberOptions): number | number[];
58
+ declare function toFormattedNumber(object: unknown[], options?: import('../types/object').ToFormattedNumberOptions): number[];
59
+ declare function toFormattedNumber(object: unknown, options?: import('../types/object').ToFormattedNumberOptions): number;
60
60
  export default toFormattedNumber;
61
61
  //# sourceMappingURL=toFormattedNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumber.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,iBAAS,iBAAiB,CACxB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,wBAAwB,GAC3D,MAAM,EAAE,CAAC;AAEZ,iBAAS,iBAAiB,CACxB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,wBAAwB,GAC3D,MAAM,GAAG,MAAM,EAAE,CAAC;AAmDrB,eAAe,iBAAiB,CAAC"}
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"}
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  function extractNumberFromString(str) {
9
9
  // 匹配数字体系:0~9,小数点,正负号,科学计数法
10
10
  const match = str.match(/[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/);
11
- return match ? match[0] : "";
11
+ return match ? match[0] : '';
12
12
  }
13
13
  /**
14
14
  * 将单个值转换为数字
@@ -17,24 +17,24 @@ function extractNumberFromString(str) {
17
17
  */
18
18
  function convertToNumber(value) {
19
19
  switch (typeof value) {
20
- case "number":
20
+ case 'number':
21
21
  return value;
22
- case "string": {
22
+ case 'string': {
23
23
  const numStr = extractNumberFromString(value);
24
24
  return numStr ? Number(numStr) : 0;
25
25
  }
26
- case "boolean":
26
+ case 'boolean':
27
27
  return value ? 1 : 0;
28
- case "function":
29
- case "symbol":
28
+ case 'function':
29
+ case 'symbol':
30
30
  return NaN;
31
- case "object":
31
+ case 'object':
32
32
  if (value === null) {
33
33
  return NaN;
34
34
  }
35
35
  // 其他对象类型返回NaN
36
36
  return NaN;
37
- case "undefined":
37
+ case 'undefined':
38
38
  return NaN;
39
39
  default:
40
40
  return NaN;
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumber.js","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAW;IAC1C,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;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,cAAc;YACd,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAqED,QAAQ;AACR,SAAS,iBAAiB,CACxB,MAAe,EACf,OAA4D;IAE5D,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;QACjD,UAAU;QACV,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,yBAAyB;QACzB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,eAAe;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAqB,EAAE;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,WAAW;YACX,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,QAAQ;YACR,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ;YACR,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ;IACR,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,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;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,4 +1,4 @@
1
- declare function toFormattedNumberString(object: unknown[], options?: import("../types/object").ToFormattedNumberStringOptions): string[];
2
- declare function toFormattedNumberString(object: unknown, options?: import("../types/object").ToFormattedNumberStringOptions): string | string[];
1
+ declare function toFormattedNumberString(object: unknown[], options?: import('../types/object').ToFormattedNumberStringOptions): string[];
2
+ declare function toFormattedNumberString(object: unknown, options?: import('../types/object').ToFormattedNumberStringOptions): string;
3
3
  export default toFormattedNumberString;
4
4
  //# sourceMappingURL=toFormattedNumberString.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumberString.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"AAuEA,iBAAS,uBAAuB,CAC9B,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,8BAA8B,GACjE,MAAM,EAAE,CAAC;AAEZ,iBAAS,uBAAuB,CAC9B,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,8BAA8B,GACjE,MAAM,GAAG,MAAM,EAAE,CAAC;AAuIrB,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;AAyI9H,eAAe,uBAAuB,CAAC"}
@@ -17,16 +17,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  * number: 保留指定小数位,不够时补0
18
18
  * @param options.nanValue - 当值为NaN时的显示,默认'NaN'
19
19
  * @param options.zeroValue - 当值为0时的显示,默认'0'
20
- * @param options.useLocalizedFormat - 是否使用本地化格式,默认false
20
+ * @param options.localized - 是否使用本地化格式,默认false
21
21
  * @param options.preProcessor - 预处理函数,在数字转换后、字符串格式化前应用
22
+ * 接收两个参数:转化后的数字和原始对象
22
23
  * @param options.prefix - 前缀,可以是字符串或函数,默认''
23
- * 如果是函数,会接收格式化前的数字作为参数,返回字符串作为前缀
24
+ * 如果是函数,会接收格式化前的数字和原始对象作为参数,返回字符串作为前缀
24
25
  * @param options.suffix - 后缀,可以是字符串或函数,默认''
25
- * 如果是函数,会接收格式化前的数字作为参数,返回字符串作为后缀
26
+ * 如果是函数,会接收三个参数:格式化后的字符串、转化后格式化前的数字、原始对象,返回字符串作为后缀
26
27
  *
27
28
  * @returns 格式化后的数字字符串或字符串数组
28
- * - 如果输入是单个值,返回格式化后的字符串
29
- * - 如果输入是数组,返回格式化后的字符串数组
29
+ * - 当传入的 object 为非数组时,返回 string
30
+ * - 当传入的 object 为数组时,返回 string[]
30
31
  * - 支持深层数组递归处理
31
32
  *
32
33
  * @example
@@ -41,6 +42,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
41
42
  * toFormattedNumberString(123.456, { prefix: '$', suffix: ' USD' }); // "$123.456 USD"
42
43
  *
43
44
  * // 本地化格式
45
+ * toFormattedNumberString(1234567.89, { localized: true }); // "1,234,567.89"
46
+ * // 兼容旧的useLocalizedFormat参数
44
47
  * toFormattedNumberString(1234567.89, { useLocalizedFormat: true }); // "1,234,567.89"
45
48
  *
46
49
  * // 自定义NaN和0显示
@@ -75,16 +78,25 @@ const toFormattedNumber_1 = __importDefault(require("./toFormattedNumber"));
75
78
  // 主函数实现
76
79
  function toFormattedNumberString(object, options) {
77
80
  // 解构并设置默认值
78
- const { decimalPlaces = true, nanValue = "NaN", zeroValue = "0", useLocalizedFormat = false, preProcessor, prefix = "", suffix = "", } = options || {};
81
+ const { decimalPlaces = true, nanValue = 'NaN', zeroValue = '0', localized = false, preProcessor, prefix = '', suffix = '' } = options || {};
79
82
  /**
80
83
  * 处理前缀或后缀,可以是字符串或函数
81
84
  * @param prefixOrSuffix - 前缀或后缀,可以是字符串或函数
82
85
  * @param num - 要传递给函数的数字
86
+ * @param formatted - 格式化后的字符串(仅用于后缀函数)
87
+ * @param original - 原始对象
83
88
  * @returns 处理后的前缀或后缀字符串
84
89
  */
85
- const processPrefixSuffix = (prefixOrSuffix, num) => {
86
- if (typeof prefixOrSuffix === "function") {
87
- return prefixOrSuffix(num);
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
+ }
88
100
  }
89
101
  return prefixOrSuffix;
90
102
  };
@@ -92,28 +104,30 @@ function toFormattedNumberString(object, options) {
92
104
  * 添加前缀和后缀
93
105
  * @param str - 要添加前缀后缀的字符串
94
106
  * @param num - 要传递给前缀后缀函数的数字
107
+ * @param original - 原始对象
95
108
  * @returns 添加了前缀后缀的字符串
96
109
  */
97
- const addPrefixSuffix = (str, num) => {
98
- const processedPrefix = processPrefixSuffix(prefix, num);
99
- const processedSuffix = processPrefixSuffix(suffix, num);
110
+ const addPrefixSuffix = (str, num, original = object) => {
111
+ const processedPrefix = processPrefixSuffix(prefix, num, undefined, original);
112
+ const processedSuffix = processPrefixSuffix(suffix, num, str, original);
100
113
  return `${processedPrefix}${str}${processedSuffix}`;
101
114
  };
102
115
  /**
103
116
  * 将单个数字转换为格式化字符串
104
117
  * @param num - 要转换的数字
118
+ * @param original - 原始对象
105
119
  * @returns 格式化后的字符串
106
120
  */
107
- const convertNumberToString = (num) => {
121
+ const convertNumberToString = (num, original) => {
108
122
  // 处理0情况
109
123
  if (num === 0) {
110
- return addPrefixSuffix(zeroValue, num);
124
+ return addPrefixSuffix(zeroValue, num, original);
111
125
  }
112
126
  // 应用预处理函数
113
- const processedNum = preProcessor ? preProcessor(num) : num;
127
+ const processedNum = preProcessor ? preProcessor(num, original) : num;
114
128
  // 格式化数字为字符串
115
129
  let strNum;
116
- if (useLocalizedFormat) {
130
+ if (localized) {
117
131
  // 使用本地化格式
118
132
  if (decimalPlaces === true) {
119
133
  // 保留所有小数位
@@ -139,7 +153,7 @@ function toFormattedNumberString(object, options) {
139
153
  }
140
154
  }
141
155
  // 添加前缀和后缀
142
- return addPrefixSuffix(strNum, processedNum);
156
+ return addPrefixSuffix(strNum, processedNum, original);
143
157
  };
144
158
  /**
145
159
  * 检查字符串是否包含数字
@@ -152,18 +166,19 @@ function toFormattedNumberString(object, options) {
152
166
  /**
153
167
  * 递归处理值,转换为格式化字符串
154
168
  * @param value - 要处理的值
169
+ * @param original - 原始对象或数组元素
155
170
  * @returns 格式化后的字符串或字符串数组
156
171
  */
157
- const processValue = (value) => {
172
+ const processValue = (value, original = object) => {
158
173
  if (Array.isArray(value)) {
159
174
  // 递归处理数组
160
- return value.map(processValue);
175
+ return value.map((item, _index) => processValue(item, item));
161
176
  }
162
177
  else {
163
178
  // 检查是否为无数字的字符串
164
- if (typeof value === "string" && !hasNumbers(value)) {
179
+ if (typeof value === 'string' && !hasNumbers(value)) {
165
180
  // 无数字的字符串返回0
166
- return addPrefixSuffix(zeroValue, 0);
181
+ return addPrefixSuffix(zeroValue, 0, original);
167
182
  }
168
183
  // 对于其他类型,首先将输入转换为数字
169
184
  // 注意:toFormattedNumber对于单个值会返回number类型
@@ -174,10 +189,10 @@ function toFormattedNumberString(object, options) {
174
189
  // 检查是否为NaN
175
190
  if (isNaN(num)) {
176
191
  // 其他NaN情况,使用nanValue
177
- return addPrefixSuffix(nanValue, num);
192
+ return addPrefixSuffix(nanValue, num, original);
178
193
  }
179
194
  // 正常数字转换
180
- return convertNumberToString(num);
195
+ return convertNumberToString(num, original);
181
196
  }
182
197
  };
183
198
  // 处理输入值
@@ -1 +1 @@
1
- {"version":3,"file":"toFormattedNumberString.js","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,4EAAoD;AAYpD,QAAQ;AACR,SAAS,uBAAuB,CAC9B,MAAe,EACf,OAAkE;IAElE,WAAW;IACX,MAAM,EACJ,aAAa,GAAG,IAAI,EACpB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,GAAG,EACf,kBAAkB,GAAG,KAAK,EAC1B,YAAY,EACZ,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,EAAE,GACZ,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB;;;;;OAKG;IACH,MAAM,mBAAmB,GAAG,CAC1B,cAAoD,EACpD,GAAW,EACH,EAAE;QACV,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE;QAC3D,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,GAAG,eAAe,GAAG,GAAG,GAAG,eAAe,EAAE,CAAC;IACtD,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAU,EAAE;QACpD,QAAQ;QACR,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,OAAO,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,UAAU;QACV,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE5D,YAAY;QACZ,IAAI,MAAc,CAAC;QACnB,IAAI,kBAAkB,EAAE,CAAC;YACvB,UAAU;YACV,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,UAAU;gBACV,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE;oBAC9C,qBAAqB,EAAE,aAAa;oBACpC,qBAAqB,EAAE,aAAa;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW;YACX,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,UAAU;gBACV,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,UAAU;QACV,OAAO,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAqB,EAAE;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS;YACT,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,eAAe;YACf,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,aAAa;gBACb,OAAO,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,oBAAoB;YACpB,uCAAuC;YACvC,MAAM,GAAG,GAAG,IAAA,2BAAiB,EAAC,KAAK,EAAE;gBACnC,aAAa;gBACb,QAAQ,EAAE,GAAG;aACd,CAAW,CAAC;YAEb,WAAW;YACX,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACf,qBAAqB;gBACrB,OAAO,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;YAED,SAAS;YACT,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ;IACR,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"toFormattedNumberString.js","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"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"}
@@ -34,24 +34,24 @@ export interface ToFormattedNumberStringOptions extends CommonFormatOptions {
34
34
  */
35
35
  zeroValue?: string;
36
36
  /**
37
- * 是否显示本地化,
37
+ * 是否使用本地化格式,
38
38
  * 默认false。
39
39
  */
40
- useLocalizedFormat?: boolean;
40
+ localized?: boolean;
41
41
  /**
42
42
  * 预处理函数,在对象被处理为数字后调用,
43
43
  * 默认无。
44
44
  */
45
- preProcessor?: (num: number) => number;
45
+ preProcessor?: (num: number, original: unknown) => number;
46
46
  /**
47
47
  * 前缀,可以是字符串或函数,
48
48
  * 默认''。
49
49
  */
50
- prefix?: string | ((value: number) => string);
50
+ prefix?: string | ((value: number, original: unknown) => string);
51
51
  /**
52
52
  * 后缀,可以是字符串或函数,
53
53
  * 默认''。
54
54
  */
55
- suffix?: string | ((value: number) => string);
55
+ suffix?: string | ((formatted: string, value: number, original: unknown) => string);
56
56
  }
57
57
  //# 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;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAC/C"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planarcat/js-toolkit",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "description": "一个自用的带学习性质的(目前)现代化的 JavaScript/TypeScript 实用工具库,提供类型安全、高性能的常用函数,包括对象转换、日期处理、函数优化等开发常用工具。",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",