@zwa73/utils 1.0.60 → 1.0.62

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 (42) hide show
  1. package/dist/UtilCodecs.d.ts +16 -16
  2. package/dist/UtilCodecs.js +16 -16
  3. package/dist/UtilCom.d.ts +22 -25
  4. package/dist/UtilCom.js +35 -38
  5. package/dist/UtilDecorators.d.ts +15 -8
  6. package/dist/UtilDecorators.js +79 -25
  7. package/dist/UtilFP.d.ts +46 -0
  8. package/dist/UtilFP.js +52 -0
  9. package/dist/UtilFfmpegTools.d.ts +30 -30
  10. package/dist/UtilFfmpegTools.js +32 -32
  11. package/dist/UtilFileTools.d.ts +30 -35
  12. package/dist/UtilFileTools.js +17 -18
  13. package/dist/UtilFunctions.d.ts +37 -78
  14. package/dist/UtilFunctions.js +27 -62
  15. package/dist/UtilInterfaces.d.ts +26 -11
  16. package/dist/UtilInterfaces.js +12 -3
  17. package/dist/UtilLogger.d.ts +55 -55
  18. package/dist/UtilLogger.js +55 -55
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.js +1 -0
  21. package/dist/test/composeTest.d.ts +26 -0
  22. package/dist/test/composeTest.js +50 -0
  23. package/dist/test/importtest.d.ts +1 -0
  24. package/dist/test/importtest.js +4 -0
  25. package/dist/test/test.js +5 -3
  26. package/package.json +1 -1
  27. package/src/UtilClass.ts +1051 -1051
  28. package/src/UtilCodecs.ts +117 -117
  29. package/src/UtilCom.ts +171 -174
  30. package/src/UtilDecorators.ts +174 -116
  31. package/src/UtilFP.ts +98 -0
  32. package/src/UtilFfmpegTools.ts +271 -271
  33. package/src/UtilFileTools.ts +231 -236
  34. package/src/UtilFunctions.ts +289 -364
  35. package/src/UtilInterfaces.ts +158 -138
  36. package/src/UtilLogger.ts +386 -386
  37. package/src/index.ts +10 -9
  38. package/src/test/composeTest.ts +50 -0
  39. package/src/test/importtest.ts +5 -0
  40. package/src/test/test.ts +8 -6
  41. package/src/test/test2.ts +2 -3
  42. package/tsconfig.json +2 -7
