@zwa73/utils 1.0.85 → 1.0.86
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/UtilFunctions.d.ts +5 -0
- package/dist/UtilFunctions.js +15 -0
- package/dist/UtilInterfaces.d.ts +6 -0
- package/dist/UtilSymbol.d.ts +4 -1
- package/dist/UtilSymbol.js +3 -1
- package/package.json +1 -1
- package/src/UtilFunctions.ts +15 -0
- package/src/UtilInterfaces.ts +9 -0
- package/src/UtilSymbol.ts +4 -1
package/dist/UtilFunctions.d.ts
CHANGED
|
@@ -132,6 +132,11 @@ export declare class UtilFunc {
|
|
|
132
132
|
static isFailed<T>(tg: T): T extends Matchable<FailedLike> ? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>, FailedLike> ? false : boolean;
|
|
133
133
|
/**是成功的 */
|
|
134
134
|
static isSuccess<T>(tg: T): T extends Matchable<SuccessLike> ? true : MatchableFlag<T> extends Exclude<MatchableFlag<T>, SuccessLike> ? false : boolean;
|
|
135
|
+
/**类似空值 undefined null None
|
|
136
|
+
* @param t - 检测目标
|
|
137
|
+
* @param strictLog - 应该严格等于None 否则将输出警告 但任然返回true
|
|
138
|
+
*/
|
|
139
|
+
static likeNone(t: unknown, strictLog?: boolean): t is None;
|
|
135
140
|
/**验证一个变量的类型是否为 T
|
|
136
141
|
* @template T - 验证类型
|
|
137
142
|
* @param t - 验证目标
|
package/dist/UtilFunctions.js
CHANGED
|
@@ -392,6 +392,21 @@ class UtilFunc {
|
|
|
392
392
|
return test(tg.status);
|
|
393
393
|
return test(tg);
|
|
394
394
|
}
|
|
395
|
+
/**类似空值 undefined null None
|
|
396
|
+
* @param t - 检测目标
|
|
397
|
+
* @param strictLog - 应该严格等于None 否则将输出警告 但任然返回true
|
|
398
|
+
*/
|
|
399
|
+
static likeNone(t, strictLog = true) {
|
|
400
|
+
if (t === UtilSymbol_1.None)
|
|
401
|
+
return true;
|
|
402
|
+
if (t === "null" || t === "undefined" || t === String(UtilSymbol_1.None)) {
|
|
403
|
+
UtilLogger_1.SLogger.warn(`输入值为字符串类型的空值, 已作为 None 处理`, `具体值: ${t}`);
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
if (strictLog && t == null)
|
|
407
|
+
UtilLogger_1.SLogger.warn(`输入值不严格等于 None , 已作为 None 处理`, `具体类型: ${t}`);
|
|
408
|
+
return t == null;
|
|
409
|
+
}
|
|
395
410
|
/**验证一个变量的类型是否为 T
|
|
396
411
|
* @template T - 验证类型
|
|
397
412
|
* @param t - 验证目标
|
package/dist/UtilInterfaces.d.ts
CHANGED
|
@@ -19,6 +19,12 @@ export interface IJData {
|
|
|
19
19
|
export type AnyFunc = (...args: any) => any;
|
|
20
20
|
/**任意可作为键值的类型 */
|
|
21
21
|
export type Keyable = string | number | symbol;
|
|
22
|
+
/**排除可选项目
|
|
23
|
+
* 将基础类型中与默认选项重合的部分变为可选
|
|
24
|
+
* @template B - 基础类型
|
|
25
|
+
* @template D - 默认选项
|
|
26
|
+
*/
|
|
27
|
+
export type PartialOption<B, D> = keyof D extends keyof B ? Omit<B, keyof D> & Partial<Pick<B, keyof D>> : never;
|
|
22
28
|
/**真子集 */
|
|
23
29
|
export type ProperSubset<B, T = B> = T extends B ? B extends T ? never : T : never;
|
|
24
30
|
/**字面量检测 */
|
package/dist/UtilSymbol.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export type Failed = typeof Failed;
|
|
|
8
8
|
/**不存在 无 */
|
|
9
9
|
export declare const None: unique symbol;
|
|
10
10
|
export type None = typeof None;
|
|
11
|
+
/**未初始化的 用于静态构造函数标记*/
|
|
12
|
+
export declare const Uninited: unique symbol;
|
|
13
|
+
export type Uninited = typeof Uninited;
|
|
11
14
|
/**完成 未经验证/未超时的结果
|
|
12
15
|
* Success扩展
|
|
13
16
|
* 仅在Success同时出现时使用
|
|
@@ -31,7 +34,7 @@ export type FailedLike = Failed | Timeout | Terminated;
|
|
|
31
34
|
/**成功及其拓展 */
|
|
32
35
|
export type SuccessLike = Success | Completed;
|
|
33
36
|
/**任意状态标识符 */
|
|
34
|
-
export type StatusSymbol = FailedLike | SuccessLike | None;
|
|
37
|
+
export type StatusSymbol = FailedLike | SuccessLike | None | Uninited;
|
|
35
38
|
/**结果为 None 的 Outcome */
|
|
36
39
|
export type NoneOut = Outcome<None, None>;
|
|
37
40
|
export declare const NoneOut: NoneOut;
|
package/dist/UtilSymbol.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NoneOut = exports.Timeout = exports.Terminated = exports.Completed = exports.None = exports.Failed = exports.Success = void 0;
|
|
3
|
+
exports.NoneOut = exports.Timeout = exports.Terminated = exports.Completed = exports.Uninited = exports.None = exports.Failed = exports.Success = void 0;
|
|
4
4
|
/**成功 经过验证的结果 */
|
|
5
5
|
exports.Success = Symbol("Success");
|
|
6
6
|
/**失败 可重试的 */
|
|
7
7
|
exports.Failed = Symbol("Failed");
|
|
8
8
|
/**不存在 无 */
|
|
9
9
|
exports.None = Symbol("None");
|
|
10
|
+
/**未初始化的 用于静态构造函数标记*/
|
|
11
|
+
exports.Uninited = Symbol("Uninited");
|
|
10
12
|
/**完成 未经验证/未超时的结果
|
|
11
13
|
* Success扩展
|
|
12
14
|
* 仅在Success同时出现时使用
|
package/package.json
CHANGED
package/src/UtilFunctions.ts
CHANGED
|
@@ -475,6 +475,21 @@ static isSuccess<T>
|
|
|
475
475
|
return test(tg) as any
|
|
476
476
|
}
|
|
477
477
|
|
|
478
|
+
/**类似空值 undefined null None
|
|
479
|
+
* @param t - 检测目标
|
|
480
|
+
* @param strictLog - 应该严格等于None 否则将输出警告 但任然返回true
|
|
481
|
+
*/
|
|
482
|
+
static likeNone(t:unknown,strictLog=true):t is None{
|
|
483
|
+
if(t===None) return true;
|
|
484
|
+
if(t==="null" || t === "undefined" || t === String(None)){
|
|
485
|
+
SLogger.warn(`输入值为字符串类型的空值, 已作为 None 处理`,`具体值: ${t}`);
|
|
486
|
+
return true;
|
|
487
|
+
}
|
|
488
|
+
if(strictLog && t == null)
|
|
489
|
+
SLogger.warn(`输入值不严格等于 None , 已作为 None 处理`,`具体类型: ${t}`);
|
|
490
|
+
return t == null;
|
|
491
|
+
}
|
|
492
|
+
|
|
478
493
|
/**验证一个变量的类型是否为 T
|
|
479
494
|
* @template T - 验证类型
|
|
480
495
|
* @param t - 验证目标
|
package/src/UtilInterfaces.ts
CHANGED
|
@@ -23,6 +23,15 @@ export type AnyFunc = (...args:any)=>any;
|
|
|
23
23
|
/**任意可作为键值的类型 */
|
|
24
24
|
export type Keyable = string | number | symbol;
|
|
25
25
|
|
|
26
|
+
/**排除可选项目
|
|
27
|
+
* 将基础类型中与默认选项重合的部分变为可选
|
|
28
|
+
* @template B - 基础类型
|
|
29
|
+
* @template D - 默认选项
|
|
30
|
+
*/
|
|
31
|
+
export type PartialOption<B,D> = keyof D extends keyof B
|
|
32
|
+
? Omit<B,keyof D> & Partial<Pick<B,keyof D>>
|
|
33
|
+
: never;
|
|
34
|
+
|
|
26
35
|
/**真子集 */
|
|
27
36
|
export type ProperSubset<B, T = B> = T extends B ? B extends T ? never : T : never;
|
|
28
37
|
|
package/src/UtilSymbol.ts
CHANGED
|
@@ -10,6 +10,9 @@ export type Failed = typeof Failed;
|
|
|
10
10
|
/**不存在 无 */
|
|
11
11
|
export const None = Symbol("None");
|
|
12
12
|
export type None = typeof None;
|
|
13
|
+
/**未初始化的 用于静态构造函数标记*/
|
|
14
|
+
export const Uninited = Symbol("Uninited");
|
|
15
|
+
export type Uninited = typeof Uninited;
|
|
13
16
|
/**完成 未经验证/未超时的结果
|
|
14
17
|
* Success扩展
|
|
15
18
|
* 仅在Success同时出现时使用
|
|
@@ -33,7 +36,7 @@ export type FailedLike = Failed|Timeout|Terminated;
|
|
|
33
36
|
/**成功及其拓展 */
|
|
34
37
|
export type SuccessLike = Success|Completed;
|
|
35
38
|
/**任意状态标识符 */
|
|
36
|
-
export type StatusSymbol = FailedLike|SuccessLike|None;
|
|
39
|
+
export type StatusSymbol = FailedLike|SuccessLike|None|Uninited;
|
|
37
40
|
/**结果为 None 的 Outcome */
|
|
38
41
|
export type NoneOut = Outcome<None,None>;
|
|
39
42
|
export const NoneOut = {
|