@zwa73/utils 1.0.116 → 1.0.118
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/dist/QuickFunction.d.ts +2 -0
- package/dist/QuickFunction.js +3 -1
- package/dist/UtilClass.d.ts +2 -2
- package/dist/UtilCodecs.js +15 -11
- package/dist/UtilFP.d.ts +49 -44
- package/dist/UtilFP.js +5 -0
- package/dist/UtilFileTools.d.ts +10 -4
- package/dist/UtilFileTools.js +28 -22
- package/dist/UtilFunctions.d.ts +7 -7
- package/dist/UtilFunctions.js +5 -3
- package/dist/UtilInterfaces.d.ts +24 -5
- package/package.json +1 -1
- package/src/QuickFunction.ts +5 -0
- package/src/UtilClass.ts +2 -2
- package/src/UtilCodecs.ts +15 -12
- package/src/UtilFP.macro.ts +6 -6
- package/src/UtilFP.ts +61 -46
- package/src/UtilFileTools.ts +30 -22
- package/src/UtilFunctions.ts +14 -10
- package/src/UtilInterfaces.ts +39 -12
- package/tsconfig.compile.json +0 -5
- package/tsconfig.json +0 -22
package/dist/QuickFunction.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
import { UtilFT } from "./UtilFileTools";
|
|
1
2
|
import { UtilFunc } from "./UtilFunctions";
|
|
2
3
|
export declare const outcome: typeof UtilFunc.outcome, matchProc: typeof UtilFunc.matchProc, sucesProc: typeof UtilFunc.sucesProc, isFailed: typeof UtilFunc.isFailed, isSafeNumber: typeof UtilFunc.isSafeNumber, isSuccess: typeof UtilFunc.isSuccess, likeNone: typeof UtilFunc.likeNone, expect: typeof UtilFunc.expect, assertType: typeof UtilFunc.assertType, assertLiteral: typeof UtilFunc.assertLiteral, deepClone: typeof UtilFunc.deepClone, sleep: typeof UtilFunc.sleep, stringifyJToken: typeof UtilFunc.stringifyJToken, getTime: typeof UtilFunc.getTime, mapEntries: typeof UtilFunc.mapEntries, dedent: typeof UtilFunc.dedent, throwError: typeof UtilFunc.throwError;
|
|
4
|
+
export declare const stylizePath: typeof UtilFT.stylizePath;
|
package/dist/QuickFunction.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.throwError = exports.dedent = exports.mapEntries = exports.getTime = exports.stringifyJToken = exports.sleep = exports.deepClone = exports.assertLiteral = exports.assertType = exports.expect = exports.likeNone = exports.isSuccess = exports.isSafeNumber = exports.isFailed = exports.sucesProc = exports.matchProc = exports.outcome = void 0;
|
|
3
|
+
exports.stylizePath = exports.throwError = exports.dedent = exports.mapEntries = exports.getTime = exports.stringifyJToken = exports.sleep = exports.deepClone = exports.assertLiteral = exports.assertType = exports.expect = exports.likeNone = exports.isSuccess = exports.isSafeNumber = exports.isFailed = exports.sucesProc = exports.matchProc = exports.outcome = void 0;
|
|
4
|
+
const UtilFileTools_1 = require("./UtilFileTools");
|
|
4
5
|
const UtilFunctions_1 = require("./UtilFunctions");
|
|
5
6
|
const UtilSymbol_1 = require("./UtilSymbol");
|
|
6
7
|
exports.outcome = UtilFunctions_1.UtilFunc.outcome, exports.matchProc = UtilFunctions_1.UtilFunc.matchProc, exports.sucesProc = UtilFunctions_1.UtilFunc.sucesProc, exports.isFailed = UtilFunctions_1.UtilFunc.isFailed, exports.isSafeNumber = UtilFunctions_1.UtilFunc.isSafeNumber, exports.isSuccess = UtilFunctions_1.UtilFunc.isSuccess, exports.likeNone = UtilFunctions_1.UtilFunc.likeNone, exports.expect = UtilFunctions_1.UtilFunc.expect, exports.assertType = UtilFunctions_1.UtilFunc.assertType, exports.assertLiteral = UtilFunctions_1.UtilFunc.assertLiteral, exports.deepClone = UtilFunctions_1.UtilFunc.deepClone, exports.sleep = UtilFunctions_1.UtilFunc.sleep, exports.stringifyJToken = UtilFunctions_1.UtilFunc.stringifyJToken, exports.getTime = UtilFunctions_1.UtilFunc.getTime, exports.mapEntries = UtilFunctions_1.UtilFunc.mapEntries, exports.dedent = UtilFunctions_1.UtilFunc.dedent, exports.throwError = UtilFunctions_1.UtilFunc.throwError;
|
|
8
|
+
exports.stylizePath = UtilFileTools_1.UtilFT.stylizePath;
|
|
7
9
|
if (false) {
|
|
8
10
|
let aaser = (0, exports.assertLiteral)({ a: 1 });
|
|
9
11
|
let a = null;
|
package/dist/UtilClass.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Literal } from "./UtilInterfaces";
|
|
2
2
|
/**函数管道器 */
|
|
3
3
|
export declare class Piper<Arg, Result = Arg> {
|
|
4
4
|
/**管道函数列表 */
|
|
@@ -60,7 +60,7 @@ export declare class Stream<T> implements Iterable<T> {
|
|
|
60
60
|
* @param value - 排除的值
|
|
61
61
|
* @returns 自身
|
|
62
62
|
*/
|
|
63
|
-
exclude<E>(value:
|
|
63
|
+
exclude<E>(value: Literal<E>): Promise<Stream<Exclude<T, E>>>;
|
|
64
64
|
/**应用加工 并过滤
|
|
65
65
|
* @param func - 过滤函数
|
|
66
66
|
* @returns 自身
|
package/dist/UtilCodecs.js
CHANGED
|
@@ -29,8 +29,12 @@ const tiktoken_1 = require("tiktoken");
|
|
|
29
29
|
/**编码/解码器 */
|
|
30
30
|
var UtilCodec;
|
|
31
31
|
(function (UtilCodec) {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
/**gpt-4, gpt-3.5-turbo, text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large
|
|
33
|
+
*/
|
|
34
|
+
let encoderCl100kBase = null;
|
|
35
|
+
/**Codex models, text-davinci-002, text-davinci-003
|
|
36
|
+
*/
|
|
37
|
+
let encoderP50kBase = null;
|
|
34
38
|
const textDecoder = new TextDecoder();
|
|
35
39
|
/**HTML实体解码 将一个字符串中的HTML实体转换为对应的字符
|
|
36
40
|
* @param str - 要转换的字符串
|
|
@@ -55,10 +59,10 @@ var UtilCodec;
|
|
|
55
59
|
//r50k_base (or gpt2) GPT-3 models like davinci
|
|
56
60
|
//避免在nextjs调用时出错
|
|
57
61
|
function initTikTokenEncoder() {
|
|
58
|
-
if (
|
|
62
|
+
if (encoderCl100kBase != null && encoderP50kBase != null)
|
|
59
63
|
return;
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
encoderCl100kBase = (0, tiktoken_1.get_encoding)("cl100k_base");
|
|
65
|
+
encoderP50kBase = (0, tiktoken_1.get_encoding)("p50k_base");
|
|
62
66
|
}
|
|
63
67
|
/**token长度计算器 Turbo模型
|
|
64
68
|
* @param str = 所要计算的消息
|
|
@@ -67,7 +71,7 @@ var UtilCodec;
|
|
|
67
71
|
function tokenNumTurbo(str) {
|
|
68
72
|
initTikTokenEncoder();
|
|
69
73
|
//return encoder.encode(str).length
|
|
70
|
-
return
|
|
74
|
+
return encoderCl100kBase?.encode(str).length;
|
|
71
75
|
}
|
|
72
76
|
UtilCodec.tokenNumTurbo = tokenNumTurbo;
|
|
73
77
|
/**token长度计算器 Davinci模型
|
|
@@ -76,7 +80,7 @@ var UtilCodec;
|
|
|
76
80
|
*/
|
|
77
81
|
function tokenNumDavinci(str) {
|
|
78
82
|
initTikTokenEncoder();
|
|
79
|
-
return
|
|
83
|
+
return encoderP50kBase?.encode(str).length;
|
|
80
84
|
}
|
|
81
85
|
UtilCodec.tokenNumDavinci = tokenNumDavinci;
|
|
82
86
|
/**token编码 Turbo模型
|
|
@@ -85,7 +89,7 @@ var UtilCodec;
|
|
|
85
89
|
*/
|
|
86
90
|
function encodeTokenTurbo(str) {
|
|
87
91
|
initTikTokenEncoder();
|
|
88
|
-
return
|
|
92
|
+
return encoderCl100kBase?.encode(str);
|
|
89
93
|
}
|
|
90
94
|
UtilCodec.encodeTokenTurbo = encodeTokenTurbo;
|
|
91
95
|
/**token编码 Davinci模型
|
|
@@ -94,7 +98,7 @@ var UtilCodec;
|
|
|
94
98
|
*/
|
|
95
99
|
function encodeTokenDavinci(str) {
|
|
96
100
|
initTikTokenEncoder();
|
|
97
|
-
return
|
|
101
|
+
return encoderP50kBase?.encode(str);
|
|
98
102
|
}
|
|
99
103
|
UtilCodec.encodeTokenDavinci = encodeTokenDavinci;
|
|
100
104
|
/**token解码 Turbo模型
|
|
@@ -105,7 +109,7 @@ var UtilCodec;
|
|
|
105
109
|
initTikTokenEncoder();
|
|
106
110
|
if (Array.isArray(arr))
|
|
107
111
|
arr = new Uint32Array(arr);
|
|
108
|
-
return textDecoder.decode(
|
|
112
|
+
return textDecoder.decode(encoderCl100kBase?.decode(arr));
|
|
109
113
|
}
|
|
110
114
|
UtilCodec.decodeTokenTurbo = decodeTokenTurbo;
|
|
111
115
|
/**token解码 Davinci模型
|
|
@@ -116,7 +120,7 @@ var UtilCodec;
|
|
|
116
120
|
initTikTokenEncoder();
|
|
117
121
|
if (Array.isArray(arr))
|
|
118
122
|
arr = new Uint32Array(arr);
|
|
119
|
-
return textDecoder.decode(
|
|
123
|
+
return textDecoder.decode(encoderP50kBase?.decode(arr));
|
|
120
124
|
}
|
|
121
125
|
UtilCodec.decodeTokenDavinci = decodeTokenDavinci;
|
|
122
126
|
//#endregion
|
package/dist/UtilFP.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Keyable,
|
|
1
|
+
import { Keyable, Literal, Matchable, MatchableFlag, ProperSubsetCheck } from "./UtilInterfaces";
|
|
2
|
+
import { FailedLike } from "./UtilSymbol";
|
|
2
3
|
/**常用函数式编程库 */
|
|
3
4
|
export declare namespace UtilFP {
|
|
4
5
|
/**柯里化函数类型 */
|
|
@@ -15,54 +16,54 @@ export declare namespace UtilFP {
|
|
|
15
16
|
* @param fs - 待组合的函数
|
|
16
17
|
* @returns 组合完成的函数
|
|
17
18
|
*/
|
|
18
|
-
export function flow<I>(...fs: CompFunc<I, I>[]): CompFunc<I, I>;
|
|
19
|
-
export function flow<I, R1>(f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): CompFunc<I, R1>;
|
|
20
|
-
export function flow<I, R1, R2>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): CompFunc<I, R2>;
|
|
21
|
-
export function flow<I, R1, R2, R3>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): CompFunc<I, R3>;
|
|
22
|
-
export function flow<I, R1, R2, R3, R4>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): CompFunc<I, R4>;
|
|
23
|
-
export function flow<I, R1, R2, R3, R4, R5>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): CompFunc<I, R5>;
|
|
24
|
-
export function flow<I, R1, R2, R3, R4, R5, R6>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): CompFunc<I, R6>;
|
|
25
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): CompFunc<I, R7>;
|
|
26
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): CompFunc<I, R8>;
|
|
27
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): CompFunc<I, R9>;
|
|
28
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): CompFunc<I, R10>;
|
|
29
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): CompFunc<I, R11>;
|
|
30
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): CompFunc<I, R12>;
|
|
31
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): CompFunc<I, R13>;
|
|
32
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): CompFunc<I, R14>;
|
|
33
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): CompFunc<I, R15>;
|
|
34
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): CompFunc<I, R16>;
|
|
35
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): CompFunc<I, R17>;
|
|
36
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): CompFunc<I, R18>;
|
|
37
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): CompFunc<I, R19>;
|
|
38
19
|
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, f20: CompFunc<R19, R20>, ...fs: CompFunc<R20, R20>[]): CompFunc<I, R20>;
|
|
20
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): CompFunc<I, R19>;
|
|
21
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): CompFunc<I, R18>;
|
|
22
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): CompFunc<I, R17>;
|
|
23
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): CompFunc<I, R16>;
|
|
24
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): CompFunc<I, R15>;
|
|
25
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): CompFunc<I, R14>;
|
|
26
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): CompFunc<I, R13>;
|
|
27
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): CompFunc<I, R12>;
|
|
28
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): CompFunc<I, R11>;
|
|
29
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): CompFunc<I, R10>;
|
|
30
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): CompFunc<I, R9>;
|
|
31
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): CompFunc<I, R8>;
|
|
32
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): CompFunc<I, R7>;
|
|
33
|
+
export function flow<I, R1, R2, R3, R4, R5, R6>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): CompFunc<I, R6>;
|
|
34
|
+
export function flow<I, R1, R2, R3, R4, R5>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): CompFunc<I, R5>;
|
|
35
|
+
export function flow<I, R1, R2, R3, R4>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): CompFunc<I, R4>;
|
|
36
|
+
export function flow<I, R1, R2, R3>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): CompFunc<I, R3>;
|
|
37
|
+
export function flow<I, R1, R2>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): CompFunc<I, R2>;
|
|
38
|
+
export function flow<I, R1>(f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): CompFunc<I, R1>;
|
|
39
|
+
export function flow<I>(...fs: CompFunc<I, I>[]): CompFunc<I, I>;
|
|
39
40
|
/**函数管道
|
|
40
41
|
* 从左到右执行
|
|
41
42
|
* @param input - 初始输入值
|
|
42
43
|
* @param fs - 待组合的函数
|
|
43
44
|
* @returns 经过所有函数处理后的结果
|
|
44
45
|
*/
|
|
45
|
-
export function pipe<I>(input: I, ...fs: CompFunc<I, I>[]): I;
|
|
46
|
-
export function pipe<I, R1>(input: I, f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): R1;
|
|
47
|
-
export function pipe<I, R1, R2>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): R2;
|
|
48
|
-
export function pipe<I, R1, R2, R3>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): R3;
|
|
49
|
-
export function pipe<I, R1, R2, R3, R4>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): R4;
|
|
50
|
-
export function pipe<I, R1, R2, R3, R4, R5>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): R5;
|
|
51
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): R6;
|
|
52
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): R7;
|
|
53
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): R8;
|
|
54
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): R9;
|
|
55
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): R10;
|
|
56
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): R11;
|
|
57
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): R12;
|
|
58
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): R13;
|
|
59
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): R14;
|
|
60
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): R15;
|
|
61
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): R16;
|
|
62
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): R17;
|
|
63
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): R18;
|
|
64
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): R19;
|
|
65
46
|
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, f20: CompFunc<R19, R20>, ...fs: CompFunc<R20, R20>[]): R20;
|
|
47
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): R19;
|
|
48
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): R18;
|
|
49
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): R17;
|
|
50
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): R16;
|
|
51
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): R15;
|
|
52
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): R14;
|
|
53
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): R13;
|
|
54
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): R12;
|
|
55
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): R11;
|
|
56
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): R10;
|
|
57
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): R9;
|
|
58
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): R8;
|
|
59
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): R7;
|
|
60
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): R6;
|
|
61
|
+
export function pipe<I, R1, R2, R3, R4, R5>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): R5;
|
|
62
|
+
export function pipe<I, R1, R2, R3, R4>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): R4;
|
|
63
|
+
export function pipe<I, R1, R2, R3>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): R3;
|
|
64
|
+
export function pipe<I, R1, R2>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): R2;
|
|
65
|
+
export function pipe<I, R1>(input: I, f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): R1;
|
|
66
|
+
export function pipe<I>(input: I, ...fs: CompFunc<I, I>[]): I;
|
|
66
67
|
/**将一个字段加入一个对象中, 返回新类型 */
|
|
67
68
|
/**绑定一个键和一个值到一个基础对象上, 并返回一个新的对象
|
|
68
69
|
* 新的对象包含了基础对象的所有属性, 以及一个新的属性,
|
|
@@ -75,7 +76,7 @@ export declare namespace UtilFP {
|
|
|
75
76
|
* 然后返回一个新的对象新的对象包含了基础对象的所有属性,
|
|
76
77
|
* 以及一个新的属性, 这个新的属性的键是`key`, 值是`value`
|
|
77
78
|
*/
|
|
78
|
-
export function bind<K extends Keyable, V>(key:
|
|
79
|
+
export function bind<K extends Keyable, V>(key: Literal<K>, value: V): <B extends {}>(base?: B) => keyof B extends K ? "Base中已有对应键" & Error : {
|
|
79
80
|
[P in K | keyof B]: P extends K ? V : P extends keyof B ? B[P] : never;
|
|
80
81
|
};
|
|
81
82
|
/**绑定一个键到一个基础对象上,
|
|
@@ -87,7 +88,7 @@ export declare namespace UtilFP {
|
|
|
87
88
|
* 然后返回一个新的对象新的对象包含了基础对象的所有属性,
|
|
88
89
|
* 以及一个新的属性, 这个新的属性的键是`key`, 值是基础对象
|
|
89
90
|
*/
|
|
90
|
-
export function bind<K extends Keyable>(key:
|
|
91
|
+
export function bind<K extends Keyable>(key: Literal<K>): <B extends {}>(base?: B) => {
|
|
91
92
|
[P in K]: B;
|
|
92
93
|
};
|
|
93
94
|
/**绑定一个键和一个值到一个基础对象上, 并返回一个新的对象
|
|
@@ -101,7 +102,7 @@ export declare namespace UtilFP {
|
|
|
101
102
|
* @param base - 基础对象
|
|
102
103
|
* @returns 完成绑定的基础对象
|
|
103
104
|
*/
|
|
104
|
-
export function bind<K extends Keyable, V, B extends {}>(key:
|
|
105
|
+
export function bind<K extends Keyable, V, B extends {}>(key: Literal<K>, value: V, base: B): keyof B extends K ? "Base中已有对应键" & Error : {
|
|
105
106
|
[P in K | keyof B]: P extends K ? V : P extends keyof B ? B[P] : never;
|
|
106
107
|
};
|
|
107
108
|
/**创建一个对对象的每个属性进行映射的函数
|
|
@@ -111,5 +112,9 @@ export declare namespace UtilFP {
|
|
|
111
112
|
export function map<VAL, OUT, KEY extends symbol | string = string>(func: (input: VAL, k: KEY) => OUT): <OM extends Record<KEY, VAL>>(input: OM) => keyof OM extends KEY ? {
|
|
112
113
|
[P in keyof OM]: OUT;
|
|
113
114
|
} : "map函数传入的键类型无法处理此对象" & Error;
|
|
115
|
+
/**创建在传入值为失败时不运行的函数 */
|
|
116
|
+
export const chain: <T, R>(f: (arg: T) => R) => (arg: T) => "E" extends ProperSubsetCheck<symbol, T> ? T | R : T extends Matchable<FailedLike> ? T : MatchableFlag<T> extends Exclude<MatchableFlag<T>, FailedLike> ? R : T | R;
|
|
117
|
+
/**创建在传入值为失败时才会尝试运行的函数 */
|
|
118
|
+
export const alt: <T, R>(f: CompFunc<T, R>) => (arg: T) => "E" extends ProperSubsetCheck<symbol, T> ? T | R : T extends Matchable<FailedLike> ? R : MatchableFlag<T> extends Exclude<MatchableFlag<T>, FailedLike> ? T : T | R;
|
|
114
119
|
export {};
|
|
115
120
|
}
|
package/dist/UtilFP.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UtilFP = void 0;
|
|
4
|
+
const QuickFunction_1 = require("./QuickFunction");
|
|
4
5
|
/**常用函数式编程库 */
|
|
5
6
|
var UtilFP;
|
|
6
7
|
(function (UtilFP) {
|
|
@@ -53,6 +54,10 @@ var UtilFP;
|
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
56
|
UtilFP.map = map;
|
|
57
|
+
/**创建在传入值为失败时不运行的函数 */
|
|
58
|
+
UtilFP.chain = (f) => (arg) => (0, QuickFunction_1.isFailed)(arg) ? arg : f(arg);
|
|
59
|
+
/**创建在传入值为失败时才会尝试运行的函数 */
|
|
60
|
+
UtilFP.alt = (f) => (arg) => (0, QuickFunction_1.isFailed)(arg) ? f(arg) : arg;
|
|
56
61
|
/**
|
|
57
62
|
let asd = bindTo("sss",123,{abc:223});//?
|
|
58
63
|
let sumvoid = ()=>10;
|
package/dist/UtilFileTools.d.ts
CHANGED
|
@@ -18,14 +18,14 @@ type FileSearchGlobOpt = Partial<{
|
|
|
18
18
|
/**忽略的文件 默认 undefined */
|
|
19
19
|
ingore: string | string[];
|
|
20
20
|
/**输出的路径风格 默认跟随系统 */
|
|
21
|
-
|
|
21
|
+
style: "posix" | "win32";
|
|
22
22
|
}>;
|
|
23
23
|
/**regex搜索选项 */
|
|
24
24
|
type FileSearchRegexOpt = Partial<{
|
|
25
25
|
/**搜索子目录 默认 true */
|
|
26
26
|
relative: boolean;
|
|
27
27
|
/**输出的路径风格 默认跟随系统 */
|
|
28
|
-
|
|
28
|
+
style: "posix" | "win32";
|
|
29
29
|
}>;
|
|
30
30
|
/**文件工具 */
|
|
31
31
|
export declare namespace UtilFT {
|
|
@@ -101,12 +101,18 @@ export declare namespace UtilFT {
|
|
|
101
101
|
* @param token - 所要写入的JToken
|
|
102
102
|
*/
|
|
103
103
|
function writeJSONFile(filePath: string, token: JToken): Promise<void>;
|
|
104
|
+
/**保证路径为某个风格
|
|
105
|
+
* @param filePath - 输入路径
|
|
106
|
+
* @param style - 目标风格 undefined 时不改变
|
|
107
|
+
* @returns 新的符合目标风格的路径
|
|
108
|
+
*/
|
|
109
|
+
function stylizePath(filePath: string, style?: 'win32' | 'posix'): string;
|
|
104
110
|
/**搜索路径符合正则表达式的文件
|
|
105
111
|
* @param dir - 起始目录
|
|
106
112
|
* @param traitRegex - 正则表达式
|
|
107
113
|
* @param opt - 可选参数
|
|
108
114
|
* @param opt.relative - 搜索子目录
|
|
109
|
-
* @param opt.
|
|
115
|
+
* @param opt.style - 输出的路径风格 默认跟随系统
|
|
110
116
|
* @returns 文件名路径数组
|
|
111
117
|
*/
|
|
112
118
|
function fileSearchRegex(dir: string, traitRegex: string, opt?: FileSearchRegexOpt): string[];
|
|
@@ -115,7 +121,7 @@ export declare namespace UtilFT {
|
|
|
115
121
|
* @param globPattern - glob匹配
|
|
116
122
|
* @param opt - 可选参数
|
|
117
123
|
* @param opt.ignore - 忽略的文件
|
|
118
|
-
* @param opt.
|
|
124
|
+
* @param opt.style - 输出的路径风格 默认跟随系统
|
|
119
125
|
* @returns 文件绝对路径数组
|
|
120
126
|
*/
|
|
121
127
|
function fileSearchGlob(dir: string, globPattern: string | string[], opt?: FileSearchGlobOpt): string[];
|
package/dist/UtilFileTools.js
CHANGED
|
@@ -193,39 +193,49 @@ var UtilFT;
|
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
UtilFT.writeJSONFile = writeJSONFile;
|
|
196
|
+
/**保证路径为某个风格
|
|
197
|
+
* @param filePath - 输入路径
|
|
198
|
+
* @param style - 目标风格 undefined 时不改变
|
|
199
|
+
* @returns 新的符合目标风格的路径
|
|
200
|
+
*/
|
|
201
|
+
function stylizePath(filePath, style) {
|
|
202
|
+
if (style === undefined)
|
|
203
|
+
return filePath;
|
|
204
|
+
return (0, QuickFunction_1.matchProc)(style, {
|
|
205
|
+
posix: (nor) => filePath.replaceAll("\\", "/"),
|
|
206
|
+
win32: (nor) => filePath.replaceAll("/", "\\"),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
UtilFT.stylizePath = stylizePath;
|
|
196
210
|
/**搜索路径符合正则表达式的文件
|
|
197
211
|
* @param dir - 起始目录
|
|
198
212
|
* @param traitRegex - 正则表达式
|
|
199
213
|
* @param opt - 可选参数
|
|
200
214
|
* @param opt.relative - 搜索子目录
|
|
201
|
-
* @param opt.
|
|
215
|
+
* @param opt.style - 输出的路径风格 默认跟随系统
|
|
202
216
|
* @returns 文件名路径数组
|
|
203
217
|
*/
|
|
204
218
|
function fileSearchRegex(dir, traitRegex, opt) {
|
|
219
|
+
dir = stylizePath(dir, opt?.style);
|
|
220
|
+
const fixpath = opt?.style === undefined ? path :
|
|
221
|
+
opt.style === 'posix' ? path.posix : path.win32;
|
|
205
222
|
const relative = opt?.relative ?? true;
|
|
206
223
|
const outArray = [];
|
|
207
224
|
const subFiles = fs.readdirSync(dir, { withFileTypes: true });
|
|
208
225
|
//如果使用 g 会导致 RegExp.lastIndex 更改, 将会导致匹配错误
|
|
209
226
|
const regex = new RegExp(traitRegex);
|
|
210
227
|
for (const subFile of subFiles) {
|
|
211
|
-
const subFilePath =
|
|
228
|
+
const subFilePath = fixpath.join(dir, subFile.name);
|
|
212
229
|
//判断是否是文件夹,递归调用
|
|
213
230
|
if (subFile.isDirectory()) {
|
|
214
231
|
if (relative)
|
|
215
|
-
outArray.push(...fileSearchRegex(
|
|
232
|
+
outArray.push(...fileSearchRegex(fixpath.join(subFilePath, fixpath.sep), traitRegex));
|
|
216
233
|
continue;
|
|
217
234
|
}
|
|
218
235
|
if (regex.test(subFilePath))
|
|
219
236
|
outArray.push(subFilePath);
|
|
220
237
|
}
|
|
221
|
-
return outArray.map((filePath) =>
|
|
222
|
-
if (opt?.normalize === undefined)
|
|
223
|
-
return filePath;
|
|
224
|
-
return (0, QuickFunction_1.matchProc)(opt.normalize, {
|
|
225
|
-
posix: (nor) => path[nor].normalize(filePath.replaceAll("\\", "/")),
|
|
226
|
-
win32: (nor) => path[nor].normalize(filePath.replaceAll("/", "\\")),
|
|
227
|
-
});
|
|
228
|
-
});
|
|
238
|
+
return outArray.map((filePath) => fixpath.normalize(stylizePath(filePath, opt?.style)));
|
|
229
239
|
}
|
|
230
240
|
UtilFT.fileSearchRegex = fileSearchRegex;
|
|
231
241
|
/**搜索符合Glob匹配的文件
|
|
@@ -233,22 +243,18 @@ var UtilFT;
|
|
|
233
243
|
* @param globPattern - glob匹配
|
|
234
244
|
* @param opt - 可选参数
|
|
235
245
|
* @param opt.ignore - 忽略的文件
|
|
236
|
-
* @param opt.
|
|
246
|
+
* @param opt.style - 输出的路径风格 默认跟随系统
|
|
237
247
|
* @returns 文件绝对路径数组
|
|
238
248
|
*/
|
|
239
249
|
function fileSearchGlob(dir, globPattern, opt) {
|
|
250
|
+
dir = stylizePath(dir, opt?.style);
|
|
251
|
+
const fixpath = opt?.style === undefined ? path :
|
|
252
|
+
opt.style === 'posix' ? path.posix : path.win32;
|
|
240
253
|
const fixedPath = typeof globPattern === "string"
|
|
241
|
-
?
|
|
242
|
-
: globPattern.map((p) =>
|
|
254
|
+
? fixpath.join(dir, globPattern)
|
|
255
|
+
: globPattern.map((p) => fixpath.join(dir, p));
|
|
243
256
|
return (0, glob_1.globSync)(fixedPath, { ignore: opt?.ingore, absolute: true })
|
|
244
|
-
.map((filePath) =>
|
|
245
|
-
if (opt?.normalize === undefined)
|
|
246
|
-
return filePath;
|
|
247
|
-
return (0, QuickFunction_1.matchProc)(opt.normalize, {
|
|
248
|
-
posix: (nor) => path[nor].normalize(filePath.replaceAll("\\", "/")),
|
|
249
|
-
win32: (nor) => path[nor].normalize(filePath.replaceAll("/", "\\")),
|
|
250
|
-
});
|
|
251
|
-
});
|
|
257
|
+
.map((filePath) => fixpath.normalize(stylizePath(filePath, opt?.style)));
|
|
252
258
|
}
|
|
253
259
|
UtilFT.fileSearchGlob = fileSearchGlob;
|
|
254
260
|
/**
|
package/dist/UtilFunctions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyFunc, ComposedClass, ComposedMixinable, ComposedRefMixinable, ExtractOutcome, IJData, JObject, JToken, Keyable,
|
|
1
|
+
import { AnyFunc, ComposedClass, ComposedMixinable, ComposedRefMixinable, ExtractOutcome, IJData, JObject, JToken, Keyable, Literal, Matchable, MatchableFlag, Mixinable, Outcome, PromiseVerifyFn, ProperSubsetCheck, RefMixinable, UnionToIntersection } from "./UtilInterfaces";
|
|
2
2
|
import { LogLevel } from "./UtilLogger";
|
|
3
3
|
import { FailedLike, None, StatusSymbol, Success, SuccessLike, Timeout } from "./UtilSymbol";
|
|
4
4
|
declare const HashMethodList: readonly ["md5", "sha1", "sha256", "sha512", "sha3", "blake2", "blake3"];
|
|
@@ -145,9 +145,9 @@ export declare class UtilFunc {
|
|
|
145
145
|
*/
|
|
146
146
|
static sucesProc<T extends Matchable<StatusSymbol>, S extends (arg: ExtractOutcome<T, SuccessLike>['result']) => unknown, F extends (arg: ExtractOutcome<T, FailedLike>['result']) => unknown = (arg: ExtractOutcome<T, FailedLike>['result']) => None, N extends () => unknown = () => None>(t: T, sucessFunc: S, failedFunc?: F, noneFunc?: N): ReturnType<S> | ReturnType<F> | ReturnType<N>;
|
|
147
147
|
/**是失败的 */
|
|
148
|
-
static isFailed<T>(tg: T): T extends Matchable<FailedLike> ? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>, FailedLike> ? false : boolean;
|
|
148
|
+
static isFailed<T>(tg: T): 'E' extends ProperSubsetCheck<symbol, T> ? boolean : T extends Matchable<FailedLike> ? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>, FailedLike> ? false : boolean;
|
|
149
149
|
/**是成功的 */
|
|
150
|
-
static isSuccess<T>(tg: T): T extends Matchable<SuccessLike> ? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>, SuccessLike> ? false : boolean;
|
|
150
|
+
static isSuccess<T>(tg: T): 'E' extends ProperSubsetCheck<symbol, T> ? boolean : T extends Matchable<SuccessLike> ? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>, SuccessLike> ? false : boolean;
|
|
151
151
|
/**类似空值 undefined null None
|
|
152
152
|
* @param t - 检测目标
|
|
153
153
|
* @param strictLog - 应该严格等于None 否则将输出警告 但任然返回true
|
|
@@ -170,7 +170,7 @@ export declare class UtilFunc {
|
|
|
170
170
|
* @template T - 验证类型
|
|
171
171
|
* @param t - 验证目标
|
|
172
172
|
*/
|
|
173
|
-
static assertLiteral<T>(t:
|
|
173
|
+
static assertLiteral<T>(t: Literal<T>): T;
|
|
174
174
|
/**深克隆 序列化并反序列化
|
|
175
175
|
* @template T - JToken类型的泛型
|
|
176
176
|
* @param obj - 克隆目标
|
|
@@ -185,12 +185,12 @@ export declare class UtilFunc {
|
|
|
185
185
|
*/
|
|
186
186
|
static isSafeNumber(num: unknown): boolean;
|
|
187
187
|
/**将一个字段加入一个对象中,将改变对象,返回新类型 */
|
|
188
|
-
static bindTo<K extends Keyable, V, B extends {} = {}>(key:
|
|
188
|
+
static bindTo<K extends Keyable, V, B extends {} = {}>(key: Literal<K>, value: V, base?: B): keyof B extends K ? "Base中已有对应键" & Error : {
|
|
189
189
|
[P in K | keyof B]: P extends K ? V : P extends keyof B ? B[P] : never;
|
|
190
190
|
};
|
|
191
191
|
/**移除多行字符串中每行开始的最小空格数。
|
|
192
192
|
*
|
|
193
|
-
* @param
|
|
193
|
+
* @param input - 需要处理的多行 字符串模板 或 字符串。
|
|
194
194
|
* @param values - 插入模板字符串中的值。
|
|
195
195
|
* @returns 返回处理后的字符串,每行开始的空格数已被最小化。
|
|
196
196
|
*
|
|
@@ -205,7 +205,7 @@ export declare class UtilFunc {
|
|
|
205
205
|
* // Hello,
|
|
206
206
|
* // World!
|
|
207
207
|
*/
|
|
208
|
-
static dedent(
|
|
208
|
+
static dedent(input: TemplateStringsArray | string, ...values: any[]): string;
|
|
209
209
|
/**抛出错误
|
|
210
210
|
* @param message - 错误信息
|
|
211
211
|
* @param lvl - 日志等级
|
package/dist/UtilFunctions.js
CHANGED
|
@@ -535,7 +535,7 @@ class UtilFunc {
|
|
|
535
535
|
}
|
|
536
536
|
/**移除多行字符串中每行开始的最小空格数。
|
|
537
537
|
*
|
|
538
|
-
* @param
|
|
538
|
+
* @param input - 需要处理的多行 字符串模板 或 字符串。
|
|
539
539
|
* @param values - 插入模板字符串中的值。
|
|
540
540
|
* @returns 返回处理后的字符串,每行开始的空格数已被最小化。
|
|
541
541
|
*
|
|
@@ -550,8 +550,10 @@ class UtilFunc {
|
|
|
550
550
|
* // Hello,
|
|
551
551
|
* // World!
|
|
552
552
|
*/
|
|
553
|
-
static dedent(
|
|
554
|
-
const str =
|
|
553
|
+
static dedent(input, ...values) {
|
|
554
|
+
const str = typeof input === 'string'
|
|
555
|
+
? input
|
|
556
|
+
: input.reduce((result, string, i) => result + string + (values[i] ?? ''), '');
|
|
555
557
|
const lines = str.split('\n');
|
|
556
558
|
const minIndent = Math.min(...lines.filter(line => line.trim() !== '').map(line => line.search(/\S/)));
|
|
557
559
|
return lines.map(line => line.slice(minIndent)).join('\n');
|
package/dist/UtilInterfaces.d.ts
CHANGED
|
@@ -25,10 +25,29 @@ export type Keyable = string | number | symbol;
|
|
|
25
25
|
* @template D - 默认选项
|
|
26
26
|
*/
|
|
27
27
|
export type PartialOption<B, D> = keyof D extends keyof B ? Omit<B, keyof D> & Partial<Pick<B, keyof D>> : never;
|
|
28
|
-
/**真子集
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
/**真子集 测试 T 是否为 B 的真子集
|
|
29
|
+
* @template B - 超集
|
|
30
|
+
* @template T - 子集
|
|
31
|
+
*/
|
|
32
|
+
export type ProperSubset<B, T> = T extends B ? B extends T ? never : T : never;
|
|
33
|
+
/**真子集检查 测试 T 是否为 B 的真子集
|
|
34
|
+
* 相等时返回 'E'
|
|
35
|
+
* 真子集时返回 'P'
|
|
36
|
+
* 不相交时返回 'N'
|
|
37
|
+
* @template B - 超集
|
|
38
|
+
* @template T - 子集
|
|
39
|
+
*/
|
|
40
|
+
export type ProperSubsetCheck<B, T> = T extends B ? B extends T ? "E" : "P" : "N";
|
|
41
|
+
/**字面量 检查 L 是否为字面量
|
|
42
|
+
* @template L - 目标量
|
|
43
|
+
*/
|
|
44
|
+
export type Literal<L> = ProperSubset<string, L> | ProperSubset<number, L> | ProperSubset<boolean, L> | ProperSubset<symbol, L> | ProperSubset<any[], L> | ProperSubset<Record<any, any>, L> | Extract<L, null | undefined>;
|
|
45
|
+
/**字面量检查 测试 L 是否为字面量
|
|
46
|
+
* 是字面量时返回 true
|
|
47
|
+
* 不是字面量时返回 false
|
|
48
|
+
* @template L - 目标量
|
|
49
|
+
*/
|
|
50
|
+
export type LiteralCheck<L> = ProperSubsetCheck<string, L> extends "P" ? true : ProperSubsetCheck<number, L> extends "P" ? true : ProperSubsetCheck<boolean, L> extends "P" ? true : ProperSubsetCheck<symbol, L> extends "P" ? true : ProperSubsetCheck<any[], L> extends "P" ? true : ProperSubsetCheck<Record<any, any>, L> extends "P" ? true : L extends null | undefined ? true : false;
|
|
32
51
|
/**返回将Mixin分配给Base的结果,相同字段时Mixin覆盖Base */
|
|
33
52
|
export type AssignObject<Base extends {}, Mixin extends {}> = {
|
|
34
53
|
[P in keyof Mixin | keyof Base]: P extends keyof Mixin ? Mixin[P] : P extends keyof Base ? Base[P] : never;
|
|
@@ -141,7 +160,7 @@ export type RequiredOnly<T> = {
|
|
|
141
160
|
};
|
|
142
161
|
/**添加前缀 */
|
|
143
162
|
export type WithPrefix<T, P extends string> = {
|
|
144
|
-
[K in (keyof T) as K extends string ? `${P}
|
|
163
|
+
[K in (keyof T) as K extends string ? `${P}${K}` : K]: T[K];
|
|
145
164
|
};
|
|
146
165
|
/**返回结果
|
|
147
166
|
* @template K - 类型键值
|
package/package.json
CHANGED
package/src/QuickFunction.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UtilFT } from "./UtilFileTools";
|
|
1
2
|
import { UtilFunc } from "./UtilFunctions";
|
|
2
3
|
import { Outcome } from "./UtilInterfaces";
|
|
3
4
|
import { Completed, Failed, FailedLike, None, NoneOut, StatusSymbol, Success, SuccessLike, Terminated, Timeout } from "./UtilSymbol";
|
|
@@ -22,6 +23,10 @@ export const {
|
|
|
22
23
|
throwError,
|
|
23
24
|
} = UtilFunc;
|
|
24
25
|
|
|
26
|
+
export const {
|
|
27
|
+
stylizePath
|
|
28
|
+
} = UtilFT;
|
|
29
|
+
|
|
25
30
|
if(false){
|
|
26
31
|
let aaser = assertLiteral({a:1})
|
|
27
32
|
|
package/src/UtilClass.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { matchProc } from "./QuickFunction";
|
|
2
|
-
import {
|
|
2
|
+
import { Literal } from "./UtilInterfaces";
|
|
3
3
|
|
|
4
4
|
/**函数管道器 */
|
|
5
5
|
export class Piper<Arg, Result = Arg> {
|
|
@@ -165,7 +165,7 @@ export class Stream<T> implements Iterable<T>{
|
|
|
165
165
|
* @param value - 排除的值
|
|
166
166
|
* @returns 自身
|
|
167
167
|
*/
|
|
168
|
-
async exclude<E>(value:
|
|
168
|
+
async exclude<E>(value:Literal<E>): Promise<Stream<Exclude<T,E>>>{
|
|
169
169
|
await this.append();
|
|
170
170
|
return new Stream(this._list.filter((v)=>v!==value as any) as Exclude<T,E>[]);
|
|
171
171
|
}
|
package/src/UtilCodecs.ts
CHANGED
|
@@ -6,9 +6,12 @@ import {get_encoding,Tiktoken} from 'tiktoken';
|
|
|
6
6
|
/**编码/解码器 */
|
|
7
7
|
export namespace UtilCodec{
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
let
|
|
9
|
+
/**gpt-4, gpt-3.5-turbo, text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large
|
|
10
|
+
*/
|
|
11
|
+
let encoderCl100kBase:Tiktoken|null = null;
|
|
12
|
+
/**Codex models, text-davinci-002, text-davinci-003
|
|
13
|
+
*/
|
|
14
|
+
let encoderP50kBase:Tiktoken|null = null;
|
|
12
15
|
const textDecoder = new TextDecoder();
|
|
13
16
|
|
|
14
17
|
/**HTML实体解码 将一个字符串中的HTML实体转换为对应的字符
|
|
@@ -36,11 +39,11 @@ export function encodeHtmlEntities(str:string) {
|
|
|
36
39
|
|
|
37
40
|
//避免在nextjs调用时出错
|
|
38
41
|
function initTikTokenEncoder (){
|
|
39
|
-
if(
|
|
42
|
+
if(encoderCl100kBase!=null && encoderP50kBase!=null)
|
|
40
43
|
return;
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
encoderCl100kBase = get_encoding("cl100k_base");
|
|
46
|
+
encoderP50kBase = get_encoding("p50k_base");
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
/**token长度计算器 Turbo模型
|
|
@@ -50,7 +53,7 @@ function initTikTokenEncoder (){
|
|
|
50
53
|
export function tokenNumTurbo(str:string):number{
|
|
51
54
|
initTikTokenEncoder();
|
|
52
55
|
//return encoder.encode(str).length
|
|
53
|
-
return
|
|
56
|
+
return encoderCl100kBase?.encode(str).length as any as number;
|
|
54
57
|
}
|
|
55
58
|
/**token长度计算器 Davinci模型
|
|
56
59
|
* @param str = 所要计算的消息
|
|
@@ -58,7 +61,7 @@ export function tokenNumTurbo(str:string):number{
|
|
|
58
61
|
*/
|
|
59
62
|
export function tokenNumDavinci(str:string):number{
|
|
60
63
|
initTikTokenEncoder();
|
|
61
|
-
return
|
|
64
|
+
return encoderP50kBase?.encode(str).length as any as number;
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
/**token编码 Turbo模型
|
|
@@ -67,7 +70,7 @@ export function tokenNumDavinci(str:string):number{
|
|
|
67
70
|
*/
|
|
68
71
|
export function encodeTokenTurbo(str:string):Uint32Array{
|
|
69
72
|
initTikTokenEncoder();
|
|
70
|
-
return
|
|
73
|
+
return encoderCl100kBase?.encode(str) as any as Uint32Array
|
|
71
74
|
}
|
|
72
75
|
/**token编码 Davinci模型
|
|
73
76
|
* @param str = 所要计算的消息
|
|
@@ -75,7 +78,7 @@ export function encodeTokenTurbo(str:string):Uint32Array{
|
|
|
75
78
|
*/
|
|
76
79
|
export function encodeTokenDavinci(str:string):Uint32Array{
|
|
77
80
|
initTikTokenEncoder();
|
|
78
|
-
return
|
|
81
|
+
return encoderP50kBase?.encode(str) as any as Uint32Array;
|
|
79
82
|
}
|
|
80
83
|
/**token解码 Turbo模型
|
|
81
84
|
* @param arr = Token数组
|
|
@@ -84,7 +87,7 @@ export function encodeTokenDavinci(str:string):Uint32Array{
|
|
|
84
87
|
export function decodeTokenTurbo(arr:Uint32Array|number[]):string{
|
|
85
88
|
initTikTokenEncoder();
|
|
86
89
|
if(Array.isArray(arr)) arr = new Uint32Array(arr);
|
|
87
|
-
return textDecoder.decode(
|
|
90
|
+
return textDecoder.decode(encoderCl100kBase?.decode(arr));
|
|
88
91
|
}
|
|
89
92
|
/**token解码 Davinci模型
|
|
90
93
|
* @param arr = Token数组
|
|
@@ -93,7 +96,7 @@ export function decodeTokenTurbo(arr:Uint32Array|number[]):string{
|
|
|
93
96
|
export function decodeTokenDavinci(arr:Uint32Array|number[]):string{
|
|
94
97
|
initTikTokenEncoder();
|
|
95
98
|
if(Array.isArray(arr)) arr = new Uint32Array(arr);
|
|
96
|
-
return textDecoder.decode(
|
|
99
|
+
return textDecoder.decode(encoderP50kBase?.decode(arr));
|
|
97
100
|
}
|
|
98
101
|
//#endregion
|
|
99
102
|
}
|
package/src/UtilFP.macro.ts
CHANGED
|
@@ -6,24 +6,24 @@ const prefix = (str:string,prefix?:string)=> str.length>0?`${prefix}${str}`:str;
|
|
|
6
6
|
const suffix = (str:string,suffix?:string)=> str.length>0?`${str}${suffix}`:str;
|
|
7
7
|
|
|
8
8
|
regionMacro("flow重载",()=>{
|
|
9
|
-
|
|
9
|
+
const result:string[] = [];
|
|
10
10
|
for (let i = 0; i <= N; i++) {
|
|
11
11
|
const template = Array.from({length: i+1}, (_, k) => R(k)).join(', ');
|
|
12
12
|
const args = suffix(Array.from({length: i}, (_, k) =>
|
|
13
13
|
`f${k+1}: CompFunc<${R(k)}, ${R(k+1)}>`
|
|
14
14
|
).join(', '),", ");
|
|
15
|
-
result
|
|
15
|
+
result.push(`export function flow<${template}>(${args}...fs: CompFunc<${R(i)}, ${R(i)}>[]): CompFunc<I, ${R(i)}>;`);
|
|
16
16
|
}
|
|
17
|
-
return result.trim();
|
|
17
|
+
return result.reverse().join('\n').trim();
|
|
18
18
|
});
|
|
19
19
|
regionMacro("pipe重载",()=>{
|
|
20
|
-
|
|
20
|
+
const result:string[] = [];
|
|
21
21
|
for (let i = 0; i <= N; i++) {
|
|
22
22
|
const template = Array.from({length: i+1}, (_, k) => R(k)).join(', ');
|
|
23
23
|
const args = suffix(Array.from({length: i}, (_, k) =>
|
|
24
24
|
`f${k+1}: CompFunc<${R(k)}, ${R(k+1)}>`
|
|
25
25
|
).join(', '),", ");
|
|
26
|
-
result
|
|
26
|
+
result.push(`export function pipe<${template}>(input: I, ${args}...fs: CompFunc<${R(i)}, ${R(i)}>[]): ${R(i)};`);
|
|
27
27
|
}
|
|
28
|
-
return result.trim();
|
|
28
|
+
return result.reverse().join('\n').trim();
|
|
29
29
|
});
|
package/src/UtilFP.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isFailed, likeNone } from "./QuickFunction";
|
|
2
|
+
import { Keyable, Literal, Matchable, MatchableFlag, ProperSubset, ProperSubsetCheck } from "./UtilInterfaces";
|
|
3
|
+
import { Failed, FailedLike, None } from "./UtilSymbol";
|
|
3
4
|
|
|
4
5
|
/**常用函数式编程库 */
|
|
5
6
|
export namespace UtilFP {
|
|
@@ -39,27 +40,27 @@ type CompFunc<T, R> = (arg: T) => R;
|
|
|
39
40
|
* @returns 组合完成的函数
|
|
40
41
|
*/
|
|
41
42
|
//#region flow重载
|
|
42
|
-
export function flow<I>(...fs: CompFunc<I, I>[]): CompFunc<I, I>;
|
|
43
|
-
export function flow<I, R1>(f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): CompFunc<I, R1>;
|
|
44
|
-
export function flow<I, R1, R2>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): CompFunc<I, R2>;
|
|
45
|
-
export function flow<I, R1, R2, R3>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): CompFunc<I, R3>;
|
|
46
|
-
export function flow<I, R1, R2, R3, R4>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): CompFunc<I, R4>;
|
|
47
|
-
export function flow<I, R1, R2, R3, R4, R5>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): CompFunc<I, R5>;
|
|
48
|
-
export function flow<I, R1, R2, R3, R4, R5, R6>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): CompFunc<I, R6>;
|
|
49
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): CompFunc<I, R7>;
|
|
50
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): CompFunc<I, R8>;
|
|
51
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): CompFunc<I, R9>;
|
|
52
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): CompFunc<I, R10>;
|
|
53
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): CompFunc<I, R11>;
|
|
54
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): CompFunc<I, R12>;
|
|
55
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): CompFunc<I, R13>;
|
|
56
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): CompFunc<I, R14>;
|
|
57
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): CompFunc<I, R15>;
|
|
58
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): CompFunc<I, R16>;
|
|
59
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): CompFunc<I, R17>;
|
|
60
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): CompFunc<I, R18>;
|
|
61
|
-
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): CompFunc<I, R19>;
|
|
62
43
|
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, f20: CompFunc<R19, R20>, ...fs: CompFunc<R20, R20>[]): CompFunc<I, R20>;
|
|
44
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): CompFunc<I, R19>;
|
|
45
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): CompFunc<I, R18>;
|
|
46
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): CompFunc<I, R17>;
|
|
47
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): CompFunc<I, R16>;
|
|
48
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): CompFunc<I, R15>;
|
|
49
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): CompFunc<I, R14>;
|
|
50
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): CompFunc<I, R13>;
|
|
51
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): CompFunc<I, R12>;
|
|
52
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): CompFunc<I, R11>;
|
|
53
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): CompFunc<I, R10>;
|
|
54
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): CompFunc<I, R9>;
|
|
55
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7, R8>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): CompFunc<I, R8>;
|
|
56
|
+
export function flow<I, R1, R2, R3, R4, R5, R6, R7>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): CompFunc<I, R7>;
|
|
57
|
+
export function flow<I, R1, R2, R3, R4, R5, R6>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): CompFunc<I, R6>;
|
|
58
|
+
export function flow<I, R1, R2, R3, R4, R5>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): CompFunc<I, R5>;
|
|
59
|
+
export function flow<I, R1, R2, R3, R4>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): CompFunc<I, R4>;
|
|
60
|
+
export function flow<I, R1, R2, R3>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): CompFunc<I, R3>;
|
|
61
|
+
export function flow<I, R1, R2>(f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): CompFunc<I, R2>;
|
|
62
|
+
export function flow<I, R1>(f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): CompFunc<I, R1>;
|
|
63
|
+
export function flow<I>(...fs: CompFunc<I, I>[]): CompFunc<I, I>;
|
|
63
64
|
//#endregion
|
|
64
65
|
export function flow<T>(...fs: ((arg: T) => T)[]): (arg: T) => T {
|
|
65
66
|
return (arg: T): T => {
|
|
@@ -74,27 +75,27 @@ export function flow<T>(...fs: ((arg: T) => T)[]): (arg: T) => T {
|
|
|
74
75
|
* @returns 经过所有函数处理后的结果
|
|
75
76
|
*/
|
|
76
77
|
//#region pipe重载
|
|
77
|
-
export function pipe<I>(input: I, ...fs: CompFunc<I, I>[]): I;
|
|
78
|
-
export function pipe<I, R1>(input: I, f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): R1;
|
|
79
|
-
export function pipe<I, R1, R2>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): R2;
|
|
80
|
-
export function pipe<I, R1, R2, R3>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): R3;
|
|
81
|
-
export function pipe<I, R1, R2, R3, R4>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): R4;
|
|
82
|
-
export function pipe<I, R1, R2, R3, R4, R5>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): R5;
|
|
83
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): R6;
|
|
84
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): R7;
|
|
85
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): R8;
|
|
86
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): R9;
|
|
87
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): R10;
|
|
88
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): R11;
|
|
89
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): R12;
|
|
90
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): R13;
|
|
91
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): R14;
|
|
92
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): R15;
|
|
93
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): R16;
|
|
94
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): R17;
|
|
95
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): R18;
|
|
96
|
-
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): R19;
|
|
97
78
|
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, f20: CompFunc<R19, R20>, ...fs: CompFunc<R20, R20>[]): R20;
|
|
79
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, f19: CompFunc<R18, R19>, ...fs: CompFunc<R19, R19>[]): R19;
|
|
80
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, f18: CompFunc<R17, R18>, ...fs: CompFunc<R18, R18>[]): R18;
|
|
81
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, f17: CompFunc<R16, R17>, ...fs: CompFunc<R17, R17>[]): R17;
|
|
82
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, f16: CompFunc<R15, R16>, ...fs: CompFunc<R16, R16>[]): R16;
|
|
83
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, f15: CompFunc<R14, R15>, ...fs: CompFunc<R15, R15>[]): R15;
|
|
84
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, f14: CompFunc<R13, R14>, ...fs: CompFunc<R14, R14>[]): R14;
|
|
85
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, f13: CompFunc<R12, R13>, ...fs: CompFunc<R13, R13>[]): R13;
|
|
86
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, f12: CompFunc<R11, R12>, ...fs: CompFunc<R12, R12>[]): R12;
|
|
87
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, f11: CompFunc<R10, R11>, ...fs: CompFunc<R11, R11>[]): R11;
|
|
88
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, f10: CompFunc<R9, R10>, ...fs: CompFunc<R10, R10>[]): R10;
|
|
89
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8, R9>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, f9: CompFunc<R8, R9>, ...fs: CompFunc<R9, R9>[]): R9;
|
|
90
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7, R8>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, f8: CompFunc<R7, R8>, ...fs: CompFunc<R8, R8>[]): R8;
|
|
91
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6, R7>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, f7: CompFunc<R6, R7>, ...fs: CompFunc<R7, R7>[]): R7;
|
|
92
|
+
export function pipe<I, R1, R2, R3, R4, R5, R6>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, f6: CompFunc<R5, R6>, ...fs: CompFunc<R6, R6>[]): R6;
|
|
93
|
+
export function pipe<I, R1, R2, R3, R4, R5>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, f5: CompFunc<R4, R5>, ...fs: CompFunc<R5, R5>[]): R5;
|
|
94
|
+
export function pipe<I, R1, R2, R3, R4>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, f4: CompFunc<R3, R4>, ...fs: CompFunc<R4, R4>[]): R4;
|
|
95
|
+
export function pipe<I, R1, R2, R3>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, f3: CompFunc<R2, R3>, ...fs: CompFunc<R3, R3>[]): R3;
|
|
96
|
+
export function pipe<I, R1, R2>(input: I, f1: CompFunc<I, R1>, f2: CompFunc<R1, R2>, ...fs: CompFunc<R2, R2>[]): R2;
|
|
97
|
+
export function pipe<I, R1>(input: I, f1: CompFunc<I, R1>, ...fs: CompFunc<R1, R1>[]): R1;
|
|
98
|
+
export function pipe<I>(input: I, ...fs: CompFunc<I, I>[]): I;
|
|
98
99
|
//#endregion
|
|
99
100
|
export function pipe<T>(input: T, ...fs: ((arg: T) => T)[]): T {
|
|
100
101
|
return fs.reduce((value, func) => func(value), input);
|
|
@@ -115,7 +116,7 @@ export function pipe<T>(input: T, ...fs: ((arg: T) => T)[]): T {
|
|
|
115
116
|
* 以及一个新的属性, 这个新的属性的键是`key`, 值是`value`
|
|
116
117
|
*/
|
|
117
118
|
export function bind<K extends Keyable, V>
|
|
118
|
-
(key:
|
|
119
|
+
(key: Literal<K>,value: V): <B extends {}>
|
|
119
120
|
(base?: B) => keyof B extends K
|
|
120
121
|
? "Base中已有对应键"&Error
|
|
121
122
|
: {[P in K | keyof B]: P extends K ? V : P extends keyof B ? B[P] : never;};
|
|
@@ -129,7 +130,7 @@ export function bind<K extends Keyable, V>
|
|
|
129
130
|
* 以及一个新的属性, 这个新的属性的键是`key`, 值是基础对象
|
|
130
131
|
*/
|
|
131
132
|
export function bind<K extends Keyable>
|
|
132
|
-
(key:
|
|
133
|
+
(key: Literal<K>): <B extends {}>
|
|
133
134
|
(base?: B) => { [P in K]: B };
|
|
134
135
|
/**绑定一个键和一个值到一个基础对象上, 并返回一个新的对象
|
|
135
136
|
* 新的对象包含了基础对象的所有属性, 以及一个新的属性,
|
|
@@ -143,12 +144,12 @@ export function bind<K extends Keyable>
|
|
|
143
144
|
* @returns 完成绑定的基础对象
|
|
144
145
|
*/
|
|
145
146
|
export function bind<K extends Keyable, V, B extends {}>
|
|
146
|
-
(key:
|
|
147
|
+
(key: Literal<K>,value: V, base:B):keyof B extends K
|
|
147
148
|
? "Base中已有对应键"&Error
|
|
148
149
|
: {[P in K | keyof B]: P extends K ? V : P extends keyof B ? B[P] : never;};
|
|
149
150
|
//#endregion
|
|
150
151
|
export function bind
|
|
151
|
-
<K extends Keyable, V, B>(key:
|
|
152
|
+
<K extends Keyable, V, B>(key: Literal<K>, value?: V, base?:B){
|
|
152
153
|
if(base !== undefined)
|
|
153
154
|
return { ...base, [key as Keyable]: value };
|
|
154
155
|
if(value ===undefined)
|
|
@@ -182,6 +183,20 @@ export function map<VAL, OUT, KEY extends symbol|string = string>
|
|
|
182
183
|
};
|
|
183
184
|
}
|
|
184
185
|
|
|
186
|
+
/**创建在传入值为失败时不运行的函数 */
|
|
187
|
+
export const chain = <T, R>(f: (arg:T)=>R) =>
|
|
188
|
+
(arg: T): 'E' extends ProperSubsetCheck<symbol,T>? T|R :
|
|
189
|
+
T extends Matchable<FailedLike>
|
|
190
|
+
? T : MatchableFlag<T> extends Exclude<MatchableFlag<T>,FailedLike>
|
|
191
|
+
? R : T|R => isFailed(arg) ? arg : f(arg) as any;
|
|
192
|
+
|
|
193
|
+
/**创建在传入值为失败时才会尝试运行的函数 */
|
|
194
|
+
export const alt = <T, R>(f: CompFunc<T, R>) =>
|
|
195
|
+
(arg: T): 'E' extends ProperSubsetCheck<symbol,T> ? T|R :
|
|
196
|
+
T extends Matchable<FailedLike>
|
|
197
|
+
? R : MatchableFlag<T> extends Exclude<MatchableFlag<T>,FailedLike>
|
|
198
|
+
? T : T|R => isFailed(arg) ? f(arg) : arg as any;
|
|
199
|
+
|
|
185
200
|
|
|
186
201
|
/**
|
|
187
202
|
let asd = bindTo("sss",123,{abc:223});//?
|
package/src/UtilFileTools.ts
CHANGED
|
@@ -27,7 +27,7 @@ type FileSearchGlobOpt = Partial<{
|
|
|
27
27
|
/**忽略的文件 默认 undefined */
|
|
28
28
|
ingore:string|string[];
|
|
29
29
|
/**输出的路径风格 默认跟随系统 */
|
|
30
|
-
|
|
30
|
+
style:"posix"|"win32";
|
|
31
31
|
}>
|
|
32
32
|
|
|
33
33
|
/**regex搜索选项 */
|
|
@@ -35,7 +35,7 @@ type FileSearchRegexOpt = Partial<{
|
|
|
35
35
|
/**搜索子目录 默认 true */
|
|
36
36
|
relative:boolean;
|
|
37
37
|
/**输出的路径风格 默认跟随系统 */
|
|
38
|
-
|
|
38
|
+
style:"posix"|"win32";
|
|
39
39
|
}>
|
|
40
40
|
|
|
41
41
|
/**文件工具 */
|
|
@@ -230,59 +230,67 @@ export async function writeJSONFile(
|
|
|
230
230
|
SLogger.error(`${filePath} writeJSONFile 错误`,err);
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
+
/**保证路径为某个风格
|
|
234
|
+
* @param filePath - 输入路径
|
|
235
|
+
* @param style - 目标风格 undefined 时不改变
|
|
236
|
+
* @returns 新的符合目标风格的路径
|
|
237
|
+
*/
|
|
238
|
+
export function stylizePath(filePath:string,style?:'win32'|'posix'){
|
|
239
|
+
if(style===undefined) return filePath;
|
|
240
|
+
return matchProc(style, {
|
|
241
|
+
posix: (nor) => filePath.replaceAll("\\", "/"),
|
|
242
|
+
win32: (nor) => filePath.replaceAll("/", "\\"),
|
|
243
|
+
});
|
|
244
|
+
}
|
|
233
245
|
|
|
234
246
|
/**搜索路径符合正则表达式的文件
|
|
235
247
|
* @param dir - 起始目录
|
|
236
248
|
* @param traitRegex - 正则表达式
|
|
237
249
|
* @param opt - 可选参数
|
|
238
250
|
* @param opt.relative - 搜索子目录
|
|
239
|
-
* @param opt.
|
|
251
|
+
* @param opt.style - 输出的路径风格 默认跟随系统
|
|
240
252
|
* @returns 文件名路径数组
|
|
241
253
|
*/
|
|
242
254
|
export function fileSearchRegex(dir: string, traitRegex: string, opt?:FileSearchRegexOpt) {
|
|
255
|
+
dir = stylizePath(dir,opt?.style);
|
|
256
|
+
const fixpath = opt?.style === undefined ? path :
|
|
257
|
+
opt.style ==='posix' ? path.posix : path.win32;
|
|
258
|
+
|
|
243
259
|
const relative = opt?.relative ?? true;
|
|
244
260
|
const outArray: string[] = [];
|
|
245
261
|
const subFiles = fs.readdirSync(dir, { withFileTypes: true });
|
|
246
262
|
//如果使用 g 会导致 RegExp.lastIndex 更改, 将会导致匹配错误
|
|
247
263
|
const regex = new RegExp(traitRegex);
|
|
248
264
|
for (const subFile of subFiles) {
|
|
249
|
-
const subFilePath =
|
|
265
|
+
const subFilePath = fixpath.join(dir, subFile.name);
|
|
250
266
|
//判断是否是文件夹,递归调用
|
|
251
267
|
if (subFile.isDirectory()) {
|
|
252
268
|
if (relative)
|
|
253
|
-
outArray.push(...fileSearchRegex(
|
|
269
|
+
outArray.push(...fileSearchRegex(fixpath.join(subFilePath, fixpath.sep), traitRegex));
|
|
254
270
|
continue;
|
|
255
271
|
}
|
|
256
272
|
if (regex.test(subFilePath)) outArray.push(subFilePath);
|
|
257
273
|
}
|
|
258
|
-
return outArray.map((filePath) =>
|
|
259
|
-
if (opt?.normalize === undefined) return filePath;
|
|
260
|
-
return matchProc(opt.normalize, {
|
|
261
|
-
posix: (nor) => path[nor].normalize(filePath.replaceAll("\\", "/")),
|
|
262
|
-
win32: (nor) => path[nor].normalize(filePath.replaceAll("/", "\\")),
|
|
263
|
-
});
|
|
264
|
-
});
|
|
274
|
+
return outArray.map((filePath) => fixpath.normalize(stylizePath(filePath,opt?.style)));
|
|
265
275
|
}
|
|
266
276
|
/**搜索符合Glob匹配的文件
|
|
267
277
|
* @param dir - 起始目录
|
|
268
278
|
* @param globPattern - glob匹配
|
|
269
279
|
* @param opt - 可选参数
|
|
270
280
|
* @param opt.ignore - 忽略的文件
|
|
271
|
-
* @param opt.
|
|
281
|
+
* @param opt.style - 输出的路径风格 默认跟随系统
|
|
272
282
|
* @returns 文件绝对路径数组
|
|
273
283
|
*/
|
|
274
284
|
export function fileSearchGlob(dir: string, globPattern:string|string[],opt?:FileSearchGlobOpt){
|
|
285
|
+
dir = stylizePath(dir,opt?.style);
|
|
286
|
+
const fixpath = opt?.style === undefined ? path :
|
|
287
|
+
opt.style ==='posix' ? path.posix : path.win32;
|
|
288
|
+
|
|
275
289
|
const fixedPath = typeof globPattern === "string"
|
|
276
|
-
?
|
|
277
|
-
: globPattern.map((p)=>
|
|
290
|
+
? fixpath.join(dir,globPattern)
|
|
291
|
+
: globPattern.map((p)=>fixpath.join(dir,p));
|
|
278
292
|
return globSync(fixedPath, { ignore: opt?.ingore, absolute: true })
|
|
279
|
-
.map((filePath) =>
|
|
280
|
-
if (opt?.normalize === undefined) return filePath;
|
|
281
|
-
return matchProc(opt.normalize, {
|
|
282
|
-
posix: (nor) => path[nor].normalize(filePath.replaceAll("\\", "/")),
|
|
283
|
-
win32: (nor) => path[nor].normalize(filePath.replaceAll("/", "\\")),
|
|
284
|
-
});
|
|
285
|
-
});
|
|
293
|
+
.map((filePath) => fixpath.normalize(stylizePath(filePath,opt?.style)));
|
|
286
294
|
}
|
|
287
295
|
/**
|
|
288
296
|
* @deprecated 请使用 fileSearchRegex 或 fileSearchGlob
|
package/src/UtilFunctions.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as crypto from "crypto";
|
|
2
|
-
import { AnyFunc, ComposedClass, ComposedMixinable, ComposedRefMixinable, ExtractOutcome, IJData, JObject, JToken, Keyable,
|
|
2
|
+
import { AnyFunc, ComposedClass, ComposedMixinable, ComposedRefMixinable, ExtractOutcome, IJData, JObject, JToken, Keyable, Literal, Matchable, MatchableFlag, Mixinable, Outcome, PromiseStat, PromiseVerifyFn, ProperSubset, ProperSubsetCheck, RefMixinable, UnionToIntersection } from "@src/UtilInterfaces";
|
|
3
3
|
import * as cp from "child_process";
|
|
4
4
|
import { LogLevel, SLogger } from "@src/UtilLogger";
|
|
5
5
|
import { Completed, Failed, FailedLike, None, StatusSymbol, Success, SuccessLike, Terminated, Timeout } from "./UtilSymbol";
|
|
@@ -515,7 +515,8 @@ static sucesProc<T extends Matchable<StatusSymbol>,
|
|
|
515
515
|
}
|
|
516
516
|
/**是失败的 */
|
|
517
517
|
static isFailed<T>
|
|
518
|
-
(tg:T):
|
|
518
|
+
(tg:T):'E' extends ProperSubsetCheck<symbol,T>? boolean
|
|
519
|
+
: T extends Matchable<FailedLike>
|
|
519
520
|
? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>,FailedLike>
|
|
520
521
|
? false : boolean{
|
|
521
522
|
const test = (t:any)=>t === Failed || t === Terminated || t === Timeout;
|
|
@@ -526,9 +527,10 @@ static isFailed<T>
|
|
|
526
527
|
|
|
527
528
|
/**是成功的 */
|
|
528
529
|
static isSuccess<T>
|
|
529
|
-
(tg:T):
|
|
530
|
-
|
|
531
|
-
?
|
|
530
|
+
(tg:T):'E' extends ProperSubsetCheck<symbol,T>? boolean
|
|
531
|
+
: T extends Matchable<SuccessLike>
|
|
532
|
+
? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>,SuccessLike>
|
|
533
|
+
? false : boolean{
|
|
532
534
|
const test = (t:any)=>t === Success || t === Completed;
|
|
533
535
|
if(tg!=null && typeof tg === 'object' && 'status' in tg)
|
|
534
536
|
return test(tg.status) as any
|
|
@@ -571,7 +573,7 @@ static assertType<T>(t:T):T{return t;}
|
|
|
571
573
|
* @template T - 验证类型
|
|
572
574
|
* @param t - 验证目标
|
|
573
575
|
*/
|
|
574
|
-
static assertLiteral<T>(t:
|
|
576
|
+
static assertLiteral<T>(t:Literal<T>):T{return t as T;}
|
|
575
577
|
|
|
576
578
|
/**深克隆 序列化并反序列化
|
|
577
579
|
* @template T - JToken类型的泛型
|
|
@@ -599,7 +601,7 @@ static isSafeNumber(num: unknown): boolean {
|
|
|
599
601
|
|
|
600
602
|
/**将一个字段加入一个对象中,将改变对象,返回新类型 */
|
|
601
603
|
static bindTo<K extends Keyable, V, B extends {} = {}>
|
|
602
|
-
(key:
|
|
604
|
+
(key: Literal<K>,value: V, base?:B):keyof B extends K
|
|
603
605
|
? "Base中已有对应键"&Error
|
|
604
606
|
: {[P in K | keyof B]: P extends K ? V : P extends keyof B ? B[P] : never;}{
|
|
605
607
|
let out = base as any;
|
|
@@ -609,7 +611,7 @@ static bindTo<K extends Keyable, V, B extends {} = {}>
|
|
|
609
611
|
}
|
|
610
612
|
/**移除多行字符串中每行开始的最小空格数。
|
|
611
613
|
*
|
|
612
|
-
* @param
|
|
614
|
+
* @param input - 需要处理的多行 字符串模板 或 字符串。
|
|
613
615
|
* @param values - 插入模板字符串中的值。
|
|
614
616
|
* @returns 返回处理后的字符串,每行开始的空格数已被最小化。
|
|
615
617
|
*
|
|
@@ -624,8 +626,10 @@ static bindTo<K extends Keyable, V, B extends {} = {}>
|
|
|
624
626
|
* // Hello,
|
|
625
627
|
* // World!
|
|
626
628
|
*/
|
|
627
|
-
static dedent(
|
|
628
|
-
const str =
|
|
629
|
+
static dedent(input: TemplateStringsArray|string, ...values: any[]): string {
|
|
630
|
+
const str = typeof input === 'string'
|
|
631
|
+
? input
|
|
632
|
+
: input.reduce((result, string, i) => result + string + (values[i] ?? ''), '');
|
|
629
633
|
const lines = str.split('\n');
|
|
630
634
|
const minIndent = Math.min(
|
|
631
635
|
...lines.filter(line => line.trim() !== '').map(line => line.search(/\S/))
|
package/src/UtilInterfaces.ts
CHANGED
|
@@ -32,18 +32,45 @@ export type PartialOption<B,D> = keyof D extends keyof B
|
|
|
32
32
|
? Omit<B,keyof D> & Partial<Pick<B,keyof D>>
|
|
33
33
|
: never;
|
|
34
34
|
|
|
35
|
-
/**真子集
|
|
36
|
-
|
|
35
|
+
/**真子集 测试 T 是否为 B 的真子集
|
|
36
|
+
* @template B - 超集
|
|
37
|
+
* @template T - 子集
|
|
38
|
+
*/
|
|
39
|
+
export type ProperSubset<B, T> = T extends B ? B extends T ? never : T : never;
|
|
40
|
+
/**真子集检查 测试 T 是否为 B 的真子集
|
|
41
|
+
* 相等时返回 'E'
|
|
42
|
+
* 真子集时返回 'P'
|
|
43
|
+
* 不相交时返回 'N'
|
|
44
|
+
* @template B - 超集
|
|
45
|
+
* @template T - 子集
|
|
46
|
+
*/
|
|
47
|
+
export type ProperSubsetCheck<B, T> = T extends B ? B extends T ? "E" : "P" : "N";
|
|
37
48
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
ProperSubset<
|
|
43
|
-
ProperSubset<
|
|
44
|
-
ProperSubset<
|
|
49
|
+
/**字面量 检查 L 是否为字面量
|
|
50
|
+
* @template L - 目标量
|
|
51
|
+
*/
|
|
52
|
+
export type Literal<L> =
|
|
53
|
+
ProperSubset<string , L> |
|
|
54
|
+
ProperSubset<number , L> |
|
|
55
|
+
ProperSubset<boolean, L> |
|
|
56
|
+
ProperSubset<symbol , L> |
|
|
57
|
+
ProperSubset<any[] , L> |
|
|
45
58
|
ProperSubset<Record<any,any>, L> |
|
|
46
|
-
null | undefined
|
|
59
|
+
Extract<L, null | undefined>;
|
|
60
|
+
|
|
61
|
+
/**字面量检查 测试 L 是否为字面量
|
|
62
|
+
* 是字面量时返回 true
|
|
63
|
+
* 不是字面量时返回 false
|
|
64
|
+
* @template L - 目标量
|
|
65
|
+
*/
|
|
66
|
+
export type LiteralCheck<L> =
|
|
67
|
+
ProperSubsetCheck<string , L> extends "P" ? true :
|
|
68
|
+
ProperSubsetCheck<number , L> extends "P" ? true :
|
|
69
|
+
ProperSubsetCheck<boolean, L> extends "P" ? true :
|
|
70
|
+
ProperSubsetCheck<symbol , L> extends "P" ? true :
|
|
71
|
+
ProperSubsetCheck<any[] , L> extends "P" ? true :
|
|
72
|
+
ProperSubsetCheck<Record<any,any>, L> extends "P" ? true :
|
|
73
|
+
L extends null | undefined ? true : false;
|
|
47
74
|
|
|
48
75
|
/**返回将Mixin分配给Base的结果,相同字段时Mixin覆盖Base */
|
|
49
76
|
export type AssignObject<Base extends {}, Mixin extends {}> = {
|
|
@@ -207,10 +234,10 @@ export type RequiredOnly<T> = {
|
|
|
207
234
|
]: T[K]
|
|
208
235
|
};
|
|
209
236
|
/**添加前缀 */
|
|
210
|
-
export type WithPrefix<T,P extends string> = {
|
|
237
|
+
export type WithPrefix<T,P extends string> = {
|
|
211
238
|
[K in (keyof T) as
|
|
212
239
|
K extends string
|
|
213
|
-
? `${P}
|
|
240
|
+
? `${P}${K}`
|
|
214
241
|
: K
|
|
215
242
|
]: T[K]
|
|
216
243
|
};
|
package/tsconfig.compile.json
DELETED
package/tsconfig.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"allowJs": true,
|
|
4
|
-
"strict": true,
|
|
5
|
-
"target": "ES2022",
|
|
6
|
-
"module": "CommonJS",
|
|
7
|
-
"moduleResolution": "node",
|
|
8
|
-
"esModuleInterop": true,
|
|
9
|
-
"outDir": "./dist",
|
|
10
|
-
"declaration": true,
|
|
11
|
-
"baseUrl": ".",
|
|
12
|
-
"emitDecoratorMetadata": true,
|
|
13
|
-
"experimentalDecorators": true,
|
|
14
|
-
"paths": {
|
|
15
|
-
"@src/*": ["./src/*"],
|
|
16
|
-
"@/*" : ["./*"],
|
|
17
|
-
"@" : ["./src/index"]
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"include": ["./src/**/*.ts", "./src/**/*.js","./jest/**/*.ts"],
|
|
21
|
-
"exclude": ["./node_modules/**/*"]
|
|
22
|
-
}
|