almighty-tool 0.0.113 → 0.0.115

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 (61) hide show
  1. package/.babelrc +17 -17
  2. package/.editorconfig +13 -13
  3. package/.eslintignore +7 -7
  4. package/.eslintrc.js +5 -5
  5. package/.nvmrc +1 -1
  6. package/.opencode/agents/code-reviewer.md +57 -57
  7. package/.opencode/agents/docs-specialist.md +49 -49
  8. package/.opencode/agents/test-runner.md +45 -45
  9. package/.opencode/commands/review.md +25 -25
  10. package/.opencode/commands/test.md +27 -27
  11. package/.opencode/skills/cryptography-dev.md +108 -108
  12. package/.opencode/skills/typescript-library-dev.md +94 -94
  13. package/.prettierrc.js +1 -1
  14. package/.yarnrc +11 -11
  15. package/AGENTS.md +69 -69
  16. package/CHANGELOG.md +7 -7
  17. package/README.md +11 -11
  18. package/bun.lock +2836 -2836
  19. package/bunfig.toml +7 -7
  20. package/jest.config.js +1 -1
  21. package/lib/utils/basic.util.d.ts +5 -0
  22. package/lib/utils/basic.util.js +64 -0
  23. package/lib/utils/basic.util.js.map +1 -1
  24. package/lib/utils/string.util.d.ts +51 -0
  25. package/lib/utils/string.util.js +98 -0
  26. package/lib/utils/string.util.js.map +1 -1
  27. package/lib/utils/validate.util.d.ts +6 -0
  28. package/lib/utils/validate.util.js +70 -0
  29. package/lib/utils/validate.util.js.map +1 -1
  30. package/opencode.json +60 -60
  31. package/package.json +122 -122
  32. package/scripts/code.util.ts +135 -135
  33. package/templates/eslints/eggjs.project.js +15 -15
  34. package/templates/eslints/element-ui.project.js +4 -4
  35. package/templates/eslints/recommended.js +26 -26
  36. package/templates/eslints/rules/recommended.js +26 -26
  37. package/templates/eslints/rules/vue.js +12 -12
  38. package/templates/eslints/server.project.js +18 -18
  39. package/templates/eslints/uni-app-v8.project.js +43 -43
  40. package/templates/eslints/uni-app.project.js +45 -45
  41. package/templates/eslints/vue.project.js +39 -39
  42. package/templates/jest/element-ui.project.js +1 -1
  43. package/templates/jest/recommended.js +22 -22
  44. package/templates/jest/vue.project.js +44 -44
  45. package/templates/postcss/recommended.js +4 -4
  46. package/templates/postcss/uni-app.js +11 -11
  47. package/templates/prettiers/recommended.js +26 -26
  48. package/templates/stylelint/recommended.js +42 -42
  49. package/templates/stylelint/rules/recommended.js +22 -22
  50. package/templates/stylelint/uni-app.project.js +11 -11
  51. package/templates/tsconfigs/eggjs.json +31 -31
  52. package/templates/tsconfigs/element-ui.json +3 -3
  53. package/templates/tsconfigs/lib.json +15 -15
  54. package/templates/tsconfigs/quasar.json +25 -25
  55. package/templates/tsconfigs/recommended.json +23 -23
  56. package/templates/tsconfigs/server.json +23 -23
  57. package/templates/tsconfigs/uni-app.json +39 -39
  58. package/templates/tsconfigs/vue.json +45 -45
  59. package/templates/tslints/recommended.json +13 -13
  60. package/test-duration.js +33 -33
  61. package/tsconfig.json +9 -9
package/bunfig.toml CHANGED
@@ -1,7 +1,7 @@
1
- #[install.lockfile]
2
- ## whether to save a non-Bun lockfile alongside bun.lockb
3
- ## only "yarn" is supported
4
- #print = "yarn"
5
-
6
- [install]
7
- registry = "https://registry.npmmirror.com/"
1
+ #[install.lockfile]
2
+ ## whether to save a non-Bun lockfile alongside bun.lockb
3
+ ## only "yarn" is supported
4
+ #print = "yarn"
5
+
6
+ [install]
7
+ registry = "https://registry.npmmirror.com/"
package/jest.config.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./templates/jest/recommended');
1
+ module.exports = require('./templates/jest/recommended');
@@ -122,6 +122,11 @@ declare const basicUtil: {
122
122
  /** 空值合并 */
123
123
  nullCoalesce<T>(...args: (T | null | undefined)[]): T;
124
124
  retry<T>(fn: () => Promise<T>, retries?: number, delay?: number): Promise<T>;
125
+ /**
126
+ * 超级健壮版 GraphQL 风格字段筛选
127
+ * 支持:空格、换行、缩进、多余逗号、多层嵌套、数组
128
+ */
129
+ pickFieldsLikeGraphQL(data: any, fields?: string | null): any;
125
130
  };
