@planarcat/js-toolkit 1.6.0 → 1.7.0

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.
Files changed (37) hide show
  1. package/README.md +16 -5
  2. package/dist/date/compileDateFormatter.d.ts +16 -0
  3. package/dist/date/compileDateFormatter.d.ts.map +1 -0
  4. package/dist/date/compileDateFormatter.js +316 -0
  5. package/dist/date/compileDateFormatter.js.map +1 -0
  6. package/dist/date/formatDate.d.ts +41 -6
  7. package/dist/date/formatDate.d.ts.map +1 -1
  8. package/dist/date/formatDate.js +74 -150
  9. package/dist/date/formatDate.js.map +1 -1
  10. package/dist/date/regularDateFormatter.d.ts +33 -0
  11. package/dist/date/regularDateFormatter.d.ts.map +1 -0
  12. package/dist/date/regularDateFormatter.js +302 -0
  13. package/dist/date/regularDateFormatter.js.map +1 -0
  14. package/dist/index.d.ts +7 -7
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/object/toFormattedNumber.d.ts +2 -2
  19. package/dist/object/toFormattedNumber.d.ts.map +1 -1
  20. package/dist/object/toFormattedNumber.js +8 -8
  21. package/dist/object/toFormattedNumber.js.map +1 -1
  22. package/dist/object/toFormattedNumberString.d.ts +2 -2
  23. package/dist/object/toFormattedNumberString.d.ts.map +1 -1
  24. package/dist/object/toFormattedNumberString.js +8 -6
  25. package/dist/object/toFormattedNumberString.js.map +1 -1
  26. package/dist/types/date.d.ts +18 -1
  27. package/dist/types/date.d.ts.map +1 -1
  28. package/dist/types/object.d.ts.map +1 -1
  29. package/dist/utils/cache.d.ts +38 -0
  30. package/dist/utils/cache.d.ts.map +1 -0
  31. package/dist/utils/cache.js +69 -0
  32. package/dist/utils/cache.js.map +1 -0
  33. package/dist/utils/constants.d.ts +2 -2
  34. package/dist/utils/constants.d.ts.map +1 -1
  35. package/dist/utils/constants.js +5 -13
  36. package/dist/utils/constants.js.map +1 -1
  37. package/package.json +1 -1
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 } 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,MAAM,cAAc,CAAC;AAGjE,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,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,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,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"}
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;AAG3C,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;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"}
@@ -51,7 +51,7 @@
51
51
  * toFormattedNumber('abc', { nanValue: -1 }); // -1