@@ -15,63 +15,63 @@ declare class SFfmpegTool {
15
15
  */
16
16
  static setFfmpegPath(ffmpegPath: string): void;
17
17
  /**获取音频文件的元数据
18
- * @param {string} inputWavPath - 输入音频文件路径
19
- * @returns {Promise<FfprobeData|null>} - 返回音频文件的元数据
18
+ * @param inputWavPath - 输入音频文件路径
19
+ * @returns 返回音频文件的元数据
20
20
  */
21
21
  static getAudioMetaData(inputWavPath: string): Promise<FfprobeData | null>;
22
22
  /**flac转ogg
23
- * @param {string} inputFlacFile - 输入flac文件路径
24
- * @param {string} outputOggPath - 输出ogg文件路径
25
- * @param {number} quality - 质量
23
+ * @param inputFlacFile - 输入flac文件路径
24
+ * @param outputOggPath - 输出ogg文件路径
25
+ * @param quality - 质量
26
26
  */
27
27
  static flac2ogg(inputFlacFile: string, outputOggPath: string, quality?: number): Promise<boolean>;
28
28
  /**wav转ogg
29
- * @param {string} inputWavPath - 输入wav文件路径
30
- * @param {string} outputOggPath - 输出ogg文件路径
31
- * @param {number} quality - 质量
29
+ * @param inputWavPath - 输入wav文件路径
30
+ * @param outputOggPath - 输出ogg文件路径
31
+ * @param quality - 质量
32
32
  */
33
33
  static wav2ogg(inputWavPath: string, outputOggPath: string, quality?: number): Promise<boolean>;
34
34
  /**剪切音频
35
- * @param {string} audioPath - 输入音频文件路径
36
- * @param {string} outPath - 输出音频文件路径
37
- * @param {number} start - 开始时间
38
- * @param {number} time - 时长
35
+ * @param audioPath - 输入音频文件路径
36
+ * @param outPath - 输出音频文件路径
37
+ * @param start - 开始时间
38
+ * @param time - 时长
39
39
  */
40
40
  static cutAudio(audioPath: string, outPath: string, start: number, time: number): Promise<boolean>;
41
41
  /**删除首尾静音
42
- * @param {string} inputWavPath - 输入wav文件路径
43
- * @param {string} outputWavPath - 输出wav文件路径
44
- * @param {number} threshold - 静音阈值/dB
45
- * @param {number} silence - 保留静音时长
42
+ * @param inputWavPath - 输入wav文件路径
43
+ * @param outputWavPath - 输出wav文件路径
44
+ * @param threshold - 静音阈值/dB
45
+ * @param silence - 保留静音时长
46
46
  */
47
47
  static trimSilence(inputWavPath: string, outputWavPath: string, threshold?: number, silence?: number): Promise<boolean>;
48
48
  /**重采样
49
- * @param {string} inputWavPath - 输入wav文件路径
50
- * @param {string} outputWavPath - 输出wav文件路径
49
+ * @param inputWavPath - 输入wav文件路径
50
+ * @param outputWavPath - 输出wav文件路径
51
51
  */
52
52
  static resample(inputWavPath: string, outputWavPath: string, rate?: number): Promise<boolean>;
53
53
  /**wav转ogg多线程
54
- * @param {IOMap} ioMap - 输入输出路径映射
55
- * @param {number} quality - 质量
56
- * @param {number} cpCount - 并发数
54
+ * @param ioMap - 输入输出路径映射
55
+ * @param quality - 质量
56
+ * @param cpCount - 并发数
57
57
  */
58
58
  static wav2oggMP(ioMap: IOMap, quality?: number, cpCount?: number): Promise<void>;
59
59
  /**flac转ogg多线程
60
- * @param {IOMap} ioMap - 输入输出路径映射
61
- * @param {number} quality - 质量
62
- * @param {number} cpCount - 并发数
60
+ * @param ioMap - 输入输出路径映射
61
+ * @param quality - 质量
62
+ * @param cpCount - 并发数
63
63
  */
64
64
  static flac2oggMP(ioMap: IOMap, quality?: number, cpCount?: number): Promise<void>;
65
65
  /**删除静音多线程
66
- * @param {IOMap} ioMap - 输入输出路径映射
67
- * @param {number} threshold - 静音阈值/dB
68
- * @param {number} silence - 保留静音时长
66
+ * @param ioMap - 输入输出路径映射
67
+ * @param threshold - 静音阈值/dB
68
+ * @param silence - 保留静音时长
69
69
  */
70
70
  static trimSilenceMP(ioMap: IOMap, threshold?: number, silence?: number, cpCount?: number): Promise<void>;
71
71
  /**重采样多线程
72
- * @param {IOMap} ioMap - 输入输出路径映射
73
- * @param {number} rate - 采样率
74
- * @param {number} cpCount - 并发数
72
+ * @param ioMap - 输入输出路径映射
73
+ * @param rate - 采样率
74
+ * @param cpCount - 并发数
75
75
  */
76
76
  static resampleMP(ioMap: IOMap, rate?: number, cpCount?: number): Promise<void>;
77
77
  }
@@ -24,8 +24,8 @@ class SFfmpegTool {
24
24
  fluentFfmpeg.setFfmpegPath(ffmpegPath);
25
25
  }
26
26
  /**获取音频文件的元数据
27
- * @param {string} inputWavPath - 输入音频文件路径
28
- * @returns {Promise<FfprobeData|null>} - 返回音频文件的元数据
27
+ * @param inputWavPath - 输入音频文件路径
28
+ * @returns 返回音频文件的元数据
29
29
  */