126
131
  export default basicUtil;
127
132
  export { basicUtil };
@@ -520,6 +520,70 @@ var basicUtil = {
520
520
  });
521
521
  });
522
522
  },
523
+ /**
524
+ * 超级健壮版 GraphQL 风格字段筛选
525
+ * 支持:空格、换行、缩进、多余逗号、多层嵌套、数组
526
+ */
527
+ pickFieldsLikeGraphQL: function (data, fields) {
528
+ var _this = this;
529
+ // 无筛选 / 空数据 → 直接返回
530
+ if (!fields || !data)
531
+ return data;
532
+ if (typeof data !== 'object')
533
+ return data;
534
+ // 数组自动递归处理
535
+ if (Array.isArray(data)) {
536
+ return data.map(function (item) { return _this.pickFieldsLikeGraphQL(item, fields); });
537
+ }
538
+ var result = {};
539
+ // 1. 清洗:去掉所有空白字符(空格、换行、tab)
540
+ var cleanFields = fields.replace(/\s+/g, '');
541
+ // 2. 递归解析函数(真正支持无限层级嵌套)
542
+ var parseFields = function (str, target, source) {
543
+ var i = 0;
544
+ var len = str.length;
545
+ while (i < len) {
546
+ // 读取字段名
547
+ var key = '';
548
+ while (i < len && /\w/.test(str[i])) {
549
+ key += str[i++];
550
+ }
551
+ if (!key) {
552
+ i++;
553
+ continue;
554
+ }
555
+ // 如果后面是 { → 嵌套结构
556
+ if (i < len && str[i] === '{') {
557
+ i++; // 跳过 {
558
+ var start = i;
559
+ var braceCount = 1;
560
+ // 找到匹配的 }
561
+ while (i < len && braceCount > 0) {
562
+ if (str[i] === '{')
563
+ braceCount++;
564
+ if (str[i] === '}')
565
+ braceCount--;
566
+ i++;
567
+ }
568
+ var innerStr = str.slice(start, i - 1);
569
+ target[key] = {};
570
+ parseFields(innerStr, target[key], source[key] || {});
571
+ }
572
+ else {
573
+ // 普通字段
574
+ if (source[key] !== undefined) {
575
+ target[key] = source[key];
576
+ }
577
+ }
578
+ // 跳过逗号
579
+ if (i < len && str[i] === ',') {
580
+ i++;
581
+ }
582
+ }
583
+ };
584
+ parseFields(cleanFields, result, data);
585
+ return result;
586
+ },
523
587
  };
524
588
  exports.basicUtil = basicUtil;
525
589
  exports.default = basicUtil;