52
52
  * ```
53
53
  */
54
- declare function toFormattedNumber(object: unknown[], options?: import('../types/object').ToFormattedNumberOptions): number[];
55
- declare function toFormattedNumber(object: unknown, options?: import('../types/object').ToFormattedNumberOptions): number;
54
+ declare function toFormattedNumber(object: unknown[], options?: import("../types/object").ToFormattedNumberOptions): number[];
55
+ declare function toFormattedNumber(object: unknown, options?: import("../types/object").ToFormattedNumberOptions): number;
56
56
  export default toFormattedNumber;
57
57
  //# sourceMappingURL=toFormattedNumber.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"toFormattedNumber.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumber.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;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,CAAC;AAmDV,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;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
+ {"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;AAiED,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,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;
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":"AAsNA,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"}
1
+ {"version":3,"file":"toFormattedNumberString.d.ts","sourceRoot":"","sources":["../../src/object/toFormattedNumberString.ts"],"names":[],"mappings":"AAuOA,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,CAAC;AA6BV,eAAe,uBAAuB,CAAC"}
@@ -82,14 +82,14 @@ function hasNumbers(str) {
82
82
  */
83
83
  function addPrefixSuffix(prefix, suffix, formatted, converted, original) {
84
84
  let processedPrefix;
85
- if (typeof prefix === 'function') {
85
+ if (typeof prefix === "function") {
86
86
  processedPrefix = prefix(original, converted, formatted);
87
87
  }
88
88
  else {
89
89
  processedPrefix = prefix;
90
90
  }
91
91
  let processedSuffix;
92
- if (typeof suffix === 'function') {
92
+ if (typeof suffix === "function") {
93
93
  processedSuffix = suffix(original, converted, formatted);
94
94
  }
95
95
  else {
@@ -111,7 +111,9 @@ function format(converted, original, options) {
111
111
  return addPrefixSuffix(prefix, suffix, zeroValue, converted, original);
112
112
  }
113
113
  // 应用预处理函数
114
- const preProcessed = preProcessor ? preProcessor(original, converted) : converted;
114
+ const preProcessed = preProcessor
115
+ ? preProcessor(original, converted)
116
+ : converted;
115
117
  // 格式化数字为字符串
116
118
  let formatted;
117
119
  if (localized) {
@@ -157,13 +159,13 @@ function processValue(value, original, options) {
157
159
  }
158
160
  else {
159
161
  // 检查是否为无数字的字符串
160
- if (typeof value === 'string' && !hasNumbers(value)) {
162
+ if (typeof value === "string" && !hasNumbers(value)) {
161
163
  // 无数字的字符串返回0
162
164
  return addPrefixSuffix(prefix, suffix, zeroValue, 0, original);
163
165
  }
164
166
  // 对于其他类型,首先将输入转换为数字
165
167
  // 注意:toFormattedNumber对于单个值会返回number类型
166
- const converted = typeof value === 'number'
168
+ const converted = typeof value === "number"
167
169
  ? value
168
170
  : (0, toFormattedNumber_1.default)(value, {
169
171
  decimalPlaces,
@@ -181,7 +183,7 @@ function processValue(value, original, options) {
181
183
  // 主函数实现
182
184
  function toFormattedNumberString(object, options) {
183
185
  // 解构并设置默认值
184
- const { decimalPlaces = true, nanValue = 'NaN', zeroValue = '0', localized, preProcessor, prefix = '', suffix = '' } = options || {};
186
+ const { decimalPlaces = true, nanValue = "NaN", zeroValue = "0", localized, preProcessor, prefix = "", suffix = "", } = options || {};
185
187
  // 处理输入值
186
188
  return processValue(object, object, {
187
189
  decimalPlaces,
@@ -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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"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * 周名称映射类型
3
+ */
4
+ export type WeekdayNames = Record<string, [string, string, string, string, string, string, string]> | [string, string, string, string, string, string, string];
1
5
  /**
2
6
  * 日期格式化选项接口
3
7
  */
@@ -12,15 +16,28 @@ export interface DateFormatOptions {
12
16
  * @default 'zh-CN'
13
17
  */
14
18
  locale?: string;
19
+ /**
20
+ * 格式化模式
21
+ * @default 'auto'
22
+ */
23
+ mode?: DateFormatMode;
15
24
  /**
16
25
  * 自定义格式化处理器
17
26
  */
18
27
  customFormatters?: Record<string, (date: Date) => string>;
28
+ /**
29
+ * 周名称映射,可以是完整映射或仅当前语言的映射
30
+ */
31
+ weekdayNames?: WeekdayNames;
19
32
  }
33
+ /**
34
+ * 日期格式化模式
35
+ */
36
+ export type DateFormatMode = 'compile' | 'regular' | 'auto';
20
37
  /**
21
38
  * 支持的格式化标记
22
39
  */
23
- export type DateFormatToken = 'YYYY' | 'YY' | 'MMMM' | 'MMM' | 'MM' | 'M' | 'DDD' | 'DD' | 'D' | 'Do' | 'HH' | 'H' | 'hh' | 'h' | 'mm' | 'm' | 'ss' | 's' | 'SSS' | 'S' | 'A' | 'a' | 'dddd' | 'ddd' | 'd' | 'WW' | 'W' | 'Q' | 'X' | 'x' | 'timestamp';
40
+ export type DateFormatToken = 'YYYY' | 'YY' | 'MMMM' | 'MMM' | 'MM' | 'M' | 'DDD' | 'DD' | 'D' | 'HH' | 'H' | 'hh' | 'h' | 'mm' | 'm' | 'ss' | 's' | 'SSS' | 'S' | 'A' | 'a' | 'dd' | 'd' | 'WW' | 'W' | 'Q' | 'X' | 'x';
24
41
  /**
25
42
  * 可接受的日期输入类型
26
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/types/date.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;CAC7D;AAED;;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,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,KAAK,GACL,GAAG,GACH,GAAG,GACH,GAAG,GACH,MAAM,GACN,KAAK,GACL,GAAG,GACH,IAAI,GACJ,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,WAAW,CAAC;AAElB;;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,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 +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;;;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"}
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,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,EACH,MAAM,GACN,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC1E;;;OAGG;IACH,MAAM,CAAC,EACH,MAAM,GACN,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAC3E"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * LRU 缓存实现
3
+ * 用于存储编译后的日期格式化函数
4
+ */
5
+ /**
6
+ * LRU 缓存类
7
+ */
8
+ export declare class LRUCache<K, V> {
9
+ private cache;
10
+ private maxSize;
11
+ /**
12
+ * 构造函数
13
+ * @param maxSize 缓存最大容量,默认 100
14
+ */
15
+ constructor(maxSize?: number);
16
+ /**
17
+ * 获取缓存项
18
+ * @param key 缓存键
19
+ * @returns 缓存值,不存在返回 undefined
20
+ */
21
+ get(key: K): V | undefined;
22
+ /**
23
+ * 设置缓存项
24
+ * @param key 缓存键
25
+ * @param value 缓存值
26
+ */
27
+ set(key: K, value: V): void;
28
+ /**
29
+ * 清空缓存
30
+ */
31
+ clear(): void;
32
+ /**
33
+ * 获取缓存大小
34
+ * @returns 缓存大小
35
+ */
36
+ size(): number;
37
+ }
38
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * LRU 缓存实现
4
+ * 用于存储编译后的日期格式化函数
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LRUCache = void 0;
8
+ /**
9
+ * LRU 缓存类
10
+ */
11
+ class LRUCache {
12
+ /**
13
+ * 构造函数
14
+ * @param maxSize 缓存最大容量,默认 100
15
+ */
16
+ constructor(maxSize = 100) {
17
+ this.cache = new Map();
18
+ this.maxSize = maxSize;
19
+ }
20
+ /**
21
+ * 获取缓存项
22
+ * @param key 缓存键
23
+ * @returns 缓存值,不存在返回 undefined
24
+ */
25
+ get(key) {
26
+ const value = this.cache.get(key);
27
+ if (value !== undefined) {
28
+ // 移动到末尾表示最近使用
29
+ this.cache.delete(key);
30
+ this.cache.set(key, value);
31
+ }
32
+ return value;
33
+ }
34
+ /**
35
+ * 设置缓存项
36
+ * @param key 缓存键
37
+ * @param value 缓存值
38
+ */
39
+ set(key, value) {
40
+ // 如果已存在,先删除
41
+ if (this.cache.has(key)) {
42
+ this.cache.delete(key);
43
+ }
44
+ else if (this.cache.size >= this.maxSize) {
45
+ // 缓存已满,删除最久未使用的项(Map 的第一个元素)
46
+ const firstKeyResult = this.cache.keys().next();
47
+ if (!firstKeyResult.done) {
48
+ this.cache.delete(firstKeyResult.value);
49
+ }
50
+ }
51
+ // 添加到末尾
52
+ this.cache.set(key, value);
53
+ }
54
+ /**
55
+ * 清空缓存
56
+ */
57
+ clear() {
58
+ this.cache.clear();
59
+ }
60
+ /**
61
+ * 获取缓存大小
62
+ * @returns 缓存大小
63
+ */
64
+ size() {
65
+ return this.cache.size;
66
+ }
67
+ }
68
+ exports.LRUCache = LRUCache;
69
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +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"}
@@ -7,6 +7,6 @@ export declare const DEFAULT_DATE_FORMAT_OPTIONS: {
7
7
  };
8
8
  /**
9
9
  * 周几中英文映射
10
- */
11
- export declare const WEEKDAY_MAP: Record<string, string[]>;
10
+ */
11
+ export declare const WEEKDAY_MAP: Record<string, [string, string, string, string, string, string, string]>;
12
12
  //# 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;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAWhD,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;;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"}
@@ -5,22 +5,14 @@ exports.WEEKDAY_MAP = exports.DEFAULT_DATE_FORMAT_OPTIONS = void 0;
5
5
  * 默认格式化选项
6
6
  */
7
7
  exports.DEFAULT_DATE_FORMAT_OPTIONS = {
8
- timeZone: "local",
9
- locale: "zh-CN",
8
+ timeZone: 'local',
9
+ locale: 'zh-CN',
10
10
  };
11
11
  /**
12
12
  * 周几中英文映射
13
- */
13
+ */
14
14
  exports.WEEKDAY_MAP = {
15
- zh: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
16
- en: [
17
- "Sunday",
18
- "Monday",
19
- "Tuesday",
20
- "Wednesday",
21
- "Thursday",
22
- "Friday",
23
- "Saturday",
24
- ],
15
+ zh: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
16
+ en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
25
17
  };
26
18
  //# 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;IACzC,QAAQ,EAAE,OAAgB;IAC1B,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAA6B;IACnD,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planarcat/js-toolkit",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "一个自用的带学习性质的(目前)现代化的 JavaScript/TypeScript 实用工具库,提供类型安全、高性能的常用函数,包括对象转换、日期处理、函数优化等开发常用工具。",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",