30
30
  static async getAudioMetaData(inputWavPath) {
31
31
  return new Promise((resolve, reject) => {
@@ -41,9 +41,9 @@ class SFfmpegTool {
41
41
  });
42
42
  }
43
43
  /**flac转ogg
44
- * @param {string} inputFlacFile - 输入flac文件路径
45
- * @param {string} outputOggPath - 输出ogg文件路径
46
- * @param {number} quality - 质量
44
+ * @param inputFlacFile - 输入flac文件路径
45
+ * @param outputOggPath - 输出ogg文件路径
46
+ * @param quality - 质量
47
47
  */
48
48
  static async flac2ogg(inputFlacFile, outputOggPath, quality = 10) {
49
49
  let wavPath = path.join(path.dirname(inputFlacFile), `tmp_${path.basename(inputFlacFile, ".flac")}.wav`);
@@ -66,9 +66,9 @@ class SFfmpegTool {
66
66
  return true;
67
67
  }
68
68
  /**wav转ogg
69
- * @param {string} inputWavPath - 输入wav文件路径
70
- * @param {string} outputOggPath - 输出ogg文件路径
71
- * @param {number} quality - 质量
69
+ * @param inputWavPath - 输入wav文件路径
70
+ * @param outputOggPath - 输出ogg文件路径
71
+ * @param quality - 质量
72
72
  */
73
73
  static async wav2ogg(inputWavPath, outputOggPath, quality = 10) {
74
74
  //.audioQuality(10)
@@ -85,10 +85,10 @@ class SFfmpegTool {
85
85
  });
86
86
  }
87
87
  /**剪切音频
88
- * @param {string} audioPath - 输入音频文件路径
89
- * @param {string} outPath - 输出音频文件路径
90
- * @param {number} start - 开始时间
91
- * @param {number} time - 时长
88
+ * @param audioPath - 输入音频文件路径
89
+ * @param outPath - 输出音频文件路径
90
+ * @param start - 开始时间
91
+ * @param time - 时长
92
92
  */
93
93
  static async cutAudio(audioPath, outPath, start, time) {
94
94
  return new Promise((resolve, reject) => {
@@ -101,10 +101,10 @@ class SFfmpegTool {
101
101
  });
102
102
  }
103
103
  /**删除首尾静音
104
- * @param {string} inputWavPath - 输入wav文件路径
105
- * @param {string} outputWavPath - 输出wav文件路径
106
- * @param {number} threshold - 静音阈值/dB
107
- * @param {number} silence - 保留静音时长
104
+ * @param inputWavPath - 输入wav文件路径
105
+ * @param outputWavPath - 输出wav文件路径
106
+ * @param threshold - 静音阈值/dB
107
+ * @param silence - 保留静音时长
108
108
  */
109
109
  static async trimSilence(inputWavPath, outputWavPath, threshold = -50, silence = 0.2) {
110
110
  return new Promise((resolve, reject) => {
@@ -119,8 +119,8 @@ class SFfmpegTool {
119
119
  });
120
120
  }
121
121
  /**重采样
122
- * @param {string} inputWavPath - 输入wav文件路径
123
- * @param {string} outputWavPath - 输出wav文件路径
122
+ * @param inputWavPath - 输入wav文件路径
123
+ * @param outputWavPath - 输出wav文件路径
124
124
  */
125
125
  static async resample(inputWavPath, outputWavPath, rate = 22050) {
126
126
  return new Promise((resolve, reject) => {
@@ -133,9 +133,9 @@ class SFfmpegTool {
133
133
  }
134
134
  //多线程处理
135
135
  /**wav转ogg多线程
136
- * @param {IOMap} ioMap - 输入输出路径映射
137
- * @param {number} quality - 质量
138
- * @param {number} cpCount - 并发数
136
+ * @param ioMap - 输入输出路径映射
137
+ * @param quality - 质量
138
+ * @param cpCount - 并发数
139
139
  */
140
140
  static async wav2oggMP(ioMap, quality = 10, cpCount = 16) {
141
141
  await new UtilClass_1.SList(Object.entries(ioMap))
@@ -147,9 +147,9 @@ class SFfmpegTool {
147
147
  .appendOperations();
148
148
  }
149
149
  /**flac转ogg多线程
150
- * @param {IOMap} ioMap - 输入输出路径映射
151
- * @param {number} quality - 质量
152
- * @param {number} cpCount - 并发数
150
+ * @param ioMap - 输入输出路径映射
151
+ * @param quality - 质量
152
+ * @param cpCount - 并发数
153
153
  */
154
154
  static async flac2oggMP(ioMap, quality = 10, cpCount = 16) {
155
155
  await new UtilClass_1.SList(Object.entries(ioMap))
@@ -161,9 +161,9 @@ class SFfmpegTool {
161
161
  .appendOperations();
162
162
  }
163
163
  /**删除静音多线程
164
- * @param {IOMap} ioMap - 输入输出路径映射
165
- * @param {number} threshold - 静音阈值/dB
166
- * @param {number} silence - 保留静音时长
164
+ * @param ioMap - 输入输出路径映射
165
+ * @param threshold - 静音阈值/dB
166
+ * @param silence - 保留静音时长
167
167
  */
168
168
  static async trimSilenceMP(ioMap, threshold = -50, silence = 0.2, cpCount = 16) {
169
169
  await new UtilClass_1.SList(Object.entries(ioMap))
@@ -175,9 +175,9 @@ class SFfmpegTool {
175
175
  .appendOperations();
176
176
  }
177
177
  /**重采样多线程
178
- * @param {IOMap} ioMap - 输入输出路径映射
179
- * @param {number} rate - 采样率
180
- * @param {number} cpCount - 并发数
178
+ * @param ioMap - 输入输出路径映射
179
+ * @param rate - 采样率
180
+ * @param cpCount - 并发数
181
181
  */
182
182
  static async resampleMP(ioMap, rate = 22050, cpCount = 16) {
183
183
  await new UtilClass_1.SList(Object.entries(ioMap))
@@ -192,8 +192,8 @@ class SFfmpegTool {
192
192
  exports.SFfmpegTool = SFfmpegTool;
193
193
  SFfmpegTool.init();
194
194
  /**多线程任务分割器
195
- * @param {IOMap} iomap - 输入输出路径映射
196
- * @param {number} cpCount - 并发数
195
+ * @param iomap - 输入输出路径映射
196
+ * @param cpCount - 并发数
197
197
  */
198
198
  function MPClip(iomap, cpCount = 16) {
199
199
  let cpList = [];
@@ -1,76 +1,71 @@
1
- import { JObject, JToken } from "./UtilInterfaces";
1
+ import { JToken } from "./UtilInterfaces";
2
2
  /**文件工具 */
3
3
  export declare namespace UtilFT {
4
4
  /**验证路径 文件或文件夹 是否存在 异步
5
5
  * @async
6
- * @param {string} filePath - 待验证的路径
7
- * @returns {Promise<boolean>} - 是否存在
6
+ * @param filePath - 待验证的路径
7
+ * @returns 是否存在
8
8
  */
9
9
  function pathExists(filePath: string): Promise<boolean>;
10
10
  /**验证路径 文件或文件夹 是否存在 同步
11
- * @param {string} filePath - 待验证的路径
12
- * @returns {boolean} - 是否存在
11
+ * @param filePath - 待验证的路径
12
+ * @returns - 是否存在
13
13
  */
14
14
  function pathExistsSync(filePath: string): boolean;
15
15
  /**路径不存在时创建路径 以path.sep结尾时创建文件夹 异步
16
16
  * @async
17
- * @param {string} filePath - 待创建的路径
18
- * @param {boolean} isDir - 强制创建一个文件夹
19
- * @returns {Promise<boolean>} - 是否成功创建
17
+ * @param filePath - 待创建的路径
18
+ * @param isDir - 强制创建一个文件夹
19
+ * @returns 是否成功创建
20
20
  */
21
21
  function createPath(filePath: string, isDir?: boolean): Promise<boolean>;
22
22
  /**路径不存在时创建路径 以path.sep结尾时创建文件夹 同步
23
- * @param {string} filePath - 待创建的路径
24
- * @param {boolean} isDir - 强制验证一个文件夹
25
- * @returns {boolean} - 是否成功创建
23
+ * @param filePath - 待创建的路径
24
+ * @param isDir - 强制验证一个文件夹
25
+ * @returns 是否成功创建
26
26
  */
27
27
  function createPathSync(filePath: string, isDir?: boolean): boolean;
28
28
  /**确保路径存在 不存在时创建 异步
29
29
  * @async
30
- * @param {string} filePath - 待验证的路径
31
- * @param {boolean} isDir - 强制验证一个文件夹
32
- * @returns {Promise<boolean>} - 是否成功执行 创建或已存在
30
+ * @param filePath - 待验证的路径
31
+ * @param isDir - 强制验证一个文件夹
32
+ * @returns 是否成功执行 创建或已存在
33
33
  */
34
34
  function ensurePathExists(filePath: string, isDir?: boolean): Promise<boolean>;
35
35
  /**确保路径存在 不存在时创建 同步
36
- * @param {string} filePath - 待验证的路径
37
- * @returns {boolean} - 是否成功执行 创建或已存在
36
+ * @param filePath - 待验证的路径
37
+ * @returns 是否成功执行 创建或已存在
38
38
  */
39
39
  function ensurePathExistsSync(filePath: string, isDir?: boolean): boolean;
40
40
  /**加载json文件 同步
41
- * Object (string)
42
- * @param {string} filePath - 文件路径
43
- * @returns {JObject} - 加载完成的对象或空{}
41
+ * @param filePath - 文件路径
42
+ * @returns 加载完成的对象或空{}
44
43
  */
45
- function loadJSONFileSync(filePath: string): JObject;
44
+ function loadJSONFileSync(filePath: string): JToken;
46
45
  /**加载json文件 同步
47
- * Object (string)
48
- * @param {string} filePath - 文件路径
49
- * @param {T} def - 默认值
50
- * @returns {T} - 加载完成的对象或默认值
46
+ * @param filePath - 文件路径
47
+ * @param def - 默认值
48
+ * @returns 加载完成的对象或默认值
51
49
  */
52
50
  function loadJSONFileSync<T extends JToken>(filePath: string, def: T): T;
53
51
  /**加载json文件 异步
54
- * Object (string)
55
52
  * @async
56
- * @param {string} filePath - 文件路径
57
- * @returns {Promise<JObject>} - 加载完成的对象或空{}
53
+ * @param filePath - 文件路径
54
+ * @returns 加载完成的对象或空{}
58
55
  */
59
- function loadJSONFile(filePath: string): Promise<JObject>;
56
+ function loadJSONFile(filePath: string): Promise<JToken>;
60
57
  /**加载json文件 异步
61
- * Object (string)
62
58
  * @async
63
- * @param {string} filePath - 文件路径
64
- * @param {T} T - 默认值
65
- * @returns {Promise<T>} - 加载完成的对象或默认值
59
+ * @param filePath - 文件路径
60
+ * @param def - 默认值
61
+ * @returns 加载完成的对象或默认值
66
62
  */
67
63
  function loadJSONFile<T extends JToken>(filePath: string, def: T): Promise<T>;
68
64
  /**写入JSON文件
69
65
  * void (string,Object)
70
66
  * @async
71
- * @param {string} filePath - 文件路径
72
- * @param {JToken} token - 所要写入的JToken
73
- * @returns {Promise<void>}
67
+ * @param filePath - 文件路径
68
+ * @param token - 所要写入的JToken
74
69
  */
75
70
  function writeJSONFile(filePath: string, token: JToken): Promise<void>;
76
71
  /**搜索路径符合正则表达式的文件
@@ -12,8 +12,8 @@ var UtilFT;
12
12
  (function (UtilFT) {
13
13
  /**验证路径 文件或文件夹 是否存在 异步
14
14
  * @async
15
- * @param {string} filePath - 待验证的路径
16
- * @returns {Promise<boolean>} - 是否存在
15
+ * @param filePath - 待验证的路径
16
+ * @returns 是否存在
17
17
  */
18
18
  async function pathExists(filePath) {
19
19
  try {
@@ -27,8 +27,8 @@ var UtilFT;
27
27
  }
28
28
  UtilFT.pathExists = pathExists;
29
29
  /**验证路径 文件或文件夹 是否存在 同步
30
- * @param {string} filePath - 待验证的路径
31
- * @returns {boolean} - 是否存在
30
+ * @param filePath - 待验证的路径
31
+ * @returns - 是否存在
32
32
  */
33
33
  function pathExistsSync(filePath) {
34
34
  try {
@@ -42,9 +42,9 @@ var UtilFT;
42
42
  UtilFT.pathExistsSync = pathExistsSync;
43
43
  /**路径不存在时创建路径 以path.sep结尾时创建文件夹 异步
44
44
  * @async
45
- * @param {string} filePath - 待创建的路径
46
- * @param {boolean} isDir - 强制创建一个文件夹
47
- * @returns {Promise<boolean>} - 是否成功创建
45
+ * @param filePath - 待创建的路径
46
+ * @param isDir - 强制创建一个文件夹
47
+ * @returns 是否成功创建
48
48
  */
49
49
  async function createPath(filePath, isDir) {
50
50
  if (isDir == true)
@@ -66,9 +66,9 @@ var UtilFT;
66
66
  }
67
67
  UtilFT.createPath = createPath;
68
68
  /**路径不存在时创建路径 以path.sep结尾时创建文件夹 同步
69
- * @param {string} filePath - 待创建的路径
70
- * @param {boolean} isDir - 强制验证一个文件夹
71
- * @returns {boolean} - 是否成功创建
69
+ * @param filePath - 待创建的路径
70
+ * @param isDir - 强制验证一个文件夹
71
+ * @returns 是否成功创建
72
72
  */
73
73
  function createPathSync(filePath, isDir) {
74
74
  if (isDir == true)
@@ -90,9 +90,9 @@ var UtilFT;
90
90
  UtilFT.createPathSync = createPathSync;
91
91
  /**确保路径存在 不存在时创建 异步
92
92
  * @async
93
- * @param {string} filePath - 待验证的路径
94
- * @param {boolean} isDir - 强制验证一个文件夹
95
- * @returns {Promise<boolean>} - 是否成功执行 创建或已存在
93
+ * @param filePath - 待验证的路径
94
+ * @param isDir - 强制验证一个文件夹
95
+ * @returns 是否成功执行 创建或已存在
96
96
  */
97
97
  async function ensurePathExists(filePath, isDir) {
98
98
  if (await pathExists(filePath))
@@ -101,8 +101,8 @@ var UtilFT;
101
101
  }
102
102
  UtilFT.ensurePathExists = ensurePathExists;
103
103
  /**确保路径存在 不存在时创建 同步
104
- * @param {string} filePath - 待验证的路径
105
- * @returns {boolean} - 是否成功执行 创建或已存在
104
+ * @param filePath - 待验证的路径
105
+ * @returns 是否成功执行 创建或已存在
106
106
  */
107
107
  function ensurePathExistsSync(filePath, isDir) {
108
108
  if (pathExistsSync(filePath))
@@ -145,9 +145,8 @@ var UtilFT;
145
145
  /**写入JSON文件
146
146
  * void (string,Object)
147
147
  * @async
148
- * @param {string} filePath - 文件路径
149
- * @param {JToken} token - 所要写入的JToken
150
- * @returns {Promise<void>}
148
+ * @param filePath - 文件路径
149
+ * @param token - 所要写入的JToken
151
150
  */
152
151
  async function writeJSONFile(filePath, token) {
153
152
  let str = (0, UtilInterfaces_1.stringifyJToken)(token);
@@ -1,123 +1,82 @@
1
- import { ComposedClassMult, ComposedPartClass as ComposedPartClass, JToken, PromiseProcFn, PromiseVerifyFn } from "./UtilInterfaces";
1
+ import { ComposedClassMult, ComposedClassPart, JToken, PromiseProcFn, PromiseVerifyFn } from "./UtilInterfaces";
2
2
  /**常用函数 */
3
3
  export declare namespace UtilFunc {
4
4
  /**获取当前时间戳
5
- * number ()
6
- * @returns {number} 时间戳
5
+ * @returns 时间戳
7
6
  */
8
- export function getTime(): number;
7
+ function getTime(): number;
9
8
  /**初始化对象的字段
10
- * void (Object,string,any)
11
- * @param {Record<string,T>} obj - 所要初始化的对象
12
- * @param {string} field - 所要初始化的字段
13
- * @param {T} defaultVal - 默认值
14
- * @returns {T} - 最终值
9
+ * 会改变obj
10
+ * @param obj - 所要初始化的对象
11
+ * @param field - 所要初始化的字段
12
+ * @param defaultVal - 默认值
13
+ * @returns 最终值
15
14
  */
16
- export function initField<T>(obj: Record<string, T>, field: string, defaultVal: T): T;
15
+ function initField<T>(obj: Record<string, T>, field: string, defaultVal: T): T;
17
16
  /**生成一串uuid
18
- * string ()
19
- * @returns {string} uuid
17
+ * @returns uuid
20
18
  */
21
- export function genUUID(): string;
19
+ function genUUID(): string;
22
20
  /**计算Hash
23
- * string ()
24
- * @param {string} str - 待计算的字符串
25
- * @returns {string} hash
21
+ * @param str - 待计算的字符串
22
+ * @returns hash
26
23
  */
27
- export function calcHash(str: string): string;
24
+ function calcHash(str: string): string;
28
25
  /**深克隆 序列化并反序列化
29
- * @template {T} T - JToken类型的泛型
30
- * @param {T} obj - 克隆目标
31
- * @returns {T} 克隆结果
26
+ * @template T - JToken类型的泛型
27
+ * @param obj - 克隆目标
28
+ * @returns 克隆结果
32
29
  */
33
- export function deepClone<T extends JToken>(obj: T): T;
30
+ function deepClone<T extends JToken>(obj: T): T;
34
31
  /**是否为安全的数字
35
- * @param {number} num - 所要检测的数字
36
- * @returns {boolean} 是否安全
32
+ * @param num - 所要检测的数字
33
+ * @returns 是否安全
37
34
  */
38
- export function isSafeNumber(num: number): boolean;
35
+ function isSafeNumber(num: number): boolean;
39
36
  /**等待 timeMs 毫秒
40
37
  * @async
41
- * @param {number} timeMs - 等待的毫秒数
42
- * @returns {Promise<boolean>}
38
+ * @param timeMs - 等待的毫秒数
39
+ * @returns
43
40
  */
44
- export function sleep(timeMs: number): Promise<boolean>;
41
+ function sleep(timeMs: number): Promise<boolean>;
45
42
  /**封装的 cp.exec 执行一段指令 指令完成后返回 Promise
46
- * @param {string} command 指令文本
43
+ * @param command 指令文本
47
44
  */
48
- export function exec(command: string): Promise<{
45
+ function exec(command: string): Promise<{
49
46
  stdout: string;
50
47
  stderr: string;
51
48
  }>;
52
49
  /**获得一个永不完成的Promise单例 */
53
- export function getNeverResolvedPromise<T>(): Promise<T>;
50
+ function getNeverResolvedPromise<T>(): Promise<T>;
54
51
  /**重复尝试promise
55
52
  * @async
56
- * @param {PromiseProcFn<T>} [procFn] - 发起函数
57
- * @param {PromiseVerifyFn<T>} [verifyFn] - 验证函数
58
- * @param {number} [repeatCount] - 重试次数
59
- * @param {number} [repeatTime] - 超时时间/秒 最小为10秒
60
- * @returns {Promise<T|null>} - 结果 null 为全部失败/超时
53
+ * @param procFn - 发起函数
54
+ * @param verifyFn - 验证函数
55
+ * @param repeatCount - 重试次数
56
+ * @param repeatTime - 超时时间/秒 最小为10秒
57
+ * @returns - 结果 null 为全部失败/超时
61
58
  */
62
- export function repeatPromise<T>(procFn: PromiseProcFn<T>, verifyFn?: PromiseVerifyFn<T>, repeatCount?: number, repeatTime?: number): Promise<T | null>;
63
- /**柯里化函数类型 */
64
- type CurryFunc<T, PrevArgs extends any[] = []> = T extends (...args: infer Args) => infer Result ? Args extends [infer Arg, ...infer RestArgs] ? RestArgs extends [] ? ((...args: [...PrevArgs, Arg]) => Result) : ((...args: [...PrevArgs, Arg]) => CurryFunc<(...rest: RestArgs) => Result>) & (CurryFunc<(...args: RestArgs) => Result, [...PrevArgs, Arg]>) : Args extends [] ? () => Result : never : never;
65
- /**柯里化转换
66
- * @param {T} fn - 将要转换的函数
67
- * @returns {CurryFunc<T>} 柯里化的函数
68
- */
69
- export function curry<T extends (...args: any[]) => any>(fn: T): CurryFunc<T>;
70
- /**
71
- let sumvoid = ()=>10;
72
- let a = curry(sumvoid);//?
73
- console.log(a());
74
- let sum = (a:number,b:string,c:number,d:boolean)=>a+b+c+d;
75
- let sumCu = curry(sum);//?
76
- let suma = sumCu(1)("ss");//?
77
- let sumb = sumCu(1,"1")(2);//?
78
- let sumc = sumCu(4);//?
79
- let sumz = sumCu(1,"b",3)(false);//?
80
- console.log(suma(2,true));
81
- console.log(sumb(true));
82
- console.log(sumc("s",3,false));
83
- */
84
- /**可组合的函数 */
85
- type CompFunc<T = any, R = any> = (arg: T) => R;
86
- /**函数组合 从右到左执行 */
87
- export function compose<T>(...fs: CompFunc<T, T>[]): CompFunc<T, T>;
88
- export function compose<T, R>(f1: CompFunc<T, R>): CompFunc<T, R>;
89
- export function compose<T, R, R1>(f2: CompFunc<R, R1>, f1: CompFunc<T, R>): CompFunc<T, R1>;
90
- export function compose<T, R, R1, R2>(f3: CompFunc<R1, R2>, f2: CompFunc<R, R1>, f1: CompFunc<T, R>): CompFunc<T, R2>;
91
- export function compose<T, R, R1, R2, R3>(f4: CompFunc<R2, R3>, f3: CompFunc<R1, R2>, f2: CompFunc<R, R1>, f1: CompFunc<T, R>): CompFunc<T, R3>;
92
- export function compose<T, R, R1, R2, R3, R4>(f5: CompFunc<R3, R4>, f4: CompFunc<R2, R3>, f3: CompFunc<R1, R2>, f2: CompFunc<R, R1>, f1: CompFunc<T, R>): CompFunc<T, R4>;
93
- /**函数管道 从左到右执行 */
94
- export function pipeline<T>(...fs: CompFunc<T, T>[]): CompFunc<T, T>;
95
- export function pipeline<T, R>(f1: CompFunc<T, R>): CompFunc<T, R>;
96
- export function pipeline<T, R, R1>(f1: CompFunc<T, R>, f2: CompFunc<R, R1>): CompFunc<T, R1>;
97
- export function pipeline<T, R, R1, R2>(f1: CompFunc<T, R>, f2: CompFunc<R, R1>, f3: CompFunc<R1, R2>): CompFunc<T, R2>;
98
- export function pipeline<T, R, R1, R2, R3>(f1: CompFunc<T, R>, f2: CompFunc<R, R1>, f3: CompFunc<R1, R2>, f4: CompFunc<R2, R3>): CompFunc<T, R3>;
99
- export function pipeline<T, R, R1, R2, R3, R4>(f1: CompFunc<T, R>, f2: CompFunc<R, R1>, f3: CompFunc<R1, R2>, f4: CompFunc<R2, R3>, f5: CompFunc<R3, R4>): CompFunc<T, R4>;
59
+ function repeatPromise<T>(procFn: PromiseProcFn<T>, verifyFn?: PromiseVerifyFn<T>, repeatCount?: number, repeatTime?: number): Promise<T | null>;
100
60
  /**部分类组合
101
61
  * 将mixin的部分字段混入base
102
62
  * @param base - 基础类
103
63
  * @param mixin - 目标类
104
64
  * @param fields - 需要混入的字段
105
- * @returns - 混合完成的类
65
+ * @returns 混合完成的类
106
66
  */
107
- export function composePartClass<Base extends object, Mixin extends object>(base: Base, mixin: Mixin, ...fields: (keyof Mixin)[]): ComposedPartClass<Base, Mixin, keyof Mixin>;
67
+ function composeClassPart<Base extends object, Mixin extends object, Field extends keyof Mixin>(base: Base, mixin: Mixin, ...fields: Field[]): ComposedClassPart<Base, Mixin, Field>;
108
68
  /**类组合
109
69
  * 将mixinList每个成员的字段混入base
110
70
  * @param base - 基础类
111
71
  * @param mixinList - 目标类
112
72
  * @returns - 混合完成的类
113
73
  */
114
- export function composeClass<Base extends object, MixinList extends object[]>(base: Base, ...mixinList: MixinList): ComposedClassMult<Base, MixinList>;
74
+ function composeClass<Base extends object, MixinList extends object[]>(base: Base, ...mixinList: MixinList): ComposedClassMult<Base, MixinList>;
115
75
  /**对对象的每个属性应用映射函数,并返回一个新的对象。
116
76
  * @template T - 对象的类型
117
77
  * @param obj - 要处理的对象
118
78
  * @param mapper - 映射函数,接受一个值和一个键,返回一个新的值
119
79
  * @returns - 一个新的对象,它的属性是原对象的属性经过映射函数处理后的结果
120
80
  */
121
- export function mapObject<T extends Object>(obj: T, mapper: (key: keyof T, value: T[keyof T]) => T[keyof T]): T;
122
- export {};
81
+ function mapEntries<T extends Object>(obj: T, mapper: (key: keyof T, value: T[keyof T]) => T[keyof T]): T;
123
82
  }