@@ -1 +1 @@
1
- {"version":3,"file":"basic.util.js","sourceRoot":"","sources":["../../src/utils/basic.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic.util.js","sourceRoot":"","sources":["../../src/utils/basic.util.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,58 @@ export type StringTruncateOptions = {
13
13
  /** 是否保留完整单词(不切断单词) */
14
14
  preserveWord?: boolean;
15
15
  };
16
+ /**
17
+ * 字节长度计算选项
18
+ */
19
+ export type ByteLengthOptions = {
20
+ /**
21
+ * 计算模式:
22
+ * - 'display': 中文=1, 英文/半角=0.5 (2个英文=1个中文,适合显示宽度计算)
23
+ * - 'utf8': 实际UTF-8字节数 (中文=3, 英文=1)
24
+ * - 'gbk': 实际GBK字节数 (中文=2, 英文=1)
25
+ */
26
+ mode?: 'display' | 'utf8' | 'gbk';
27
+ };
16
28
  declare const stringUtil: {
29
+ /**
30
+ * 计算字符串的字节长度
31
+ * @param str - 原始字符串
32
+ * @param options - 计算选项
33
+ * @returns 字节长度
34
+ *
35
+ * @example
36
+ * // 显示模式(默认):中文=1, 英文=0.5
37
+ * stringUtil.byteLength('你好ab') // 3 (2 + 0.5 + 0.5)
38
+ * stringUtil.byteLength('你好ab', { mode: 'display' }) // 3
39
+ *
40
+ * // UTF-8模式:中文=3, 英文=1
41
+ * stringUtil.byteLength('你好ab', { mode: 'utf8' }) // 8 (3*2 + 1*2)
42
+ *
43
+ * // GBK模式:中文=2, 英文=1
44
+ * stringUtil.byteLength('你好ab', { mode: 'gbk' }) // 6 (2*2 + 1*2)
45
+ */
46
+ byteLength: (str: string | undefined | null, options?: ByteLengthOptions) => number;
47
+ /**
48
+ * 显示宽度计算:中文=1, 英文/半角=0.5
49
+ * 适用于UI显示场景,2个英文字符宽度约等于1个中文字符
50
+ */
51
+ displayByteLength: (str: string) => number;
52
+ /**
53
+ * UTF-8字节长度计算
54
+ * 中文=3字节, 英文=1字节
55
+ */
56
+ utf8ByteLength: (str: string) => number;
57
+ /**
58
+ * GBK字节长度计算
59
+ * 中文=2字节, 英文=1字节
60
+ * 注:纯前端环境无法精确计算GBK字节,此为近似实现
61
+ */
62
+ gbkByteLength: (str: string) => number;
63
+ /**
64
+ * 判断字符是否为全角字符
65
+ * 包括:中文、日文、韩文、全角标点、全角字母数字等
66
+ */
67
+ isFullWidth: (codePoint: number) => boolean;
17
68
  /**
18
69
  * 高性能字符串截断函数
19
70
  * @param str - 原始字符串
@@ -2,6 +2,104 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stringUtil = void 0;
4
4
  var stringUtil = {
5
+ /**
6
+ * 计算字符串的字节长度
7
+ * @param str - 原始字符串
8
+ * @param options - 计算选项
9
+ * @returns 字节长度
10
+ *
11
+ * @example
12
+ * // 显示模式(默认):中文=1, 英文=0.5
13
+ * stringUtil.byteLength('你好ab') // 3 (2 + 0.5 + 0.5)
14
+ * stringUtil.byteLength('你好ab', { mode: 'display' }) // 3
15
+ *
16
+ * // UTF-8模式:中文=3, 英文=1
17
+ * stringUtil.byteLength('你好ab', { mode: 'utf8' }) // 8 (3*2 + 1*2)
18
+ *
19
+ * // GBK模式:中文=2, 英文=1
20
+ * stringUtil.byteLength('你好ab', { mode: 'gbk' }) // 6 (2*2 + 1*2)
21
+ */
22
+ byteLength: function (str, options) {
23
+ var _a;
24
+ if (typeof str === 'undefined' || str === null || str === '') {
25
+ return 0;
26
+ }
27
+ var mode = (_a = options === null || options === void 0 ? void 0 : options.mode) !== null && _a !== void 0 ? _a : 'display';
28
+ switch (mode) {
29
+ case 'utf8':
30
+ return stringUtil.utf8ByteLength(str);
31
+ case 'gbk':
32
+ return stringUtil.gbkByteLength(str);
33
+ case 'display':
34
+ default:
35
+ return stringUtil.displayByteLength(str);
36
+ }
37
+ },
38
+ /**
39
+ * 显示宽度计算:中文=1, 英文/半角=0.5
40
+ * 适用于UI显示场景,2个英文字符宽度约等于1个中文字符
41
+ */
42
+ displayByteLength: function (str) {
43
+ var _a;
44
+ var length = 0;
45
+ for (var _i = 0, str_1 = str; _i < str_1.length; _i++) {
46
+ var char = str_1[_i];
47
+ var codePoint = (_a = char.codePointAt(0)) !== null && _a !== void 0 ? _a : 0;
48
+ if (stringUtil.isFullWidth(codePoint)) {
49
+ length += 1;
50
+ }
51
+ else {
52
+ length += 0.5;
53
+ }
54
+ }
55
+ return length;
56
+ },
57
+ /**
58
+ * UTF-8字节长度计算
59
+ * 中文=3字节, 英文=1字节
60
+ */
61
+ utf8ByteLength: function (str) {
62
+ return new TextEncoder().encode(str).length;
63
+ },
64
+ /**
65
+ * GBK字节长度计算
66
+ * 中文=2字节, 英文=1字节
67
+ * 注:纯前端环境无法精确计算GBK字节,此为近似实现
68
+ */
69
+ gbkByteLength: function (str) {
70
+ var _a;
71
+ var length = 0;
72
+ for (var _i = 0, str_2 = str; _i < str_2.length; _i++) {
73
+ var char = str_2[_i];
74
+ var codePoint = (_a = char.codePointAt(0)) !== null && _a !== void 0 ? _a : 0;
75
+ if (stringUtil.isFullWidth(codePoint)) {
76
+ length += 2;
77
+ }
78
+ else {
79
+ length += 1;
80
+ }
81
+ }
82
+ return length;
83
+ },
84
+ /**
85
+ * 判断字符是否为全角字符
86
+ * 包括:中文、日文、韩文、全角标点、全角字母数字等
87
+ */
88
+ isFullWidth: function (codePoint) {
89
+ return ((codePoint >= 0x4e00 && codePoint <= 0x9fff) ||
90
+ (codePoint >= 0x3400 && codePoint <= 0x4dbf) ||
91
+ (codePoint >= 0x20000 && codePoint <= 0x2a6df) ||
92
+ (codePoint >= 0x2a700 && codePoint <= 0x2b73f) ||
93
+ (codePoint >= 0x2b740 && codePoint <= 0x2b81f) ||
94
+ (codePoint >= 0x2b820 && codePoint <= 0x2ceaf) ||
95
+ (codePoint >= 0xf900 && codePoint <= 0xfaff) ||
96
+ (codePoint >= 0x2f800 && codePoint <= 0x2fa1f) ||
97
+ (codePoint >= 0x3000 && codePoint <= 0x303f) ||
98
+ (codePoint >= 0xff00 && codePoint <= 0xffef) ||
99
+ (codePoint >= 0xac00 && codePoint <= 0xd7af) ||
100
+ (codePoint >= 0x3040 && codePoint <= 0x309f) ||
101
+ (codePoint >= 0x30a0 && codePoint <= 0x30ff));
102
+ },
5
103
  /**
6
104
  * 高性能字符串截断函数
7
105
  * @param str - 原始字符串
@@ -1 +1 @@
1
- {"version":3,"file":"string.util.js","sourceRoot":"","sources":["../../src/utils/string.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.util.js","sourceRoot":"","sources":["../../src/utils/string.util.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,12 @@ export interface ValidateRuleItem extends Omit<OriginalValidateRuleItem, 'fields
96
96
  * - humanize 人类化
97
97
  */
98
98
  transformers?: ValidateTransformer[];
99
+ /**
100
+ * 长度计算模式
101
+ * - default: 默认模式,按字符数计算
102
+ * - byte: 字节模式,中文=1, 英文/半角=0.5 (2个英文=1个中文)
103
+ */
104
+ lengthMode?: 'default' | 'byte';
99
105
  }
100
106
  export type ValidateRule = ValidateRuleItem | ValidateRuleItem[];
101
107
  export type ValidateRules = Record<string, ValidateRule>;
@@ -16,6 +16,7 @@ var pick_1 = tslib_1.__importDefault(require("lodash-es/pick"));
16
16
  var isEmpty_1 = tslib_1.__importDefault(require("lodash-es/isEmpty"));
17
17
  var index_1 = require("../i18n/index");
18
18
  var format_util_1 = require("./format.util");
19
+ var string_util_1 = tslib_1.__importDefault(require("./string.util"));
19
20
  var ValidateResponseInstance = /** @class */ (function () {
20
21
  function ValidateResponseInstance(options) {
21
22
  /** 是否成功 */
@@ -435,6 +436,21 @@ var validateUtil = {
435
436
  var ruleLen = (0, cloneDeep_1.default)(options);
436
437
  delete ruleLen.fields;
437
438
  delete ruleLen.defaultField;
439
+ if (options.lengthMode === 'byte') {
440
+ var byteLen_1 = options.len;
441
+ ruleLen.validator = function (_rule, value, callback) {
442
+ if (typeof value === 'string' && string_util_1.default.displayByteLength(value) !== byteLen_1) {
443
+ callback(new Error(validateUtil.getErrorDataJSON({
444
+ rules: { len: byteLen_1 },
445
+ message: 'validate.string.must-be-exactly-characters',
446
+ })));
447
+ }
448
+ else {
449
+ callback();
450
+ }
451
+ };
452
+ delete ruleLen.len;
453
+ }
438
454
  rules.push(validateUtil.parseRule(ruleLen));
439
455
  delete options.len;
440
456
  }
@@ -442,6 +458,29 @@ var validateUtil = {
442
458
  var ruleMinMax = (0, cloneDeep_1.default)(options);
443
459
  delete ruleMinMax.fields;
444
460
  delete ruleMinMax.defaultField;
461
+ if (options.lengthMode === 'byte') {
462
+ var byteMin_1 = options.min;
463
+ var byteMax_1 = options.max;
464
+ ruleMinMax.validator = function (_rule, value, callback) {
465
+ if (typeof value === 'string') {
466
+ var byteLength = string_util_1.default.displayByteLength(value);
467
+ if (byteLength < byteMin_1 || byteLength > byteMax_1) {
468
+ callback(new Error(validateUtil.getErrorDataJSON({
469
+ rules: { min: byteMin_1, max: byteMax_1 },
470
+ message: 'validate.string.must-be-between-the-range-of-characters',
471
+ })));
472
+ }
473
+ else {
474
+ callback();
475
+ }
476
+ }
477
+ else {
478
+ callback();
479
+ }
480
+ };
481
+ delete ruleMinMax.min;
482
+ delete ruleMinMax.max;
483
+ }
445
484
  rules.push(validateUtil.parseRule(ruleMinMax));
446
485
  delete options.min;
447
486
  delete options.max;
@@ -450,6 +489,21 @@ var validateUtil = {
450
489
  var ruleMin = (0, cloneDeep_1.default)(options);
451
490
  delete ruleMin.fields;
452
491
  delete ruleMin.defaultField;
492
+ if (options.lengthMode === 'byte') {
493
+ var byteMin_2 = options.min;
494
+ ruleMin.validator = function (_rule, value, callback) {
495
+ if (typeof value === 'string' && string_util_1.default.displayByteLength(value) < byteMin_2) {
496
+ callback(new Error(validateUtil.getErrorDataJSON({
497
+ rules: { min: byteMin_2 },
498
+ message: 'validate.string.must-be-at-least-characters',
499
+ })));
500
+ }
501
+ else {
502
+ callback();
503
+ }
504
+ };
505
+ delete ruleMin.min;
506
+ }
453
507
  rules.push(validateUtil.parseRule(ruleMin));
454
508
  delete options.min;
455
509
  }
@@ -457,6 +511,21 @@ var validateUtil = {
457
511
  var ruleMax = (0, cloneDeep_1.default)(options);
458
512
  delete ruleMax.fields;
459
513
  delete ruleMax.defaultField;
514
+ if (options.lengthMode === 'byte') {
515
+ var byteMax_2 = options.max;
516
+ ruleMax.validator = function (_rule, value, callback) {
517
+ if (typeof value === 'string' && string_util_1.default.displayByteLength(value) > byteMax_2) {
518
+ callback(new Error(validateUtil.getErrorDataJSON({
519
+ rules: { max: byteMax_2 },
520
+ message: 'validate.string.cannot-be-longer-than-characters',
521
+ })));
522
+ }
523
+ else {
524
+ callback();
525
+ }
526
+ };
527
+ delete ruleMax.max;
528
+ }
460
529
  rules.push(validateUtil.parseRule(ruleMax));
461
530
  delete options.max;
462
531
  }
@@ -512,6 +581,7 @@ var validateUtil = {
512
581
  'subType',
513
582
  'path',
514
583
  'data',
584
+ 'lengthMode',
515
585
  ];
516
586
  var omitKeys = ['path', 'data', 'type', 'subType'];
517
587
  if (!(0, isEmpty_1.default)((0, pick_1.default)((0, omit_1.default)(options, omitKeys), avaliableKeys))) {